pub struct Holder {
pub provider: Address,
pub coverage: Option<Coverage>,
pub rtt_ms: f64,
pub probed_holder: bool,
}Expand description
One provider that holds (part of) the blob.
Fields§
§provider: AddressThe provider’s on-chain address: the payment lane’s payee and the key of its health.
coverage: Option<Coverage>The blocks it serves: its advertised coverage less any block dropped
after repeated refusals inside it, or
None for the whole blob.
rtt_ms: f64The probed round-trip time. Lower starts first.
probed_holder: boolWhether a probe reported that this provider holds the blob. A probed
holder is never marked absent: on the wire a NotFound also means load
shed, a per-signer cap, or a pool the node cannot confirm yet. To a
whole holder it is a delivery fault only. A partial holder’s counts
toward dropping the refused blocks from its coverage (inside it) or
barring it from pull-through (outside it), each for a while. A provider the probe did not report as a holder (a
pull-through or proxy-warming target) counts as absent after
ABSENT_AFTER_NOT_FOUND such answers with no verified byte between
them.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Holder
impl RefUnwindSafe for Holder
impl Send for Holder
impl Sync for Holder
impl Unpin for Holder
impl UnsafeUnpin for Holder
impl UnwindSafe for Holder
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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