pub struct Env(/* private fields */);
Expand description
An Env is an interface used by the rocksdb implementation to access operating system functionality like the filesystem etc. Callers may wish to provide a custom Env object when opening a database to get fine gain control; e.g., to rate limit file system operations.
All Env implementations are safe for concurrent access from multiple threads without any external synchronization.
Note: currently, C API behinds C++ API for various settings.
See also: rocksdb/include/env.h
Implementations§
Source§impl Env
impl Env
Sourcepub fn mem_env() -> Result<Self, Error>
pub fn mem_env() -> Result<Self, Error>
Returns a new environment that stores its data in memory and delegates all non-file-storage tasks to base_env.
Sourcepub unsafe fn from_raw(env: *mut rocksdb_env_t) -> Self
pub unsafe fn from_raw(env: *mut rocksdb_env_t) -> Self
Returns a new environment which wraps and takes ownership of the provided raw environment.
§Safety
Ownership of env
is transferred to the returned Env, which becomes
responsible for freeing it. The caller should forget the raw pointer
after this call.
§When would I use this?
RocksDB’s C++ Env class provides many extension points for low-level database subsystems, such as file IO. These subsystems aren’t covered within the scope of the C interface or this crate, but from_raw() may be used to hand a pre-instrumented Env to this crate for further use.
Sourcepub fn set_background_threads(&mut self, num_threads: c_int)
pub fn set_background_threads(&mut self, num_threads: c_int)
Sets the number of background worker threads of a specific thread pool for this environment.
LOW
is the default pool.
Default: 1
Sourcepub fn set_high_priority_background_threads(&mut self, n: c_int)
pub fn set_high_priority_background_threads(&mut self, n: c_int)
Sets the size of the high priority thread pool that can be used to prevent compactions from stalling memtable flushes.
Sourcepub fn set_low_priority_background_threads(&mut self, n: c_int)
pub fn set_low_priority_background_threads(&mut self, n: c_int)
Sets the size of the low priority thread pool that can be used to prevent compactions from stalling memtable flushes.
Sourcepub fn set_bottom_priority_background_threads(&mut self, n: c_int)
pub fn set_bottom_priority_background_threads(&mut self, n: c_int)
Sets the size of the bottom priority thread pool that can be used to prevent compactions from stalling memtable flushes.
Sourcepub fn join_all_threads(&mut self)
pub fn join_all_threads(&mut self)
Wait for all threads started by StartThread to terminate.
Sourcepub fn lower_thread_pool_io_priority(&mut self)
pub fn lower_thread_pool_io_priority(&mut self)
Lowering IO priority for threads from the specified pool.
Sourcepub fn lower_high_priority_thread_pool_io_priority(&mut self)
pub fn lower_high_priority_thread_pool_io_priority(&mut self)
Lowering IO priority for high priority thread pool.
Sourcepub fn lower_thread_pool_cpu_priority(&mut self)
pub fn lower_thread_pool_cpu_priority(&mut self)
Lowering CPU priority for threads from the specified pool.
Sourcepub fn lower_high_priority_thread_pool_cpu_priority(&mut self)
pub fn lower_high_priority_thread_pool_cpu_priority(&mut self)
Lowering CPU priority for high priority thread pool.