pub struct WriteBuffer { /* private fields */ }
Expand description
Main write buffer coordinator
Implementations§
Source§impl WriteBuffer
impl WriteBuffer
pub fn new( disk_io: Arc<RwLock<DiskIO>>, free_space: Arc<RwLock<FreeSpaceManager>>, stats: Arc<Statistics>, ) -> Self
Sourcepub fn add_write(
&self,
op: Operation,
record: Arc<Record>,
old_value_len: usize,
) -> Result<()>
pub fn add_write( &self, op: Operation, record: Arc<Record>, old_value_len: usize, ) -> Result<()>
Add write operation to buffer (lock-free fast path)
Sourcepub fn start_workers(&mut self, num_workers: usize)
pub fn start_workers(&mut self, num_workers: usize)
Start background worker threads
Sourcepub fn force_flush(&self) -> Result<()>
pub fn force_flush(&self) -> Result<()>
Force flush and wait for completion
Sourcepub fn initiate_shutdown(&self)
pub fn initiate_shutdown(&self)
Shutdown write buffer
Sourcepub fn complete_shutdown(&mut self)
pub fn complete_shutdown(&mut self)
Complete shutdown - must be called after initiate_shutdown
Trait Implementations§
Auto Trait Implementations§
impl Freeze for WriteBuffer
impl !RefUnwindSafe for WriteBuffer
impl Send for WriteBuffer
impl Sync for WriteBuffer
impl Unpin for WriteBuffer
impl !UnwindSafe for WriteBuffer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more