Struct wasmer_journal::concrete::compacting::SubGroupOfevents
source · struct SubGroupOfevents {
events: Vec<usize>,
path: Option<String>,
write_map: HashMap<MemoryRange, usize>,
}
Expand description
Subgroup of events that may or may not be retained in the final journal as it is compacted.
By grouping events into subevents it makes it possible to ignore an entire subgroup of events which are superseeded by a later event. For example, all the events involved in creating a file are irrelevant if that file is later deleted.
Fields§
§events: Vec<usize>
List of all the events that will be transferred over to the compacted journal if this sub group is selected to be carried over
path: Option<String>
The path metadata attached to this sub group of events is used to discard all subgroups related to a particular path of a file or directory. This is especially important if that file is later deleted and hence all the events related to it are no longer relevant
write_map: HashMap<MemoryRange, usize>
The write map allows the ccompacted to only keep the events relevant to the final outcome of a compacted journal rather than written regions that are later overridden. This is a crude write map that does not deal with overlapping writes (they still remain) However in the majority of cases this will remove duplicates while retaining a simple implementation
Trait Implementations§
source§impl Debug for SubGroupOfevents
impl Debug for SubGroupOfevents
source§impl Default for SubGroupOfevents
impl Default for SubGroupOfevents
source§fn default() -> SubGroupOfevents
fn default() -> SubGroupOfevents
Auto Trait Implementations§
impl Freeze for SubGroupOfevents
impl RefUnwindSafe for SubGroupOfevents
impl Send for SubGroupOfevents
impl Sync for SubGroupOfevents
impl Unpin for SubGroupOfevents
impl UnwindSafe for SubGroupOfevents
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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