Package org.jgroups.protocols


package org.jgroups.protocols
Provides implementations of transport protocols which are responsible for sending and receiving messages to/from the network.
  • Class
    Description
    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
    All messages up the stack have to go through a barrier (read lock, RL).
    Shared base class for tcpip protocols
    Broadcast PING.
    Beanshell (www.beanshell.org) interpreter class.
    This is a central executor service where each request is sent to the coordinator for either a task or a current waiting thread.
    Implementation of a locking protocol which acquires locks by contacting the coordinator.
    Compresses the payload of a message.
     
    Implementation of daisy chaining.
     
    Delays incoming/outgoing messages by a random number of milliseconds (range between 0 and n where n is determined by the user).
    Discards 2 JOIN-REQs then accepts 1, then discards 2 more and so on
    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 layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
     
    Duplicates outgoing or incoming messages by copying them
    ENCRYPT layer.
     
    Example of a protocol layer.
    This is the base protocol used for executions.
     
     
     
     
    Simple flow control protocol based on a credit system.
    Header used by various flow control protocols
    Failure detection based on simple heartbeat protocol.
    Failure detection based on simple heartbeat protocol.
     
    Protocol which uses InetAddress.isReachable() to check whether a given host is up or not, taking 1 argument; the host name of the host to be pinged.
    Protocol which uses an executable (e.g.
     
    Simple failure detection protocol.
     
    Failure detection protocol based on sockets.
     
     
    Simple discovery protocol which uses a file on shared storage such as an SMB share, NFS mount or S3.
    Simple flow control protocol based on a credit system.
    Fragmentation layer.
    Fragmentation layer.
     
    Example of a protocol layer.
    Implementation of UTO-TCP as designed by EPFL.
     
    Discovery protocol using a JDBC connection to a shared database.
    Base locking protocol, handling most of the protocol communication with other instances.
     
     
     
    Makes copies of outgoing messages, swaps sender and receiver and sends the message back up the stack.
    Protocol to discover subgroups; e.g., existing due to a network partition (that healed).
    Protocol to discover subgroups; e.g., existing due to a network partition (that healed).
     
    The coordinator attaches a small header with its view to each (or every nth) message.
     
    Simple flow control protocol based on a credit system.
    Uses its own IP multicast socket to send and receive discovery requests/responses.
    Implementation of a locking protocol which acquires locks by contacting all of the nodes of a cluster.
    Measures the time for a message to travel from the channel to the transport
    The PING protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
    Encapsulates information about a cluster node, e.g.
     
    This protocol will provide message sending and receiving prioritization.
    This Header class is used in conjunction with the PRIO protocol to prioritize message sending/receiving Priority values are from 0 to 255 where 0 is the highest priority Example of setting a message priority: // Create a message to send to everyone Message message = new Message( null, null, messagePayload ); // Add the priority protocol header PrioHeader header = new PrioHeader( 1 ); short protocolId = ClassConfigurator.getProtocolId(PRIO.class); message.putHeader( protocolId, header);
    Protocol which sends at most max_bytes in time_period milliseconds.
    Simple relaying protocol: RELAY is added to the top of the stack, creates a channel to a bridge cluster, and - if coordinator - relays all multicast messages via the bridge cluster to the remote cluster.
     
     
    Contains local and remote views, and UUID information
    Discovery protocol using Amazon's S3 storage.
    Implements https://jira.jboss.org/jira/browse/JGRP-822, which allows for concurrent delivery of messages from the same sender based on scopes.
     
     
    Implementation of total order protocol using a sequencer.
     
    Deprecated.
     
    Loopback transport shared by all channels within the same VM.
    Reorders messages by buffering them and shuffling the result after TIMEOUT ms.
    Protocol which prints out the real size of a message.
    Simple Multicast ACK protocol.
     
    Provides various stats
    Protocol which provides STOMP (http://stomp.codehaus.org/) support.
     
     
     
     
     
    TCP based protocol.
    Transport using NIO
    The TCPGOSSIP protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
    The TCPPING protocol layer retrieves the initial membership in answer to the GMS's FIND_INITIAL_MBRS event.
    Generic transport - specific implementations should extend this abstract class.
     
     
    Used when the transport is shared (singleton_name is not null).
    Generic transport header, used by TP.
     
    Lighweight representation of the VectorTime clock suitable for network transport
    Replacement for UDP.
     
    IP multicast transport based on UDP.
    Simple flow control protocol based on a credit system.
    Reliable unicast layer.
    The following types and fields are serialized:
    Reliable unicast layer.
    The following types and fields are serialized:
    Catches SUSPECT events traveling up the stack.
     
    Periodically sends the view to the group.