Now your consumer is the same amount of code. Inst...
# coroutines
e
Now your consumer is the same amount of code. Instead of
byteStream.next()
it does
channel.next()
, but now you can throw a timeout channel into the mix. You can select from both bytestrem_ and timeout channel and terminate whichever comes first