leveldb/database/compaction.rs
1use super::Database;
2use leveldb_sys::leveldb_compact_range;
3use libc::{c_char, size_t};
4
5pub trait Compaction<'a> {
6 fn compact(&self, start: &'a [u8], limit: &'a [u8]);
7}
8
9impl<'a> Compaction<'a> for Database {
10 fn compact(&self, start: &'a [u8], limit: &'a [u8]) {
11 unsafe {
12 leveldb_compact_range(self.database.ptr,
13 start.as_ptr() as *mut c_char,
14 start.len() as size_t,
15 limit.as_ptr() as *mut c_char,
16 limit.len() as size_t);
17 }
18 }
19}