All Classes and Interfaces
Class
Description
Collects acks from a number of nodes, waits for all acks.
Address identifies cluster member.
Callback to provide custom addresses.
Cache which removes its elements after a certain time
Bundler implementation which sends message batches (or single messages) as soon as the target destination changes
(or max_bundler_size would be exceeded).
Iterator over an array of elements of type T.
Simple string implemented as a byte[] array.
Encrypts and decrypts communication in JGroups by using a secret key distributed to all cluster members by the
key server (coordinator) using asymmetric (public/private key) encryption.
The secret key is identical for all cluster members and is used to encrypt messages when sending and decrypt them when receiving messages.
The secret key is identical for all cluster members and is used to encrypt messages when sending and decrypt them when receiving messages.
An asynchronous counter interface.
Used to execute asynchronous tasks, e.g.
Simple and stupid async version of NoBundler.
Defines the type of an attribute exposed by
ManagedAttribute or
Property.The AUTH protocol adds a layer of authentication to JGroups.
AuthHeader is a holder object for the token that is passed from the joiner to the coordinator
Abstract AuthToken class used by implementations of AUTH, e.g.
Maintains an approximation of an average of values.
Measures min and max in addition to average
All messages up the stack have to go through a barrier (read lock, RL).
Encodes and decodes to and from Base64 notation.
A
Base64.InputStream will read data from another
java.io.InputStream, given in the constructor,
and encode/decode to/from Base64 notation on the fly.A
Base64.OutputStream will write data to another
java.io.OutputStream, given in the constructor,
and encode/decode to/from Base64 notation on the fly.Implements storing of messages in a hashmap and sending of single messages and message batches.
Base interface for all counters
Implements
DataOutput in a generic manner, so that subclasses can implement specific behavior.A common superclass for all
Message implementations.Abstract class for a server handling sending, receiving and connection management.
Shared base class for TCP protocols
Batches messages near the top of the stack.
Batches messages near the top of the stack.
Bundler based on
BATCH.A message that contains a batch of messages.
Class (similar to (and partly copied from) java.nio.Bits) containing helper methods to encode variables
(e.g.
Bounded input stream.
Bounded linked hashmap; used by SEQUENCER
A bounded subclass of LinkedList, oldest elements are removed once max capacity is exceeded.
Broadcast PING.
Class which joins the bridge cluster and send and receives messages to/from other sites.
Class to do scattering reads or gathering writes on a sequence of
ByteBuffer instances.Tests max datagram and multicast socket buffer sizes
Pluggable way to collect messages and send them as batches
Byte array with an offset and length.
Implements
DataInput over a byte[] buffer.Implements
DataOutput over a byte[] buffer.Class using
ByteBuffer and implementing DataInput.Class using
ByteBuffer and implementing DataOutput.A
Message containing a byte array as payload.Simple cache which maintains keys and value.
Deprecated.
See http://belaban.blogspot.com/2020/11/i-hate-distributed-locks.html.
Deprecated.
See http://belaban.blogspot.com/2020/11/i-hate-distributed-locks.html.
Sample implementation of
SSL_KEY_EXCHANGE.SessionVerifierAllows a listener to be notified when an important channel lifecycle event occurs.
If either
UNICAST3 or NAKACK2 are missing, then
this policy checks that the thread pool has a rejection policy of
ThreadPoolExecutor.CallerRunsPolicy.Reads a sequence of numbers from stdin and verifies that they are in order
Checks whether numbers in a stream are monotonically increasing, e.g.
Maintains a mapping between magic IDs and classes (defined in jg-magic-map.xml), and between protocol IDs and
protocol classes (defined in jg-protocol-ids.xml).
Protocol which clears a set of flags in the down or up direction for all messages
Defines common operations for clients (TCP or NIO)
Client part of GMS.
Tools to (1) dump all protocols and the names of their attributes (
ManagedAttribute)
and properties (Property) to file, (2) read from that file ('old) and compare whether old is a proper
subset of new, ie.Utility class with
CompletableFuture and CompletionStage useful methods.Tags components inside of protocols.
A message composed of multiple messages.
Compresses the payload of a message.
Attempt at writing a fast transfer queue, which is bounded.
Attempt at writing a fast transfer queue, which is bounded.
A condition variable with methods for (timed) waiting and signalling
The task if this class is to setup and configure the protocol stack.
The ConfigurationFactory is a factory that returns a protocol stack configurator.
Represents a connection to a peer
Interface returning a supplier which can be called to create an instance
Coordinator role of the Group MemberShip (GMS) protocol.
Deprecated.
Since 5.2 and to be removed in a future version.
Protocol which is used by
CounterService to provide a distributed atomic counterA function to update
AsyncCounter or SyncCounter.Provides a distributed counter (similar to AtomicLong) which can be atomically updated across a cluster.
A view representing the counter's state.
Maintains credits for a unicast destination.
Maintains credits for senders, when credits fall below 0, a sender blocks until new credits have been received.
An extension interface allowing to plug in a custom log provider.
// TODO: Document this
Implementation of daisy chaining.
Default implementation of
MessageFactory.The default implementation of
RouteStatusListenerDefault implementation, ignores service names
Thread factory mainly responsible for naming of threads.
Delays incoming/outgoing messages by a random number of milliseconds (range between 0 and n
where n is determined by the user) and nanoseconds (constant amount).
Collects actions by key and executes them - if a predicate is true - every N ms.
Subclass of
View with a null members field.Detects unicast loopbacks: messages where dest == local address
Key exchange based on Diffie-Hellman-Merkle (https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange).
A message digest containing - for each member - the highest seqno delivered (hd) and the highest seqno received (hr).
Keeps track of one members plus its highest delivered and received seqnos
Discards up or down messages based on a percentage; e.g., setting property 'up' to 0.1 causes 10%
of all up messages to be discarded.
Discards a message whose sequence number (in the payload, as a Long) matches seqno 2 times,
before passing it down.
The Discovery protocol retrieves the initial membership (used by GMS and MERGE3) by sending discovery requests.
Shared whiteboard, each new instance joins the same group.
Encapsulates information about a draw command.
Protocol which drops up or down messages according to user-defined filters
Duplicates outgoing or incoming messages by copying them
Simple TCP server replying back to client with connection information (peer address etc)
A
Message without a payload; optimized for sending only headers (e.g.Super class of symmetric (
SYM_ENCRYPT) and asymmetric (ASYM_ENCRYPT) encryption protocols.Event is a JGroups internal class used for inter-stack and intra-stack communication.
Example of a protocol layer.
Elements annotated with this annotation are experimental and may get removed from the distribution at any time
Cache which maintains timestamps for keys, and methods to remove/replace expired keys.
Subclass of
UUID accommodating additional data such as a flag and a small hashmap.Simple
Header used by various flow control protocols
Failure detection based on simple heartbeat protocol.
Failure detection based on simple heartbeat protocol.
Failure detection based on simple heartbeat protocol.
Failure detection protocol which detects the crash or hanging of entire hosts and suspects all cluster members
on those hosts.
Command used to check whether a given host is alive, periodically called
Failure detection protocol based on sockets.
Handles a client connection; multiple client can connect at the same time
Failure detection protocol based on TCP connections, successor to
FD_SOCK.Simple discovery protocol which uses a file on shared storage such as an SMB share, NFS mount or S3.
The FixedMemberShipToken object predefines a list of IP addresses and ports that can join the group.
Class copied from
BitSet.Subclass of
UUID accommodating additional data such as a flag.Simple flow control protocol based on a credit system.
Interactive test for MFC and UFC
Deprecated, for removal: This API element is subject to removal in a future version.
Over 20 years old and nodoby uses it.
The FORK protocol; multiplexes messages to different forks in a stack (https://issues.redhat.com/browse/JGRP-1613).
Implementation of a ForkChannel, which is a light-weight channel.
Parses the fork-stacks.xsd schema.
Acts as bottom protocol of a fork-stack.
Protocol stack which maintains the mapping between fork-channel IDs and ForkChannels
Route which forwards all messages to a given site via a given route.
Fragmentation layer.
A fragmentation list keeps a list of fragmentation tables
sorted by an Address ( the sender ).
Keeps track of the fragments that are received.
inner class represents an entry for a message
each entry holds an array of byte arrays sorted
once all the byte buffer entries have been filled
the fragmentation is considered complete.
Fragmentation layer.
Class represents an entry for a message.
Fragmentation protocol which uses less memory to store fragments than
FRAG2.Fragmentation layer.
Base class for all fragmentation protocols.
A message which refers to another message, but only marshals (
Streamable.writeTo(DataOutput))
a part of the original message, starting at a given BytesMessage.offset and marshalling only BytesMessage.length bytes.Given a class, generates code for getters and setters for all attributes and writes it to stdout
Takes a list of methods to profile and generates the Byteman script from them.
Lists all network interfaces on a system
Global is a JGroups internal class defining global variables.
Group membership protocol.
Encapsulates data sent between GossipRouter and RouterStub (TCPGOSSIP and TUNNEL)
Router for TCP based group comunication (using layer TCP instead of UDP).
Types of requests and responses exchanged between GossipRouter and RouterStubs
Subclass of File to iterate through directories and files in a grid
Entry point for GridFile and GridInputStream / GridOutputStream
Sends a message to all members of the group and waits for all responses (or timeout).
Copyright (c) 2005 Brian Goetz and Tim Peierls
Released under the Creative Commons Attribution License
(http://creativecommons.org/licenses/by/2.5)
Official home: http://www.jcip.net
Adopted from Java Concurrency in Practice.
Prints the headers of all sent or received messages
Header is a JGroups internal base class for all JGroups headers.
Helper class providing functions to manipulate the headers array in
BaseMessage.Copyright (c) 2005 Brian Goetz and Tim Peierls
Released under the Creative Commons Attribution License
(http://creativecommons.org/licenses/by/2.5)
Official home: http://www.jcip.net
Adopted from Java Concurrency in Practice.
This test runs number of merge events with a similar stack configuration that current Infinispan and WildFly is using to
showcase speed of merges after partitioning.
Simple protocol to inject an arbitrary view on one or more cluster nodes.
Extends
InputStream from a ByteArrayDataInputStream.A hashmap where keys have to be ints.
Network-dependent address (Internet).
A channel represents a group communication endpoint (like a socket).
Discovery protocol using a JDBC connection to a shared database.
New version of
JDBC_PING.Logger that delivers messages to a JDK logger
Shows how annotations can be used to expose attributes and operations
Result of a JOIN request (sent by the GMS client).
Tool to measure TCP throughput, similar to iperf
Base class for protocols implementing key exchange: a secret key to be used for encryption is exchanged between
2 parties (usually the key server and a new cluster member) securely; ie.
Generates a keystore file that has a SecretKey in it.
JGroups AuthToken Class to for Kerberos v5 authentication.
Support class that implements all the low level Kerberos security calls
Tests transfer of large states.
Policy which picks the new coordinator in a merge from the largest subview.
Cache which doesn't remove elements on remove(), removeAll() or retainAll(), but only removes elements when a
configurable size limit has been exceeded.
Lazily names threads: whenever the address or cluster name is changed, all threads are renamed
Handles the leaving of a member from a group.
Interface that defines lifecycle methods.
Discovery protocol for finding members in the local process only.
This is an assertion, checked at startup time.
A local transport is used for sending messages only to single (or all) members of the same host.
Deprecated.
See http://belaban.blogspot.com/2020/11/i-hate-distributed-locks.html.
A response to a request, to be sent back to the requester as a message
Deprecated.
See http://belaban.blogspot.com/2020/11/i-hate-distributed-locks.html.
Demos the LockService
Simple logging wrapper for log4j or JDK logging.
Logger that delivers messages to a Log4J2 logger
Factory that creates
Log instances.Message with a long as payload.
A tuple with a long (primitive) first value
Intercepts individual up messages and creates batches from them, passing the batches up.
Replaces words that start with args passed to the program with A, B, C and so on.
Indicates that a public method or a field (any visibility) in
an MBean class defines an MBean attribute.
Indicates that a method in an MBean class defines an MBean
operation.
MessageProcessingPolicy which processes regular messages and message batches by
assigning a max of 1 thread per message from the same sender.Optional annotation that exposes all public methods in the class hierarchy (excluding Object) as MBean operations.
Tests IP multicast.
Discovers all neighbors in an IP multicast environment by using expanding ring multicasts (increasing TTL).
Tests IP multicast.
Same as McastSenderTest, but uses all available interfaces (including loopback) to send the packets
Represents a membership of a cluster group.
Policy used to determine the new membership after a membership change (join, leave) or a merge.
Protocol to discover subgroups; e.g., existing due to a network partition (that healed).
Encapsulates data sent with a MERGE_RSP (handleMergeResponse()) and INSTALL_MERGE_VIEW (handleMergeView()).
ID to uniquely identify a merge
Handles merging.
A view that is sent as a result of a cluster merge.
A Message is used to send data to members of a group.
Represents a message batch; multiple messages from the same sender to the same receiver(s).
A cache associating members and messages
Provides synchronous and asynchronous message sending with request-response
correlation; i.e., matching responses with the original request.
Policy which decides how to process a received message or message batch.
Tests sending different types of
Message implementations over a given protocol stackA method call is the JGroups representation of a remote method.
Can be used by
RpcDispatcher / MethodCall to invoke a method against a given target objectExtracts all attributes and methods annotated with
ManagedAttribute and returns them
as a map of names associated with [getter-method/description tuples].Simple flow control protocol based on a credit system.
Non-blocking alternative to
MFC.Address with current time as key.
Generates addresses with current time as key.
A mock
SocketChannel for testingListens on 224.0.1.105:23364 for mod-cluster advertizements from httpd daemons and prints them to stdout
Dynamic tool to measure multicast performance of JGroups; every member sends N messages and we measure how long it
takes for all receivers to receive them.
Dynamic tool to measure multicast RPC performance of JGroups; every member invokes N RPCs and we measure how long it
takes for all receivers to receive them.
Uses its own IP multicast socket to send and receive discovery requests/responses.
Class which has all the stats about received/sent messages etc.
Tests 2 MulticastSockets joining the same multicast address and port (this should be possible).
A mutable version of Digest.
Generic receiver for a JChannel
Negative AcKnowledgement layer (NAKs).
Header used by
NAKACK2Maintains the mappings between addresses and logical names (moved out of UUID.cache into a separate class)
NIO based client for measuring heap-based vs direct byte buffers.
An NIO based impl of
ConnectionA
Message with a (heap-based or direct) ByteBuffer as payload.Server for sending and receiving messages via NIO channels.
NIO based server for measuring heap-based vs direct byte buffers.
Bundler which doesn't bundle :-) Can be used to measure the diff between bundling and non-bundling (e.g.
Detects sends during processing of incoming messages and sets flag
Message.TransientFlag.DONT_BLOCK to prevent blocking the incoming thread on a send.Non-blocking credit for a unicast destination.
A
DiagnosticsHandler.ProbeHandler that does not use reflection.Exception raised when a threadpool rejects jobs but shows no progress.
Override
ObjectInputStream.resolveClass(java.io.ObjectStreamClass) using the passed-in
classloaderA
Message with an object as payload.Wraps a primitive object (e.g.
Wraps an object and its serialized form.
Implementation of
AddressGenerator which is configured with an initial value, and
after that random values are generated.Extends
OutputStream from a ByteArrayDataOutputStream.Represents an 'owner', which is an address and thread ID
Copied from http://mechanical-sympathy.blogspot.ch/2011/08/false-sharing-java-7.html.
Parses messages out of a captured file and writes them to stdout
While investigating network errors, we would like to look for timestamp and JGroups data.
If you use `tshark ...
Decorates an output stream (
DataOutput) and writes only a subset [start..end] (both indices
inclusive) of the original data to the underlying output stream.MessageProcessingPolicy which passes regular messages and message batches up directly
(on the same thread), but passes OOB messages to the thread pool.Persistent Discovery Cache.
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.
Protocol measuring latency between stacks.
Misc stuff for performance tests
Abstract class which uses IDs for methods.
Represents a physical (as opposed to logical) address
The PING protocol retrieves the initial membership by mcasting a discovery request (via the multicast capable
transport) to all current cluster members
Encapsulates information about a cluster node, e.g.
Used to send discovery requests and responses
Simple protocol to test round trip times.
Simple protocol to test round trip times.
A policy implementation checks that a condition is met or throws an exception if not.
Discovers all UDP-based members running on a certain mcast address
A queue with many producers and consumers.
Maintains averages for time values measured between
Profiler.start() and Profiler.stop().Tests the UNICAST by invoking unicast RPCs between a sender and a receiver.
Tests the UNICAST by invoking unicast RPCs between a sender and a receiver.
Detects
Allows a thread to submit an asynchronous request and to wait for the result.
Iterates over all concrete Protocol classes and creates tables with Protocol's properties.
Represents a Protocol property assigned from corresponding field in JGroups
properties file.
Represents a property converter that takes an input from corresponding field
in JGroups properties file as a String and converts it to a matching Java
type.
Groups a set of standard PropertyConverter(s) supplied by JGroups.
Creates a list of Policy objects from a comma-separated list of classnames
The Protocol class provides a set of common services for protocol layers.
Parses and encapsulates the specification for 1 protocol of the protocol stack, e.g.
Provides hook(s) that are called when a protocol has been created
A ProtocolStack manages a number of protocols layered above each other.
Demo of a client which connects to a server (
PubServer) and sends it messages which are forwarded to all
connected clientsDiscovery protocol based on Rackspace Cloud Files storage solution
A thread safe Rackspace ReST client
Implementation of
SiteMasterPicker which picks random site masters / routes to site mastersMeasures incoming and outgoing rates: messages/sec, bytes/sec.
Protocol which sends at most max_bytes in time_period milliseconds.
Rate limiter based credits (max_bytes).
Receiver interface to be used with
BaseServer instancesDefines the callbacks that are invoked when messages, views etc are received
An impl of
Receiver.Protocols annotated with this annotation should upgrade to a newer version (e.g.
Implementation of Random Early Drop: messages are discarded when the bundler's queue in the transport nears exhaustion.
Keeps a reference to another object
Methods to get/set attributes and invoke operations of a given instance.
Matches the IP address or logical name of a joiner against a regular expression and accepts or rejects based on
pattern matching
Design: ./doc/design/RELAY2.txt and at https://github.com/belaban/JGroups/blob/master/doc/design/RELAY2.txt.
Provides relaying of messages between autonomous sites.
Parses and maintains the RELAY2 configuration (in memory)
Forwards to site 'to' via route 'gateway'.
Demos RELAY.
Demos RELAY.
Base class for all relayers
Maintains bridges and routing table.
Maintains bridges and routing table.
A
X509ExtendedKeyManager which uses a @FileWatcher to check for changes.A
X509ExtendedTrustManager which uses a @FileWatcher to check for changes.Bundler implementation which sends message batches (or single messages) as soon as the remove queue is full
(or max_bundler_size would be exceeded).
Cache which allows for replication factors per data items; the factor determines how many replicas
of a key/value we create across the cluster.
GUI demo of ReplCache
Implementation of a
ConcurrentMap with replication of the contents across a cluster.Uses the ReplicatedHashMap building block, which subclasses java.util.HashMap and overrides
the methods that modify the hashmap (e.g.
A tree-like structure that is replicated across several members.
Class used to multicast add(), remove() and set() methods to all members.
Abstract class for a unicast or multicast request
Framework to send requests and receive matching responses (on request ID).
Class which captures a bunch of options relevant to remote method invocation or message sending
Table for storing requests associated with monotonically increasing sequence numbers (seqnos).
A DynamicMBean wrapping an annotated object instance and exposing attributes annotated with @ManagedAttribute and
operations annotated with @ManagedOperation.
Manages resources such as multicast addresses and multicast ports, and TCP
ports.
Representation of an IPv4 address
Representation of an IPv6 address
A handback object shipped as a parameter to
RequestHandler.handle(Message,Response).Similar to AckCollector, but collects responses from cluster members, not just acks.
Task which is seeded with an initial membership.
Enum capturing the various response modes for RPCs
Manages responses for the discovery protocol.
Reverses the next N messages that are received.
Ring buffer of fixed capacity designed for multiple writers but only a single reader.
Bundler which uses
RingBuffer to store messages.Bundler which doesn't use locks but relies on CAS.
Lockless bundler using a reader thread which is unparked by (exactly one) writer thread.
Ring buffer, implemented with a circular array.
Ring buffer, implemented with a circular array.
Class that measure RTT for multicast messages between 2 cluster members.
Class that measure RTT for multicast messages between 2 cluster members.
Class which maintains the destination address for sending messages to a given site, and the bridge channel to do so.
Client stub that talks to a remote GossipRouter via blocking or non-blocking TCP
Manages a list of RouterStubs (e.g.
Gets notified when a site comes up or goes down
This class allows a programmer to invoke remote methods in all (or single) group members and optionally wait for
the return value(s).
Tests synchronous group RPCs.
Test for measuring performance of RPCs.
Keeps track of stats for sync and async unicasts and multicasts
Class that represents a response from a communication
Interface defining when a group request is done.
Contains responses from all members.
Protocol which implements synchronous messages (https://issues.redhat.com/browse/JGRP-1389).
Receives messages from a
RtTransport via a callback.Measures round-trip times (RTT) between nodes
Header to measure round-trip times (in nanoseconds) for sync RPCs (https://issues.redhat.com/browse/JGRP-2604)
Transport for the
RoundTrip testRuns a given function in a loop (in a separate thread) until it is stopped
Privileged actions for the package
Do not move.
A bitset of missing messages with a fixed size.
Implementation of total order protocol using a sequencer.
Implementation of total order protocol using a sequencer_uum.
Serializes the entire message (including payload, headers, flags and destination and src) into the payload of
another message that's then sent.
Common super class for CoordGmsImpl and ParticipantGmsImpl
Loopback transport shared by all channels within the same VM.
Discovery protocol running over
SHARED_LOOPBACK only.Tests the speed of message sending/receiving via shared memory.
Reorders messages by buffering them and shuffling the result after TIMEOUT ms.
ShutdownRejectedExecutionHandler is a decorator RejectedExecutionHandler used
in all JGroups ThreadPoolExecutor(s).
Bare-bones thread-per-connection TCP-based transport.
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.Address with a site suffix
Special address with the UUID part being 0: identifies the current (relay) coordinator of a given site.
Allows an implementation to pick a
SiteMaster or a Route from a list (if multiple site masters are
enabled).Maintains the status of sites (up, down, undefined).
Implementation of SiteAddress
Protocol which prints out the real size of a message.
Blocking FIFO queue bounded by the max number of bytes of all elements.
Interface implementing Streamable and returning the size of the marshalled object.
Logger that delivers messages to a SLF4J logger
Protocol trying to print message payloads as strings
Factory to create various types of sockets.
Periodically fetches some attributes and writes them to a file (https://issues.redhat.com/browse/JGRP-2402)
Key exchange based on SSL sockets.
SslContextFactory.
Computes the broadcast messages that are stable; i.e., have been delivered by all members.
STATE streams the state (written to an OutputStream) to the state requester in chunks (defined by
chunk_size).
STATE_SOCK has the state provider create a server socket to which the state
requester connects and from which the latter reads the state.STATE_TRANSFER protocol based on byte array transfer.
Wraps data for a state request/response.
StateTransferException is thrown to indicate a failure of a state transfer between cluster members.Contains parameters for state transfer.
Encapsulates the result of a state transfer.
Provides various stats
Picks a local site master or a route based on the sender and caches the decision.
Protocol which provides STOMP (https://stomp.github.io/) support.
Chat client using STOMP to talk to other clients
STOMP client to access the STOMP [1] protocol.
Simple STOMP demo client.
Implementations of Streamable can add their state directly to the output stream, enabling them to bypass costly
serialization
Base class for state transfer protocols which use streaming (or chunking) to transfer state between two members.
Default message processing policy.
Cache which keeps a timestamp and counter for every key.
Log (using
SuppressCache) which suppresses (certain) messages from the same member for a given timeThrown if a message is sent to a suspected member.
Discovery protocol based on Openstack Swift (object storage).
Supported Swift authentication providers
Contract for Swift authentication providers
Build HttpURLConnections with adequate headers and method
Result of a successfully authenticated session
Response for a Swift API call
Openstack Keytsone v2.0 authentication provider.
A thread safe Swift client
Encrypts and decrypts communication in JGroups by using a secret key shared by all cluster members.
A synchronous counter interface
A store for elements (typically messages) to be retransmitted or delivered.
TCP based protocol.
Protocol using TCP/IP to send and receive messages.
Common base class for TCP based clients and servers
Blocking IO (BIO) connection.
TCP connection which (despite the fancy name) blocks only a single thread at most.
The TCPGOSSIP protocol layer retrieves the initial membership (used by GMS when started by sending event
FIND_INITIAL_MBRS down the stack).
The TCPPING protocol defines a static cluster membership.
Class that manages allows to send and receive messages via TCP sockets.
Common functions for all tests
Maintains averages of up- and down-threads
Thread pool based on
ThreadPoolExecutorProtocol measuring delivery times.
Timer-like interface which allows for execution of tasks.
The interface that dynamic tasks
(
TimeScheduler.scheduleWithDynamicInterval(org.jgroups.util.TimeScheduler.Task)) must implementImplementation of
TimeScheduler.Provides a coarse grained time service.
Demonstrates the membership service.
Provides a cache of all sites and their members (addresses, IP addresses, site masters etc) in a network of
autonomous sites.
Originally written to be a demo for TOTAL order (code to be written by a student).
Generic transport - specific implementations should extend this abstract class.
Generic transport header, used by TP.
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.
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.
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.
Replacement for UDP.
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.
IP multicast transport based on UDP.
Dynamic tool to measure multicast performance of JGroups; every member sends N messages and we measure how long it
takes for all receivers to receive them.
Transport based on UDP datagrams.
Simple flow control protocol based on a credit system.
Non-blocking alternative to
UFC.Intercepts
Protocol.up(MessageBatch) and passes up each message of a message batch
as a single message.Same as
MaxOneThreadPerSender, but for OOB message batches, every message of the batch is passed to the
thread pool separately (https://issues.redhat.com/browse/JGRP-2800).Reliable unicast protocol using a combination of positive and negative acks.
Moved out of
UNICAST3 into separate class.Sends a request to a single target destination
Perf tests the UNICAST protocol by sending unicast messages between a sender and a receiver
Tests performance of unicast RPCs between a caller and a recipient
Same as UnicastTest, but uses pure TCP instead of JGroups
Tests the UNICAST by invoking unicast RPCs between a sender and a receiver
Same as UnicastTest, but uses pure TCP instead of JGroups
Allows a user of fork to define the handling of a message for which no fork stack or fork channel exists.
Thrown if member in different site cannot be contacted; used by RELAY2
Elements annotated with this annotation are unsupported and may get removed from the distribution at any time
Tests the UNICAST by invoking unicast RPCs between a sender and a receiver.
Provides a hook to hijack all events received by a certain channel which has installed this UpHandler.
Collection of various utility routines that can not be assigned to other classes.
Logical address which is unique over space and time.
Catches SUSPECT events traveling up the stack.
Double-checks that a suspected member is really dead.
We have 5 bits for major and minor version numbers each and 6 bits for the micro version.
A view is a local representation of the current membership of a group.
Responsible for dispatching JOIN/LEAVE/MERGE requests to the GMS protocol.
ViewIds are used for ordering views (each view has a ViewId and a list of members).
Extracts version and codename from pom.xml and writes them to ./classes/JGROUPS_VERSION.properties
This is an example of using a preshared token that is encrypted using an X509 certificate for
authentication purposes.
Annotation to add attributes to the schema created by
XMLSchemaGenerator.Uses XML to configure a protocol stack
Annotation to generate an element in the schema created by
XMLSchemaGenerator.Used to include other schemas by
XMLSchemaGenerator.A simple replacement for a W3C DOM node.
Iterates over all concrete Protocol classes and creates XML schema used for validation of configuration files.