|
40 | 40 | #include "rocksdb/rate_limiter.h" |
41 | 41 | #include "rocksdb/slice_transform.h" |
42 | 42 | #include "rocksdb/sst_dump_tool.h" |
| 43 | +#include "rocksdb/sst_file_manager.h" |
43 | 44 | #include "rocksdb/sst_file_reader.h" |
44 | 45 | #include "rocksdb/sst_partitioner.h" |
45 | 46 | #include "rocksdb/statistics.h" |
@@ -147,6 +148,7 @@ using rocksdb::Slice; |
147 | 148 | using rocksdb::SliceParts; |
148 | 149 | using rocksdb::SliceTransform; |
149 | 150 | using rocksdb::Snapshot; |
| 151 | +using rocksdb::SstFileManager; |
150 | 152 | using rocksdb::SstFileReader; |
151 | 153 | using rocksdb::SstFileWriter; |
152 | 154 | using rocksdb::SstPartitioner; |
@@ -356,6 +358,9 @@ struct crocksdb_sequential_file_t { |
356 | 358 | struct crocksdb_ingestexternalfileoptions_t { |
357 | 359 | IngestExternalFileOptions rep; |
358 | 360 | }; |
| 361 | +struct crocksdb_sstfilemanager_t { |
| 362 | + shared_ptr<SstFileManager> rep; |
| 363 | +}; |
359 | 364 | struct crocksdb_sstfilereader_t { |
360 | 365 | SstFileReader* rep; |
361 | 366 | }; |
@@ -4770,6 +4775,26 @@ crocksdb_env_t* crocksdb_file_system_inspected_env_create( |
4770 | 4775 | return result; |
4771 | 4776 | } |
4772 | 4777 |
|
| 4778 | +crocksdb_sstfilemanager_t* crocksdb_sstfilemanager_create(crocksdb_env_t* env) { |
| 4779 | + auto manager = new crocksdb_sstfilemanager_t; |
| 4780 | + manager->rep.reset(NewSstFileManager(env->rep)); |
| 4781 | + return manager; |
| 4782 | +} |
| 4783 | + |
| 4784 | +void crocksdb_sstfilemanager_destroy(crocksdb_sstfilemanager_t* file_manager) { |
| 4785 | + delete file_manager; |
| 4786 | +} |
| 4787 | + |
| 4788 | +uint64_t crocksdb_sstfilemanager_get_total_size( |
| 4789 | + crocksdb_sstfilemanager_t* file_manager) { |
| 4790 | + return file_manager->rep->GetTotalSize(); |
| 4791 | +} |
| 4792 | + |
| 4793 | +void crocksdb_options_set_sstfilemanager( |
| 4794 | + crocksdb_options_t* opt, crocksdb_sstfilemanager_t* file_manager) { |
| 4795 | + opt->rep.sst_file_manager = file_manager->rep; |
| 4796 | +} |
| 4797 | + |
4773 | 4798 | crocksdb_sstfilereader_t* crocksdb_sstfilereader_create( |
4774 | 4799 | const crocksdb_options_t* io_options) { |
4775 | 4800 | auto reader = new crocksdb_sstfilereader_t; |
|
0 commit comments