pub struct PimdirBlobWriter { /* private fields */ }Available on crate feature
client only.Expand description
A streaming writer for one new blob (see PimdirBlobs::writer).
A Write sink over a temporary file; commit
fsyncs and renames it into the content-addressed path once the caller
knows the hash. Dropped without a commit, it removes the temp.
Implementations§
Source§impl PimdirBlobWriter
impl PimdirBlobWriter
Sourcepub fn commit(self, hash: &ReplicaHash) -> Result<u64>
pub fn commit(self, hash: &ReplicaHash) -> Result<u64>
Finalises the object under hash: fsync, then atomically rename
the temp file into its sharded content-addressed path. A body
already present keeps the stored copy and drops the temp. Returns
the object’s byte size.
Trait Implementations§
Source§impl Drop for PimdirBlobWriter
impl Drop for PimdirBlobWriter
Source§impl Write for PimdirBlobWriter
impl Write for PimdirBlobWriter
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 PimdirBlobWriter
impl RefUnwindSafe for PimdirBlobWriter
impl Send for PimdirBlobWriter
impl Sync for PimdirBlobWriter
impl Unpin for PimdirBlobWriter
impl UnsafeUnpin for PimdirBlobWriter
impl UnwindSafe for PimdirBlobWriter
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