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§
Sourcefn path_wait(
&self,
src: IsdAsn,
dst: IsdAsn,
now: SystemTime,
) -> impl Future<Output = Result<ScionPath, PathWaitError>> + Send + '_
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§
Sourcefn path_timeout(
&self,
src: IsdAsn,
dst: IsdAsn,
now: SystemTime,
timeout: Duration,
) -> impl Future<Output = Result<ScionPath, PathWaitTimeoutError>> + Send + '_
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".