pub trait SessionStorage: Send + Sync {
// Required methods
fn start_session(&self, username: String) -> Result<String, Error>;
fn end_session(
&self,
username: String,
session_id: EncryptionContext,
) -> Result<(), Error>;
fn get_sessions_for_user(
&self,
username: String,
) -> Result<Vec<EncryptionContext>, Error>;
fn get_all_sessions(&self) -> Result<Vec<EncryptionContext>, Error>;
fn session_exists(
&self,
username: String,
session_id: EncryptionContext,
) -> Result<bool, Error>;
fn clone_box(&self) -> Box<dyn SessionStorage>;
}Required Methods§
fn start_session(&self, username: String) -> Result<String, Error>
fn end_session( &self, username: String, session_id: EncryptionContext, ) -> Result<(), Error>
fn get_sessions_for_user( &self, username: String, ) -> Result<Vec<EncryptionContext>, Error>
fn get_all_sessions(&self) -> Result<Vec<EncryptionContext>, Error>
fn session_exists( &self, username: String, session_id: EncryptionContext, ) -> Result<bool, Error>
fn clone_box(&self) -> Box<dyn SessionStorage>
Trait Implementations§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".