]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab | |
3 | ||
4 | #pragma once | |
5 | ||
11fdf7f2 | 6 | #include "include/types.h" |
1e59de90 | 7 | #include "osd/OSDMap.h" |
11fdf7f2 TL |
8 | |
9 | class OSDMap; | |
10 | ||
11 | class OSDMapService { | |
12 | public: | |
1e59de90 TL |
13 | using cached_map_t = OSDMapRef; |
14 | using local_cached_map_t = LocalOSDMapRef; | |
f51cf556 TL |
15 | enum class encoded_osdmap_type_t { |
16 | FULLMAP, | |
17 | INCMAP | |
18 | }; | |
19 | using bls_pair = std::pair<encoded_osdmap_type_t, bufferlist>; | |
20 | using bls_map_pair_t = std::pair<epoch_t, bls_pair>; | |
21 | using bls_map_t = std::map<epoch_t, bls_pair>; | |
1e59de90 | 22 | |
11fdf7f2 TL |
23 | virtual ~OSDMapService() = default; |
24 | virtual seastar::future<cached_map_t> get_map(epoch_t e) = 0; | |
25 | /// get the latest map | |
26 | virtual cached_map_t get_map() const = 0; | |
9f95a23c | 27 | virtual epoch_t get_up_epoch() const = 0; |
11fdf7f2 | 28 | }; |