swift-nio/Tests
Franz Busch 46c0538253
Add NIOAsyncChannel based connect methods to ClientBootstrap (#2437)
* 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
2023-06-06 03:36:53 -07:00
..
NIOConcurrencyHelpersTests Drop Swift 5.5 (#2406) 2023-04-17 08:40:35 +01:00
NIOCoreTests Fix flaky test in NIOAsyncWriter (#2431) 2023-05-31 09:53:54 +01:00
NIODataStructuresTests Drop Swift 5.5 (#2406) 2023-04-17 08:40:35 +01:00
NIOEmbeddedTests `Embedded`: `getOption(ChannelOptions.allowRemoteHalfClosure)` should not `fatalError` (#2429) 2023-05-19 09:47:47 -07:00
NIOFoundationCompatTests Drop Swift 5.5 (#2406) 2023-04-17 08:40:35 +01:00
NIOHTTP1Tests Tolerate sending data after close(mode: .output) (#2421) 2023-05-09 10:52:48 +01:00
NIOPosixTests Add NIOAsyncChannel based connect methods to ClientBootstrap (#2437) 2023-06-06 03:36:53 -07:00
NIOTLSTests Add `AsyncChannel` based `ServerBootstrap.bind()` methods (#2403) 2023-04-26 07:17:07 -07:00
NIOTestUtilsTests Drop Swift 5.5 (#2406) 2023-04-17 08:40:35 +01:00
NIOTests Drop Swift 5.5 (#2406) 2023-04-17 08:40:35 +01:00
NIOWebSocketTests Add test coverage of WebSocketMaskingKey.random() (#2433) 2023-05-24 02:23:41 -07:00