pub struct EmptyOriginDirectory;Expand description
OriginDirectory that resolves nothing.
The shape the runtime installs when the on-chain OriginAssignment address
is not configured. The chain-backed crate::dht::ChainOriginDirectory is
the only directory with a production population path (ADR 022 §FIND_VALUE
Flow describes the fallback as the on-chain origin directory throughout),
so “no chain config” means “no origin directory” rather than “an
operator-supplied one”.
Every consumer degrades to a hard deny on a node without a chain address:
the FIND_VALUE fallback resolves nothing, so a namespaceId != 0 DHT miss
reports the blob unavailable on the network.
Trait Implementations§
Source§impl Clone for EmptyOriginDirectory
impl Clone for EmptyOriginDirectory
impl Copy for EmptyOriginDirectory
Source§impl Debug for EmptyOriginDirectory
impl Debug for EmptyOriginDirectory
Source§impl Default for EmptyOriginDirectory
impl Default for EmptyOriginDirectory
Source§impl OriginDirectory for EmptyOriginDirectory
impl OriginDirectory for EmptyOriginDirectory
Source§fn lookup_origins<'life0, 'async_trait>(
&'life0 self,
_namespace_id: U256,
) -> Pin<Box<dyn Future<Output = Vec<NodeId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn lookup_origins<'life0, 'async_trait>(
&'life0 self,
_namespace_id: U256,
) -> Pin<Box<dyn Future<Output = Vec<NodeId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the operator
NodeIds authorised as origins for namespace_id,
already filtered to only currently-active stakers (the active == true
filter from CapacityBond.nodeIdOf per ADR 022 §FIND_VALUE Flow “Origin
discovery”). Read moreAuto Trait Implementations§
impl Freeze for EmptyOriginDirectory
impl RefUnwindSafe for EmptyOriginDirectory
impl Send for EmptyOriginDirectory
impl Sync for EmptyOriginDirectory
impl Unpin for EmptyOriginDirectory
impl UnsafeUnpin for EmptyOriginDirectory
impl UnwindSafe for EmptyOriginDirectory
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§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<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::RequestCreates a shared type from an unshared type.