blob: f70f6bb1c9402cb6461ffd21755d59c598e9b71a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
#ifndef CEPH_CACHE_CACHE_CONTROLLER_H
#define CEPH_CACHE_CACHE_CONTROLLER_H
#include "common/ceph_context.h"
#include "common/WorkQueue.h"
#include "CacheServer.h"
#include "ObjectCacheStore.h"
namespace ceph {
namespace immutable_obj_cache {
class CacheController {
public:
CacheController(CephContext *cct, const std::vector<const char*> &args);
~CacheController();
int init();
int shutdown();
void handle_signal(int sinnum);
int run();
void handle_request(CacheSession* session, ObjectCacheRequest* msg);
private:
CacheServer *m_cache_server = nullptr;
std::vector<const char*> m_args;
CephContext *m_cct;
ObjectCacheStore *m_object_cache_store = nullptr;
};
} // namespace immutable_obj_cache
} // namespace ceph
#endif // CEPH_CACHE_CACHE_CONTROLLER_H
|