Skip to main content

EnvironmentLogWriter

Struct EnvironmentLogWriter 

Source
pub struct EnvironmentLogWriter { /* private fields */ }
Expand description

LogWriter implementation backed by the live LogManager.

Each write_entry call:

  1. Resolves the entry_type byte to a LogEntryType.
  2. Writes the payload to the local log via LogManager::log().
  3. Registers the returned LSN in the provided vlsn_index so that the VLSN→LSN mapping is kept up-to-date on the replica.

Implementations§

Source§

impl EnvironmentLogWriter

Source

pub fn new(log_manager: Arc<LogManager>, vlsn_index: Arc<VlsnIndex>) -> Self

Create a new EnvironmentLogWriter.

§Arguments
  • log_manager — The live LogManager for this replica environment.
  • vlsn_index — The VLSN index to update after each written entry.

Trait Implementations§

Source§

impl LogWriter for EnvironmentLogWriter

Source§

fn write_entry( &mut self, vlsn: u64, entry_type: u8, payload: &[u8], ) -> Result<()>

Write one replicated entry to the local log.

Resolves entry_typeLogEntryType, appends the payload to the WAL, and records the assigned LSN in the VLSN index. Returns an error if the entry type is unknown or the write fails.

Auto Trait Implementations§

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,