Skip to main content

AckQueue

Trait AckQueue 

Source
pub trait AckQueue: Send + Sync {
    // Required methods
    fn limits(&self) -> QueueLimits;
    fn receive(
        &self,
        max: u32,
        wait: Duration,
        deadline: Instant,
    ) -> ContractFuture<'_, Vec<QueueDelivery>>;
    fn acknowledge<'a>(
        &'a self,
        receipts: &'a [String],
        deadline: Instant,
    ) -> ContractFuture<'a, Vec<AckResult>>;
}
Expand description

Receive and individually acknowledge transport records. The coordinator bounds records, bytes, and receipt sizes; these do not create additional execution concurrency. SDK prefetch/buffers must also have documented bounds.

Required Methods§

Source

fn limits(&self) -> QueueLimits

Source

fn receive( &self, max: u32, wait: Duration, deadline: Instant, ) -> ContractFuture<'_, Vec<QueueDelivery>>

Source

fn acknowledge<'a>( &'a self, receipts: &'a [String], deadline: Instant, ) -> ContractFuture<'a, Vec<AckResult>>

Called only after verified durable handoff. Partial/missing results and errors leave the corresponding transport acknowledgment unconfirmed.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§