[][src]Module multistream_batch::channel

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

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

Modules

buf_batch

This module provides BufBatchChannel that will buffer items until batch is ready and provides 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 provides this items 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

Error returned by channel based implementations when Sender end of channel was dropped and no more outstanding data is left to be provided.