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§
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>
Sourcefn set_group_intent_error(&self, intent_id: ID) -> Result<(), StorageError>
fn set_group_intent_error(&self, intent_id: ID) -> Result<(), StorageError>
Set the intent with the given ID to Error
fn find_group_intent_by_payload_hash( &self, payload_hash: &[u8], ) -> Result<Option<StoredGroupIntent>, StorageError>
Sourcefn find_dependant_commits<P: AsRef<[u8]>>(
&self,
payload_hashes: &[P],
) -> Result<HashMap<PayloadHash, IntentDependency>, StorageError>
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
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>
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.