| 998 | } |
| 999 | |
| 1000 | IKeyValueStore* keyValueStoreMemory(std::string const& basename, |
| 1001 | UID logID, |
| 1002 | int64_t memoryLimit, |
| 1003 | std::string ext, |
| 1004 | KeyValueStoreType storeType) { |
| 1005 | TraceEvent("KVSMemOpening", logID) |
| 1006 | .detail("Basename", basename) |
| 1007 | .detail("MemoryLimit", memoryLimit) |
| 1008 | .detail("StoreType", storeType); |
| 1009 | |
| 1010 | // SOMEDAY: update to use DiskQueueVersion::V2 with xxhash3 checksum for FDB >= 7.2 |
| 1011 | IDiskQueue* log = openDiskQueue(basename, ext, logID, DiskQueueVersion::V1); |
| 1012 | if (storeType == KeyValueStoreType::MEMORY_RADIXTREE) { |
| 1013 | return new KeyValueStoreMemory<radix_tree>( |
| 1014 | log, Reference<AsyncVar<ServerDBInfo> const>(), logID, memoryLimit, storeType, false, false, false, false); |
| 1015 | } else { |
| 1016 | return new KeyValueStoreMemory<IKeyValueContainer>( |
| 1017 | log, Reference<AsyncVar<ServerDBInfo> const>(), logID, memoryLimit, storeType, false, false, false, false); |
| 1018 | } |
| 1019 | } |
| 1020 | |
| 1021 | IKeyValueStore* keyValueStoreLogSystem(class IDiskQueue* queue, |
| 1022 | Reference<AsyncVar<ServerDBInfo> const> db, |