@Test public void error() { DirectProcessor<Integer> tp = DirectProcessor.create(); AssertSubscriber<Integer> ts = AssertSubscriber.create(0); tp.onBackpressureLatest().subscribe(ts); tp.onError(new RuntimeException("forced failure")); ts.assertNoValues() .assertNotComplete() .assertError(RuntimeException.class) .assertErrorMessage("forced failure"); }
@Test public void backpressureWithDrop() { DirectProcessor<Integer> tp = DirectProcessor.create(); AssertSubscriber<Integer> ts = new AssertSubscriber<Integer>(0) { @Override public void onNext(Integer t) { super.onNext(t); if (t == 2) { tp.onNext(3); } } }; tp.onBackpressureLatest() .subscribe(ts); tp.onNext(1); tp.onNext(2); ts.request(1); ts.assertValues(2) .assertNoError() .assertNotComplete(); }
@Test public void backpressured() { DirectProcessor<Integer> tp = DirectProcessor.create(); AssertSubscriber<Integer> ts = AssertSubscriber.create(0); tp.onBackpressureLatest().subscribe(ts); tp.onNext(1); ts.assertNoValues() .assertNoError() .assertNotComplete(); tp.onNext(2); ts.request(1); ts.assertValues(2) .assertNoError() .assertNotComplete(); tp.onNext(3); tp.onNext(4); ts.request(2); ts.assertValues(2, 4) .assertNoError() .assertNotComplete(); tp.onNext(5); tp.onComplete(); ts.assertValues(2, 4, 5) .assertNoError() .assertComplete(); }
.writeAndFlush(r); Flux<Long> tail = encoder.progressFlux.onBackpressureLatest();
.writeAndFlush(r); Flux<Long> tail = encoder.progressFlux.onBackpressureLatest();
.writeAndFlush(r); Flux<Long> tail = encoder.progressFlux.onBackpressureLatest();