Cory Benfield d66ae0557e
Clean up imports and dependencies. (#144)
Motivation:

With NIO 2.32.0 we broke the core NIO module up into modules that split
apart the POSIX layer and the core abstractions. As a result, this
package no longer needs to express a hard dependency on the POSIX layer.

Modifications:

- Rewrote imports of NIO to NIOCore.
- Added NIOEmbedded and NIOPosix imports where necessary in tests.
- Extended soundness script to detect NIO imports.
- Note that the main modules still depend on NIO, which is necessary
    for backwards-compatibility reasons. This dependency is unused.

Result:

No need to use NIOPosix.
2021-09-14 16:30:39 +01:00
2018-07-14 12:06:55 +01:00
.SourceKitten @ 9c254b5be7
2021-09-02 09:14:11 +01:00
2018-05-15 17:09:13 +01:00
2019-10-10 13:51:07 +01:00
2018-05-15 15:36:56 +01:00
2018-05-15 15:36:56 +01:00
2021-06-23 14:04:13 +01:00
2021-03-09 11:10:43 +00:00

NIOExtras

NIOExtras is a good place for code that is related to NIO but not core. It can also be used to incubate APIs for tasks that are possible with core-NIO but are cumbersome today.

What makes a good contribution to NIOExtras?

  • a protocol encoder/decoder pair (also called "codec") that is often used but is small enough so it doesn't need its own repository
  • a helper to achieve a task that is harder-than-necessary to achieve with core-NIO

Code Quality / Stability

All code will go through code review like in the other repositories related to the SwiftNIO project.

swift-nio-extras part of the SwiftNIO 2 family of repositories and depends on the following:

  • swift-nio, version 2.30.0 or better.
  • Swift 5.2.
  • zlib and its development headers installed on the system. But don't worry, you'll find zlib on pretty much any UNIX system that can compile any sort of code.

To depend on swift-nio-extras, put the following in the dependencies of your Package.swift:

.package(url: "https://github.com/apple/swift-nio-extras.git", from: "1.0.0"),

Support for older Swift versions

Earlier versions of SwiftNIO (2.29.x and lower) and SwiftNIOExtras (1.9.x and lower) supported Swift 5.0 and 5.1.

On the nio-extras-0.1 branch, you can find the swift-nio-extras version for the SwiftNIO 1 family. It requires Swift 4.1 or better.

Current Contents

Description
Useful code around SwiftNIO.
Readme 1.9 MiB
Languages
Swift 99.8%
C 0.2%