pub struct TailRequest<'a> {
pub store: Arc<dyn ObjectStore>,
pub store_prefix: &'a str,
pub volume_root: &'a Path,
pub subjects: &'a [String],
pub tier: Tier,
pub owner: &'a str,
pub page_size: usize,
pub rpo_target: Option<Duration>,
}Expand description
Everything start needs. Mirrors
HydrateRequest field for field where the
meaning is the same, because they are read from the same declaration.
Fields§
§store: Arc<dyn ObjectStore>The object store both the claim and the data live in.
store_prefix: &'a strKey prefix for this workload. The claim sits here; each subject hangs
one level below — the identical layout crate::hydrate restores from,
and not a parallel one, so a tail and a hydrate of the same workload
cannot disagree about where the bytes are.
volume_root: &'a PathHost directory the named volume is bound from.
subjects: &'a [String]Volume-relative database paths, in declaration order.
tier: Tier§owner: &'a strLabel recorded in the claim. Diagnostic; see ClaimRecord::owner.
page_size: usizePage size of the source databases. Required rather than sniffed for the
reason StreamConfig::page_size is: a wrong guess silently produces
frames nothing can replay.
rpo_target: Option<Duration>RPO the caller’s scheduler promises, carried into the watermark so a missed round is visible as a breach rather than as silence.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for TailRequest<'a>
impl<'a> !UnwindSafe for TailRequest<'a>
impl<'a> Freeze for TailRequest<'a>
impl<'a> Send for TailRequest<'a>
impl<'a> Sync for TailRequest<'a>
impl<'a> Unpin for TailRequest<'a>
impl<'a> UnsafeUnpin for TailRequest<'a>
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> Fruit for T
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 more