40 std::string_view passphrase,
41 const std::shared_ptr<RandomNumberGenerator>& rng,
42 size_t max_sessions = 1000);
52 size_t remove_all()
override;
57 std::optional<Session> retrieve_one(
const Session_Handle& handle)
override;
58 std::vector<Session_with_Handle> find_some(
const Server_Information& info,
size_t max_sessions_hint)
override;
75 enum Schema_Revision {
78 PRE_BOTAN_3_0 = 20120609,
82 void create_or_migrate_and_open(std::string_view passphrase);
83 Schema_Revision detect_schema_revision();
84 void create_with_latest_schema(std::string_view passphrase, Schema_Revision rev);
85 void initialize_existing_database(std::string_view passphrase);
87 void prune_session_cache();
90 std::shared_ptr<SQL_Database> m_db;
92 size_t m_max_sessions;