



This extends a number of NIO types for better interoperation with Foundation data types. This provides a few low-level concurrency primitives that are used by NIO implementations, such as locks and atomics. These are most often used for testing, but can also be used to drive protocol implementations in a way that is decoupled from networking altogether. This provides EmbeddedChannel and EmbeddedEventLoop, implementations of the NIOCore abstractions that provide fine-grained control over their execution. In general, this should only be imported by projects that plan to do some actual I/O, such as high-level protocol implementations or applications. This is our high performance core I/O layer. This provides the primary, EventLoop, and Channels for use on POSIX-based systems. Most NIO extension projects that provide things like new EventLoops and Channels or new protocol implementations should only need to depend on NIOCore. This provides the core abstractions and types for using SwiftNIO (see "Conceptual Overview" for more details). This is an umbrella module exporting NIOCore, NIOEmbedded and NIOPosix. This package contains the following products: Within this repository we have a number of products that provide different functionality. The SwiftNIO project is split across multiple repositories: Repositoryįirst-class support for macOS, iOS, tvOS, and watchOS SwiftNIO is a cross-platform asynchronous event-driven network application frameworkįor rapid development of maintainable high performance protocol servers & clients.
