40 std::string_view passphrase,
41 const std::shared_ptr<RandomNumberGenerator>& rng,
42 size_t max_sessions = 1000);
49 size_t remove_all()
override;
54 std::optional<Session> retrieve_one(
const Session_Handle& handle)
override;
55 std::vector<Session_with_Handle> find_some(
const Server_Information& info,
size_t max_sessions_hint)
override;
72 enum Schema_Revision {
75 PRE_BOTAN_3_0 = 20120609,
79 void create_or_migrate_and_open(std::string_view passphrase);
80 Schema_Revision detect_schema_revision();
81 void create_with_latest_schema(std::string_view passphrase, Schema_Revision rev);
82 void initialize_existing_database(std::string_view passphrase);
84 void prune_session_cache();
87 std::shared_ptr<SQL_Database> m_db;
89 size_t m_max_sessions;