源码路径
curve-release2.2\src\chunkserver\raftsnapshot
1. `curve_snapshot_writer.cpp`
2. `curve_file_service.cpp`
3. `curve_snapshot_file_reader.cpp`
4. `curve_snapshot_copier.cpp`
5. `curve_filesystem_adaptor.cpp`
6. `curve_snapshot_attachment.cpp`
7. `curve_snapshot.cpp`
8. `curve_snapshot_reader.cpp`
9. `curve_snapshot_storage.cpp`
根据提供的文件内容,我们可以分析出以下调用关系:
-
curve_snapshot_writer.cpp
(文件名):- 定义了
CurveSnapshotWriter
类,该类负责创建和管理快照文件。 - 在初始化(
init
)过程中,会创建目录、加载元数据表(_meta_table
),并清理不存在元数据表中的文件。 - 提供了快照索引(
snapshot_index
)、删除文件(remove_file
)、添加文件(add_file
)等方法。
- 定义了
-
curve_file_service.cpp
(文件名):- 定义了
CurveFileService
类,该类处理文件的获取(get_file
)请求。 - 在处理文件请求时,会根据
reader_id
查找对应的FileReader
,并进行文件读取操作。 - 如果请求的是快照附件元数据文件(
BRAFT_SNAPSHOT_ATTACH_META_FILE
),则会序列化并返回快照附件文件列表。
- 定义了