[][src]Trait krill::commons::eventsourcing::KeyStore

pub trait KeyStore {
    type Key;
    fn key_for_snapshot() -> Self::Key;
fn key_for_event(version: u64) -> Self::Key;
fn key_for_command(time: Time) -> Self::Key;
fn has_key(&self, id: &Handle, key: &Self::Key) -> bool;
fn has_aggregate(&self, id: &Handle) -> bool;
fn aggregates(&self) -> Vec<Handle>;
fn store<V: Any + Serialize>(
        &self,
        id: &Handle,
        key: &Self::Key,
        value: &V
    ) -> Result<(), KeyStoreError>;
fn get<V: Any + Storable>(
        &self,
        id: &Handle,
        key: &Self::Key
    ) -> Result<Option<V>, KeyStoreError>;
fn get_event<V: Event>(
        &self,
        id: &Handle,
        version: u64
    ) -> Result<Option<V>, KeyStoreError>;
fn store_event<V: Event>(&self, event: &V) -> Result<(), KeyStoreError>;
fn store_command(&self, command: StoredCommand) -> Result<(), KeyStoreError>;
fn get_aggregate<V: Aggregate>(
        &self,
        id: &Handle
    ) -> Result<Option<V>, KeyStoreError>;
fn store_aggregate<V: Aggregate>(
        &self,
        id: &Handle,
        aggregate: &V
    ) -> Result<(), KeyStoreError>; }

Generic KeyStore for AggregateManager

Associated Types

type Key

Loading content...

Required methods

fn key_for_snapshot() -> Self::Key

fn key_for_event(version: u64) -> Self::Key

fn key_for_command(time: Time) -> Self::Key

fn has_key(&self, id: &Handle, key: &Self::Key) -> bool

Returns whether a key already exists.

fn has_aggregate(&self, id: &Handle) -> bool

fn aggregates(&self) -> Vec<Handle>

fn store<V: Any + Serialize>(
    &self,
    id: &Handle,
    key: &Self::Key,
    value: &V
) -> Result<(), KeyStoreError>

Throws an error if the key already exists.

fn get<V: Any + Storable>(
    &self,
    id: &Handle,
    key: &Self::Key
) -> Result<Option<V>, KeyStoreError>

Get the value for this key, if any exists.

fn get_event<V: Event>(
    &self,
    id: &Handle,
    version: u64
) -> Result<Option<V>, KeyStoreError>

Get the value for this key, if any exists.

fn store_event<V: Event>(&self, event: &V) -> Result<(), KeyStoreError>

fn store_command(&self, command: StoredCommand) -> Result<(), KeyStoreError>

fn get_aggregate<V: Aggregate>(
    &self,
    id: &Handle
) -> Result<Option<V>, KeyStoreError>

Get the latest aggregate

fn store_aggregate<V: Aggregate>(
    &self,
    id: &Handle,
    aggregate: &V
) -> Result<(), KeyStoreError>

Saves the latest snapshot - overwrites any previous snapshot.

Loading content...

Implementors

impl KeyStore for DiskKeyStore[src]

type Key = PathBuf

fn get_event<V: Event>(
    &self,
    id: &Handle,
    version: u64
) -> Result<Option<V>, KeyStoreError>
[src]

Get the value for this key, if any exists.

Loading content...