This is what I wish Base.BufferStream
was.
See the tests for examples, but in a nut shell:
# Stream an HTTP response into an asynchronous processor
buff = BufferStream()
t_processor = @async process(buff)
HTTP.get(url, response_stream=buff)
close(buff)
wait(t_processor)
You can readavailable()
, write()
, close()
, eof()
, etc... The implementation is really simple, so I suggest you just look at it.