pub struct BlockRef {
pub dir: PathBuf,
pub min_ts: i64,
pub max_ts: i64,
pub node: u32,
pub seq: u64,
pub wal_hi: u64,
}Expand description
A published block, discovered by reading directory names.
Fields§
§dir: PathBuf§min_ts: i64§max_ts: i64§node: u32Which replica wrote this block. See node_id.
seq: u64§wal_hi: u64One past the highest write-ahead-log sequence whose records are in this
block, or 0 for a block published before the log existed.
This is the entire manifest. Principle 4 says there is no coordination
state and the block directory is the manifest, so the one fact WAL
replay needs — how far the log has been absorbed — is carried in the
name rather than in a file someone has to keep consistent with the
blocks. Recovery therefore stays the readdir section 4 promises it is.
Implementations§
Trait Implementations§
impl Eq for BlockRef
impl StructuralPartialEq for BlockRef
Auto Trait Implementations§
impl Freeze for BlockRef
impl RefUnwindSafe for BlockRef
impl Send for BlockRef
impl Sync for BlockRef
impl Unpin for BlockRef
impl UnsafeUnpin for BlockRef
impl UnwindSafe for BlockRef
Blanket Implementations§
impl<T> Allocation for T
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key and return true if they are equal.§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>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].