pub trait QualifiedAdmissionProjectionStore: ReceiptStore + QualifiedAdmissionOperationStore {
// Required methods
fn load_payment_journal(
&self,
operation_id: &str,
active_fence: &StoreMutationFence,
) -> Result<Option<PaymentJournalRecord>, AdmissionPaymentJournalError>;
fn advance_payment_journal(
&self,
advance: AdmissionPaymentJournalAdvance<'_>,
) -> Result<PaymentJournalRecord, AdmissionPaymentJournalError>;
fn begin_payment_settlement(
&self,
begin: AdmissionPaymentSettlementBegin<'_>,
) -> Result<AdmissionPaymentSettlement, AdmissionPaymentJournalError>;
fn authorize_budget_and_commit_admission(
&self,
operation: &AdmissionOperationV1,
recovery_lease: &AdmissionRecoveryLease,
request: BudgetAuthorizeHoldRequest,
payment_journal: Option<PaymentJournalRecord>,
credit_exposure: Option<CreditExposureReservationRequest>,
active_fence: &StoreMutationFence,
trusted_now_unix_ms: u64,
) -> Result<AdmissionBudgetAuthorization, AdmissionBudgetAuthorizationError>;
fn capture_invocation_and_commit_dispatch(
&self,
operation: &AdmissionOperationV1,
recovery_lease: &AdmissionRecoveryLease,
request: BudgetCaptureInvocationRequest,
active_fence: &StoreMutationFence,
trusted_now_unix_ms: u64,
) -> Result<AdmissionBudgetCapture, AdmissionCaptureError>;
fn list_admission_receipts_after(
&self,
after_receipt_id: Option<&str>,
limit: usize,
) -> Result<Vec<ChioReceipt>, ReceiptStoreError>;
// Provided method
fn reserve_threshold_approval_and_commit_admission(
&self,
_command: &AdmissionOperationCommand,
_reservation: &ThresholdApprovalReplayReservationV1,
_trusted_now_unix_ms: u64,
) -> Result<AdmissionCommandResult, AdmissionOperationStoreError> { ... }
}Required Methods§
fn load_payment_journal( &self, operation_id: &str, active_fence: &StoreMutationFence, ) -> Result<Option<PaymentJournalRecord>, AdmissionPaymentJournalError>
fn advance_payment_journal( &self, advance: AdmissionPaymentJournalAdvance<'_>, ) -> Result<PaymentJournalRecord, AdmissionPaymentJournalError>
fn begin_payment_settlement( &self, begin: AdmissionPaymentSettlementBegin<'_>, ) -> Result<AdmissionPaymentSettlement, AdmissionPaymentJournalError>
fn capture_invocation_and_commit_dispatch( &self, operation: &AdmissionOperationV1, recovery_lease: &AdmissionRecoveryLease, request: BudgetCaptureInvocationRequest, active_fence: &StoreMutationFence, trusted_now_unix_ms: u64, ) -> Result<AdmissionBudgetCapture, AdmissionCaptureError>
fn list_admission_receipts_after( &self, after_receipt_id: Option<&str>, limit: usize, ) -> Result<Vec<ChioReceipt>, ReceiptStoreError>
Provided Methods§
fn reserve_threshold_approval_and_commit_admission( &self, _command: &AdmissionOperationCommand, _reservation: &ThresholdApprovalReplayReservationV1, _trusted_now_unix_ms: u64, ) -> Result<AdmissionCommandResult, AdmissionOperationStoreError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".