requiem_http/encoding/
mod.rs

1//! Content-Encoding support
2use std::io;
3
4use bytes::{Bytes, BytesMut};
5
6mod decoder;
7mod encoder;
8
9pub use self::decoder::Decoder;
10pub use self::encoder::Encoder;
11
12pub(self) struct Writer {
13    buf: BytesMut,
14}
15
16impl Writer {
17    fn new() -> Writer {
18        Writer {
19            buf: BytesMut::with_capacity(8192),
20        }
21    }
22
23    fn take(&mut self) -> Bytes {
24        self.buf.split().freeze()
25    }
26}
27
28impl io::Write for Writer {
29    fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
30        self.buf.extend_from_slice(buf);
31        Ok(buf.len())
32    }
33
34    fn flush(&mut self) -> io::Result<()> {
35        Ok(())
36    }
37}