pub struct InMemSessionStore { /* private fields */ }Expand description
Reference implementation of traits::SessionStore.
Implementations§
Source§impl InMemSessionStore
impl InMemSessionStore
Sourcepub fn new() -> InMemSessionStore
pub fn new() -> InMemSessionStore
Create an empty session store.
Sourcepub fn load_existing_sessions(
&self,
addresses: &[&ProtocolAddress],
) -> Result<Vec<&SessionRecord>, SignalProtocolError>
pub fn load_existing_sessions( &self, addresses: &[&ProtocolAddress], ) -> Result<Vec<&SessionRecord>, SignalProtocolError>
Bulk version of SessionStore::load_session.
Useful for crate::sealed_sender_multi_recipient_encrypt.
Trait Implementations§
Source§impl Clone for InMemSessionStore
impl Clone for InMemSessionStore
Source§fn clone(&self) -> InMemSessionStore
fn clone(&self) -> InMemSessionStore
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for InMemSessionStore
impl Default for InMemSessionStore
Source§fn default() -> InMemSessionStore
fn default() -> InMemSessionStore
Returns the “default value” for a type. Read more
Source§impl SessionStore for InMemSessionStore
impl SessionStore for InMemSessionStore
Source§fn load_session<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 ProtocolAddress,
) -> Pin<Box<dyn Future<Output = Result<Option<SessionRecord>, SignalProtocolError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
InMemSessionStore: 'async_trait,
fn load_session<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 ProtocolAddress,
) -> Pin<Box<dyn Future<Output = Result<Option<SessionRecord>, SignalProtocolError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
InMemSessionStore: 'async_trait,
Look up the session corresponding to
address.Source§fn store_session<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
address: &'life1 ProtocolAddress,
record: &'life2 SessionRecord,
) -> Pin<Box<dyn Future<Output = Result<(), SignalProtocolError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
InMemSessionStore: 'async_trait,
fn store_session<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
address: &'life1 ProtocolAddress,
record: &'life2 SessionRecord,
) -> Pin<Box<dyn Future<Output = Result<(), SignalProtocolError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
InMemSessionStore: 'async_trait,
Set the entry for
address to the value of record.Auto Trait Implementations§
impl Freeze for InMemSessionStore
impl RefUnwindSafe for InMemSessionStore
impl Send for InMemSessionStore
impl Sync for InMemSessionStore
impl Unpin for InMemSessionStore
impl UnwindSafe for InMemSessionStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].§impl<T> PartialDefault for Twhere
T: Default,
impl<T> PartialDefault for Twhere
T: Default,
§fn partial_default() -> T
fn partial_default() -> T
Returns a value that can be safely dropped or assigned over.