Create a new empty session.
Create a new empty session. The key is a hint to the key of the session and implementations can ignore if needed.
a hint to the id, which may or may not be honoured.
Create a new empty session.
Create a new empty session. The newly created session will be assigned an id by the underlying implementation.
a Future which when completed contains the created Session.
Returns true if the session identified by the given id exists in this session manager.
Returns true if the session identified by the given id exists in this session manager.
Mark the session identified by the given id as expired and remove it from the underlying implementation.
Mark the session identified by the given id as expired and remove it from the underlying implementation.
a Future which is completed once the session has been removed from the backing store.
Mark the given session as expired and remove it from the underlying implementation.
Mark the given session as expired and remove it from the underlying implementation. If the session does not exist or has already expired, then this is a no-op.
Returns a Session for the given id.
Returns a Session for the given id. If no session exists, then the result from the Future will contain a None.
Returns a session for the given id or creates a new session if none is available.
Returns a session for the given id or creates a new session if none is available.
Implementations are free to ignore the given id when creating an new session and can assign a different id. This is useful for distributed implementations where id coordination may be time consuming or unfeasible.
Persists the given session.
Persists the given session.
the session to persist
a Future which is completed once the session has been persisted.