diff --git a/include/rocksdb/file_system.h b/include/rocksdb/file_system.h index 20f51f51e..fb105bc6c 100644 --- a/include/rocksdb/file_system.h +++ b/include/rocksdb/file_system.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include "rocksdb/env.h" @@ -90,6 +91,14 @@ struct IOOptions { // Type of data being read/written IOType type; + // EXPERIMENTAL + // An option map that's opaque to RocksDB. It can be used to implement a + // custom contract between a FileSystem user and the provider. This is only + // useful in cases where a RocksDB user directly uses the FileSystem or file + // object for their own purposes, and wants to pass extra options to APIs + // such as NewRandomAccessFile and NewWritableFile. + std::unordered_map property_bag; + IOOptions() : timeout(0), prio(IOPriority::kIOLow), type(IOType::kUnknown) {} };