Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
R
rust-rocksdb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangzongwu
rust-rocksdb
Commits
c78df78c
Commit
c78df78c
authored
Jun 13, 2016
by
goroutine
Committed by
GitHub
Jun 13, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #19 from zhangjinpeng1987/master
add report_bg_io_stats option
parents
893a3c19
27ad36b3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
1 deletion
+34
-1
lib.rs
librocksdb_sys/src/lib.rs
+5
-0
main.rs
src/main.rs
+11
-1
rocksdb_options.rs
src/rocksdb_options.rs
+18
-0
No files found.
librocksdb_sys/src/lib.rs
View file @
c78df78c
...
...
@@ -72,6 +72,7 @@ pub fn new_cache(capacity: size_t) -> DBCache {
unsafe
{
rocksdb_cache_create_lru
(
capacity
)
}
}
#[derive(Copy,
Clone)]
#[repr(C)]
pub
enum
DBCompressionType
{
DBNo
=
0
,
...
...
@@ -186,6 +187,9 @@ extern "C" {
cs
:
DBCompactionStyle
);
pub
fn
rocksdb_options_set_compression
(
options
:
DBOptions
,
compression_style_no
:
DBCompressionType
);
pub
fn
rocksdb_options_set_compression_per_level
(
options
:
DBOptions
,
level_values
:
*
const
DBCompressionType
,
num_levels
:
size_t
);
pub
fn
rocksdb_options_set_max_background_compactions
(
options
:
DBOptions
,
max_bg_compactions
:
c_int
);
pub
fn
rocksdb_options_set_max_background_flushes
(
options
:
DBOptions
,
...
...
@@ -193,6 +197,7 @@ extern "C" {
pub
fn
rocksdb_options_set_filter_deletes
(
options
:
DBOptions
,
v
:
bool
);
pub
fn
rocksdb_options_set_disable_auto_compactions
(
options
:
DBOptions
,
v
:
c_int
);
pub
fn
rocksdb_options_set_report_bg_io_stats
(
options
:
DBOptions
,
v
:
c_int
);
pub
fn
rocksdb_filterpolicy_create_bloom
(
bits_per_key
:
c_int
)
->
DBFilterPolicy
;
pub
fn
rocksdb_open
(
options
:
DBOptions
,
...
...
src/main.rs
View file @
c78df78c
...
...
@@ -143,7 +143,7 @@ fn main() {
#[cfg(test)]
mod
tests
{
use
rocksdb
::{
BlockBasedOptions
,
DB
,
Options
};
use
rocksdb
::{
BlockBasedOptions
,
DB
,
Options
,
DBCompressionType
};
use
rocksdb
::
DBCompactionStyle
::
DBUniversal
;
#[allow(dead_code)]
...
...
@@ -151,6 +151,14 @@ mod tests {
opts
:
&
mut
Options
,
blockopts
:
&
mut
BlockBasedOptions
)
->
DB
{
let
per_level_compression
:
[
DBCompressionType
;
7
]
=
[
DBCompressionType
::
DBNo
,
DBCompressionType
::
DBNo
,
DBCompressionType
::
DBNo
,
DBCompressionType
::
DBLz4
,
DBCompressionType
::
DBLz4
,
DBCompressionType
::
DBLz4
,
DBCompressionType
::
DBLz4
];
opts
.create_if_missing
(
true
);
opts
.set_max_open_files
(
10000
);
opts
.set_use_fsync
(
false
);
...
...
@@ -168,6 +176,8 @@ mod tests {
opts
.set_max_background_compactions
(
4
);
opts
.set_max_background_flushes
(
4
);
opts
.set_filter_deletes
(
false
);
opts
.set_report_bg_io_stats
(
true
);
opts
.compression_per_level
(
&
per_level_compression
);
blockopts
.set_block_size
(
524288
);
opts
.set_block_based_table_factory
(
blockopts
);
opts
.set_disable_auto_compactions
(
true
);
...
...
src/rocksdb_options.rs
View file @
c78df78c
...
...
@@ -162,6 +162,14 @@ impl Options {
}
}
pub
fn
compression_per_level
(
&
mut
self
,
level_types
:
&
[
DBCompressionType
])
{
unsafe
{
rocksdb_ffi
::
rocksdb_options_set_compression_per_level
(
self
.inner
,
level_types
.as_ptr
(),
level_types
.len
()
as
size_t
)
}
}
pub
fn
add_merge_operator
(
&
mut
self
,
name
:
&
str
,
merge_fn
:
MergeFn
)
{
let
cb
=
Box
::
new
(
MergeOperatorCallback
{
name
:
CString
::
new
(
name
.as_bytes
())
.unwrap
(),
...
...
@@ -359,6 +367,16 @@ impl Options {
rocksdb_ffi
::
rocksdb_options_set_block_based_table_factory
(
self
.inner
,
factory
.inner
);
}
}
pub
fn
set_report_bg_io_stats
(
&
mut
self
,
enable
:
bool
)
{
unsafe
{
if
enable
{
rocksdb_ffi
::
rocksdb_options_set_report_bg_io_stats
(
self
.inner
,
1
);
}
else
{
rocksdb_ffi
::
rocksdb_options_set_report_bg_io_stats
(
self
.inner
,
0
);
}
}
}
}
impl
Default
for
WriteOptions
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment