Unverified Commit 1494bb51 authored by Xinye Tao's avatar Xinye Tao Committed by GitHub

port env background threads setters (#672)

* port background threads setters
Signed-off-by: 's avatartabokie <xy.tao@outlook.com>

* format and fix build
Signed-off-by: 's avatartabokie <xy.tao@outlook.com>

* fix build
Signed-off-by: 's avatartabokie <xy.tao@outlook.com>

* fix test
Signed-off-by: 's avatartabokie <xy.tao@outlook.com>

* fix test
Signed-off-by: 's avatartabokie <xy.tao@outlook.com>

* fix test
Signed-off-by: 's avatartabokie <xy.tao@outlook.com>

* switch to i32
Signed-off-by: 's avatartabokie <xy.tao@outlook.com>

* format
Signed-off-by: 's avatartabokie <xy.tao@outlook.com>
parent fa83ff19
......@@ -1626,6 +1626,8 @@ extern "C" {
pub fn crocksdb_env_file_exists(env: *mut DBEnv, path: *const c_char, err: *mut *mut c_char);
pub fn crocksdb_env_delete_file(env: *mut DBEnv, path: *const c_char, err: *mut *mut c_char);
pub fn crocksdb_env_destroy(env: *mut DBEnv);
pub fn crocksdb_env_set_background_threads(env: *mut DBEnv, n: c_int);
pub fn crocksdb_env_set_high_priority_background_threads(env: *mut DBEnv, n: c_int);
// EnvOptions
pub fn crocksdb_envoptions_create() -> *mut EnvOptions;
......
......@@ -2700,6 +2700,18 @@ impl Env {
Ok(())
}
}
pub fn set_background_threads(&self, n: i32) {
unsafe {
crocksdb_ffi::crocksdb_env_set_background_threads(self.inner, n);
}
}
pub fn set_high_priority_background_threads(&self, n: i32) {
unsafe {
crocksdb_ffi::crocksdb_env_set_high_priority_background_threads(self.inner, n);
}
}
}
impl Drop for Env {
......@@ -3728,4 +3740,14 @@ mod test {
db.ingest_external_file_cf(db.cf_handle("default").unwrap(), &ingest_opt, &[p1, p2])
.unwrap();
}
#[test]
fn test_env_operations() {
let env = Env::new_mem();
assert!(env.file_exists("a").unwrap_err().contains("NotFound"));
env.set_background_threads(4);
env.set_background_threads(0);
env.set_high_priority_background_threads(4);
env.set_high_priority_background_threads(0);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment