Skip to main content

SkipListener

Trait SkipListener 

Source
pub trait SkipListener<I, O>: Send + Sync {
    // Provided methods
    fn on_skip_in_read<'a>(
        &'a self,
        fault: FaultDescriptor,
        context: ItemListenerContext<'a>,
    ) -> BoxFuture<'a, Result<(), ListenerError>> { ... }
    fn on_skip_in_process<'a>(
        &'a self,
        input: &'a I,
        fault: FaultDescriptor,
        context: ItemListenerContext<'a>,
    ) -> BoxFuture<'a, Result<(), ListenerError>> { ... }
    fn on_skip_in_write<'a>(
        &'a self,
        output: &'a O,
        fault: FaultDescriptor,
        context: ItemListenerContext<'a>,
    ) -> BoxFuture<'a, Result<(), ListenerError>> { ... }
}
Expand description

Confirms one accepted skip immediately before the accepting commit.

A skip callback runs at most once in one chunk attempt. A known rollback or a crash may cause another invocation on replay, so only work enlisted in the accepting transaction has exactly one committed effect.

Provided Methods§

Source

fn on_skip_in_read<'a>( &'a self, fault: FaultDescriptor, context: ItemListenerContext<'a>, ) -> BoxFuture<'a, Result<(), ListenerError>>

Confirms a skipped read.

Source

fn on_skip_in_process<'a>( &'a self, input: &'a I, fault: FaultDescriptor, context: ItemListenerContext<'a>, ) -> BoxFuture<'a, Result<(), ListenerError>>

Confirms a skipped input.

Source

fn on_skip_in_write<'a>( &'a self, output: &'a O, fault: FaultDescriptor, context: ItemListenerContext<'a>, ) -> BoxFuture<'a, Result<(), ListenerError>>

Confirms a skipped output.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§