pub struct Replay {
pub older: usize,
pub replayed: usize,
pub rows: Range<usize>,
pub by: usize,
pub drop: usize,
}Expand description
What a lazily flushed head does at a token whose log, the token’s own entry appended, holds count tokens
(Replay::at).
Fields§
§older: usizeThe log’s oldest tokens being replayed into the memory: rows below replayed are, and read through the fold
over the tokens after these alone; every other row reads through the whole log.
replayed: usize§rows: Range<usize>The rows the token replays the log’s first by tokens into, each stored once.
by: usize§drop: usizeTokens dropped from the log’s front once the token is through.
Implementations§
Source§impl Replay
impl Replay
Sourcepub fn at(flush: StateFlush, width: usize, count: usize) -> Replay
pub fn at(flush: StateFlush, width: usize, count: usize) -> Replay
The token of a width-row head whose log holds count tokens under flush. Every tokens: every row reads
through the whole log, and once it holds tokens every row replays it and it empties. Trailing tokens: once
the log holds a window past the first, the token at count replays the first window into the rows of share
j = count − tokens − 1, from row j·width/tokens to row (j+1)·width/tokens; the rows of the shares before
read through the newer tokens; at 2·tokens every row has replayed it and the window is dropped.
Sourcepub fn capacity(flush: StateFlush) -> usize
pub fn capacity(flush: StateFlush) -> usize
The tokens a lazily flushed memory’s log holds at its longest under flush.
Trait Implementations§
impl Eq for Replay
impl StructuralPartialEq for Replay
Auto Trait Implementations§
impl Freeze for Replay
impl RefUnwindSafe for Replay
impl Send for Replay
impl Sync for Replay
impl Unpin for Replay
impl UnsafeUnpin for Replay
impl UnwindSafe for Replay
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.