@Test public void MonoProcessorThenFulfill() { MonoProcessor<Integer> mp = MonoProcessor.create(); mp.onNext(1); MonoProcessor<Integer> mp2 = mp.flatMap(s -> Mono.just(s * 2)) .toProcessor(); mp2.subscribe(); assertThat(mp2.isTerminated()).isTrue(); assertThat(mp2.isSuccess()).isTrue(); assertThat(mp2.peek()).isEqualTo(2); }
@Override public Mono<Void> fireAndForget(Payload payload) { return rSocketMono.flatMap( source -> { return Mono.from( subscriber -> source .fireAndForget(payload) .subscribe(new CountingSubscriber<>(subscriber, this))); }); }
@Override public Mono<Payload> requestResponse(Payload payload) { return rSocketMono.flatMap( source -> { return Mono.from( subscriber -> source .requestResponse(payload) .subscribe(new LatencySubscriber<>(subscriber, this))); }); }
@Override public Mono<Void> metadataPush(Payload payload) { return rSocketMono.flatMap( source -> { return Mono.from( subscriber -> source .metadataPush(payload) .subscribe(new CountingSubscriber<>(subscriber, this))); }); }
@Override public Flux<Frame> receive() { return processor.flatMap(f -> { if (debugEnabled) { return f.doOnNext(frame -> LOGGER.debug("receiving -> " + frame.toString())); } else { return f; } }); }
@Override public Mono<Payload> requestResponse(Payload payload) { return rSocketMono.flatMap( source -> { return Mono.from( subscriber -> source .requestResponse(payload) .subscribe(new LatencySubscriber<>(subscriber, this))); }); }
@Override public Mono<Void> fireAndForget(Payload payload) { return rSocketMono.flatMap( source -> { return Mono.from( subscriber -> source .fireAndForget(payload) .subscribe(new CountingSubscriber<>(subscriber, this))); }); }
@Override public Mono<Void> metadataPush(Payload payload) { return rSocketMono.flatMap( source -> { return Mono.from( subscriber -> source .metadataPush(payload) .subscribe(new CountingSubscriber<>(subscriber, this))); }); }