diff --git a/pageserver/src/tenant/layer_map/historic_layer_coverage.rs b/pageserver/src/tenant/layer_map/historic_layer_coverage.rs index aaa59700e3..f104e615d9 100644 --- a/pageserver/src/tenant/layer_map/historic_layer_coverage.rs +++ b/pageserver/src/tenant/layer_map/historic_layer_coverage.rs @@ -30,6 +30,10 @@ impl HistoricLayerCoverage { } } + /// Add a layer + /// + /// Panics if new layer has older lsn.start than an existing layer. + /// See BufferedHistoricLayerCoverage for a more general insertion method. pub fn insert( self: &mut Self, key: Range, @@ -61,6 +65,7 @@ impl HistoricLayerCoverage { self.historic.insert(lsn.start, self.head.clone()); } + /// Query at a particular LSN pub fn get_version(self: &Self, lsn: u64) -> Option<&LayerCoverageTuple> { match self.historic.range(..=lsn).rev().next() { Some((_, v)) => Some(v), @@ -68,6 +73,7 @@ impl HistoricLayerCoverage { } } + /// Remove all entries after a certain LSN pub fn trim(self: &mut Self, begin: &u64) { self.historic.split_off(begin); self.head = self