Struct ValueLog

Source
pub struct ValueLog<I, A, C = Crc32> { /* private fields */ }
Expand description

The value log implementation.

Trait Implementations§

Source§

impl<I: Clone, A: Clone, C: Clone> Clone for ValueLog<I, A, C>

Source§

fn clone(&self) -> ValueLog<I, A, C>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<I: Debug, A: Debug, C: Debug> Debug for ValueLog<I, A, C>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, I, A, C> From<ValueLog<I, A, C>> for GenericValueLog<T, I, A, C>

Source§

fn from(value: ValueLog<I, A, C>) -> Self

Converts to this type from the input type.
Source§

impl<I, A, C> Log for ValueLog<I, A, C>

Source§

type Id = I

The identifier type (file ID) for the log.
Source§

fn checksum(&self, bytes: &[u8]) -> u64

Calculates the checksum of the given bytes. Read more
Source§

fn options(&self) -> &Options

Returns the options of the log. Read more
Source§

fn id(&self) -> &Self::Id

Returns the identifier of the log. Read more
Source§

fn magic_version(&self) -> u16

Returns the magic version of the log. Read more
Source§

fn version(&self) -> u16

Returns the version of the log. Read more
Source§

fn discarded(&self) -> u32

Returns the discarded bytes of the log. Read more
Source§

fn data_offset(&self) -> usize

Returns the data offset of the log. Read more
Source§

fn path(&self) -> Option<&<Self::Allocator as Allocator>::Path>

Available on crate feature memmap and non-target_family="wasm" only.
Returns the path of the log. Read more
Source§

fn in_memory(&self) -> bool

Returns true if the log is in memory. Read more
Source§

fn on_disk(&self) -> bool

Returns true if the log is on disk. Read more
Source§

fn is_map(&self) -> bool

Available on crate feature memmap and non-target_family="wasm" only.
Returns true if the log is using a memory map backend. Read more
Source§

unsafe fn reserved_slice(&self) -> &[u8]

Returns the reserved space in the WAL. Read more
Source§

fn lock_exclusive(&self) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
Locks the underlying file for exclusive access, only works on mmap with a file backend. Read more
Source§

fn lock_shared(&self) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
Locks the underlying file for shared access, only works on mmap with a file backend. Read more
Source§

fn unlock(&self) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
Unlocks the underlying file, only works on mmap with a file backend. Read more
Source§

unsafe fn mlock(&self, offset: usize, len: usize) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
mlock(ptr, len)—Lock memory into RAM. Read more
Source§

unsafe fn munlock(&self, offset: usize, len: usize) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
munlock(ptr, len)—Unlock memory. Read more
Source§

impl<I, A, C> LogReader for ValueLog<I, A, C>

Source§

unsafe fn read( &self, id: &Self::Id, offset: u32, len: u32, ) -> Result<&[u8], Error>
where Self::Id: Eq,

Reads a value from the log. Read more
Source§

impl<I, A, C> LogWriter for ValueLog<I, A, C>

Source§

fn insert(&self, value: &[u8]) -> Result<ValuePointer<Self::Id>, Error>
where Self::Id: CheapClone + Debug,

Inserts a value into the log. Read more
Source§

fn insert_tombstone( &self, value: &[u8], ) -> Result<ValuePointer<Self::Id>, Error>
where Self::Id: CheapClone + Debug,

Inserts a tombstone value into the log. Read more
Source§

impl<I, A, C> Mutable for ValueLog<I, A, C>

Auto Trait Implementations§

§

impl<I, A, C> Freeze for ValueLog<I, A, C>
where I: Freeze, A: Freeze, C: Freeze,

§

impl<I, A, C> RefUnwindSafe for ValueLog<I, A, C>

§

impl<I, A, C> Send for ValueLog<I, A, C>
where I: Send, A: Send, C: Send,

§

impl<I, A, C> Sync for ValueLog<I, A, C>
where I: Sync, A: Sync, C: Sync,

§

impl<I, A, C> Unpin for ValueLog<I, A, C>
where I: Unpin, A: Unpin, C: Unpin,

§

impl<I, A, C> UnwindSafe for ValueLog<I, A, C>
where I: UnwindSafe, A: UnwindSafe, C: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<L> LogExt for L
where L: Log,

Source§

fn flush_to(&self, w: &mut impl Write) -> Result<()>

Available on crate feature std only.
Flushes the whole log to the given writer. Read more
Source§

impl<L> LogReaderExt for L
where L: LogReader,

Source§

unsafe fn read_generic<T: Type>( &self, id: &Self::Id, offset: u32, len: u32, ) -> Result<T::Ref<'_>, Error>
where Self::Id: Eq,

Reads a generic value from the log at the given offset. Read more
Source§

impl<L> LogWriterExt for L
where L: LogWriter,

Source§

fn insert_generic<T>( &self, value: &T, ) -> Result<ValuePointer<Self::Id>, Either<T::Error, Error>>
where T: Type, Self::Id: CheapClone + Debug,

Inserts a generic value into the log. Read more
Source§

fn insert_with<E>( &self, vb: ValueBuilder<impl FnOnce(&mut VacantBuffer<'_>) -> Result<(), E>>, ) -> Result<ValuePointer<Self::Id>, Either<E, Error>>
where Self::Id: CheapClone + Debug,

Inserts a value into the log with a builder, the value is built in place. Read more
Source§

fn insert_generic_tombstone<T>( &self, value: &T, ) -> Result<ValuePointer<Self::Id>, Either<T::Error, Error>>
where T: Type, Self::Id: CheapClone + Debug,

Inserts a generic value into the log. Read more
Source§

fn insert_tombstone_with<E>( &self, vb: ValueBuilder<impl FnOnce(&mut VacantBuffer<'_>) -> Result<(), E>>, ) -> Result<ValuePointer<Self::Id>, Either<E, Error>>
where Self::Id: CheapClone + Debug,

Inserts a value into the log with a builder, the value is built in place. Read more
Source§

impl<L> MutableLog for L
where L: Log + Mutable,

Source§

unsafe fn reserved_slice_mut(&self) -> &mut [u8]

Returns the mutable reference to the reserved slice. Read more
Source§

fn flush(&self) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
Flushes the memory-mapped file to disk. Read more
Source§

fn flush_async(&self) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
Flushes the memory-mapped file to disk asynchronously. Read more
Source§

fn flush_range(&self, offset: usize, len: usize) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
Flushes outstanding memory map modifications in the range to disk. Read more
Source§

fn flush_async_range(&self, offset: usize, len: usize) -> Result<()>

Available on crate feature memmap and non-target_family="wasm" only.
Asynchronously flushes outstanding memory map modifications in the range to disk. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more