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>
impl<'a> EventApplier<'a>
sourcepub fn resource(&self) -> Option<&str>
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.
sourcepub fn apply(
&mut self,
resource: impl Into<Vec<u8>>,
) -> Result<Vec<u8>, (ApplyError, Vec<u8>)>
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.