Skip to main content

StateStore

Trait StateStore 

Source
pub trait StateStore {
Show 17 methods // Required methods fn state_get( &mut self, keys: &[GroupStateKey], ) -> Result<Vec<Option<EncodedPodRow>>>; fn state_set( &mut self, rows: Vec<(GroupStateKey, EncodedPodRow)>, ) -> Result<()>; fn state_remove(&mut self, keys: &[GroupStateKey]) -> Result<()>; fn state_batch(&mut self, keys: Vec<GroupStateKey>) -> Result<StateBatch>; fn state_write_batch(&mut self, batch: StateBatch) -> Result<()>; fn state_page_inner( &mut self, range: GroupStateRange, limit: Option<usize>, ) -> Result<Vec<(GroupStateKey, EncodedPodRow)>>; fn group_sweep( &mut self, groups: &[GroupId], limit: usize, keyspaces: KeyspaceMask, ) -> Result<GroupSweep>; fn get_or_create_row_numbers( &mut self, group: GroupId, keys: &[EncodedKey], ) -> Result<Vec<(RowNumber, bool)>>; fn get_or_create_row_numbers_for_groups( &mut self, groups: &[GroupId], ) -> Result<Vec<(RowNumber, bool)>>; fn get_row_numbers( &mut self, group: GroupId, keys: &[EncodedKey], ) -> Result<Vec<Option<RowNumber>>>; fn remove_row_number( &mut self, group: GroupId, keys: &[EncodedKey], ) -> Result<()>; fn remove_row_number_for_group(&mut self, groups: &[GroupId]) -> Result<()>; fn written_at(&self) -> DateTime; // Provided methods fn state_classify(&mut self, _key: &GroupStateKey, _pre: Option<ByteSize>) { ... } fn state_page( &mut self, range: GroupStateRange, limit: Option<usize>, ) -> Result<Vec<(GroupStateKey, EncodedPodRow)>> { ... } fn remove_root_siblings( &mut self, swept: &[(GroupStateKey, EncodedPodRow)], ) -> Result<()> { ... } fn state_last( &mut self, range: GroupStateRange, ) -> Result<Option<(GroupStateKey, EncodedPodRow)>> { ... }
}

Required Methods§

Source

fn state_get( &mut self, keys: &[GroupStateKey], ) -> Result<Vec<Option<EncodedPodRow>>>

Source

fn state_set(&mut self, rows: Vec<(GroupStateKey, EncodedPodRow)>) -> Result<()>

Source

fn state_remove(&mut self, keys: &[GroupStateKey]) -> Result<()>

Source

fn state_batch(&mut self, keys: Vec<GroupStateKey>) -> Result<StateBatch>

Source

fn state_write_batch(&mut self, batch: StateBatch) -> Result<()>

Source

fn state_page_inner( &mut self, range: GroupStateRange, limit: Option<usize>, ) -> Result<Vec<(GroupStateKey, EncodedPodRow)>>

Source

fn group_sweep( &mut self, groups: &[GroupId], limit: usize, keyspaces: KeyspaceMask, ) -> Result<GroupSweep>

Source

fn get_or_create_row_numbers( &mut self, group: GroupId, keys: &[EncodedKey], ) -> Result<Vec<(RowNumber, bool)>>

Source

fn get_or_create_row_numbers_for_groups( &mut self, groups: &[GroupId], ) -> Result<Vec<(RowNumber, bool)>>

Source

fn get_row_numbers( &mut self, group: GroupId, keys: &[EncodedKey], ) -> Result<Vec<Option<RowNumber>>>

Source

fn remove_row_number( &mut self, group: GroupId, keys: &[EncodedKey], ) -> Result<()>

Source

fn remove_row_number_for_group(&mut self, groups: &[GroupId]) -> Result<()>

Source

fn written_at(&self) -> DateTime

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§