pub struct MarshalResolver<D: Digest, P: PublicKey> { /* private fields */ }Expand description
Store-backed resolver for Commonware marshal requests.
Unlike the P2P resolver, this resolves marshal backfill requests directly from an Exoware Simplex store and delivers responses into Marshal’s local resolver handler.
Implementations§
Source§impl<D, P> MarshalResolver<D, P>
impl<D, P> MarshalResolver<D, P>
pub fn init<E>( context: E, mailbox_size: NonZeroUsize, client: SimplexClient, ) -> (Receiver<D>, Self)
pub fn new<E>( context: E, mailbox_size: NonZeroUsize, client: SimplexClient, handler: MarshalHandler<D>, ) -> Self
pub const fn client(&self) -> &SimplexClient
pub fn into_client(self) -> SimplexClient
Trait Implementations§
Source§impl<D: Clone + Digest, P: Clone + PublicKey> Clone for MarshalResolver<D, P>
impl<D: Clone + Digest, P: Clone + PublicKey> Clone for MarshalResolver<D, P>
Source§fn clone(&self) -> MarshalResolver<D, P>
fn clone(&self) -> MarshalResolver<D, P>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<D, P> Resolver for MarshalResolver<D, P>
impl<D, P> Resolver for MarshalResolver<D, P>
Source§impl<D, P> TargetedResolver for MarshalResolver<D, P>
impl<D, P> TargetedResolver for MarshalResolver<D, P>
Source§fn fetch_targeted(
&mut self,
key: impl Into<Fetch<Self::Key, Self::Subscriber>> + Send,
targets: NonEmptyVec<Self::PublicKey>,
) -> Feedback
fn fetch_targeted( &mut self, key: impl Into<Fetch<Self::Key, Self::Subscriber>> + Send, targets: NonEmptyVec<Self::PublicKey>, ) -> Feedback
Initiate a fetch with target peer hints. Read more
Source§fn fetch_all_targeted<F>(
&mut self,
keys: Vec<(F, NonEmptyVec<Self::PublicKey>)>,
) -> Feedback
fn fetch_all_targeted<F>( &mut self, keys: Vec<(F, NonEmptyVec<Self::PublicKey>)>, ) -> Feedback
Initiate fetches for multiple keys, each with their own target hints. Read more
Auto Trait Implementations§
impl<D, P> !Freeze for MarshalResolver<D, P>
impl<D, P> !RefUnwindSafe for MarshalResolver<D, P>
impl<D, P> Send for MarshalResolver<D, P>
impl<D, P> Sync for MarshalResolver<D, P>
impl<D, P> Unpin for MarshalResolver<D, P>where
P: Unpin,
impl<D, P> UnsafeUnpin for MarshalResolver<D, P>
impl<D, P> !UnwindSafe for MarshalResolver<D, P>
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 more