core_crypto_ffi

Trait MlsTransport

Source
pub trait MlsTransport:
    Debug
    + Send
    + Sync {
    // Required methods
    fn send_commit_bundle<'life0, 'async_trait>(
        &'life0 self,
        commit_bundle: CommitBundle,
    ) -> Pin<Box<dyn Future<Output = MlsTransportResponse> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn send_message<'life0, 'async_trait>(
        &'life0 self,
        mls_message: Vec<u8>,
    ) -> Pin<Box<dyn Future<Output = MlsTransportResponse> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Used by core crypto to send commits or application messages to the delivery service. This trait must be implemented before calling any functions that produce commits.

Required Methods§

Source

fn send_commit_bundle<'life0, 'async_trait>( &'life0 self, commit_bundle: CommitBundle, ) -> Pin<Box<dyn Future<Output = MlsTransportResponse> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn send_message<'life0, 'async_trait>( &'life0 self, mls_message: Vec<u8>, ) -> Pin<Box<dyn Future<Output = MlsTransportResponse> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Trait Implementations§

Source§

impl<T> FfiConverterArc<T> for dyn MlsTransport

Source§

const TYPE_ID_META: MetadataBuffer

Source§

type FfiType = *const c_void

Source§

fn lower(obj: Arc<Self>) -> Self::FfiType

Source§

fn try_lift(v: Self::FfiType) -> Result<Arc<Self>>

Source§

fn write(obj: Arc<Self>, buf: &mut Vec<u8>)

Source§

fn try_read(buf: &mut &[u8]) -> Result<Arc<Self>>

Source§

impl<T> LiftRef<T> for dyn MlsTransport

Implementors§