Module multistream_batch::channel[][src]

Expand description

Batch implementations that use channels and threads to support simultaneously receiving items and awaiting on timeouts.

These implementations are using crossbeam_channel to implement awaiting for items or timeout.

Modules

This module provides BufBatchChannel that will buffer items until the batch is ready and provide them in one go using Drain iterator.

This module provides MultiBufBatchChannel that will buffer items into multiple internal batches based on batch stream key until one of the batches is ready and provide them in one go, along with the batch stream key, using Drain iterator.

This module provides TxBufBatchChannel that will produce references to stored items as soon as they are received. The batch will signal when it is ready due to reaching one of its limits at which point it can be committed or retried.

Structs

The error that is returned by channel based implementations when Sender end of the channel was dropped and no more outstanding items are left to be provided.