pub struct TableWatermarksIndex {
pub watermark_direction: WatermarkDirection,
pub staging_watermarks: VecDeque<(HummockEpoch, Arc<[VnodeWatermark]>)>,
pub committed_watermarks: Option<Arc<TableWatermarks>>,
latest_epoch: HummockEpoch,
committed_epoch: Option<HummockEpoch>,
}
Fields§
§watermark_direction: WatermarkDirection
§staging_watermarks: VecDeque<(HummockEpoch, Arc<[VnodeWatermark]>)>
§committed_watermarks: Option<Arc<TableWatermarks>>
§latest_epoch: HummockEpoch
§committed_epoch: Option<HummockEpoch>
Implementations§
source§impl TableWatermarksIndex
impl TableWatermarksIndex
pub fn new( watermark_direction: WatermarkDirection, first_epoch: HummockEpoch, first_vnode_watermark: Vec<VnodeWatermark>, committed_epoch: Option<HummockEpoch>, ) -> Self
pub fn new_committed( committed_watermarks: Arc<TableWatermarks>, committed_epoch: HummockEpoch, ) -> Self
pub fn read_watermark( &self, vnode: VirtualNode, epoch: HummockEpoch, ) -> Option<Bytes>
pub fn latest_watermark(&self, vnode: VirtualNode) -> Option<Bytes>
pub fn rewrite_range_with_table_watermark( &self, epoch: HummockEpoch, key_range: &mut TableKeyRange, )
pub fn filter_regress_watermarks(&self, watermarks: &mut Vec<VnodeWatermark>)
pub fn direction(&self) -> WatermarkDirection
pub fn add_epoch_watermark( &mut self, epoch: HummockEpoch, vnode_watermark_list: Arc<[VnodeWatermark]>, direction: WatermarkDirection, )
pub fn apply_committed_watermarks( &mut self, committed_watermark: Arc<TableWatermarks>, committed_epoch: HummockEpoch, )
Trait Implementations§
source§impl Clone for TableWatermarksIndex
impl Clone for TableWatermarksIndex
source§fn clone(&self) -> TableWatermarksIndex
fn clone(&self) -> TableWatermarksIndex
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for TableWatermarksIndex
impl RefUnwindSafe for TableWatermarksIndex
impl Send for TableWatermarksIndex
impl Sync for TableWatermarksIndex
impl Unpin for TableWatermarksIndex
impl UnwindSafe for TableWatermarksIndex
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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.