pub trait EnvelopeVisitor<'env> {
type Error: Into<EnvelopeError>;
Show 24 methods
// Provided methods
fn visit_originator(
&mut self,
_e: &OriginatorEnvelope,
) -> Result<(), Self::Error> { ... }
fn visit_unsigned_originator(
&mut self,
_e: &UnsignedOriginatorEnvelope,
) -> Result<(), Self::Error> { ... }
fn visit_payer(&mut self, _e: &PayerEnvelope) -> Result<(), Self::Error> { ... }
fn visit_client(&mut self, _e: &ClientEnvelope) -> Result<(), Self::Error> { ... }
fn visit_group_message_version(
&mut self,
_m: &GroupMessageVersion,
) -> Result<(), Self::Error> { ... }
fn visit_group_message_input(
&mut self,
_m: &GroupMessageInput,
) -> Result<(), Self::Error> { ... }
fn visit_group_message_v1(
&mut self,
_m: &GroupMessageV1,
) -> Result<(), Self::Error> { ... }
fn visit_welcome_message_version(
&mut self,
_m: &WelcomeMessageVersion,
) -> Result<(), Self::Error> { ... }
fn visit_welcome_message_input(
&mut self,
_m: &WelcomeMessageInput,
) -> Result<(), Self::Error> { ... }
fn visit_welcome_message_v1(
&mut self,
_m: &WelcomeMessageV1,
) -> Result<(), Self::Error> { ... }
fn visit_welcome_pointer(
&mut self,
_m: &WelcomeMessageWelcomePointer,
) -> Result<(), Self::Error> { ... }
fn visit_v3_group_message(
&mut self,
_m: &V3GroupMessage,
) -> Result<(), Self::Error> { ... }
fn visit_v3_welcome_message(
&mut self,
_m: &V3WelcomeMessage,
) -> Result<(), Self::Error> { ... }
fn visit_v3_welcome_pointer(
&mut self,
_m: &V3WelcomePointer,
) -> Result<(), Self::Error> { ... }
fn visit_upload_key_package(
&mut self,
_p: &UploadKeyPackageRequest,
) -> Result<(), Self::Error> { ... }
fn visit_identity_update(
&mut self,
_u: &IdentityUpdate,
) -> Result<(), Self::Error> { ... }
fn visit_identity_update_log(
&mut self,
_u: &IdentityUpdateLog,
) -> Result<(), Self::Error> { ... }
fn visit_identity_updates_request(
&mut self,
_u: &Request,
) -> Result<(), Self::Error> { ... }
fn visit_key_package(&mut self, _k: &KeyPackage) -> Result<(), Self::Error> { ... }
fn visit_none(&mut self) -> Result<(), Self::Error> { ... }
fn visit_newest_envelope_response(
&mut self,
_u: &Response,
) -> Result<(), Self::Error> { ... }
fn visit_subscribe_group_messages_request(
&mut self,
_r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error> { ... }
fn visit_subscribe_welcome_messages_request(
&mut self,
_r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error> { ... }
fn visit_newest_group_message_response(
&mut self,
_u: &Response,
) -> Result<(), Self::Error> { ... }
}Expand description
Envelope Visitor type for handling of serialized nested envelope types.
Envelope visitors allow implementors to define data needed from
a ProtocolEnvelope.
It is designed such that like-kinded types may be extracted in the same module. For instance,
V3 and D14n Group Messages. A visitor is given to
a ProtocolEnvelope implementation
via the ProtocolEnvelope::accept method. The implementation of
ProtocolEnvelope
defines how the protobuf data structure is traversed. it is the responsibility of
ProtocolEnvelope to call all relevant visitor methods defined on this trait.
if a visitor is not called, it must not be present in the given input data of
a ProtocolEnvelope
The Envelope and EnvelopeCollection makes handling collections of
ProtocolEnvelope and applying their extractors more convenient, as
it provides a blanket implementation on all ProtocolEnvelope
types.
The Aggregate Extractors, CollectionExtractor and
SequencedExtractor applies an extractor to
collections (Vec::ProtocolEnvelope’s.
§Examples
§Run a single visitor
// [`mls_v1::GroupMessage`] has a [`ProtocolEnvelope`] implementation.
fn get_group_message(response: mls_v1::GroupMessage) -> xmtp_proto::types::GroupMessage {
// our Extractor which has an implementation of [`EnvelopeVisitor`]
let mut visitor = V3GroupMessageExtractor::default();
response.accept(&mut visitor);
let msg = visitor.get().unwrap();
msg.unwrap()
}§Run multiple visitors
Running multiple visitors is useful when you want to extract multiple things from an envelope, or it’s uncertain whether the envelopes contains a certain type of message. Visitors chained as a tuple should always run through the protobuf message exactly once O(n).
NOTE: the blanket implementation of Envelope on all ProtocolEnvelope types
removes much of the boilerplate here, and can have functions added if needed.
let topic = TopicExtractor::default();
let payload = PayloadExtractor::default();
let mut visitor = (topic, payload);
envelope.accept(&mut visitor);
// unwrap the visitor from its tuple
let (topic, payload) = visitor;
let topic = topic.get().unwrap();
let payload = payload.get().unwrap();Required Associated Types§
type Error: Into<EnvelopeError>
Provided Methods§
Sourcefn visit_originator(
&mut self,
_e: &OriginatorEnvelope,
) -> Result<(), Self::Error>
fn visit_originator( &mut self, _e: &OriginatorEnvelope, ) -> Result<(), Self::Error>
Visit the OriginatorEnvelope Type
Sourcefn visit_unsigned_originator(
&mut self,
_e: &UnsignedOriginatorEnvelope,
) -> Result<(), Self::Error>
fn visit_unsigned_originator( &mut self, _e: &UnsignedOriginatorEnvelope, ) -> Result<(), Self::Error>
Visit the UnsignedOriginatorEnvelope type
Sourcefn visit_payer(&mut self, _e: &PayerEnvelope) -> Result<(), Self::Error>
fn visit_payer(&mut self, _e: &PayerEnvelope) -> Result<(), Self::Error>
Visit the Payer Envelope Type
Sourcefn visit_client(&mut self, _e: &ClientEnvelope) -> Result<(), Self::Error>
fn visit_client(&mut self, _e: &ClientEnvelope) -> Result<(), Self::Error>
Visit the ClientEnvelope type
Sourcefn visit_group_message_version(
&mut self,
_m: &GroupMessageVersion,
) -> Result<(), Self::Error>
fn visit_group_message_version( &mut self, _m: &GroupMessageVersion, ) -> Result<(), Self::Error>
Visit the GroupMessageVersion type
Sourcefn visit_group_message_input(
&mut self,
_m: &GroupMessageInput,
) -> Result<(), Self::Error>
fn visit_group_message_input( &mut self, _m: &GroupMessageInput, ) -> Result<(), Self::Error>
Visit the GroupMessageInput containing the welcome message version
Sourcefn visit_group_message_v1(
&mut self,
_m: &GroupMessageV1,
) -> Result<(), Self::Error>
fn visit_group_message_v1( &mut self, _m: &GroupMessageV1, ) -> Result<(), Self::Error>
Visit a V1 Group Message
Sourcefn visit_welcome_message_version(
&mut self,
_m: &WelcomeMessageVersion,
) -> Result<(), Self::Error>
fn visit_welcome_message_version( &mut self, _m: &WelcomeMessageVersion, ) -> Result<(), Self::Error>
Visit the WelcomeMessageInput containing the welcome message version
Sourcefn visit_welcome_message_input(
&mut self,
_m: &WelcomeMessageInput,
) -> Result<(), Self::Error>
fn visit_welcome_message_input( &mut self, _m: &WelcomeMessageInput, ) -> Result<(), Self::Error>
Visit the WelcomeMessageInput containing the welcome message version
Sourcefn visit_welcome_message_v1(
&mut self,
_m: &WelcomeMessageV1,
) -> Result<(), Self::Error>
fn visit_welcome_message_v1( &mut self, _m: &WelcomeMessageV1, ) -> Result<(), Self::Error>
Visit a V1 Welcome Message
Sourcefn visit_welcome_pointer(
&mut self,
_m: &WelcomeMessageWelcomePointer,
) -> Result<(), Self::Error>
fn visit_welcome_pointer( &mut self, _m: &WelcomeMessageWelcomePointer, ) -> Result<(), Self::Error>
Visit a Welcome Pointer
fn visit_v3_group_message( &mut self, _m: &V3GroupMessage, ) -> Result<(), Self::Error>
fn visit_v3_welcome_message( &mut self, _m: &V3WelcomeMessage, ) -> Result<(), Self::Error>
fn visit_v3_welcome_pointer( &mut self, _m: &V3WelcomePointer, ) -> Result<(), Self::Error>
Sourcefn visit_upload_key_package(
&mut self,
_p: &UploadKeyPackageRequest,
) -> Result<(), Self::Error>
fn visit_upload_key_package( &mut self, _p: &UploadKeyPackageRequest, ) -> Result<(), Self::Error>
Visit the Upload Key Package
Sourcefn visit_identity_update(
&mut self,
_u: &IdentityUpdate,
) -> Result<(), Self::Error>
fn visit_identity_update( &mut self, _u: &IdentityUpdate, ) -> Result<(), Self::Error>
Visit the Identity Update Type
fn visit_identity_update_log( &mut self, _u: &IdentityUpdateLog, ) -> Result<(), Self::Error>
Sourcefn visit_identity_updates_request(
&mut self,
_u: &Request,
) -> Result<(), Self::Error>
fn visit_identity_updates_request( &mut self, _u: &Request, ) -> Result<(), Self::Error>
Visit an Identity Updates Request
fn visit_key_package(&mut self, _k: &KeyPackage) -> Result<(), Self::Error>
Sourcefn visit_none(&mut self) -> Result<(), Self::Error>
fn visit_none(&mut self) -> Result<(), Self::Error>
Visit an empty type in a fixed-length array Useful is client expects a constant length between requests and responses
Sourcefn visit_newest_envelope_response(
&mut self,
_u: &Response,
) -> Result<(), Self::Error>
fn visit_newest_envelope_response( &mut self, _u: &Response, ) -> Result<(), Self::Error>
Visit a Newest Envelope Response
Sourcefn visit_subscribe_group_messages_request(
&mut self,
_r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_group_messages_request( &mut self, _r: &SubscribeGroupMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
Sourcefn visit_subscribe_welcome_messages_request(
&mut self,
_r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_welcome_messages_request( &mut self, _r: &SubscribeWelcomeMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
fn visit_newest_group_message_response( &mut self, _u: &Response, ) -> Result<(), Self::Error>
Implementations on Foreign Types§
Source§impl<'a, T> EnvelopeVisitor<'a> for Vec<T>
impl<'a, T> EnvelopeVisitor<'a> for Vec<T>
Source§fn visit_identity_updates_request(
&mut self,
u: &Request,
) -> Result<(), Self::Error>
fn visit_identity_updates_request( &mut self, u: &Request, ) -> Result<(), Self::Error>
Visit an Identity Updates Request
Source§fn visit_none(&mut self) -> Result<(), Self::Error>
fn visit_none(&mut self) -> Result<(), Self::Error>
Visit an empty type in a fixed-length array Useful is client expects a constant length between requests and responses
Source§fn visit_newest_envelope_response(
&mut self,
u: &Response,
) -> Result<(), Self::Error>
fn visit_newest_envelope_response( &mut self, u: &Response, ) -> Result<(), Self::Error>
Visit a Newest Envelope Response
Source§fn visit_subscribe_group_messages_request(
&mut self,
r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_group_messages_request( &mut self, r: &SubscribeGroupMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
Source§fn visit_subscribe_welcome_messages_request(
&mut self,
r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_welcome_messages_request( &mut self, r: &SubscribeWelcomeMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
type Error = <T as EnvelopeVisitor<'a>>::Error
fn visit_originator( &mut self, envelope: &OriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_unsigned_originator( &mut self, envelope: &UnsignedOriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_payer(&mut self, envelope: &PayerEnvelope) -> Result<(), Self::Error>
fn visit_client(&mut self, envelope: &ClientEnvelope) -> Result<(), Self::Error>
fn visit_group_message_version( &mut self, message: &GroupMessageVersion, ) -> Result<(), Self::Error>
fn visit_group_message_input( &mut self, m: &GroupMessageInput, ) -> Result<(), Self::Error>
fn visit_group_message_v1( &mut self, message: &GroupMessageV1, ) -> Result<(), Self::Error>
fn visit_welcome_message_version( &mut self, message: &WelcomeMessageVersion, ) -> Result<(), Self::Error>
fn visit_welcome_message_input( &mut self, m: &WelcomeMessageInput, ) -> Result<(), Self::Error>
fn visit_welcome_message_v1( &mut self, message: &WelcomeMessageV1, ) -> Result<(), Self::Error>
fn visit_v3_group_message( &mut self, m: &V3GroupMessage, ) -> Result<(), Self::Error>
fn visit_v3_welcome_message( &mut self, m: &V3WelcomeMessage, ) -> Result<(), Self::Error>
fn visit_upload_key_package( &mut self, package: &UploadKeyPackageRequest, ) -> Result<(), Self::Error>
fn visit_identity_update( &mut self, update: &IdentityUpdate, ) -> Result<(), Self::Error>
fn visit_identity_update_log( &mut self, u: &IdentityUpdateLog, ) -> Result<(), Self::Error>
fn visit_key_package(&mut self, k: &KeyPackage) -> Result<(), Self::Error>
Source§impl<'a, TupleElement0: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0,)
impl<'a, TupleElement0: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0,)
Source§fn visit_newest_envelope_response(
&mut self,
u: &Response,
) -> Result<(), Self::Error>
fn visit_newest_envelope_response( &mut self, u: &Response, ) -> Result<(), Self::Error>
Visit a Newest Envelope Response
Source§fn visit_subscribe_group_messages_request(
&mut self,
r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_group_messages_request( &mut self, r: &SubscribeGroupMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
Source§fn visit_subscribe_welcome_messages_request(
&mut self,
r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_welcome_messages_request( &mut self, r: &SubscribeWelcomeMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
type Error = EnvelopeError
fn visit_originator( &mut self, envelope: &OriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_unsigned_originator( &mut self, e: &UnsignedOriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_payer(&mut self, e: &PayerEnvelope) -> Result<(), Self::Error>
fn visit_client(&mut self, e: &ClientEnvelope) -> Result<(), Self::Error>
fn visit_group_message_version( &mut self, m: &GroupMessageVersion, ) -> Result<(), Self::Error>
fn visit_group_message_input( &mut self, m: &GroupMessageInput, ) -> Result<(), Self::Error>
fn visit_group_message_v1( &mut self, m: &GroupMessageV1, ) -> Result<(), Self::Error>
fn visit_welcome_message_version( &mut self, m: &WelcomeMessageVersion, ) -> Result<(), Self::Error>
fn visit_welcome_message_input( &mut self, m: &WelcomeMessageInput, ) -> Result<(), Self::Error>
fn visit_welcome_message_v1( &mut self, m: &WelcomeMessageV1, ) -> Result<(), Self::Error>
fn visit_v3_group_message( &mut self, m: &V3GroupMessage, ) -> Result<(), Self::Error>
fn visit_v3_welcome_message( &mut self, m: &V3WelcomeMessage, ) -> Result<(), Self::Error>
fn visit_upload_key_package( &mut self, p: &UploadKeyPackageRequest, ) -> Result<(), Self::Error>
fn visit_identity_update( &mut self, u: &IdentityUpdate, ) -> Result<(), Self::Error>
fn visit_identity_update_log( &mut self, u: &IdentityUpdateLog, ) -> Result<(), Self::Error>
fn visit_identity_updates_request( &mut self, u: &Request, ) -> Result<(), Self::Error>
fn visit_key_package(&mut self, k: &KeyPackage) -> Result<(), Self::Error>
fn visit_none(&mut self) -> Result<(), Self::Error>
Source§impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error>,
impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error>,
Source§fn visit_newest_envelope_response(
&mut self,
u: &Response,
) -> Result<(), Self::Error>
fn visit_newest_envelope_response( &mut self, u: &Response, ) -> Result<(), Self::Error>
Visit a Newest Envelope Response
Source§fn visit_subscribe_group_messages_request(
&mut self,
r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_group_messages_request( &mut self, r: &SubscribeGroupMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
Source§fn visit_subscribe_welcome_messages_request(
&mut self,
r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_welcome_messages_request( &mut self, r: &SubscribeWelcomeMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
type Error = EnvelopeError
fn visit_originator( &mut self, envelope: &OriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_unsigned_originator( &mut self, e: &UnsignedOriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_payer(&mut self, e: &PayerEnvelope) -> Result<(), Self::Error>
fn visit_client(&mut self, e: &ClientEnvelope) -> Result<(), Self::Error>
fn visit_group_message_version( &mut self, m: &GroupMessageVersion, ) -> Result<(), Self::Error>
fn visit_group_message_input( &mut self, m: &GroupMessageInput, ) -> Result<(), Self::Error>
fn visit_group_message_v1( &mut self, m: &GroupMessageV1, ) -> Result<(), Self::Error>
fn visit_welcome_message_version( &mut self, m: &WelcomeMessageVersion, ) -> Result<(), Self::Error>
fn visit_welcome_message_input( &mut self, m: &WelcomeMessageInput, ) -> Result<(), Self::Error>
fn visit_welcome_message_v1( &mut self, m: &WelcomeMessageV1, ) -> Result<(), Self::Error>
fn visit_v3_group_message( &mut self, m: &V3GroupMessage, ) -> Result<(), Self::Error>
fn visit_v3_welcome_message( &mut self, m: &V3WelcomeMessage, ) -> Result<(), Self::Error>
fn visit_upload_key_package( &mut self, p: &UploadKeyPackageRequest, ) -> Result<(), Self::Error>
fn visit_identity_update( &mut self, u: &IdentityUpdate, ) -> Result<(), Self::Error>
fn visit_identity_update_log( &mut self, u: &IdentityUpdateLog, ) -> Result<(), Self::Error>
fn visit_identity_updates_request( &mut self, u: &Request, ) -> Result<(), Self::Error>
fn visit_key_package(&mut self, k: &KeyPackage) -> Result<(), Self::Error>
fn visit_none(&mut self) -> Result<(), Self::Error>
Source§impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>, TupleElement2: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1, TupleElement2)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement2 as EnvelopeVisitor<'a>>::Error>,
impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>, TupleElement2: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1, TupleElement2)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement2 as EnvelopeVisitor<'a>>::Error>,
Source§fn visit_newest_envelope_response(
&mut self,
u: &Response,
) -> Result<(), Self::Error>
fn visit_newest_envelope_response( &mut self, u: &Response, ) -> Result<(), Self::Error>
Visit a Newest Envelope Response
Source§fn visit_subscribe_group_messages_request(
&mut self,
r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_group_messages_request( &mut self, r: &SubscribeGroupMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
Source§fn visit_subscribe_welcome_messages_request(
&mut self,
r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_welcome_messages_request( &mut self, r: &SubscribeWelcomeMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
type Error = EnvelopeError
fn visit_originator( &mut self, envelope: &OriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_unsigned_originator( &mut self, e: &UnsignedOriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_payer(&mut self, e: &PayerEnvelope) -> Result<(), Self::Error>
fn visit_client(&mut self, e: &ClientEnvelope) -> Result<(), Self::Error>
fn visit_group_message_version( &mut self, m: &GroupMessageVersion, ) -> Result<(), Self::Error>
fn visit_group_message_input( &mut self, m: &GroupMessageInput, ) -> Result<(), Self::Error>
fn visit_group_message_v1( &mut self, m: &GroupMessageV1, ) -> Result<(), Self::Error>
fn visit_welcome_message_version( &mut self, m: &WelcomeMessageVersion, ) -> Result<(), Self::Error>
fn visit_welcome_message_input( &mut self, m: &WelcomeMessageInput, ) -> Result<(), Self::Error>
fn visit_welcome_message_v1( &mut self, m: &WelcomeMessageV1, ) -> Result<(), Self::Error>
fn visit_v3_group_message( &mut self, m: &V3GroupMessage, ) -> Result<(), Self::Error>
fn visit_v3_welcome_message( &mut self, m: &V3WelcomeMessage, ) -> Result<(), Self::Error>
fn visit_upload_key_package( &mut self, p: &UploadKeyPackageRequest, ) -> Result<(), Self::Error>
fn visit_identity_update( &mut self, u: &IdentityUpdate, ) -> Result<(), Self::Error>
fn visit_identity_update_log( &mut self, u: &IdentityUpdateLog, ) -> Result<(), Self::Error>
fn visit_identity_updates_request( &mut self, u: &Request, ) -> Result<(), Self::Error>
fn visit_key_package(&mut self, k: &KeyPackage) -> Result<(), Self::Error>
fn visit_none(&mut self) -> Result<(), Self::Error>
Source§impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>, TupleElement2: EnvelopeVisitor<'a>, TupleElement3: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement2 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement3 as EnvelopeVisitor<'a>>::Error>,
impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>, TupleElement2: EnvelopeVisitor<'a>, TupleElement3: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement2 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement3 as EnvelopeVisitor<'a>>::Error>,
Source§fn visit_newest_envelope_response(
&mut self,
u: &Response,
) -> Result<(), Self::Error>
fn visit_newest_envelope_response( &mut self, u: &Response, ) -> Result<(), Self::Error>
Visit a Newest Envelope Response
Source§fn visit_subscribe_group_messages_request(
&mut self,
r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_group_messages_request( &mut self, r: &SubscribeGroupMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
Source§fn visit_subscribe_welcome_messages_request(
&mut self,
r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_welcome_messages_request( &mut self, r: &SubscribeWelcomeMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
type Error = EnvelopeError
fn visit_originator( &mut self, envelope: &OriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_unsigned_originator( &mut self, e: &UnsignedOriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_payer(&mut self, e: &PayerEnvelope) -> Result<(), Self::Error>
fn visit_client(&mut self, e: &ClientEnvelope) -> Result<(), Self::Error>
fn visit_group_message_version( &mut self, m: &GroupMessageVersion, ) -> Result<(), Self::Error>
fn visit_group_message_input( &mut self, m: &GroupMessageInput, ) -> Result<(), Self::Error>
fn visit_group_message_v1( &mut self, m: &GroupMessageV1, ) -> Result<(), Self::Error>
fn visit_welcome_message_version( &mut self, m: &WelcomeMessageVersion, ) -> Result<(), Self::Error>
fn visit_welcome_message_input( &mut self, m: &WelcomeMessageInput, ) -> Result<(), Self::Error>
fn visit_welcome_message_v1( &mut self, m: &WelcomeMessageV1, ) -> Result<(), Self::Error>
fn visit_v3_group_message( &mut self, m: &V3GroupMessage, ) -> Result<(), Self::Error>
fn visit_v3_welcome_message( &mut self, m: &V3WelcomeMessage, ) -> Result<(), Self::Error>
fn visit_upload_key_package( &mut self, p: &UploadKeyPackageRequest, ) -> Result<(), Self::Error>
fn visit_identity_update( &mut self, u: &IdentityUpdate, ) -> Result<(), Self::Error>
fn visit_identity_update_log( &mut self, u: &IdentityUpdateLog, ) -> Result<(), Self::Error>
fn visit_identity_updates_request( &mut self, u: &Request, ) -> Result<(), Self::Error>
fn visit_key_package(&mut self, k: &KeyPackage) -> Result<(), Self::Error>
fn visit_none(&mut self) -> Result<(), Self::Error>
Source§impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>, TupleElement2: EnvelopeVisitor<'a>, TupleElement3: EnvelopeVisitor<'a>, TupleElement4: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement2 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement3 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement4 as EnvelopeVisitor<'a>>::Error>,
impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>, TupleElement2: EnvelopeVisitor<'a>, TupleElement3: EnvelopeVisitor<'a>, TupleElement4: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement2 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement3 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement4 as EnvelopeVisitor<'a>>::Error>,
Source§fn visit_newest_envelope_response(
&mut self,
u: &Response,
) -> Result<(), Self::Error>
fn visit_newest_envelope_response( &mut self, u: &Response, ) -> Result<(), Self::Error>
Visit a Newest Envelope Response
Source§fn visit_subscribe_group_messages_request(
&mut self,
r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_group_messages_request( &mut self, r: &SubscribeGroupMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
Source§fn visit_subscribe_welcome_messages_request(
&mut self,
r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_welcome_messages_request( &mut self, r: &SubscribeWelcomeMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
type Error = EnvelopeError
fn visit_originator( &mut self, envelope: &OriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_unsigned_originator( &mut self, e: &UnsignedOriginatorEnvelope, ) -> Result<(), Self::Error>
fn visit_payer(&mut self, e: &PayerEnvelope) -> Result<(), Self::Error>
fn visit_client(&mut self, e: &ClientEnvelope) -> Result<(), Self::Error>
fn visit_group_message_version( &mut self, m: &GroupMessageVersion, ) -> Result<(), Self::Error>
fn visit_group_message_input( &mut self, m: &GroupMessageInput, ) -> Result<(), Self::Error>
fn visit_group_message_v1( &mut self, m: &GroupMessageV1, ) -> Result<(), Self::Error>
fn visit_welcome_message_version( &mut self, m: &WelcomeMessageVersion, ) -> Result<(), Self::Error>
fn visit_welcome_message_input( &mut self, m: &WelcomeMessageInput, ) -> Result<(), Self::Error>
fn visit_welcome_message_v1( &mut self, m: &WelcomeMessageV1, ) -> Result<(), Self::Error>
fn visit_v3_group_message( &mut self, m: &V3GroupMessage, ) -> Result<(), Self::Error>
fn visit_v3_welcome_message( &mut self, m: &V3WelcomeMessage, ) -> Result<(), Self::Error>
fn visit_upload_key_package( &mut self, p: &UploadKeyPackageRequest, ) -> Result<(), Self::Error>
fn visit_identity_update( &mut self, u: &IdentityUpdate, ) -> Result<(), Self::Error>
fn visit_identity_update_log( &mut self, u: &IdentityUpdateLog, ) -> Result<(), Self::Error>
fn visit_identity_updates_request( &mut self, u: &Request, ) -> Result<(), Self::Error>
fn visit_key_package(&mut self, k: &KeyPackage) -> Result<(), Self::Error>
fn visit_none(&mut self) -> Result<(), Self::Error>
Source§impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>, TupleElement2: EnvelopeVisitor<'a>, TupleElement3: EnvelopeVisitor<'a>, TupleElement4: EnvelopeVisitor<'a>, TupleElement5: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement2 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement3 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement4 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement5 as EnvelopeVisitor<'a>>::Error>,
impl<'a, TupleElement0: EnvelopeVisitor<'a>, TupleElement1: EnvelopeVisitor<'a>, TupleElement2: EnvelopeVisitor<'a>, TupleElement3: EnvelopeVisitor<'a>, TupleElement4: EnvelopeVisitor<'a>, TupleElement5: EnvelopeVisitor<'a>> EnvelopeVisitor<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)where
EnvelopeError: From<<TupleElement0 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement1 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement2 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement3 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement4 as EnvelopeVisitor<'a>>::Error> + From<<TupleElement5 as EnvelopeVisitor<'a>>::Error>,
Source§fn visit_newest_envelope_response(
&mut self,
u: &Response,
) -> Result<(), Self::Error>
fn visit_newest_envelope_response( &mut self, u: &Response, ) -> Result<(), Self::Error>
Visit a Newest Envelope Response
Source§fn visit_subscribe_group_messages_request(
&mut self,
r: &SubscribeGroupMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_group_messages_request( &mut self, r: &SubscribeGroupMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request
Source§fn visit_subscribe_welcome_messages_request(
&mut self,
r: &SubscribeWelcomeMessagesFilter,
) -> Result<(), Self::Error>
fn visit_subscribe_welcome_messages_request( &mut self, r: &SubscribeWelcomeMessagesFilter, ) -> Result<(), Self::Error>
visit_subscribe_group_messages_request