]> git.proxmox.com Git - ceph.git/blob - ceph/src/crimson/osd/osdmap_service.h
import quincy beta 17.1.0
[ceph.git] / ceph / src / crimson / osd / osdmap_service.h
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
6 #include <boost/smart_ptr/local_shared_ptr.hpp>
7
8 #include "include/types.h"
9
10 class OSDMap;
11
12 class OSDMapService {
13 public:
14 using cached_map_t = boost::local_shared_ptr<const OSDMap>;
15 virtual ~OSDMapService() = default;
16 virtual seastar::future<cached_map_t> get_map(epoch_t e) = 0;
17 /// get the latest map
18 virtual cached_map_t get_map() const = 0;
19 virtual epoch_t get_up_epoch() const = 0;
20 };