Malloy
Loading...
Searching...
No Matches
storage.hpp
1#pragma once
2
3#include "types.hpp"
4
5#include <chrono>
6#include <memory>
7
8namespace malloy::http::sessions
9{
10
11 struct session;
12
16 struct storage
17 {
24 [[nodiscard]]
25 virtual
26 std::shared_ptr<session>
27 create(id_type id) = 0;
28
35 [[nodiscard]]
36 virtual
37 std::shared_ptr<session>
38 get(const id_type& id) = 0;
39
45 virtual
46 void
47 destroy(id_type id) = 0;
48
58 virtual
59 std::size_t
60 destroy_expired(const std::chrono::seconds& max_lifetime) = 0;
61 };
62
63}
Definition: storage.hpp:17
virtual std::shared_ptr< session > create(id_type id)=0
virtual std::shared_ptr< session > get(const id_type &id)=0
virtual void destroy(id_type id)=0
virtual std::size_t destroy_expired(const std::chrono::seconds &max_lifetime)=0