Skip to main content

RingBufferOperations

Trait RingBufferOperations 

Source
pub trait RingBufferOperations {
    // Required methods
    fn insert_ringbuffer(
        &mut self,
        ringbuffer: &RingBuffer,
        shape: &RowShape,
        partitions: &[Partition],
        ids: &[RowNumber],
        rows: &[EncodedBytes],
    ) -> Result<Vec<EncodedBytes>>;
    fn update_ringbuffer(
        &mut self,
        ringbuffer: &RingBuffer,
        partitions: &[Partition],
        ids: &[RowNumber],
        rows: &[EncodedBytes],
        pres: &[EncodedBytes],
    ) -> Result<Vec<EncodedBytes>>;
    fn remove_from_ringbuffer(
        &mut self,
        ringbuffer: &RingBuffer,
        partitions: &[Partition],
        ids: &[RowNumber],
        displayed: Vec<Option<EncodedBytes>>,
    ) -> Result<Vec<EncodedBytes>>;
}

Required Methods§

Source

fn insert_ringbuffer( &mut self, ringbuffer: &RingBuffer, shape: &RowShape, partitions: &[Partition], ids: &[RowNumber], rows: &[EncodedBytes], ) -> Result<Vec<EncodedBytes>>

Source

fn update_ringbuffer( &mut self, ringbuffer: &RingBuffer, partitions: &[Partition], ids: &[RowNumber], rows: &[EncodedBytes], pres: &[EncodedBytes], ) -> Result<Vec<EncodedBytes>>

Source

fn remove_from_ringbuffer( &mut self, ringbuffer: &RingBuffer, partitions: &[Partition], ids: &[RowNumber], displayed: Vec<Option<EncodedBytes>>, ) -> Result<Vec<EncodedBytes>>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl RingBufferOperations for AdminTransaction

Source§

fn insert_ringbuffer( &mut self, ringbuffer: &RingBuffer, shape: &RowShape, partitions: &[Partition], ids: &[RowNumber], rows: &[EncodedBytes], ) -> Result<Vec<EncodedBytes>>

Source§

fn update_ringbuffer( &mut self, ringbuffer: &RingBuffer, partitions: &[Partition], ids: &[RowNumber], rows: &[EncodedBytes], pres: &[EncodedBytes], ) -> Result<Vec<EncodedBytes>>

Source§

fn remove_from_ringbuffer( &mut self, ringbuffer: &RingBuffer, partitions: &[Partition], ids: &[RowNumber], displayed: Vec<Option<EncodedBytes>>, ) -> Result<Vec<EncodedBytes>>

Source§

impl RingBufferOperations for CommandTransaction

Source§

fn insert_ringbuffer( &mut self, ringbuffer: &RingBuffer, shape: &RowShape, partitions: &[Partition], ids: &[RowNumber], rows: &[EncodedBytes], ) -> Result<Vec<EncodedBytes>>

Source§

fn update_ringbuffer( &mut self, ringbuffer: &RingBuffer, partitions: &[Partition], ids: &[RowNumber], rows: &[EncodedBytes], pres: &[EncodedBytes], ) -> Result<Vec<EncodedBytes>>

Source§

fn remove_from_ringbuffer( &mut self, ringbuffer: &RingBuffer, partitions: &[Partition], ids: &[RowNumber], displayed: Vec<Option<EncodedBytes>>, ) -> Result<Vec<EncodedBytes>>

Source§

impl RingBufferOperations for Transaction<'_>

Source§

fn insert_ringbuffer( &mut self, ringbuffer: &RingBuffer, shape: &RowShape, partitions: &[Partition], ids: &[RowNumber], rows: &[EncodedBytes], ) -> Result<Vec<EncodedBytes>>

Source§

fn update_ringbuffer( &mut self, ringbuffer: &RingBuffer, partitions: &[Partition], ids: &[RowNumber], rows: &[EncodedBytes], pres: &[EncodedBytes], ) -> Result<Vec<EncodedBytes>>

Source§

fn remove_from_ringbuffer( &mut self, ringbuffer: &RingBuffer, partitions: &[Partition], ids: &[RowNumber], displayed: Vec<Option<EncodedBytes>>, ) -> Result<Vec<EncodedBytes>>

Implementors§