//! Content-Encoding support use std::io; use bytes::{Bytes, BytesMut}; mod decoder; mod encoder; pub use self::decoder::Decoder; pub use self::encoder::Encoder; pub(self) struct Writer { buf: BytesMut, } impl Writer { fn new() -> Writer { Writer { buf: BytesMut::with_capacity(8192), } } fn take(&mut self) -> Bytes { self.buf.split().freeze() } fn freeze(self) -> Bytes { self.buf.freeze() } } impl io::Write for Writer { fn write(&mut self, buf: &[u8]) -> io::Result { self.buf.extend_from_slice(buf); Ok(buf.len()) } fn flush(&mut self) -> io::Result<()> { Ok(()) } }