A Futures channel-like utility to signal when a value is wanted.
Futures are supposed to be lazy, and only starting work if
is called. The same is true of
Streams, but when using a channel as
Stream, it can be hard to know if the receiver is ready for the next
Put another way, given a
(tx, rx) from
how can the sender (
tx) know when the receiver (
rx) actually wants more
work to be produced? Just because there is room in the channel buffer
doesn't mean the work would be used by the receiver.
This is where something like
want comes in. Added to a channel, you can
make sure that the
tx only creates the message and sends it when the
poll() for it, and the buffer was empty.
An entity that gives a value when wanted.
An entity that wants a value.
Create a new