Source:
protected void init() { allocator = LeaksTrackingByteBufAllocator.instrument(ByteBufAllocator.DEFAULT); serverProcessor = DirectProcessor.create(); clientProcessor = DirectProcessor.create(); LocalDuplexConnection serverConnection = new LocalDuplexConnection("server", allocator, clientProcessor, serverProcessor); LocalDuplexConnection clientConnection = new LocalDuplexConnection("client", allocator, serverProcessor, clientProcessor); clientConnection.onClose().doFinally(__ -> serverConnection.dispose()).subscribe(); serverConnection.onClose().doFinally(__ -> clientConnection.dispose()).subscribe(); requestAcceptor = null != requestAcceptor ? requestAcceptor : new RSocket() { @Override public Mono<Payload> requestResponse(Payload payload) { return Mono.just(payload); } @Override public Flux<Payload> requestStream(Payload payload) { return Flux.range(1, 10) .subscribeOn(Schedulers.boundedElastic()) .map( i -> DefaultPayload.create("server got -> [" + payload.toString() + "]")); } @Override public Flux<Payload> requestChannel(Publisher<Payload> payloads) { Flux.from(payloads) .map( payload -> DefaultPayload.create("server got -> [" + payload.toString() + "]")) .subscribe(); return Flux.range(1, 10) .subscribeOn(Schedulers.boundedElastic()) .map( payload -> DefaultPayload.create("server got -> [" + payload.toString() + "]")); } }; srs = new RSocketResponder( serverConnection, requestAcceptor, PayloadDecoder.DEFAULT, ResponderLeaseHandler.None, 0, FRAME_LENGTH_MASK); crs = new RSocketRequester( clientConnection, PayloadDecoder.DEFAULT, StreamIdSupplier.clientSupplier(), 0, FRAME_LENGTH_MASK, 0, 0, null, RequesterLeaseHandler.None, TestScheduler.INSTANCE); }

Target:
protected void init() { allocator = LeaksTrackingByteBufAllocator.instrument(ByteBufAllocator.DEFAULT); serverProcessor = DirectProcessor.create(); clientProcessor = DirectProcessor.create(); LocalDuplexConnection serverConnection = new LocalDuplexConnection("server", allocator, clientProcessor, serverProcessor); LocalDuplexConnection clientConnection = new LocalDuplexConnection("client", allocator, serverProcessor, clientProcessor); clientConnection.onClose().doFinally(__ -> serverConnection.dispose()).subscribe(); serverConnection.onClose().doFinally(__ -> clientConnection.dispose()).subscribe(); requestAcceptor = null != requestAcceptor ? requestAcceptor : new RSocket() { @Override public Mono<Payload> requestResponse(Payload payload) { return Mono.just(payload); } @Override public Flux<Payload> requestStream(Payload payload) { return Flux.range(1, 10) .map( i -> DefaultPayload.create("server got -> [" + payload.toString() + "]")); } @Override public Flux<Payload> requestChannel(Publisher<Payload> payloads) { Flux.from(payloads) .map( payload -> DefaultPayload.create("server got -> [" + payload.toString() + "]")) .subscribe(); return Flux.range(1, 10) .map( payload -> DefaultPayload.create("server got -> [" + payload.toString() + "]")); } }; srs = new RSocketResponder( serverConnection, requestAcceptor, PayloadDecoder.DEFAULT, ResponderLeaseHandler.None, 0, FRAME_LENGTH_MASK); crs = new RSocketRequester( clientConnection, PayloadDecoder.DEFAULT, StreamIdSupplier.clientSupplier(), 0, FRAME_LENGTH_MASK, 0, 0, null, RequesterLeaseHandler.None, TestScheduler.INSTANCE); }