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.
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.
|
EndOfStreamError | Error returned by channel based implementations when Sender end of
channel was dropped and no more outstanding data is left to be provided.
|