9#ifndef BOTAN_TLS_SESSION_MANAGER_IN_MEMORY_H_
10#define BOTAN_TLS_SESSION_MANAGER_IN_MEMORY_H_
12#include <botan/mutex.h>
13#include <botan/tls_session.h>
14#include <botan/tls_session_manager.h>
48 size_t max_sessions = 1000);
54 size_t capacity()
const {
return m_max_sessions; }
59 std::optional<Session> retrieve_one(
const Session_Handle& handle)
override;
60 std::vector<Session_with_Handle> find_some(
const Server_Information& info,
size_t max_sessions_hint)
override;
66 size_t m_max_sessions;
68 std::map<Session_ID, Session_with_Handle> m_sessions;
69 std::optional<std::deque<Session_ID>> m_fifo;
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_FUTURE_EXPLICIT
Helper class to embody a session handle in all protocol versions.
bool emits_session_tickets() override
void store(const Session &session, const Session_Handle &handle) override
Save a Session under a Session_Handle (TLS Client)
size_t remove_all() override
BOTAN_FUTURE_EXPLICIT Session_Manager_In_Memory(const std::shared_ptr< RandomNumberGenerator > &rng, size_t max_sessions=1000)
size_t remove(const Session_Handle &handle) override
BOTAN_FUTURE_EXPLICIT Session_Manager(const std::shared_ptr< RandomNumberGenerator > &rng)