pub trait LogWriter: Send {
// Required methods
fn init(
&mut self,
epoch: EpochPair,
pause_read_on_bootstrap: bool,
) -> impl Future<Output = LogStoreResult<()>> + Send + '_;
fn write_chunk(
&mut self,
chunk: StreamChunk,
) -> impl Future<Output = LogStoreResult<()>> + Send + '_;
fn flush_current_epoch(
&mut self,
next_epoch: u64,
is_checkpoint: bool,
) -> impl Future<Output = LogStoreResult<()>> + Send + '_;
fn update_vnode_bitmap(
&mut self,
new_vnodes: Arc<Bitmap>,
) -> impl Future<Output = LogStoreResult<()>> + Send + '_;
fn pause(&mut self) -> LogStoreResult<()>;
fn resume(&mut self) -> LogStoreResult<()>;
}
Required Methods§
sourcefn init(
&mut self,
epoch: EpochPair,
pause_read_on_bootstrap: bool,
) -> impl Future<Output = LogStoreResult<()>> + Send + '_
fn init( &mut self, epoch: EpochPair, pause_read_on_bootstrap: bool, ) -> impl Future<Output = LogStoreResult<()>> + Send + '_
Initialize the log writer with an epoch
sourcefn write_chunk(
&mut self,
chunk: StreamChunk,
) -> impl Future<Output = LogStoreResult<()>> + Send + '_
fn write_chunk( &mut self, chunk: StreamChunk, ) -> impl Future<Output = LogStoreResult<()>> + Send + '_
Write a stream chunk to the log writer
sourcefn flush_current_epoch(
&mut self,
next_epoch: u64,
is_checkpoint: bool,
) -> impl Future<Output = LogStoreResult<()>> + Send + '_
fn flush_current_epoch( &mut self, next_epoch: u64, is_checkpoint: bool, ) -> impl Future<Output = LogStoreResult<()>> + Send + '_
Mark current epoch as finished and sealed, and flush the unconsumed log data.
sourcefn update_vnode_bitmap(
&mut self,
new_vnodes: Arc<Bitmap>,
) -> impl Future<Output = LogStoreResult<()>> + Send + '_
fn update_vnode_bitmap( &mut self, new_vnodes: Arc<Bitmap>, ) -> impl Future<Output = LogStoreResult<()>> + Send + '_
Update the vnode bitmap of the log writer
fn pause(&mut self) -> LogStoreResult<()>
fn resume(&mut self) -> LogStoreResult<()>
Object Safety§
This trait is not object safe.