New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enforces reassembly of fragments to always be in enabled #775
Conversation
rsocket-core/src/main/java/io/rsocket/fragmentation/FragmentationDuplexConnection.java
Outdated
Show resolved
Hide resolved
rsocket-examples/src/main/java/io/rsocket/examples/transport/ws/WebSocketHeadersSample.java
Show resolved
Hide resolved
7eb4882
to
0343cb0
Compare
@rstoyanchev, in short, I moved reassembly logic from FragmentationDuplexConnection so, for now, Fragmentation does exactly fragmentation and now we have ReassemblyDuplexConnection which accompanies every other DuplexConnection in the know transports. Unfortunately, I'm not seeing simple way (without braking API) to built-in reassembly logic directly into the DuplexConnection interface. Any suggestions are welcome |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a suggestion to make ReassemblyDuplexConnection
a base class.
rsocket-core/src/main/java/io/rsocket/fragmentation/FragmentationDuplexConnection.java
Outdated
Show resolved
Hide resolved
rsocket-transport-netty/src/main/java/io/rsocket/transport/netty/client/TcpClientTransport.java
Show resolved
Hide resolved
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
…Connection Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
0343cb0
to
351ab63
Compare
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
As of now, we have a bug in RSocket, related to the fact that one side may not directly setup fragmentation but another may.
Such miss-setup leads to the fact that one side is not able to reassemble back fragmented payload.
This PR provide fragment reassembling enforcement so every duplex connection is wrapped by a separate
ReassemblyDuplexConnection
which takes care of reassembling back fragments even if fragmentation is not enabledSigned-off-by: Oleh Dokuka shadowgun@i.ua