Request bundling buffer.
Request bundling buffer.
Borrowed heavily from Akka-stream 2.0-M1 implementation. Works like a normal buffer; however, duplicate items in the buffer get bundled, rather than queued; when the item into which the duplicate item was bundled gets acked, the duplicate item (and all other cohort bundled items) are acked.
FIFO, except when duplicate items are bundled into items later in the queue.
In order for bundling to work, items MUST be comparable by value (IE case classes) and MUST be immutable (IE case classes that don't use var). Ultimately, the input item is used as a key in a hashmap.
The size of the buffer. Bundled items do not count against the size.
How should we handle buffer overflow? Note: items are failed with DroppedException.
An AckedFlow which runs the bundling buffer component.