pub(super) trait Transport: Send + Sync {
// Required method
fn fetch_raw<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
op: Op,
server: &'life1 ServerName,
opts: &'life2 Opts,
) -> Pin<Box<dyn Future<Output = Result<Bytes>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}Expand description
Abstracts the network operation for one federation fetch attempt.
The production implementation routes through federation execution while tests substitute a scripted mock.
Required Methods§
Sourcefn fetch_raw<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
op: Op,
server: &'life1 ServerName,
opts: &'life2 Opts,
) -> Pin<Box<dyn Future<Output = Result<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_raw<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
op: Op,
server: &'life1 ServerName,
opts: &'life2 Opts,
) -> Pin<Box<dyn Future<Output = Result<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Executes one endpoint operation and returns its raw response body.
Required option fields are validated before the federation request is sent.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".