pub struct DiscoveryCoordinator<S = GrowableInterfaceDiscoveryStorage>where
S: InterfaceDiscoveryStorage,{ /* private fields */ }Implementations§
Source§impl DiscoveryCoordinator
impl DiscoveryCoordinator
pub fn new(policy: InterfaceDiscoveryPolicy) -> DiscoveryCoordinator
Source§impl<S> DiscoveryCoordinator<S>where
S: InterfaceDiscoveryStorage,
impl<S> DiscoveryCoordinator<S>where
S: InterfaceDiscoveryStorage,
pub fn with_storage(policy: InterfaceDiscoveryPolicy) -> DiscoveryCoordinator<S>
pub const fn ingress_filter(&self) -> DiscoveryIngressFilter
pub fn seed_catalog( &mut self, catalog: DiscoveryCatalog<<S as InterfaceDiscoveryStorage>::Catalog>, )
pub fn reserve_endpoint( &mut self, endpoint: DiscoveredConnectionEndpointId, ) -> Result<DiscoveryEndpointReservation, DiscoveryEndpointReservationError>
pub fn reserve_network_endpoint( &mut self, host: &str, port: u16, ) -> Result<DiscoveryEndpointReservation, DiscoveryEndpointReservationError>
pub const fn catalog( &self, ) -> &DiscoveryCatalog<<S as InterfaceDiscoveryStorage>::Catalog>
pub fn startup(&self, now: InstantMillis) -> Vec<DiscoveryCoordinatorOutput>
pub fn observe_announce( &mut self, observation: AnnounceObservation<'_>, now: InstantMillis, decrypt: impl FnOnce(&[u8]) -> Result<Vec<u8>, DiscoveryDecryptionError>, ) -> Vec<DiscoveryCoordinatorOutput>
pub fn observe_announce_with_blackholes( &mut self, observation: AnnounceObservation<'_>, now: InstantMillis, decrypt: impl FnOnce(&[u8]) -> Result<Vec<u8>, DiscoveryDecryptionError>, blackholed: &[IdentityHash], ) -> Vec<DiscoveryCoordinatorOutput>
pub fn reconcile_blackholes( &mut self, blackholed: &[IdentityHash], ) -> Vec<DiscoveryCoordinatorOutput>
pub fn maintain( &mut self, now: InstantMillis, health: impl IntoIterator<Item = (InterfaceId, DiscoveredConnectionHealth)>, ) -> Vec<DiscoveryCoordinatorOutput>
pub fn attachment_succeeded( &mut self, plan: DiscoveredConnectionPlan, interface: InterfaceId, ) -> Result<DiscoveryCoordinatorEvent, Box<DiscoveryAttachmentRegistrationFailure>>
Auto Trait Implementations§
impl<S> Freeze for DiscoveryCoordinator<S>where
<S as InterfaceDiscoveryStorage>::ValidationCache: Freeze,
<S as InterfaceDiscoveryStorage>::ReservedEndpoints: Freeze,
<S as InterfaceDiscoveryStorage>::Catalog: Freeze,
<S as InterfaceDiscoveryStorage>::Connections: Freeze,
impl<S> RefUnwindSafe for DiscoveryCoordinator<S>where
<S as InterfaceDiscoveryStorage>::ValidationCache: RefUnwindSafe,
<S as InterfaceDiscoveryStorage>::ReservedEndpoints: RefUnwindSafe,
<S as InterfaceDiscoveryStorage>::Catalog: RefUnwindSafe,
<S as InterfaceDiscoveryStorage>::Connections: RefUnwindSafe,
impl<S> Send for DiscoveryCoordinator<S>where
<S as InterfaceDiscoveryStorage>::ValidationCache: Send,
<S as InterfaceDiscoveryStorage>::ReservedEndpoints: Send,
<S as InterfaceDiscoveryStorage>::Catalog: Send,
<S as InterfaceDiscoveryStorage>::Connections: Send,
impl<S> Sync for DiscoveryCoordinator<S>where
<S as InterfaceDiscoveryStorage>::ValidationCache: Sync,
<S as InterfaceDiscoveryStorage>::ReservedEndpoints: Sync,
<S as InterfaceDiscoveryStorage>::Catalog: Sync,
<S as InterfaceDiscoveryStorage>::Connections: Sync,
impl<S> Unpin for DiscoveryCoordinator<S>where
<S as InterfaceDiscoveryStorage>::ValidationCache: Unpin,
<S as InterfaceDiscoveryStorage>::ReservedEndpoints: Unpin,
<S as InterfaceDiscoveryStorage>::Catalog: Unpin,
<S as InterfaceDiscoveryStorage>::Connections: Unpin,
impl<S> UnsafeUnpin for DiscoveryCoordinator<S>where
<S as InterfaceDiscoveryStorage>::ValidationCache: UnsafeUnpin,
<S as InterfaceDiscoveryStorage>::ReservedEndpoints: UnsafeUnpin,
<S as InterfaceDiscoveryStorage>::Catalog: UnsafeUnpin,
<S as InterfaceDiscoveryStorage>::Connections: UnsafeUnpin,
impl<S> UnwindSafe for DiscoveryCoordinator<S>where
<S as InterfaceDiscoveryStorage>::ValidationCache: UnwindSafe,
<S as InterfaceDiscoveryStorage>::ReservedEndpoints: UnwindSafe,
<S as InterfaceDiscoveryStorage>::Catalog: UnwindSafe,
<S as InterfaceDiscoveryStorage>::Connections: UnwindSafe,
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