Switch code that uses Reactive Streams to favour the Java 9 Flow API
- Dominant language
- Scala
- Stars
- 1.6k
- Forks
- 211
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 89
Description
* We have PublisherSource and SubscriberSource but these are based on the org.reactivestreams API. We have other methods and classes to support the Java 9 equivalents but these involve delegating to the org.reactivestreams based classes.
* It seems like for performance reasons we should using code that uses the Java 9 classes directly instead of doing conversions.
* It's possible that the code is this way as it was easier when we had to support Java 8 to minimise the code that uses the Java 9 APIs
Contributor guide
Research direction
Start by locating PublisherSource and SubscriberSource, then trace the Java 9 equivalents and the delegating paths built on org.reactivestreams. Determine which code paths can use the Java 9 Flow API directly and how Java 8 support constrains the change. Done means the relevant paths no longer need conversions while existing compatibility and behavior remain intact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, scala
- Domain
- distributed-systems
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100