pub fn decode_stream<R, W>(reader: &mut R, writer: &mut W) -> Result<()>where
    R: Read,
    W: Write,