## Package org.jgroups.util

Provides useful functionality which cannot be assigned to any particular other package.

See:
Description

Interface Summary
AgeOutCache.Handler<K>
Command: The Command patttern (see Gamma et al.).
FutureListener<T>: A listener that is called back when a future is done.
NotifyingFuture<T>: A sub-interface of a Future, that allows for listeners to be attached so that observers can be notified when the future completes.
ResourceManager.IpAddressRep
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
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

Class Summary
AckCollector: Collects acks from a number of nodes, waits for all acks.
AdditionalDataUUID: Subclass of `UUID` which adds a string as payload.
AgeOutCache<K>: Cache which removes its elements after a certain time
BoundedList<T>: A bounded subclass of LinkedList, oldest elements are removed once max capacity is exceeded.
Buffer: Buffer with an offset and length.
ConcurrentLinkedBlockingQueue<T>: Attempt at writing a fast transfer queue, which is bounded.
CreditMap: Maintains credits for senders, when credits fall below 0, a sender blocks until new credits have been received.
DefaultSocketFactory: Default implementation, ignores service names
DefaultThreadFactory: Thread factory mainly responsible for naming of threads.
DefaultTimeScheduler: Implementation of `TimeScheduler` by extending `ScheduledThreadPoolExecutor` to keep tasks sorted.
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.
DirectExecutor
ExposedByteArrayInputStream
ExposedByteArrayOutputStream: Extends ByteArrayOutputStream, but exposes the internal buffer.
ExposedDataOutputStream
FIFOMessageQueue<K,V>: Deprecated. Will be removed together with the Multiplexer in 3.0
FixedSizeBitSet: Class copied from `BitSet`.
GetNetworkInterfaces: Lists all network interfaces on a system
HashedTimingWheel: Implementation of `TimeScheduler`.
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.
ImmutableReference<T>: Simple class that holds an immutable reference to another object (or to `null`).
JUnitXMLReporter: Listener generating XML output suitable to be processed by JUnitReport.
LazyThreadFactory: Lazily names threads: whenever the address or cluster name is changed, all threads are renamed
MarshallerPool: Deprecated.
MergeId: ID to uniquely identify a merge
Metronome
MutableDigest: A mutable version of Digest (which is immutable
MyReceiver: Simple receiver which buffers all messages
NullFuture<T>
PayloadUUID: Subclass of `UUID` which adds a string as payload.
Promise<T>: Allows a thread to submit an asynchronous request and to wait for the result.
PropertiesToXML: Iterates over all concrete Protocol classes and creates tables with Protocol's properties.
Proxy: Redirects incoming TCP connections to other hosts/ports.
Queue: Elements are added at the tail and removed from the head.
Range
ResourceManager: Manages resources such as multicast addresses and multicast ports, and TCP ports.
ResponseCollector<T>: Similar to AckCollector, but collects responses, not just acks.
RetransmitTable: A store for messages to be retransmitted or delivered.
RingBuffer<T>
Rsp<T>: class that represents a response from a communication
RspList: Contains responses from all members.
Seqno: Keeps track of a single message to retransmit
SeqnoComparator
SeqnoRange: Keeps track of a range of messages to be retransmitted.
SeqnoTable: Maintains the highest received and highest delivered seqno per member
ShutdownRejectedExecutionHandler: ShutdownRejectedExecutionHandler is a decorator RejectedExecutionHandler used in all JGroups ThreadPoolExecutor(s).
SingletonAddress: Address with a cluster name.
ThreadManagerThreadPoolExecutor: ThreadPoolExecutor subclass that implements @{link ThreadManager}.
TimeScheduler2: Implementation of `TimeScheduler`.
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<V1,V2,V3>: 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<V1,V2>: 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.
UnmodifiableVector: Vector which cannot be modified
Util: Collection of various utility routines that can not be assigned to other classes.
UUID: Logical address which is unique over space and time.
XMLSchemaGenerator: Iterates over all concrete Protocol classes and creates XML schema used for validation of configuration files.

Enum Summary
StackType
Util.AddressScope

Exception Summary
QueueClosedException

## Package org.jgroups.util Description

Provides useful functionality which cannot be assigned to any particular other package.

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.