diff --git a/README.md b/README.md index 9b72523..849f403 100644 --- a/README.md +++ b/README.md @@ -424,6 +424,12 @@ class VTableReader { `Get` 方法实现也很简单,通过 `handle` 的信息读取对应的编码 `Slice` ,然后使用上文的 `RecordDecoder` 类的 `DecodeHeader` 和 `DecodeRecord` 方法得到解码后的 `Record` +- **Test Builder&Reader** + +`VTableBuilder` 和 `VTableReader` 是对 `VTable` 写入和读取的完整封装,在将他们融入 `leveldb` 这个复杂的系统之前,我们可以首先测试二者功能的正确性 + +在 `test/test_vtable.cc` 中对 `VTableBuilder` 和 `VTableReader`进行了单独的测试,包括 `VTableBuilder` 打开文件写入记录并落盘,以及 `VTableReader` 读取 `VTableBuilder` 构建的 `VTable` 中的数据 + - **KV分离功能实现** 首先是KV分离的节点,我们让KV分离发生在 `Immutable Memtable` 小合并写入磁盘的过程中,`leveldb` 在小合并中通过 `BuildTable` 函数构建 `SSTable` ,我们对该函数进行修改以实现KV分离 diff --git a/Report.pdf b/Report.pdf index 771400e..e0f6530 100644 Binary files a/Report.pdf and b/Report.pdf differ