pub struct InMemorySessionStore { /* private fields */ }Expand description
Simple in-memory implementation backed by hash maps.
Implementations§
Trait Implementations§
Source§impl Default for InMemorySessionStore
impl Default for InMemorySessionStore
Source§impl SessionStore for InMemorySessionStore
impl SessionStore for InMemorySessionStore
Source§fn create_session(
&self,
ctx: &TenantCtx,
data: SessionData,
) -> SessionResult<SessionKey>
fn create_session( &self, ctx: &TenantCtx, data: SessionData, ) -> SessionResult<SessionKey>
Creates a new session associated with the supplied tenant context and returns its key.
Source§fn get_session(&self, key: &SessionKey) -> SessionResult<Option<SessionData>>
fn get_session(&self, key: &SessionKey) -> SessionResult<Option<SessionData>>
Fetches the session payload for the provided key, if it exists.
Source§fn update_session(
&self,
key: &SessionKey,
data: SessionData,
) -> SessionResult<()>
fn update_session( &self, key: &SessionKey, data: SessionData, ) -> SessionResult<()>
Replaces the session payload for the provided key.
Source§fn remove_session(&self, key: &SessionKey) -> SessionResult<()>
fn remove_session(&self, key: &SessionKey) -> SessionResult<()>
Removes the session entry and clears any lookup indices.
Source§fn register_wait(
&self,
ctx: &TenantCtx,
user_id: &UserId,
scope: &ReplyScope,
session_key: &SessionKey,
data: SessionData,
ttl: Option<Duration>,
) -> SessionResult<()>
fn register_wait( &self, ctx: &TenantCtx, user_id: &UserId, scope: &ReplyScope, session_key: &SessionKey, data: SessionData, ttl: Option<Duration>, ) -> SessionResult<()>
Registers a paused flow wait, persisting the session and routing indices.
Source§fn find_wait_by_scope(
&self,
ctx: &TenantCtx,
user_id: &UserId,
scope: &ReplyScope,
) -> SessionResult<Option<SessionKey>>
fn find_wait_by_scope( &self, ctx: &TenantCtx, user_id: &UserId, scope: &ReplyScope, ) -> SessionResult<Option<SessionKey>>
Finds a wait registered for the provided scope, if one exists.
Source§fn list_waits_for_user(
&self,
ctx: &TenantCtx,
user_id: &UserId,
) -> SessionResult<Vec<SessionKey>>
fn list_waits_for_user( &self, ctx: &TenantCtx, user_id: &UserId, ) -> SessionResult<Vec<SessionKey>>
Lists all waits registered for the provided user.
Source§fn clear_wait(
&self,
ctx: &TenantCtx,
user_id: &UserId,
scope: &ReplyScope,
) -> SessionResult<()>
fn clear_wait( &self, ctx: &TenantCtx, user_id: &UserId, scope: &ReplyScope, ) -> SessionResult<()>
Clears a wait registration for the provided scope.
Source§fn find_by_user(
&self,
ctx: &TenantCtx,
user: &UserId,
) -> SessionResult<Option<(SessionKey, SessionData)>>
fn find_by_user( &self, ctx: &TenantCtx, user: &UserId, ) -> SessionResult<Option<(SessionKey, SessionData)>>
👎Deprecated:
use find_wait_by_scope or list_waits_for_user instead
Finds the active session bound to the specified tenant + user combination.
Auto Trait Implementations§
impl !Freeze for InMemorySessionStore
impl !RefUnwindSafe for InMemorySessionStore
impl Send for InMemorySessionStore
impl Sync for InMemorySessionStore
impl Unpin for InMemorySessionStore
impl UnsafeUnpin for InMemorySessionStore
impl UnwindSafe for InMemorySessionStore
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