Botan
1.11.15
|
#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< byte > &session_id, Session &session)=0 |
virtual void | remove_entry (const std::vector< byte > &session_id)=0 |
virtual void | save (const Session &session)=0 |
virtual std::chrono::seconds | session_lifetime () const =0 |
virtual | ~Session_Manager () |
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.
virtual Botan::TLS::Session_Manager::~Session_Manager | ( | ) | [inline, virtual] |
Definition at line 74 of file tls_session_manager.h.
{}
virtual bool Botan::TLS::Session_Manager::load_from_server_info | ( | const Server_Information & | info, |
Session & | session | ||
) | [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_In_Memory, Botan::TLS::Session_Manager_Noop, and Botan::TLS::Session_Manager_SQL.
virtual bool Botan::TLS::Session_Manager::load_from_session_id | ( | const std::vector< byte > & | session_id, |
Session & | session | ||
) | [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_In_Memory, Botan::TLS::Session_Manager_Noop, and Botan::TLS::Session_Manager_SQL.
virtual void Botan::TLS::Session_Manager::remove_entry | ( | const std::vector< byte > & | session_id | ) | [pure virtual] |
Remove this session id from the cache, if it exists
Implemented in Botan::TLS::Session_Manager_In_Memory, Botan::TLS::Session_Manager_Noop, and Botan::TLS::Session_Manager_SQL.
Referenced by Botan::TLS::Channel::received_data(), and Botan::TLS::Channel::send_alert().
virtual void Botan::TLS::Session_Manager::save | ( | const Session & | session | ) | [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_In_Memory, Botan::TLS::Session_Manager_Noop, and Botan::TLS::Session_Manager_SQL.
virtual std::chrono::seconds Botan::TLS::Session_Manager::session_lifetime | ( | ) | const [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_In_Memory, Botan::TLS::Session_Manager_Noop, and Botan::TLS::Session_Manager_SQL.