pub trait MockableAPI<R>:
Clone
+ Send
+ Sync
+ 'static {
type CircMgr: Send + Sync + 'static;
// Required method
fn download<'life0, 'life1, 'life2, 'async_trait>(
self,
runtime: &'life0 R,
circmgr: &'life1 Self::CircMgr,
bridge: &'life2 BridgeConfig,
if_modified_since: Option<SystemTime>,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}
Available on crate feature
bridge-client
only.Expand description
Defines the actual mockable APIs
Not nameable (and therefore not implementable)
outside the bridgedesc
module,
Required Associated Types§
Required Methods§
Sourcefn download<'life0, 'life1, 'life2, 'async_trait>(
self,
runtime: &'life0 R,
circmgr: &'life1 Self::CircMgr,
bridge: &'life2 BridgeConfig,
if_modified_since: Option<SystemTime>,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn download<'life0, 'life1, 'life2, 'async_trait>(
self,
runtime: &'life0 R,
circmgr: &'life1 Self::CircMgr,
bridge: &'life2 BridgeConfig,
if_modified_since: Option<SystemTime>,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Download this bridge’s descriptor, and return it as a string
Runs in a task.
Called by Manager::download_descriptor
, which handles parsing and validation.
If if_modified_since
is Some
,
should tolerate an HTTP 304 Not Modified and return None
in that case.
If if_modified_since
is None
, returning Ok(None,)
is forbidden.
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.
Implementations on Foreign Types§
Source§impl<R: Runtime> MockableAPI<R> for ()
impl<R: Runtime> MockableAPI<R> for ()
Source§fn download<'life0, 'life1, 'life2, 'async_trait>(
self,
runtime: &'life0 R,
circmgr: &'life1 Self::CircMgr,
bridge: &'life2 BridgeConfig,
_if_modified_since: Option<SystemTime>,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn download<'life0, 'life1, 'life2, 'async_trait>(
self,
runtime: &'life0 R,
circmgr: &'life1 Self::CircMgr,
bridge: &'life2 BridgeConfig,
_if_modified_since: Option<SystemTime>,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Actual code for downloading a descriptor document