JDK 9 Flow and Reactive Streams Rules / TCK

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

JDK 9 Flow and Reactive Streams Rules / TCK

Rossen Stoyanchev
hi,

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.

Regards,
Rossen
 

 

_______________________________________________
Concurrency-interest mailing list
[hidden email]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest
Reply | Threaded
Open this post in threaded view
|

Re: JDK 9 Flow and Reactive Streams Rules / TCK

Doug Lea
On 02/27/2017 03:12 PM, Rossen Stoyanchev wrote:

> 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 <http://reactive-streams.org> but there
> is no explicit mention of spec rules + TCK nor whether implementations
> of the Flow interfaces are required to conform.

I hope that you don't mean to imply that people should feel free
not to conform to or test their implementations of other j.u.c
interfaces :-)

Our javadocs cover the R-S specs, but are expressed in a typical
JDK interface-centric fashion. I'm not sure what more we can say
or do to make people click the reactive-streams.org links to find
out more about rationale and available tests.
Although we should consider your suggestion of adding the link in a
few more places just in case people missed them.

-Doug

_______________________________________________
Concurrency-interest mailing list
[hidden email]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest
Reply | Threaded
Open this post in threaded view
|

Re: JDK 9 Flow and Reactive Streams Rules / TCK

Viktor Klang
We've had some issues getting Gradle to handle jdk9 properly, so I haven't had a chance to create a bridge for the TCK yet—we have converters in the pipeline for Flow<>RS which means we wouldn't have to bifurcate the TCK project.


On Wed, Mar 1, 2017 at 1:59 AM, Doug Lea <[hidden email]> wrote:
On 02/27/2017 03:12 PM, Rossen Stoyanchev wrote:

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 <http://reactive-streams.org> but there
is no explicit mention of spec rules + TCK nor whether implementations
of the Flow interfaces are required to conform.

I hope that you don't mean to imply that people should feel free
not to conform to or test their implementations of other j.u.c
interfaces :-)

Our javadocs cover the R-S specs, but are expressed in a typical
JDK interface-centric fashion. I'm not sure what more we can say
or do to make people click the reactive-streams.org links to find
out more about rationale and available tests.
Although we should consider your suggestion of adding the link in a
few more places just in case people missed them.

-Doug

_______________________________________________
Concurrency-interest mailing list
[hidden email]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest



--
Cheers,

_______________________________________________
Concurrency-interest mailing list
[hidden email]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest
Reply | Threaded
Open this post in threaded view
|

Re: JDK 9 Flow and Reactive Streams Rules / TCK

Dávid Karnok
If you can setup a JDK 9 project/build environment, creating the converter and using the RS TCK is relatively easy. I managed this via IntelliJ 2017.1 EAP in a non-Gradle, non-Maven project by adding the TCK via Add Library from Maven and writing the converter:




2017-03-05 21:06 GMT+01:00 Viktor Klang <[hidden email]>:
We've had some issues getting Gradle to handle jdk9 properly, so I haven't had a chance to create a bridge for the TCK yet—we have converters in the pipeline for Flow<>RS which means we wouldn't have to bifurcate the TCK project.


On Wed, Mar 1, 2017 at 1:59 AM, Doug Lea <[hidden email]> wrote:
On 02/27/2017 03:12 PM, Rossen Stoyanchev wrote:

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 <http://reactive-streams.org> but there
is no explicit mention of spec rules + TCK nor whether implementations
of the Flow interfaces are required to conform.

I hope that you don't mean to imply that people should feel free
not to conform to or test their implementations of other j.u.c
interfaces :-)

Our javadocs cover the R-S specs, but are expressed in a typical
JDK interface-centric fashion. I'm not sure what more we can say
or do to make people click the reactive-streams.org links to find
out more about rationale and available tests.
Although we should consider your suggestion of adding the link in a
few more places just in case people missed them.

-Doug

_______________________________________________
Concurrency-interest mailing list
[hidden email]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest



--
Cheers,

_______________________________________________
Concurrency-interest mailing list
[hidden email]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest




--
Best regards,
David Karnok

_______________________________________________
Concurrency-interest mailing list
[hidden email]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest