Botan 2.19.3
Crypto and TLS for C&
|
#include <tls_session_manager.h>
Public Member Functions | |
virtual bool | load_from_server_info (const Server_Information &info, Session &session)=0 |
virtual bool | load_from_session_id (const std::vector< uint8_t > &session_id, Session &session)=0 |
virtual size_t | remove_all ()=0 |
virtual void | remove_entry (const std::vector< uint8_t > &session_id)=0 |
virtual void | save (const Session &session)=0 |
virtual std::chrono::seconds | session_lifetime () const =0 |
virtual | ~Session_Manager ()=default |
Session_Manager is an interface to systems which can save session parameters for supporting session resumption.
Saving sessions is done on a best-effort basis; an implementation is allowed to drop sessions due to space constraints.
Implementations should strive to be thread safe
Definition at line 29 of file tls_session_manager.h.
|
virtualdefault |
|
pure virtual |
Try to load a saved session (using info about server)
info | the information about the server |
session | will be set to the saved session data (if found), or not modified if not found |
Implemented in Botan::TLS::Session_Manager_Noop, Botan::TLS::Session_Manager_SQL, and Botan::TLS::Session_Manager_In_Memory.
|
pure virtual |
Try to load a saved session (using session ID)
session_id | the session identifier we are trying to resume |
session | will be set to the saved session data (if found), or not modified if not found |
Implemented in Botan::TLS::Session_Manager_Noop, Botan::TLS::Session_Manager_SQL, and Botan::TLS::Session_Manager_In_Memory.
|
pure virtual |
Remove all sessions from the cache, return number of sessions deleted
Implemented in Botan::TLS::Session_Manager_SQL, Botan::TLS::Session_Manager_Noop, and Botan::TLS::Session_Manager_In_Memory.
|
pure virtual |
Remove this session id from the cache, if it exists
Implemented in Botan::TLS::Session_Manager_Noop, Botan::TLS::Session_Manager_SQL, and Botan::TLS::Session_Manager_In_Memory.
Referenced by Botan::TLS::Channel::send_alert().
|
pure virtual |
Save a session on a best effort basis; the manager may not in fact be able to save the session for whatever reason; this is not an error. Caller cannot assume that calling save followed immediately by load_from_* will result in a successful lookup.
session | to save |
Implemented in Botan::TLS::Session_Manager_Noop, Botan::TLS::Session_Manager_SQL, and Botan::TLS::Session_Manager_In_Memory.
|
pure virtual |
Return the allowed lifetime of a session; beyond this time, sessions are not resumed. Returns 0 if unknown/no explicit expiration policy.
Implemented in Botan::TLS::Session_Manager_SQL, Botan::TLS::Session_Manager_Noop, and Botan::TLS::Session_Manager_In_Memory.