Trait secure_session::session::SessionManager
[−]
[src]
pub trait SessionManager<V: Serialize + DeserializeOwned>: Send + Sync { fn deserialize(&self, bytes: &[u8]) -> Result<Session<V>, SessionError>; fn serialize(&self, session: &Session<V>) -> Result<Vec<u8>, SessionError>; fn is_encrypted(&self) -> bool; }
Base trait that provides session management.
Required Methods
fn deserialize(&self, bytes: &[u8]) -> Result<Session<V>, SessionError>
Given a slice of bytes perform the following options to convert it into a Session:
- Decrypt (optional)
- Verify signature / MAC
- Parse / deserialize into a
Sessionstruct
fn serialize(&self, session: &Session<V>) -> Result<Vec<u8>, SessionError>
Given a session perform the following options to convert a Session into bytes:
- Encode / serialize into bytes
- Encrypt (optional)
- Sign / MAC
fn is_encrypted(&self) -> bool
Whether or not the sessions are encrypted.
Implementors
impl<V: Serialize + DeserializeOwned + Send + Sync> SessionManager<V> for ChaCha20Poly1305SessionManager<V>impl<V: Serialize + DeserializeOwned + Send + Sync> SessionManager<V> for AesGcmSessionManager<V>impl<V: Serialize + DeserializeOwned + Send + Sync> SessionManager<V> for MultiSessionManager<V>