Skip to main content

StateStore

Trait StateStore 

Source
pub trait StateStore {
Show 17 methods // Required methods fn state_get( &mut self, key: &GroupStateKey, ) -> Result<Option<EncodedPodRow>>; fn state_get_many_visit( &mut self, keys: &[GroupStateKey], visit: &mut dyn FnMut(GroupStateKey, EncodedPodRow) -> Result<()>, ) -> Result<()>; fn state_set( &mut self, key: &GroupStateKey, payload: EncodedPodRow, ) -> Result<()>; fn state_remove(&mut self, key: &GroupStateKey) -> Result<()>; fn state_page_inner( &mut self, range: EncodedKeyRange, limit: Option<usize>, ) -> Result<Vec<(GroupStateKey, EncodedPodRow)>>; 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 remove_row_number( &mut self, group: GroupId, key: &EncodedKey, ) -> Result<()>; fn remove_row_number_for_group(&mut self, group: 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: EncodedKeyRange, limit: Option<usize>, ) -> Result<Vec<(GroupStateKey, EncodedPodRow)>> { ... } fn group_sweep( &mut self, group: GroupId, data_only: bool, limit: Option<usize>, ) -> Result<Vec<(GroupStateKey, EncodedPodRow)>> { ... } fn group_sweep_many( &mut self, groups: &[GroupId], limit: usize, ) -> Result<GroupSweep> { ... } fn remove_root_siblings( &mut self, swept: &[(GroupStateKey, EncodedPodRow)], ) -> Result<()> { ... } fn state_last( &mut self, range: EncodedKeyRange, ) -> Result<Option<(GroupStateKey, EncodedPodRow)>> { ... } fn remove_row_numbers( &mut self, group: GroupId, keys: &[EncodedKey], ) -> Result<()> { ... }
}

Required Methods§

Source

fn state_get(&mut self, key: &GroupStateKey) -> Result<Option<EncodedPodRow>>

Source

fn state_get_many_visit( &mut self, keys: &[GroupStateKey], visit: &mut dyn FnMut(GroupStateKey, EncodedPodRow) -> Result<()>, ) -> Result<()>

Source

fn state_set( &mut self, key: &GroupStateKey, payload: EncodedPodRow, ) -> Result<()>

Source

fn state_remove(&mut self, key: &GroupStateKey) -> Result<()>

Source

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

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 remove_row_number(&mut self, group: GroupId, key: &EncodedKey) -> Result<()>

Source

fn remove_row_number_for_group(&mut self, group: GroupId) -> Result<()>

Source

fn written_at(&self) -> DateTime

Provided Methods§

Source

fn state_classify(&mut self, _key: &GroupStateKey, _pre: Option<ByteSize>)

Source

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

Source

fn group_sweep( &mut self, group: GroupId, data_only: bool, limit: Option<usize>, ) -> Result<Vec<(GroupStateKey, EncodedPodRow)>>

Source

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

Source

fn remove_root_siblings( &mut self, swept: &[(GroupStateKey, EncodedPodRow)], ) -> Result<()>

Source

fn state_last( &mut self, range: EncodedKeyRange, ) -> Result<Option<(GroupStateKey, EncodedPodRow)>>

Source

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

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§