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>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes 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 Freeze for SyncWriter
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more