INNER CODE UNIT · Rust
finish
TheWaWaR/simple-http-server · src/handlers.rs:178
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)?;
}
if force && !self.buffer.is_empty() {
let chunk = mem::take(&mut self.buffer);
self.send_chunk(chunk)?;
}
Ok(())
}