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>
53 size_t capacity()
const {
return m_max_sessions; }
58 std::optional<Session> retrieve_one(
const Session_Handle& handle)
override;
59 std::vector<Session_with_Handle> find_some(
const Server_Information& info,
size_t max_sessions_hint)
override;
65 size_t m_max_sessions;
67 std::map<Session_ID, Session_with_Handle> m_sessions;
68 std::optional<std::deque<Session_ID>> m_fifo;
#define BOTAN_PUBLIC_API(maj, min)
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
Session_Manager_In_Memory(const std::shared_ptr< RandomNumberGenerator > &rng, size_t max_sessions=1000)
size_t remove(const Session_Handle &handle) override
Session_Manager(const std::shared_ptr< RandomNumberGenerator > &rng)