9
9
#define SRC_CHUNKSERVER_CHUNKSERVER_H_
10
10
11
11
#include < string>
12
+ #include < memory>
12
13
#include " src/common/configuration.h"
13
14
#include " src/chunkserver/copyset_node_manager.h"
14
15
#include " src/chunkserver/heartbeat.h"
15
16
#include " src/chunkserver/clone_manager.h"
16
17
#include " src/chunkserver/register.h"
18
+ #include " src/chunkserver/trash.h"
17
19
18
20
namespace curve {
19
21
namespace chunkserver {
@@ -53,6 +55,9 @@ class ChunkServer {
53
55
void InitRegisterOptions (common::Configuration *conf,
54
56
RegisterOptions *registerOptions);
55
57
58
+ void InitTrashOptions (common::Configuration *conf,
59
+ TrashOptions *trashOptions);
60
+
56
61
int GetChunkServerMetaFromLocal (const std::string &storeUri,
57
62
const std::string &metaUri,
58
63
const std::shared_ptr<LocalFileSystem> &fs,
@@ -65,10 +70,17 @@ class ChunkServer {
65
70
// false-停止运行
66
71
volatile bool toStop_;
67
72
68
- // chunkserver包含的模块
73
+ // copysetNodeManager_ 管理chunkserver上所有copysetNode
69
74
CopysetNodeManager copysetNodeManager_;
75
+
76
+ // cloneManager_ 管理克隆任务
70
77
CloneManager cloneManager_;
78
+
79
+ // heartbeat_ 负责向mds定期发送心跳,并下发心跳中任务
71
80
Heartbeat heartbeat_;
81
+
82
+ // trash_ 定期回收垃圾站中的物理空间
83
+ std::shared_ptr<Trash> trash_;
72
84
};
73
85
74
86
} // namespace chunkserver
0 commit comments