Skip to main content

PathManager

Trait PathManager 

Source
pub trait PathManager: SyncPathManager {
    // Required method
    fn path_wait(
        &self,
        src: IsdAsn,
        dst: IsdAsn,
        now: SystemTime,
    ) -> impl Future<Output = Result<ScionPath, PathWaitError>> + Send + '_;

    // Provided method
    fn path_timeout(
        &self,
        src: IsdAsn,
        dst: IsdAsn,
        now: SystemTime,
        timeout: Duration,
    ) -> impl Future<Output = Result<ScionPath, PathWaitTimeoutError>> + Send + '_ { ... }
}
Expand description

Trait for active path management with async interface.

Required Methods§

Source

fn path_wait( &self, src: IsdAsn, dst: IsdAsn, now: SystemTime, ) -> impl Future<Output = Result<ScionPath, PathWaitError>> + Send + '_

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: SystemTime, timeout: Duration, ) -> impl Future<Output = Result<ScionPath, PathWaitTimeoutError>> + Send + '_

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".

Implementors§