-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmaster_service.h
48 lines (35 loc) · 994 Bytes
/
master_service.h
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
41
42
43
44
45
46
47
48
#pragma once
#include "db/db.h"
namespace pkv {
class redis_service;
class db_watchers;
class cluster_manager;
} // namespace pkv
class master_service : public acl::master_fiber {
public:
master_service();
~master_service() override;
void close_db();
protected:
// @override
void on_accept(acl::socket_stream& conn) override;
// @override
void proc_on_listen(acl::server_socket& ss) override;
// @override
void proc_pre_jail() override;
// @override
void proc_on_init() override;
// @override
void proc_on_exit() override;
// @override
bool proc_on_sighup(acl::string&) override;
// @override
void thread_on_init() override;
private:
pkv::shared_db db_ = nullptr;
pkv::redis_service* service_;
pkv::db_watchers* watchers_;
pkv::cluster_manager& manager_;
void run(acl::socket_stream& conn, size_t size);
void start_watcher();
};