Skip to content

Commit 6d98a5e

Browse files
committed
Remove flatMap in ServerRSocketFactory
1 parent 1d31b1c commit 6d98a5e

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

rsocket-core/src/main/java/io/rsocket/RSocketFactory.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ public Mono<T> start() {
325325
});
326326
}
327327

328-
private Mono<? extends Void> processSetupFrame(
328+
private Mono<Void> processSetupFrame(
329329
ClientServerInputMultiplexer multiplexer, Frame setupFrame) {
330330
int version = Frame.Setup.version(setupFrame);
331331
if (version != SetupFrameFlyweight.CURRENT_VERSION) {
@@ -348,15 +348,20 @@ private Mono<? extends Void> processSetupFrame(
348348
errorConsumer,
349349
StreamIdSupplier.serverSupplier());
350350

351-
Mono<RSocket> wrappedRSocketClient = Mono.just(rSocketClient).map(plugins::applyClient);
351+
RSocket wrappedRSocketClient = plugins.applyClient(rSocketClient);
352352

353-
return wrappedRSocketClient
354-
.flatMap(
355-
sender -> acceptor.get().accept(setupPayload, sender).map(plugins::applyServer))
356-
.map(
357-
handler ->
358-
new RSocketServer(
359-
multiplexer.asClientConnection(), handler, frameDecoder, errorConsumer))
353+
return acceptor
354+
.get()
355+
.accept(setupPayload, wrappedRSocketClient)
356+
.doOnNext(unwrappedServerSocket -> {
357+
RSocket wrappedRSocketServer = plugins.applyServer(unwrappedServerSocket);
358+
359+
RSocketServer rSocketServer = new RSocketServer(
360+
multiplexer.asClientConnection(),
361+
wrappedRSocketServer,
362+
frameDecoder,
363+
errorConsumer);
364+
})
360365
.then();
361366
}
362367
}

0 commit comments

Comments
 (0)