# Uses of Package
org.jgroups.util

Packages that use org.jgroups.util
Package | Description
--- | ---
org.jgroups | Provides top-level public JGroups classes such as Channel, Message, etc.
org.jgroups.auth |
org.jgroups.blocks | Provides building blocks that are layered on top of channels.
org.jgroups.blocks.executor |
org.jgroups.blocks.locking |
org.jgroups.blocks.mux |
org.jgroups.conf | Provides ways to configure a protocol stack.
org.jgroups.demos | Provides demonstrations of JGroups functionality.
org.jgroups.mux |
org.jgroups.protocols | Provides implementations of transport protocols which are responsible for sending and receiving messages to/from the network.
org.jgroups.protocols.pbcast | Supports probabilistic broadcasts.
org.jgroups.stack | Support for managing protocol stacks.
org.jgroups.util | Provides useful functionality which cannot be assigned to any particular other package.

Classes in org.jgroups.util used by org.jgroups
Class and Description
Buffer Buffer with an offset and length.
Headers Open addressing based implementation of a hashmap (not supporting the Map interface though) for message headers.
SocketFactory Factory to create various types of sockets.
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization

Classes in org.jgroups.util used by org.jgroups.auth
Class and Description
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization

Classes in org.jgroups.util used by org.jgroups.blocks
Class and Description
Buffer Buffer with an offset and length.
Command The Command patttern (see Gamma et al.).
FutureListener A listener that is called back when a future is done.
NotifyingFuture A sub-interface of a Future, that allows for listeners to be attached so that observers can be notified when the future completes.
Promise Allows a thread to submit an asynchronous request and to wait for the result.
Rsp class that represents a response from a communication
RspList Contains responses from all members.
SocketFactory Factory to create various types of sockets.
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization
ThreadFactory

Classes in org.jgroups.util used by org.jgroups.blocks.executor
Class and Description
FutureListener A listener that is called back when a future is done.
NotifyingFuture A sub-interface of a Future, that allows for listeners to be attached so that observers can be notified when the future completes.
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization

Classes in org.jgroups.util used by org.jgroups.blocks.locking
Class and Description
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization

Classes in org.jgroups.util used by org.jgroups.blocks.mux
Class and Description
ImmutableReference Simple class that holds an immutable reference to another object (or to `null`).
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization

Classes in org.jgroups.util used by org.jgroups.conf
Class and Description
Tuple Holds 2 values, useful when we have a map with a key, but more than 1 value and we don't want to create a separate holder object for the values, and don't want to pass the values as a list or array.

Classes in org.jgroups.util used by org.jgroups.demos
Class and Description
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization

Classes in org.jgroups.util used by org.jgroups.mux
Class and Description
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization

Classes in org.jgroups.util used by org.jgroups.protocols
Class and Description
AgeOutCache Cache which removes its elements after a certain time
AgeOutCache.Handler
BoundedList A bounded subclass of LinkedList, oldest elements are removed once max capacity is exceeded.
Buffer Buffer with an offset and length.
CreditMap Maintains credits for senders, when credits fall below 0, a sender blocks until new credits have been received.
Promise Allows a thread to submit an asynchronous request and to wait for the result.
SocketFactory Factory to create various types of sockets.
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization
ThreadFactory
TimeScheduler Timer-like interface which allows for execution of tasks.
UUID Logical address which is unique over space and time.

Classes in org.jgroups.util used by org.jgroups.protocols.pbcast
Class and Description
AckCollector Collects acks from a number of nodes, waits for all acks.
BoundedList A bounded subclass of LinkedList, oldest elements are removed once max capacity is exceeded.
Digest A message digest, which is used by the PBCAST layer for gossiping (also used by NAKACK for keeping track of current seqnos for all members).
MergeId ID to uniquely identify a merge
Range
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization
TimeScheduler Timer-like interface which allows for execution of tasks.

Classes in org.jgroups.util used by org.jgroups.stack
Class and Description
Seqno Keeps track of a single message to retransmit
SocketFactory Factory to create various types of sockets.
StackType
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization
ThreadFactory
TimeScheduler Timer-like interface which allows for execution of tasks.
TimeScheduler.Task The interface that dynamic tasks (`TimeScheduler.scheduleWithDynamicInterval(org.jgroups.util.TimeScheduler.Task)`) must implement
Tuple Holds 2 values, useful when we have a map with a key, but more than 1 value and we don't want to create a separate holder object for the values, and don't want to pass the values as a list or array.

Classes in org.jgroups.util used by org.jgroups.util
Class and Description
AdditionalDataUUID Subclass of `UUID` which adds a string as payload.
AgeOutCache.Handler
Buffer Buffer with an offset and length.
DefaultThreadFactory Thread factory mainly responsible for naming of threads.
Digest A message digest, which is used by the PBCAST layer for gossiping (also used by NAKACK for keeping track of current seqnos for all members).
Digest.Entry Class keeping track of the lowest and highest sequence numbers delivered, and the highest sequence numbers received, per member.
ExposedByteArrayOutputStream Extends ByteArrayOutputStream, but exposes the internal buffer.
ExposedDataOutputStream
FutureListener A listener that is called back when a future is done.
HashedTimingWheel.MyTask Simple task wrapper, always executed by at most 1 thread.
Headers Open addressing based implementation of a hashmap (not supporting the Map interface though) for message headers.
MergeId ID to uniquely identify a merge
NotifyingFuture A sub-interface of a Future, that allows for listeners to be attached so that observers can be notified when the future completes.
PayloadUUID Subclass of `UUID` which adds a string as payload.
Queue Elements are added at the tail and removed from the head.
QueueClosedException
Range
Rsp class that represents a response from a communication
RspList Contains responses from all members.
Seqno Keeps track of a single message to retransmit
SocketFactory Factory to create various types of sockets.
StackType
Streamable Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly serialization
ThreadDecorator An object that can alter the state of a thread when it receives a callback from a `ThreadManager` notifying it that the thread has been created or released from use.
ThreadFactory
ThreadManager An object that manages threads and provides callbacks to a `ThreadDecorator` to allow it to alter their state.
TimeScheduler Timer-like interface which allows for execution of tasks.
TimeScheduler.Task The interface that dynamic tasks (`TimeScheduler.scheduleWithDynamicInterval(org.jgroups.util.TimeScheduler.Task)`) must implement
TimeScheduler2.MyTask Simple task wrapper, always executed by at most 1 thread.
TopologyUUID Subclass of `UUID` which adds 3 strings (siteId, rackId and machineId)as payload.
Triple Holds 3 values, useful when we have a map with a key, but more than 1 value and we don't want to create a separate holder object for the values, and don't want to pass the values as a list or array.
Tuple Holds 2 values, useful when we have a map with a key, but more than 1 value and we don't want to create a separate holder object for the values, and don't want to pass the values as a list or array.
Util.AddressScope
UUID Logical address which is unique over space and time.