pub struct Provider { /* private fields */ }Expand description
General Provider, which holding reference of Processor Provider should be obey memory layout of CLang Provider should be export for wasm-bindgen
Implementations§
Source§impl Provider
impl Provider
Sourcepub fn from_processor(processor: Arc<Processor>) -> Self
pub fn from_processor(processor: Arc<Processor>) -> Self
Create provider from processor directly
Sourcepub fn extensions(&self) -> Extensions
pub fn extensions(&self) -> Extensions
The shared protocol registry. The inbound callback clones this so registration (via the provider) and dispatch see the same table.
Sourcepub fn register_protocol<P, I>(&self, protocol: P, interpret: I) -> Result<()>
pub fn register_protocol<P, I>(&self, protocol: P, interpret: I) -> Result<()>
Sourcepub async fn send(&self, to: Did, namespace: &str, payload: Bytes) -> Result<()>
pub async fn send(&self, to: Did, namespace: &str, payload: Bytes) -> Result<()>
Send a namespaced payload to a peer. This is the uniform upper-layer send — a core capability, identical on native and browser.
Sourcepub async fn peer_measurement(&self, did: Did) -> Option<PeerMeasurement>
pub async fn peer_measurement(&self, did: Did) -> Option<PeerMeasurement>
Return local measurement counters for a peer, if observed.
Sourcepub async fn peer_measurements(&self) -> Vec<PeerMeasurement>
pub async fn peer_measurements(&self) -> Vec<PeerMeasurement>
Return every retained local peer measurement.
Sourcepub fn set_backend(&self) -> Result<()>
pub fn set_backend(&self) -> Result<()>
Sourcepub fn set_swarm_callback(&self, callback: SharedSwarmCallback) -> Result<()>
👎Deprecated: set_swarm_callback will be removed in next version, plz use set_backend instead
pub fn set_swarm_callback(&self, callback: SharedSwarmCallback) -> Result<()>
set_swarm_callback will be removed in next version, plz use set_backend instead
Set callback for swarm.
Source§impl Provider
impl Provider
Sourcepub async fn request<T>(&self, method: Method, params: T) -> Result<Value>where
T: Serialize,
pub async fn request<T>(&self, method: Method, params: T) -> Result<Value>where
T: Serialize,
A request function implementation for native provider
Sourcepub async fn listen(&self)
pub async fn listen(&self)
Listen for messages until this future is dropped or aborted.
This is a long-running task; do not await completion as a readiness signal.
Sourcepub async fn listen_with(&self, stop: StopToken)
pub async fn listen_with(&self, stop: StopToken)
Listen for messages until stop requests cooperative shutdown.
This is a long-running task; do not await completion as a readiness signal.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Provider
impl !UnwindSafe for Provider
impl Freeze for Provider
impl Send for Provider
impl Sync for Provider
impl Unpin for Provider
impl UnsafeUnpin for Provider
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
impl<T> MaybeSend for T
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.