Commit Graph

9 Commits

Author SHA1 Message Date
Franz Busch cb29107d4d
Make tests less flaky (#194)
# Motivation
After the recent changes in NIO where we introduced the `executeThenClose` method on the `NIOAsyncChannel` our tests here became flaky since we were waiting for something to happen but potentially closed the client channels before we wrote out the data.

# Modification
This PR makes sure we are awaiting for the event in the `executeThenClose` scope; hence, making sure we are not closing the client channels too early.

# Result
Less flakey tests.
2023-12-01 12:57:55 +00:00
Franz Busch 2f6ba3d83c
Fix availability guards and compiler warnings (#193)
# Motivation
We missed a few availability guards in our tests which caused errors when compiling for older Darwin platforms. Additionally the latest NIO release deprecated a few APIs on `NIOAsyncChannel`.

# Modification
This PR adds the missing guards and fixes all of the deprecation warnings.

# Result
We should build on all supported platforms again
2023-11-24 14:49:34 +00:00
Franz Busch ebf8b9c365
Add new typed async bootstrap APIs back and drop SPI (#191)
* Revert "Back out SPI(AsyncChannel) changes"

This reverts commit 33d2b2993f.

* Add new typed async bootstrap APIs back and drop SPI

# Motivation
We just merged the removal of the `AsyncChannel` SPI in NIO and can now add back the new APIs in transport services as well.

# Modification
This PR brings back the previous SPI and promotes it to API.

# Result
New typed async bootstraps API for `NIOTransportServices`.

* George review
2023-10-25 14:09:26 +01:00
Franz Busch 5fd1458c24
Back out SPI(AsyncChannel) changes (#184)
# Motivation
We want to release a new `NIOTS` version without the SPI changes for now.

# Modification
This PR backs out the new `NIOAsyncChannel` APIs.

# Result
No more SPI usage so we can safely release.
2023-08-09 13:13:21 +01:00
Franz Busch f73f69faf7
Adopt latest AsyncChannel SPI changes (#183)
# Motivation
We had some breaking changes in the NIO AsyncChannel SPI which we have to adapt here.

# Modification
This PR updates to the latest AsyncChannel SPI

# Result
No more warnings and errors when building.
2023-08-09 10:17:34 +01:00
Franz Busch b4d9e61a6d
Fix 5.6 compiler error (#182)
# Motivation
After my recent PR we failed to compile on 5.6 since the compiler isn't capable to infer the return type of one of the closures.

# Modification
This PR adds the closure's return type explicitly.

# Result
Compiling on 5.6 again
2023-07-28 03:11:31 -07:00
Franz Busch fbc49d892b
Adopt latest SPI(AsyncChannel) changes (#181)
# Motivation
We introduced some breaking SPI(AsyncChannel) changes in NIO that we have to adopt here.

# Modification
This PR adopts the latest `NIOProtocolNegotiationResult` APIs. Additionally, it also drops all bind/connect methods on the bootstraps that are specific to protocol negotiation or `NIOAsyncChannel`.

# Result
Green CI on `main` and alignment between `NIOPosix` and `NIOTS.
2023-07-26 07:48:49 -07:00
Franz Busch 01fc0ae7e5
Adopt the `NIOAsyncChannel.Configuration` (#179)
# Motivation
We introduced a new configuration struct for `NIOAsyncChannel` to make handling and configuring it easier.

# Modification
This PR adopts the new APIs.

# Result
Less boilerplate in our bootstrap methods
2023-07-11 16:34:56 +01:00
Franz Busch ee0c7ffcd6
Async methods for `NIOTSListenerBootstrap` and `NIOTSConnectionBootstrap` (#178)
* Async methods for `NIOTSListenerBootstrap` and `NIOTSConnectionBootstrap`

# Motivation
We want to support async bootstrapping with all our bootstraps.

# Modification
This PR adds support for the `NIOTSListenerBootstrap` and `NIOTSConnectionBootstrap`. It also adds the three variants of methods to it (abstract output, `NIOAsyncChannel` based and protocol negotiation based)

# Result
We now support asynchronous interaction with the `NIOTSListenerBootstrap` and `NIOTSConnectionBootstrap`

* Use protocolHandlers properly

* Update NIO version

* code review

* REview

* Doc indention
2023-07-06 15:17:56 +02:00