-
Notifications
You must be signed in to change notification settings - Fork 352
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
improves DuplexConnection api and reworks Resumability #923
Conversation
rsocket-core/src/main/java/io/rsocket/internal/UnboundedProcessor.java
Outdated
Show resolved
Hide resolved
rsocket-core/src/main/java/io/rsocket/internal/BaseDuplexConnection.java
Show resolved
Hide resolved
7c26049
to
ac0d169
Compare
@rstoyanchev finalized API and reworked Resumability implementation. If API and reworked impl looks good, will be adding tests and merging |
ac0d169
to
fd319cc
Compare
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.
This is a partial review with some feedback identified so far.
@@ -183,21 +183,21 @@ public InternalDuplexConnection( | |||
} | |||
|
|||
@Override | |||
public Mono<Void> send(Publisher<ByteBuf> frame) { | |||
public void sendFrame(int streamId, ByteBuf frame) { |
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.
I think we can remove this duplicate copy of ClientServerInputMultplexer
. The class is for internal use and this copy is no longer used. I don't see much sense in a deprecation.
In addition, the ClientServerInputMultiplexerTest
is still in the internal package and still references the old class which means the new one doesn't have coverage.
return serverConnection; | ||
} | ||
|
||
public DuplexConnection asClientConnection() { | ||
DuplexConnection asRequesterConnection() { |
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.
Really minor but the terminology requester
and responder
doesn't align with the rest of this class which is client
and server
, including the class name. DuplexConnectionInterceptor.Type
also uses client
and server
, and so does the spec when describing client
and server
stream id's. I believe that is what they are, and this is why they flip between RSocketConnector
and RSocketServer
where one creates the requester asRequesterConnection()
while the other with asResponderConnection()
.
I think asClientConnection()
and asServerConnection
are correct.
rsocket-core/src/main/java/io/rsocket/plugins/DuplexConnectionInterceptor.java
Show resolved
Hide resolved
fa944a6
to
3fe88bf
Compare
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
Co-authored-by: Rossen Stoyanchev <rstoyanchev@users.noreply.github.com>
3fe88bf
to
ba7a04f
Compare
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
ba7a04f
to
8396d4d
Compare
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
f502089
to
545cc91
Compare
545cc91
to
e355d53
Compare
This PR enhances DuplexConnection API to unify the way how frames should be sent over it
Signed-off-by: Oleh Dokuka shadowgun@i.ua