51 lines
2.6 KiB
Rust
51 lines
2.6 KiB
Rust
// 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>>;
|
|
}
|