Uses of Class
org.jgroups.protocols.BaseBundler
-
Packages that use BaseBundler Package Description org.jgroups.protocols Provides implementations of transport protocols which are responsible for sending and receiving messages to/from the network. -
-
Uses of BaseBundler in org.jgroups.protocols
Subclasses of BaseBundler in org.jgroups.protocols Modifier and Type Class Description classAlternatingBundlerBundler 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.jboss.org/browse/JGRP-2171classRemoveQueueBundlerBundler 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 toTransferQueueBundler, this bundler uses aRingBufferrather than an ArrayBlockingQueue and the size of the remove queue is fixed.classRingBufferBundlerBundler which usesRingBufferto store messages.classRingBufferBundlerLocklessBundler which doesn't use locks but relies on CAS.classRingBufferBundlerLockless2Lockless bundler using a reader thread which is unparked by (exactly one) writer thread.classSenderSendsBundlerclassSimplifiedTransferQueueBundlerThis bundler uses the same logic asTransferQueueBundlerbut does not allocate memory except for the buffer itself and does not use complex data structures.classTransferQueueBundlerThis 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.
-