RingBufferInterceptor

Trait RingBufferInterceptor 

Source
pub trait RingBufferInterceptor<CT: CommandTransaction> {
    // Required methods
    fn pre_insert(
        &mut self,
        ring_buffer: &RingBufferDef,
        row: &EncodedValues,
    ) -> Result<()>;
    fn post_insert(
        &mut self,
        ring_buffer: &RingBufferDef,
        id: RowNumber,
        row: &EncodedValues,
    ) -> Result<()>;
    fn pre_update(
        &mut self,
        ring_buffer: &RingBufferDef,
        id: RowNumber,
        row: &EncodedValues,
    ) -> Result<()>;
    fn post_update(
        &mut self,
        ring_buffer: &RingBufferDef,
        id: RowNumber,
        row: &EncodedValues,
        old_row: &EncodedValues,
    ) -> Result<()>;
    fn pre_delete(
        &mut self,
        ring_buffer: &RingBufferDef,
        id: RowNumber,
    ) -> Result<()>;
    fn post_delete(
        &mut self,
        ring_buffer: &RingBufferDef,
        id: RowNumber,
        deleted_row: &EncodedValues,
    ) -> Result<()>;
}

Required Methods§

Source

fn pre_insert( &mut self, ring_buffer: &RingBufferDef, row: &EncodedValues, ) -> Result<()>

Intercept ring buffer pre-insert operations

Source

fn post_insert( &mut self, ring_buffer: &RingBufferDef, id: RowNumber, row: &EncodedValues, ) -> Result<()>

Intercept ring buffer post-insert operations

Source

fn pre_update( &mut self, ring_buffer: &RingBufferDef, id: RowNumber, row: &EncodedValues, ) -> Result<()>

Intercept ring buffer pre-update operations

Source

fn post_update( &mut self, ring_buffer: &RingBufferDef, id: RowNumber, row: &EncodedValues, old_row: &EncodedValues, ) -> Result<()>

Intercept ring buffer post-update operations

Source

fn pre_delete( &mut self, ring_buffer: &RingBufferDef, id: RowNumber, ) -> Result<()>

Intercept ring buffer pre-delete operations

Source

fn post_delete( &mut self, ring_buffer: &RingBufferDef, id: RowNumber, deleted_row: &EncodedValues, ) -> Result<()>

Intercept ring buffer post-delete operations

Implementors§