pub trait TransactionKeyValueStoreTrait {
// Required methods
fn multi_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transaction_keys: &'life1 [TransactionDigest],
effects_keys: &'life2 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = IotaResult<KVStoreTransactionData>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn multi_get_checkpoints<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
checkpoint_summaries: &'life1 [CheckpointSequenceNumber],
checkpoint_contents: &'life2 [CheckpointSequenceNumber],
checkpoint_summaries_by_digest: &'life3 [CheckpointDigest],
) -> Pin<Box<dyn Future<Output = IotaResult<KVStoreCheckpointData>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn get_transaction_perpetual_checkpoint<'life0, 'async_trait>(
&'life0 self,
digest: TransactionDigest,
) -> Pin<Box<dyn Future<Output = IotaResult<Option<CheckpointSequenceNumber>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_object<'life0, 'async_trait>(
&'life0 self,
object_id: ObjectID,
version: SequenceNumber,
) -> Pin<Box<dyn Future<Output = IotaResult<Option<Object>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn multi_get_transactions_perpetual_checkpoints<'life0, 'life1, 'async_trait>(
&'life0 self,
digests: &'life1 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = IotaResult<Vec<Option<CheckpointSequenceNumber>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn multi_get_events_by_tx_digests<'life0, 'life1, 'async_trait>(
&'life0 self,
digests: &'life1 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = IotaResult<Vec<Option<TransactionEvents>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}
Expand description
Immutable key/value store trait for storing/retrieving transactions, effects, and events. Only defines multi_get/multi_put methods to discourage single key/value operations.
Required Methods§
Sourcefn multi_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transaction_keys: &'life1 [TransactionDigest],
effects_keys: &'life2 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = IotaResult<KVStoreTransactionData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn multi_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transaction_keys: &'life1 [TransactionDigest],
effects_keys: &'life2 [TransactionDigest],
) -> Pin<Box<dyn Future<Output = IotaResult<KVStoreTransactionData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Generic multi_get, allows implementors to get heterogenous values with a single round trip.
Sourcefn multi_get_checkpoints<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
checkpoint_summaries: &'life1 [CheckpointSequenceNumber],
checkpoint_contents: &'life2 [CheckpointSequenceNumber],
checkpoint_summaries_by_digest: &'life3 [CheckpointDigest],
) -> Pin<Box<dyn Future<Output = IotaResult<KVStoreCheckpointData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn multi_get_checkpoints<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
checkpoint_summaries: &'life1 [CheckpointSequenceNumber],
checkpoint_contents: &'life2 [CheckpointSequenceNumber],
checkpoint_summaries_by_digest: &'life3 [CheckpointDigest],
) -> Pin<Box<dyn Future<Output = IotaResult<KVStoreCheckpointData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Generic multi_get to allow implementors to get heterogenous values with a single round trip.