QueryGroupIntent

Trait QueryGroupIntent 

Source
pub trait QueryGroupIntent {
    // Required methods
    fn insert_group_intent(
        &self,
        to_save: NewGroupIntent,
    ) -> Result<StoredGroupIntent, ConnectionError>;
    fn find_group_intents<Id: AsRef<[u8]>>(
        &self,
        group_id: Id,
        allowed_states: Option<Vec<IntentState>>,
        allowed_kinds: Option<Vec<IntentKind>>,
    ) -> Result<Vec<StoredGroupIntent>, ConnectionError>;
    fn set_group_intent_published(
        &self,
        intent_id: ID,
        payload_hash: &[u8],
        post_commit_data: Option<Vec<u8>>,
        staged_commit: Option<Vec<u8>>,
        published_in_epoch: i64,
    ) -> Result<(), StorageError>;
    fn set_group_intent_committed(
        &self,
        intent_id: ID,
        cursor: Cursor,
    ) -> Result<(), StorageError>;
    fn set_group_intent_processed(
        &self,
        intent_id: ID,
    ) -> Result<(), StorageError>;
    fn set_group_intent_to_publish(
        &self,
        intent_id: ID,
    ) -> Result<(), StorageError>;
    fn set_group_intent_error(&self, intent_id: ID) -> Result<(), StorageError>;
    fn find_group_intent_by_payload_hash(
        &self,
        payload_hash: &[u8],
    ) -> Result<Option<StoredGroupIntent>, StorageError>;
    fn find_dependant_commits<P: AsRef<[u8]>>(
        &self,
        payload_hashes: &[P],
    ) -> Result<HashMap<PayloadHash, IntentDependency>, StorageError>;
    fn increment_intent_publish_attempt_count(
        &self,
        intent_id: ID,
    ) -> Result<(), StorageError>;
    fn set_group_intent_error_and_fail_msg(
        &self,
        intent: &StoredGroupIntent,
        msg_id: Option<Vec<u8>>,
    ) -> Result<(), StorageError>;
}

Required Methods§

Source

fn insert_group_intent( &self, to_save: NewGroupIntent, ) -> Result<StoredGroupIntent, ConnectionError>

Source

fn find_group_intents<Id: AsRef<[u8]>>( &self, group_id: Id, allowed_states: Option<Vec<IntentState>>, allowed_kinds: Option<Vec<IntentKind>>, ) -> Result<Vec<StoredGroupIntent>, ConnectionError>

Source

fn set_group_intent_published( &self, intent_id: ID, payload_hash: &[u8], post_commit_data: Option<Vec<u8>>, staged_commit: Option<Vec<u8>>, published_in_epoch: i64, ) -> Result<(), StorageError>

Source

fn set_group_intent_committed( &self, intent_id: ID, cursor: Cursor, ) -> Result<(), StorageError>

Source

fn set_group_intent_processed(&self, intent_id: ID) -> Result<(), StorageError>

Source

fn set_group_intent_to_publish(&self, intent_id: ID) -> Result<(), StorageError>

Source

fn set_group_intent_error(&self, intent_id: ID) -> Result<(), StorageError>

Set the intent with the given ID to Error

Source

fn find_group_intent_by_payload_hash( &self, payload_hash: &[u8], ) -> Result<Option<StoredGroupIntent>, StorageError>

Source

fn find_dependant_commits<P: AsRef<[u8]>>( &self, payload_hashes: &[P], ) -> Result<HashMap<PayloadHash, IntentDependency>, StorageError>

find the commit message refresh state for each intent payload hash

Source

fn increment_intent_publish_attempt_count( &self, intent_id: ID, ) -> Result<(), StorageError>

Source

fn set_group_intent_error_and_fail_msg( &self, intent: &StoredGroupIntent, msg_id: Option<Vec<u8>>, ) -> Result<(), StorageError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T> QueryGroupIntent for &T

Implementors§