Struct cacache::SyncWriter
source · pub struct SyncWriter { /* private fields */ }
Expand description
A reference to an open file writing to the cache.
Implementations§
source§impl SyncWriter
impl SyncWriter
sourcepub fn create<P, K>(cache: P, key: K) -> Result<SyncWriter>
pub fn create<P, K>(cache: P, key: K) -> Result<SyncWriter>
Creates a new writable file handle into the cache.
§Example
use std::io::prelude::*;
fn main() -> cacache::Result<()> {
let mut fd = cacache::SyncWriter::create("./my-cache", "my-key")?;
fd.write_all(b"hello world").expect("Failed to write to cache");
// Data is not saved into the cache until you commit it.
fd.commit()?;
Ok(())
}
sourcepub fn create_with_algo<P, K>(
algo: Algorithm,
cache: P,
key: K
) -> Result<SyncWriter>
pub fn create_with_algo<P, K>( algo: Algorithm, cache: P, key: K ) -> Result<SyncWriter>
Creates a new writable file handle into the cache. Use this to customize the hashing algorithm.
§Example
use std::io::prelude::*;
fn main() -> cacache::Result<()> {
let mut fd = cacache::SyncWriter::create_with_algo(cacache::Algorithm::Xxh3, "./my-cache", "my-key")?;
fd.write_all(b"hello world").expect("Failed to write to cache");
// Data is not saved into the cache until you commit it.
fd.commit()?;
Ok(())
}
Trait Implementations§
source§impl Write for SyncWriter
impl Write for SyncWriter
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl RefUnwindSafe for SyncWriter
impl Send for SyncWriter
impl Sync for SyncWriter
impl Unpin for SyncWriter
impl UnwindSafe for SyncWriter
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