Skip to main content

Transport

Trait Transport 

Source
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§

Source

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

Implementors§