pub struct BatchesFootprints {
pub first_page_pos: usize,
pub footprints: Vec<BatchFootprint>,
}
Expand description
The resource footprints of continuous subsets of messages.
For a set of messages xcms[0..n]
, each footprints[i]
contains the footprint
of the batch xcms[0..i]
, so as i
increases footprints[i]
contains the footprint
of a bigger batch.
Fields§
§first_page_pos: usize
The position in the first available MQ page where the batch will start being appended.
The messages in the batch will be enqueued to the message queue. Since the message queue is organized in pages, the messages may be enqueued across multiple contiguous pages. The position where we start appending messages to the first available MQ page is of particular importance since it impacts the performance of the enqueuing operation. That’s because the first page has to be decoded first. This is not needed for the following pages.
footprints: Vec<BatchFootprint>
Implementations§
Source§impl BatchesFootprints
impl BatchesFootprints
Sourcepub fn push(&mut self, msg: &[u8], new_page: bool)
pub fn push(&mut self, msg: &[u8], new_page: bool)
Appends a batch footprint to the back of the collection.
The new footprint represents a batch that includes all the messages contained by the
previous batches plus the provided msg
. If new_page
is true, we will consider that
the provided msg
is appended to a new message queue page. Otherwise, we consider
that it is appended to the current page.
Sourcepub fn search_best_by<F>(&self, f: F) -> &BatchFootprint
pub fn search_best_by<F>(&self, f: F) -> &BatchFootprint
Gets the biggest batch for which the comparator function returns Ordering::Less
.
Trait Implementations§
Source§impl Debug for BatchesFootprints
impl Debug for BatchesFootprints
Source§impl Default for BatchesFootprints
impl Default for BatchesFootprints
Source§fn default() -> BatchesFootprints
fn default() -> BatchesFootprints
Auto Trait Implementations§
impl Freeze for BatchesFootprints
impl RefUnwindSafe for BatchesFootprints
impl Send for BatchesFootprints
impl Sync for BatchesFootprints
impl Unpin for BatchesFootprints
impl UnwindSafe for BatchesFootprints
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> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.