ProtocolEnvelope

Trait ProtocolEnvelope 

Source
pub trait ProtocolEnvelope<'env>:
    Debug
    + MaybeSend
    + MaybeSync {
    type Nested<'a>
       where Self: 'a;

    // Required methods
    fn accept<V: EnvelopeVisitor<'env>>(
        &self,
        visitor: &mut V,
    ) -> Result<(), EnvelopeError>
       where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>;
    fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>;
}
Expand description

An low-level envelope from the network gRPC interface

Required Associated Types§

Source

type Nested<'a> where Self: 'a

Required Methods§

Source

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

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<'env> ProtocolEnvelope<'env> for Version

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for Version

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for Version

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for Version

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for Payload

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for ()

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, _: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for Request

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for IdentityUpdateLog

Source§

type Nested<'a> = Option<&'a IdentityUpdate>

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for IdentityUpdate

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for KeyPackage

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for Response

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for GroupMessage

Source§

type Nested<'a> = Option<&'a Version>

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for GroupMessageInput

Source§

type Nested<'a> = Option<&'a Version>

Source§

fn accept<'a, V: EnvelopeVisitor<'env>>( &'a self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for UploadKeyPackageRequest

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for WelcomeMessage

Source§

type Nested<'a> = Option<&'a Version>

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for WelcomeMessageInput

Source§

type Nested<'a> = Option<&'a Version>

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for Filter

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for Filter

Source§

type Nested<'a> = ()

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for ClientEnvelope

Source§

type Nested<'a> = Option<&'a Payload>

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env> ProtocolEnvelope<'env> for OriginatorEnvelope

Source§

impl<'env> ProtocolEnvelope<'env> for PayerEnvelope

Source§

impl<'env> ProtocolEnvelope<'env> for UnsignedOriginatorEnvelope

Source§

impl<'env> ProtocolEnvelope<'env> for Response

Source§

impl<'env, T> ProtocolEnvelope<'env> for Option<&T>
where T: ProtocolEnvelope<'env>,

Source§

type Nested<'a> = () where Self: 'a

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Source§

impl<'env, T> ProtocolEnvelope<'env> for &T
where T: ProtocolEnvelope<'env>,

Source§

type Nested<'a> = <T as ProtocolEnvelope<'env>>::Nested<'a> where Self: 'a

Source§

fn accept<V: EnvelopeVisitor<'env>>( &self, visitor: &mut V, ) -> Result<(), EnvelopeError>
where EnvelopeError: From<<V as EnvelopeVisitor<'env>>::Error>,

Source§

fn get_nested(&self) -> Result<Self::Nested<'_>, ConversionError>

Implementors§