[][src]Module multistream_batch::channel

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

buf_batch

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

multi_buf_batch

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.

tx_buf_batch

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

EndOfStreamError

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.