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.
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.
|
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.
|