pub struct DhtProviderRegistry { /* private fields */ }Expand description
Registry for DHT providers
Implementations§
Source§impl DhtProviderRegistry
impl DhtProviderRegistry
Sourcepub fn register(
&mut self,
name: impl Into<String>,
provider: Arc<dyn DhtProvider>,
)
pub fn register( &mut self, name: impl Into<String>, provider: Arc<dyn DhtProvider>, )
Register a DHT provider
Sourcepub fn get_active(&self) -> Option<Arc<dyn DhtProvider>>
pub fn get_active(&self) -> Option<Arc<dyn DhtProvider>>
Get the active provider
Sourcepub fn set_active(
&mut self,
name: impl Into<String>,
) -> Result<(), DhtProviderError>
pub fn set_active( &mut self, name: impl Into<String>, ) -> Result<(), DhtProviderError>
Set active provider
Sourcepub fn list_providers(&self) -> Vec<String>
pub fn list_providers(&self) -> Vec<String>
List all registered providers
Sourcepub fn unregister(&mut self, name: &str) -> Option<Arc<dyn DhtProvider>>
pub fn unregister(&mut self, name: &str) -> Option<Arc<dyn DhtProvider>>
Remove a provider
Sourcepub fn has_provider(&self, name: &str) -> bool
pub fn has_provider(&self, name: &str) -> bool
Check if a provider is registered
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DhtProviderRegistry
impl !RefUnwindSafe for DhtProviderRegistry
impl Send for DhtProviderRegistry
impl Sync for DhtProviderRegistry
impl Unpin for DhtProviderRegistry
impl !UnwindSafe for DhtProviderRegistry
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
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