pub(super) struct RowsWindow<K: Ord, V: Clone> {
frame_bounds: RowsFrameBounds,
_phantom: PhantomData<K>,
_phantom2: PhantomData<V>,
}Expand description
The sliding window implementation for ROWS frames.
Fields§
§frame_bounds: RowsFrameBounds§_phantom: PhantomData<K>§_phantom2: PhantomData<V>Implementations§
Source§impl<K: Ord, V: Clone> RowsWindow<K, V>
impl<K: Ord, V: Clone> RowsWindow<K, V>
pub fn new(frame_bounds: RowsFrameBounds) -> Self
Trait Implementations§
Source§impl<K: Ord, V: Clone> WindowImpl for RowsWindow<K, V>
impl<K: Ord, V: Clone> WindowImpl for RowsWindow<K, V>
type Key = K
type Value = V
Source§fn preceding_saturated(
&self,
window: BufferRef<'_, Self::Key, Self::Value>,
) -> bool
fn preceding_saturated( &self, window: BufferRef<'_, Self::Key, Self::Value>, ) -> bool
Whether the preceding half of the current window is saturated.
By “saturated” we mean that every row that is possible to be in the preceding half of the
current window is already in the buffer.
Source§fn following_saturated(
&self,
window: BufferRef<'_, Self::Key, Self::Value>,
) -> bool
fn following_saturated( &self, window: BufferRef<'_, Self::Key, Self::Value>, ) -> bool
Whether the following half of the current window is saturated.
Source§fn recalculate_left_right(
&mut self,
window: BufferRefMut<'_, Self::Key, Self::Value>,
_hint: RecalculateHint,
)
fn recalculate_left_right( &mut self, window: BufferRefMut<'_, Self::Key, Self::Value>, _hint: RecalculateHint, )
Recalculate the left and right indices of the current window, according to the latest
curr_idx and the hint.Source§fn shift_indices(&mut self, _n: usize)
fn shift_indices(&mut self, _n: usize)
Shift the indices stored by the
WindowImpl by n positions. This should be called
after evicting rows from the buffer.Auto Trait Implementations§
impl<K, V> Freeze for RowsWindow<K, V>
impl<K, V> RefUnwindSafe for RowsWindow<K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for RowsWindow<K, V>
impl<K, V> Sync for RowsWindow<K, V>
impl<K, V> Unpin for RowsWindow<K, V>
impl<K, V> UnwindSafe for RowsWindow<K, V>where
K: UnwindSafe,
V: UnwindSafe,
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
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§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>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
Converts
&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)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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> 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>
Converts
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>
Converts
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<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
Source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level.Source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n.Source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n with metric_level set to
MetricLevel::Debug and relabel_num set to 1.