Lab 06: Reactive Streams
Overview
Step 1: Reactive Streams Specification
Reactive Streams (RS) contracts:
1. Publisher<T> — produces items, respects demand
2. Subscriber<T> — consumes items
3. Subscription — token controlling demand
4. Processor<T,R> — both Publisher AND Subscriber
Flow:
Publisher.subscribe(Subscriber)
→ onSubscribe(Subscription) // subscriber receives subscription
→ Subscription.request(n) // subscriber requests n items
→ onNext(item) × n // publisher emits up to n items
→ onComplete() | onError(t) // terminal signal
Backpressure rule:
Publisher MUST NOT emit more than request(n) itemsStep 2: SubmissionPublisher — Built-in Publisher
Step 3: Backpressure — Controlled Demand
Step 4: Custom Publisher Implementation
Step 5: Processor — Transform Pipeline
Step 6: Error Handling and Cancellation
Step 7: Comparison — Flow vs RxJava vs Reactor
Step 8: Capstone — Full Reactive Pipeline
Summary
Concept
Interface/Class
Key Method
Last updated
