Skip to main content

PathManager

Trait PathManager 

Source
pub trait PathManager: SyncPathManager {
    // Required method
    fn path_wait(
        &self,
        src: IsdAsn,
        dst: IsdAsn,
        now: DateTime<Utc>,
    ) -> impl ResFut<'_, Path<Bytes>, PathWaitError>;

    // Provided method
    fn path_timeout(
        &self,
        src: IsdAsn,
        dst: IsdAsn,
        now: DateTime<Utc>,
        timeout: Duration,
    ) -> impl ResFut<'_, Path<Bytes>, PathWaitTimeoutError> { ... }
}
Expand description

Trait for active path management with async interface.

Required Methods§

Source

fn path_wait( &self, src: IsdAsn, dst: IsdAsn, now: DateTime<Utc>, ) -> impl ResFut<'_, Path<Bytes>, PathWaitError>

Returns a path to the destination from the path cache or requests a new path from the SCION Control Plane.

Provided Methods§

Source

fn path_timeout( &self, src: IsdAsn, dst: IsdAsn, now: DateTime<Utc>, timeout: Duration, ) -> impl ResFut<'_, Path<Bytes>, PathWaitTimeoutError>

Returns a path to the destination from the path cache or requests a new path from the SCION Control Plane, with a maximum wait time.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§