Skip to main content

file_storage/system/local/file/
local_write_op.rs

1use std::fs::File;
2use std::io::Write;
3
4/// A local write operation.
5pub struct LocalWriteOp {
6    pub(crate) file: File,
7}
8
9impl Write for LocalWriteOp {
10    fn write(&mut self, buffer: &[u8]) -> std::io::Result<usize> {
11        self.file.write(buffer)
12    }
13
14    fn flush(&mut self) -> std::io::Result<()> {
15        self.file.flush()
16    }
17}
18
19impl LocalWriteOp {
20    //! Close
21
22    /// Closes the file.
23    pub fn close(self) -> Result<(), std::io::Error> {
24        self.file.sync_all()
25    }
26}