risingwave_connector::sink::log_store

Trait LogWriter

source
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§

source

fn init( &mut self, epoch: EpochPair, pause_read_on_bootstrap: bool, ) -> impl Future<Output = LogStoreResult<()>> + Send + '_

Initialize the log writer with an epoch

source

fn write_chunk( &mut self, chunk: StreamChunk, ) -> impl Future<Output = LogStoreResult<()>> + Send + '_

Write a stream chunk to the log writer

source

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.

source

fn update_vnode_bitmap( &mut self, new_vnodes: Arc<Bitmap>, ) -> impl Future<Output = LogStoreResult<()>> + Send + '_

Update the vnode bitmap of the log writer

source

fn pause(&mut self) -> LogStoreResult<()>

source

fn resume(&mut self) -> LogStoreResult<()>

Object Safety§

This trait is not object safe.

Implementors§