Trait channel_loader::task::TaskHandler[][src]

pub trait TaskHandler: Default + Send + Sync {
    type Key: Key;
    type Value: Send + Clone + 'static;
    type Error: Send + Clone + 'static;

    const MAX_BATCH_SIZE: i32;

    #[must_use]
    fn handle_task<'async_trait>(
        task: Task<PendingAssignment<Self>>
    ) -> Pin<Box<dyn Future<Output = Task<CompletionReceipt<Self>>> + Send + 'async_trait>>
    where
        Self: 'async_trait
; }
Expand description

A type-state control flow for driving tasks from pre-assigning to conditional completion. As task-assignment can be deferred until connection acquisition and likewise load tasks can be batched by key, this enables opportunistic batching when connection acquisition becomes a bottleneck and also enables connection yielding as a consequence of work consolidation

Associated Types

Associated Constants

Required methods

Implementors