Reactive Slick

Here's the ongoing work on Reactive Slick.

/cc @cvogt for review later
Well, the “don’t work” part is definitely incorrect, what you are getting at is that with such a scheme the Publisher would detect less error cases than strictly possible. But what we are describing here is a mechanism for transferring data over an asynchronous boundary, which means that arbitrary delays are possible and expected.

To make it very concrete: the part “… but for the handshake between the publishing thread and request() …” is not mandated, and for performance reasons we should leave it out. Yes, this means that more than Long.MaxValue demand can be in flight, but I don’t see that as a problem.