agde::log

Struct EventApplier

source
pub struct EventApplier<'a> { /* private fields */ }
Expand description

A helper-struct that apples an event.

It’s main function is to unwind the log of events, apply the new event (it might have occurred before any of the other events) and then apply the unwound events.

Implementations§

source§

impl<'a> EventApplier<'a>

source

pub fn resource(&self) -> Option<&str>

The name of the modified resource on the local store. If this is None, the resource this event applies to has been deleted since. Don’t call Self::apply if that’s the case.

source

pub fn event(&self) -> &Event

Get a reference to the event to be applied.

source

pub fn apply( &mut self, resource: impl Into<Vec<u8>>, ) -> Result<Vec<u8>, (ApplyError, Vec<u8>)>

Must only be called if Self::event is EventKind::Modify & Self::resource returns Some, as you know which resource to load. If the target resource doesn’t exist, don’t call this.

§Errors

If a ApplyError::RefOutOfBounds error occurs, the apply action is completed and the error and the applied data is returned.

Returns ApplyError::InvalidEvent if this EventApplier wasn’t instantiated with a EventKind::Modify.

Returns a ApplyError::RefOutOfBounds if the difference of this event is out of bounds.

Trait Implementations§

source§

impl<'a> Debug for EventApplier<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for EventApplier<'a>

§

impl<'a> RefUnwindSafe for EventApplier<'a>

§

impl<'a> Send for EventApplier<'a>

§

impl<'a> Sync for EventApplier<'a>

§

impl<'a> Unpin for EventApplier<'a>

§

impl<'a> !UnwindSafe for EventApplier<'a>

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, 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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V