rsocket-kotlin icon indicating copy to clipboard operation
rsocket-kotlin copied to clipboard

Rework transport and internal implementation to support multiplexed transports

Open whyoleg opened this issue 1 year ago • 1 comments

  • 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.

whyoleg avatar Apr 16 '24 17:04 whyoleg

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.

github-actions[bot] avatar Apr 16 '24 17:04 github-actions[bot]