pub struct Writer { /* private fields */ }Expand description
A memory-mapped file into which this writer adds new snapshot.
Implementations§
Source§impl Writer
Public interface of the writer.
impl Writer
Public interface of the writer.
Sourcepub fn commit(
&mut self,
data: &[u8],
) -> Result<SnapshotIndex, WriterCommitError>
pub fn commit( &mut self, data: &[u8], ) -> Result<SnapshotIndex, WriterCommitError>
Insert some data into the atomic log of the shared memory.
Sourcepub fn commit_with<T>(
&mut self,
data: &[u8],
intermediate: impl FnOnce(PreparedTransaction<'_>) -> Option<T>,
) -> Result<(SnapshotIndex, T), WriterCommitError>
pub fn commit_with<T>( &mut self, data: &[u8], intermediate: impl FnOnce(PreparedTransaction<'_>) -> Option<T>, ) -> Result<(SnapshotIndex, T), WriterCommitError>
Insert some data into the atomic log of the shared memory.
This also invokes a function such that it’s effects are sequenced after the reservation of
the new slot but before committing the data. The function can also introduce changes that
appear correctly from the semantics view of the ring. Changes to the tail can be made via
the passed PreparedTransaction object.
Sourcepub fn snapshot_at(&self, idx: SnapshotIndex) -> Snapshot
pub fn snapshot_at(&self, idx: SnapshotIndex) -> Snapshot
Read the snapshot associated with a written index.
Sourcepub fn read(&self, snapshot: &Snapshot, buffer: &mut [u8])
pub fn read(&self, snapshot: &Snapshot, buffer: &mut [u8])
Read data described by a snapshot, with discovered metadata in the file.
Auto Trait Implementations§
impl Freeze for Writer
impl RefUnwindSafe for Writer
impl Send for Writer
impl Sync for Writer
impl Unpin for Writer
impl UnwindSafe for Writer
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