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§
fn limits(&self) -> QueueLimits
fn receive( &self, max: u32, wait: Duration, deadline: Instant, ) -> ContractFuture<'_, Vec<QueueDelivery>>
Sourcefn acknowledge<'a>(
&'a self,
receipts: &'a [String],
deadline: Instant,
) -> ContractFuture<'a, Vec<AckResult>>
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".