[][src]Struct interledger_ccp::CcpRouteManager

pub struct CcpRouteManager<I, O, S, A: Account> { /* fields omitted */ }

The Routing Manager Service.

This implements the Connector-to-Connector Protocol (CCP) for exchanging route updates with peers. This service handles incoming CCP messages and sends updates to peers. It manages the routing table in the Store and updates it with the best routes determined by per-account configuration and the broadcasts we have received from peers.

Methods

impl<I, O, S, A> CcpRouteManager<I, O, S, A> where
    I: IncomingService<A> + Clone + Send + Sync + 'static,
    O: OutgoingService<A> + Clone + Send + Sync + 'static,
    S: RouteManagerStore<Account = A> + Clone + Send + Sync + 'static,
    A: CcpRoutingAccount + Send + Sync + 'static, 
[src]

pub fn start_broadcast_interval(
    &self,
    interval: u64
) -> impl Future<Item = (), Error = ()>
[src]

Returns a future that will trigger this service to update its routes and broadcast updates to peers on the given interval.

pub fn broadcast_routes(&self) -> impl Future<Item = (), Error = ()>[src]

Trait Implementations

impl<I: Clone, O: Clone, S: Clone, A: Clone + Account> Clone for CcpRouteManager<I, O, S, A> where
    A::AccountId: Clone
[src]

impl<I, O, S, A> IncomingService<A> for CcpRouteManager<I, O, S, A> where
    I: IncomingService<A> + Clone + Send + Sync + 'static,
    O: OutgoingService<A> + Clone + Send + Sync + 'static,
    S: RouteManagerStore<Account = A> + Clone + Send + Sync + 'static,
    A: CcpRoutingAccount + Send + Sync + 'static, 
[src]

type Future = BoxedIlpFuture

fn handle_request(&mut self, request: IncomingRequest<A>) -> Self::Future[src]

Handle the IncomingRequest if it is a CCP protocol message or pass it on to the next handler if not

Auto Trait Implementations

impl<I, O, S, A> Unpin for CcpRouteManager<I, O, S, A> where
    I: Unpin,
    O: Unpin,
    S: Unpin

impl<I, O, S, A> Sync for CcpRouteManager<I, O, S, A> where
    A: Sync,
    I: Sync,
    O: Sync,
    S: Sync,
    <A as Account>::AccountId: Send + Sync

impl<I, O, S, A> Send for CcpRouteManager<I, O, S, A> where
    A: Sync,
    I: Send,
    O: Send,
    S: Send,
    <A as Account>::AccountId: Send + Sync

impl<I, O, S, A> !UnwindSafe for CcpRouteManager<I, O, S, A>

impl<I, O, S, A> !RefUnwindSafe for CcpRouteManager<I, O, S, A>

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T