class |
AlternatingBundler |
Bundler implementation which sends message batches (or single messages) as soon as the target destination changes
(or max_bundler_size would be exceeded).
Messages are removed from the main queue one by one and processed as follows:
A B B C C A causes the following sends: A -> {CC} -> {BB} -> A
Note that null is also a valid destination (send-to-all).
JIRA: https://issues.redhat.com/browse/JGRP-2171
|
class |
AsyncNoBundler |
Simple and stupid async version of NoBundler.
|
class |
BaseBundler |
Implements storing of messages in a hashmap and sending of single messages and message batches.
|
class |
BatchBundler |
|
class |
NoBundler |
Bundler which doesn't bundle :-) Can be used to measure the diff between bundling and non-bundling (e.g.
|
class |
PerDestinationBundler |
Queues messages per destination ('null' is a special destination), sending when the last sender thread to the same
destination returns or max_size has been reached.
|
class |
RemoveQueueBundler |
Bundler implementation which sends message batches (or single messages) as soon as the remove queue is full
(or max_bundler_size would be exceeded).
Messages are removed from the main queue and processed as follows (assuming they all fit into the remove queue):
A B B C C A causes the following sends: {AA} -> {CC} -> {BB}
Note that null is also a valid destination (send-to-all).
Contrary to TransferQueueBundler , this bundler uses a RingBuffer rather than an ArrayBlockingQueue
and the size of the remove queue is fixed.
|
class |
RingBufferBundler |
|
class |
RingBufferBundlerLockless |
Bundler which doesn't use locks but relies on CAS.
|
class |
RingBufferBundlerLockless2 |
Lockless bundler using a reader thread which is unparked by (exactly one) writer thread.
|
class |
SenderSendsBundler |
|
class |
SimplifiedTransferQueueBundler |
This bundler uses the same logic as TransferQueueBundler but does not allocate
memory except for the buffer itself and does not use complex data structures.
|
class |
TransferQueueBundler |
This bundler adds all (unicast or multicast) messages to a queue until max size has been exceeded, but does send
messages immediately when no other messages are available.
|
class |
TransferQueueBundler2 |
This bundler adds all (unicast or multicast) messages to a queue until max size has been exceeded, but does send
messages immediately when no other messages are available.
|