/// This [`Stream`](Stream) will return incoming messages for this Tor stream, excluding flow control
/// To avoid ambiguity, the following uses "stream" to refer to the `futures::Stream`, not the Tor
/// After the stream returns an END message or an error, this stream will be "terminated" and future
// I think it would be better to *not* return an error if the stream ends before an END message is
// received, and just return `None`. The caller will know if it received an END message or not, so
/// directly since `UnobtrusivePeekableStream` allows you to mutate the peeked item, which could