rsocket-kotlin
rsocket-kotlin copied to clipboard
Rework transport and internal implementation to support multiplexed transports
- new Transport API (package
io.rsocket.kotlin.transport) - new Internal implementation which supports both stream-oriented (QUIC, Aeron, HTTP2-streams, WebTransport) and connection-oriented transports (TCP, WebSocket)
- migrate local to new Transport API and introduce multiplexed kind
- fix some tests to use port 0 to auto-assign port
Note:
- new Transport API is added in backward compatible way, old Transport API will be deprecated in one of the following PRs and will be removed in future release.
- There are some TODOs in code, which will be resolved later BEFORE next release (0.16.0) after some improvements to tests
Motivation:
To support QUIC and other possible multiplexed transports, native support for streams on transport level is needed. But internal implementation was not ready for this. Additionally, it was a good idea to fix some issues with inconsistent transport API and hard to maintain internals.
Test Results
825 files 825 suites 46m 11s :stopwatch: 3 417 tests 2 841 :white_check_mark: 575 :zzz: 1 :x: 7 056 runs 5 851 :white_check_mark: 1 204 :zzz: 1 :x:
For more details on these failures, see this check.
Results for commit 0834fbc2.
:recycle: This comment has been updated with latest results.