EnvelopeCollection

Trait EnvelopeCollection 

Source
pub trait EnvelopeCollection<'env>: MaybeSend + MaybeSync {
    // Required methods
    fn topics(&self) -> Result<Vec<Topic>, EnvelopeError>;
    fn cursors(&self) -> Result<Vec<Cursor>, EnvelopeError>;
    fn payloads(&self) -> Result<Vec<Payload>, EnvelopeError>;
    fn orphans(&self) -> Result<Vec<OrphanedEnvelope>, EnvelopeError>;
    fn sha256_hashes(&self) -> Result<Vec<Vec<u8>>, EnvelopeError>;
    fn client_envelopes(&self) -> Result<Vec<ClientEnvelope>, EnvelopeError>;
    fn group_messages(&self) -> Result<Vec<Option<GroupMessage>>, EnvelopeError>;
    fn welcome_messages(
        &self,
    ) -> Result<Vec<Option<WelcomeMessage>>, EnvelopeError>;
    fn len(&self) -> usize;
    fn is_empty(&self) -> bool;
    fn consume<E>(self) -> Result<Vec<<E as Extractor>::Output>, EnvelopeError>
       where for<'a> E: Default + Extractor + EnvelopeVisitor<'a>,
             for<'a> EnvelopeError: From<<E as EnvelopeVisitor<'a>>::Error>,
             Self: Sized;
}
Expand description

A Generic Higher-Level Collection of Envelopes

Required Methods§

Source

fn topics(&self) -> Result<Vec<Topic>, EnvelopeError>

Get the topic for an envelope

Source

fn cursors(&self) -> Result<Vec<Cursor>, EnvelopeError>

get the cursors for each envelope

Source

fn payloads(&self) -> Result<Vec<Payload>, EnvelopeError>

Get the payload for an envelope

Source

fn orphans(&self) -> Result<Vec<OrphanedEnvelope>, EnvelopeError>

get orphans for these envelopes

Source

fn sha256_hashes(&self) -> Result<Vec<Vec<u8>>, EnvelopeError>

get the data field for each envelope as a sha256 hash

Source

fn client_envelopes(&self) -> Result<Vec<ClientEnvelope>, EnvelopeError>

Build the ClientEnvelope

Source

fn group_messages(&self) -> Result<Vec<Option<GroupMessage>>, EnvelopeError>

Try to get a group message from this Envelope

Source

fn welcome_messages(&self) -> Result<Vec<Option<WelcomeMessage>>, EnvelopeError>

Try to get a welcome message

Source

fn len(&self) -> usize

Length of the Collection

Source

fn is_empty(&self) -> bool

Whether the Collection of Envelopes is empty

Source

fn consume<E>(self) -> Result<Vec<<E as Extractor>::Output>, EnvelopeError>
where for<'a> E: Default + Extractor + EnvelopeVisitor<'a>, for<'a> EnvelopeError: From<<E as EnvelopeVisitor<'a>>::Error>, Self: Sized,

run a sequenced extraction on the envelopes in this collection

Implementations on Foreign Types§

Source§

impl EnvelopeCollection<'_> for SubscribeGroupMessagesRequest

Source§

impl EnvelopeCollection<'_> for SubscribeWelcomeMessagesRequest

Source§

impl EnvelopeCollection<'_> for SubscribeEnvelopesResponse

Source§

impl<'env, T> EnvelopeCollection<'env> for Vec<T>

Implementors§