46c0538253
* Add NIOAsyncChannel based connect methods to ClientBootstrap # Motivation In my previous PR, I added new `bind` methods to `ServerBootstrap` that vend `NIOAsyncChannel` or support an async protocol negotiation. This PR focuses on adding new `connect` methods to `ClientBootstrap` which offer the same functionality. # Modification This PR adds new `connect` methods that either vend a `NIOAsyncChannel` or an asynchronous protocol negotiation result. To make this work I had to change the `HappyEyeballs` resolver so that it can return a generic value on resolving. Lastly, I adapted the bootstrap tests to use the new `ClientBootstrap` capabilities which now demonstrate a client/server protocol negotiation dance. # Result We can now bootstrap TCP clients with `NIOAsyncChannel`s * Reduce code duplication * Create a new set of APIs to tunnel an arbitrary Sendable payload through the inits * Pass EL to closure * Fix documentation |
||
---|---|---|
.. | ||
NIOConcurrencyHelpersTests | ||
NIOCoreTests | ||
NIODataStructuresTests | ||
NIOEmbeddedTests | ||
NIOFoundationCompatTests | ||
NIOHTTP1Tests | ||
NIOPosixTests | ||
NIOTLSTests | ||
NIOTestUtilsTests | ||
NIOTests | ||
NIOWebSocketTests |