0.3.17-pre.002
This commit is contained in:
50
crates/ksp-store-api/src/capability/raw_conflict.rs
Normal file
50
crates/ksp-store-api/src/capability/raw_conflict.rs
Normal file
@@ -0,0 +1,50 @@
|
||||
// file: crates/ksp-store-api/src/capability/raw_conflict.rs
|
||||
// version: 1
|
||||
|
||||
/// Read capability for bounded operator inspection of persisted RAW transaction variants.
|
||||
pub trait RawTransactionVariantInspectionRead: std::marker::Send + std::marker::Sync {
|
||||
/// Inspects one random-access variant window with exact logical counts.
|
||||
fn inspect_raw_transaction_variants<'a>(
|
||||
&'a self,
|
||||
query: &'a crate::RawTransactionVariantInspectionQuery,
|
||||
) -> crate::StoreApiFuture<'a, crate::Result<crate::RawInspectionPage<crate::RawTransactionVariantSummary>>>;
|
||||
|
||||
/// Reads explicit detail for one durable variant reference.
|
||||
fn get_raw_transaction_variant<'a>(
|
||||
&'a self,
|
||||
reference: &'a crate::RawTransactionVariantReference,
|
||||
) -> crate::StoreApiFuture<'a, crate::Result<std::option::Option<crate::RawTransactionVariantDetail>>>;
|
||||
}
|
||||
|
||||
/// Read capability for bounded operator inspection of RAW transaction conflict cases.
|
||||
pub trait RawTransactionConflictInspectionRead: std::marker::Send + std::marker::Sync {
|
||||
/// Inspects one random-access conflict-case window with exact logical counts.
|
||||
fn inspect_raw_transaction_conflicts<'a>(
|
||||
&'a self,
|
||||
query: &'a crate::RawTransactionConflictInspectionQuery,
|
||||
) -> crate::StoreApiFuture<'a, crate::Result<crate::RawInspectionPage<crate::RawTransactionConflictSummary>>>;
|
||||
|
||||
/// Reads one payload-free conflict case including its monotone participant ledger.
|
||||
fn get_raw_transaction_conflict<'a>(
|
||||
&'a self,
|
||||
reference: &'a crate::RawTransactionConflictReference,
|
||||
) -> crate::StoreApiFuture<'a, crate::Result<std::option::Option<crate::RawTransactionConflictDetail>>>;
|
||||
}
|
||||
|
||||
/// Read capability for one RAW transaction conflict case append-only history.
|
||||
pub trait RawTransactionConflictHistoryRead: std::marker::Send + std::marker::Sync {
|
||||
/// Inspects one random-access conflict-history window ordered by durable revision.
|
||||
fn inspect_raw_transaction_conflict_history<'a>(
|
||||
&'a self,
|
||||
query: &'a crate::RawTransactionConflictHistoryQuery,
|
||||
) -> crate::StoreApiFuture<'a, crate::Result<crate::RawInspectionPage<crate::RawTransactionConflictEventSummary>>>;
|
||||
}
|
||||
|
||||
/// Write capability for explicit compare-and-set RAW transaction conflict actions.
|
||||
pub trait RawTransactionConflictActionWrite: std::marker::Send + std::marker::Sync {
|
||||
/// Applies one revision-guarded conflict action atomically.
|
||||
fn apply_raw_transaction_conflict_action<'a>(
|
||||
&'a self,
|
||||
request: crate::RawTransactionConflictActionRequest,
|
||||
) -> crate::StoreApiFuture<'a, crate::Result<crate::RawTransactionConflictActionOutcome>>;
|
||||
}
|
||||
Reference in New Issue
Block a user