pub struct Discovery { /* private fields */ }Available on crate feature
discovery only.Expand description
Confidential topic discovery and random-walk strategy to resolve transport infos.
§Design
Read more about the underlying design in p2panda-discovery.
Implementations§
Source§impl Discovery
impl Discovery
pub fn builder(address_book: AddressBook, endpoint: Endpoint) -> Builder
Sourcepub async fn events(&self) -> Result<Receiver<DiscoveryEvent>, DiscoveryError>
pub async fn events(&self) -> Result<Receiver<DiscoveryEvent>, DiscoveryError>
Subscribe to system events.
Sourcepub async fn metrics(&self) -> Result<DiscoveryMetrics, DiscoveryError>
pub async fn metrics(&self) -> Result<DiscoveryMetrics, DiscoveryError>
Returns current metrics.
Trait Implementations§
Source§impl ChildActor for Discovery
Available on crate feature supervisor only.
impl ChildActor for Discovery
Available on crate feature
supervisor only.fn on_start( &self, supervisor: ActorCell, thread_pool: ThreadLocalActorSpawner, ) -> ChildActorFut<'_>
Auto Trait Implementations§
impl !RefUnwindSafe for Discovery
impl !UnwindSafe for Discovery
impl Freeze for Discovery
impl Send for Discovery
impl Sync for Discovery
impl Unpin for Discovery
impl UnsafeUnpin for Discovery
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
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> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Available on non-crate feature
cluster only.Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Available on non-crate feature
cluster only.Convert this message to a BoxedMessage