risingwave_stream::executor::prelude

Trait StateStore

source
pub trait StateStore:
    StateStoreRead
    + StaticSendSync
    + Clone {
    type Local: LocalStateStore;

    // Required methods
    fn try_wait_epoch(
        &self,
        epoch: HummockReadEpoch,
        options: TryWaitEpochOptions,
    ) -> impl Future<Output = Result<(), StorageError>> + Send;
    fn new_local(
        &self,
        option: NewLocalOptions,
    ) -> impl Future<Output = Self::Local> + Send;

    // Provided method
    fn monitored(
        self,
        storage_metrics: Arc<MonitoredStorageMetrics>,
    ) -> MonitoredStateStore<Self> { ... }
}

Required Associated Types§

Required Methods§

source

fn try_wait_epoch( &self, epoch: HummockReadEpoch, options: TryWaitEpochOptions, ) -> impl Future<Output = Result<(), StorageError>> + Send

If epoch is Committed, we will wait until the epoch is committed and its data is ready to read. If epoch is Current, we will only check if the data can be read with this epoch.

source

fn new_local( &self, option: NewLocalOptions, ) -> impl Future<Output = Self::Local> + Send

Provided Methods§

source

fn monitored( self, storage_metrics: Arc<MonitoredStorageMetrics>, ) -> MonitoredStateStore<Self>

Creates a MonitoredStateStore from this state store, with given stats.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl StateStore for Box<dyn DynamicDispatchedStateStore>

Implementors§