[concurrency-interest] JDK 9 Flow and Reactive Streams Rules / TCK

Rossen Stoyanchev rstoyanchev at pivotal.io
Mon Feb 27 15:12:12 EST 2017


The Javadoc for Flow.java [1] and also the JEP-266 [2] mention that these
interfaces correspond to the reactive-streams specification both linking to
reactive-streams.org but there is no explicit mention of spec rules + TCK
nor whether implementations of the Flow interfaces are required to conform.
The answer may be implied but it is worth stating that more explicitly and
optionally have links from the interfaces to corresponding sections of the
spec rules.

There are two underlying concerns. One, it is not clear what the actual
intent is. Since the spec's main intention is for implementations "to
interoperate smoothly" then this is a key aspect to bring up in the Javadoc
of Flow.java. Two, for the casual reader that navigates to Flow.java, or
its contained interfaces, the explanations look deceptively plain. Even if
one is simply on the consuming side via Flow.Subscriber it would be nice to
notice immediately there is much more to learn from the spec rules and for
library implementations to verify against the TCK.


[2] http://openjdk.java.net/jeps/266
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20170227/0cca45c4/attachment.html>

More information about the Concurrency-interest mailing list