The compress_stream works with buffers and gives the caller greater control than the reader/writer one.  Given a choice I would get rid of the compress_stream_rw, but both are useful.