INNER CODE UNIT · Rust
new
TheWaWaR/simple-http-server · src/handlers.rs:171
fn new(sender: mpsc::Sender<io::Result<Bytes>>) -> Self {
Self {
sender,
buffer: Vec::with_capacity(FILE_CHUNK_SIZE),
}
}
fn finish(mut self) -> io::Result<()> {
self.flush_buffer(true)
}
fn flush_buffer(&mut self, force: bool) -> io::Result<()> {
while self.buffer.len() >= FILE_CHUNK_SIZE {
let remainder = self.buffer.split_off(FILE_CHUNK_SIZE);
let chunk = mem::replace(&mut self.buffer, remainder);
self.send_chunk(chunk)?;
}