src/api2/admin/datastore/catar.rs: allow to configure chunk-size
This commit is contained in:
@ -329,6 +329,7 @@ pub struct DynamicIndexWriter {
|
||||
pub uuid: [u8; 16],
|
||||
pub ctime: u64,
|
||||
|
||||
chunk_count: usize,
|
||||
chunk_offset: usize,
|
||||
last_chunk: usize,
|
||||
chunk_buffer: Vec<u8>,
|
||||
@ -387,6 +388,7 @@ impl DynamicIndexWriter {
|
||||
ctime,
|
||||
uuid: *uuid.as_bytes(),
|
||||
|
||||
chunk_count: 0,
|
||||
chunk_offset: 0,
|
||||
last_chunk: 0,
|
||||
chunk_buffer: Vec::with_capacity(chunk_size*4),
|
||||
@ -405,6 +407,8 @@ impl DynamicIndexWriter {
|
||||
|
||||
self.writer.flush()?;
|
||||
|
||||
let avg = ((self.chunk_offset as f64)/(self.chunk_count as f64)) as usize;
|
||||
println!("Average chunk size {}", avg);
|
||||
// fixme:
|
||||
|
||||
if let Err(err) = std::fs::rename(&self.tmp_filename, &self.filename) {
|
||||
@ -429,6 +433,8 @@ impl DynamicIndexWriter {
|
||||
format!("wrong chunk size {} != {}", expected_chunk_size, chunk_size)));
|
||||
}
|
||||
|
||||
self.chunk_count += 1;
|
||||
|
||||
self.last_chunk = self.chunk_offset;
|
||||
|
||||
match self.store.insert_chunk(&self.chunk_buffer) {
|
||||
|
Reference in New Issue
Block a user