pub struct AtomicFile { /* private fields */ }
Expand description
AtompicFile defines the main type for the crate, and implements an API for safely handling atomic files. The API is based on the async_std::File interface, but with some adjustments that are designed to make it both safer and more ergonomic.
Implementations§
Source§impl AtomicFile
impl AtomicFile
Sourcepub async fn write_file(&mut self, buf: &[u8]) -> Result<(), Error>
pub async fn write_file(&mut self, buf: &[u8]) -> Result<(), Error>
write_file will perform a safe, ACID operation to write the provided data to the file. This will incur a performance cost of 2 fsyncs and of writing the full contents of the file to disk twice. For SSDs, the cost of two fsyncs is typically under 25ms and often under 3ms. For HDDs, the cost of two fsyncs is typically over 200ms and often over 800ms.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AtomicFile
impl !RefUnwindSafe for AtomicFile
impl Send for AtomicFile
impl Sync for AtomicFile
impl Unpin for AtomicFile
impl !UnwindSafe for AtomicFile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more