pub struct MultiSessionManager<V: Serialize + DeserializeOwned + Send + Sync> { /* private fields */ }
Expand description
This is used when one wants to rotate keys or switch from implementation to another. It accepts
1 + N
instances of SessionManager<V>
and uses only the first to generate sessions.
All instances are used only for parsing in the order they are passed in to the
MultiSessionManager
.
Implementations§
Source§impl<V: Serialize + DeserializeOwned + Send + Sync> MultiSessionManager<V>
impl<V: Serialize + DeserializeOwned + Send + Sync> MultiSessionManager<V>
Sourcepub fn new(
current: Box<dyn SessionManager<V>>,
previous: Vec<Box<dyn SessionManager<V>>>,
) -> Self
pub fn new( current: Box<dyn SessionManager<V>>, previous: Vec<Box<dyn SessionManager<V>>>, ) -> Self
Create a new MultiSessionManager
from one current SessionManager
and some N
previous
instances of SessionManager
.
Trait Implementations§
Source§impl<V: Serialize + DeserializeOwned + Send + Sync> SessionManager<V> for MultiSessionManager<V>
impl<V: Serialize + DeserializeOwned + Send + Sync> SessionManager<V> for MultiSessionManager<V>
Source§fn deserialize(&self, bytes: &[u8]) -> Result<Session<V>, SessionError>
fn deserialize(&self, bytes: &[u8]) -> Result<Session<V>, SessionError>
Given a slice of bytes perform the following options to convert it into a
Session
: Read moreSource§fn serialize(&self, session: &Session<V>) -> Result<Vec<u8>, SessionError>
fn serialize(&self, session: &Session<V>) -> Result<Vec<u8>, SessionError>
Given a session perform the following options to convert a
Session
into bytes: Read moreSource§fn is_encrypted(&self) -> bool
fn is_encrypted(&self) -> bool
Whether or not the sessions are encrypted.
Auto Trait Implementations§
impl<V> Freeze for MultiSessionManager<V>
impl<V> !RefUnwindSafe for MultiSessionManager<V>
impl<V> Send for MultiSessionManager<V>
impl<V> Sync for MultiSessionManager<V>
impl<V> Unpin for MultiSessionManager<V>
impl<V> !UnwindSafe for MultiSessionManager<V>
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