## Package org.jgroups.protocols

Provides implementations of transport protocols which are responsible for sending and receiving messages to/from the network.

See:
Description

Interface Summary
TP.Bundler
TP.ProbeHandler
TUNNEL.TUNNELPolicy

Class Summary
AUTH: The AUTH protocol adds a layer of authentication to JGroups
AuthHeader: AuthHeader is a holder object for the token that is passed from the joiner to the coordinator
BARRIER: All messages up the stack have to go through a barrier (read lock, RL).
BasicTCP: Shared base class for tcpip protocols
BPING: Broadcast PING.
BSH: Beanshell (www.beanshell.org) interpreter class.
CENTRAL_EXECUTOR: This is a central executor service where each request is sent to the coordinator for either a task or a current waiting thread.
CENTRAL_LOCK: Implementation of a locking protocol which acquires locks by contacting the coordinator.
COMPRESS: Compresses the payload of a message.
COMPRESS.CompressHeader
DAISYCHAIN: Implementation of daisy chaining.
DAISYCHAIN.DaisyHeader
DELAY: Delays incoming/outgoing messages by a random number of milliseconds (range between 0 and n where n is determined by the user).
DELAY_JOIN_REQ: Discards 2 JOIN-REQs then accepts 1, then discards 2 more and so on
DISCARD: 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.
DISCARD_PAYLOAD: Discards a message whose sequence number (in the payload, as a Long) matches seqno 2 times, before passing it down.
DISCARD.DiscardHeader
Discovery: The Discovery protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
Discovery.Responses
DUPL: Duplicates outgoing or incoming messages by copying them
ENCRYPT: ENCRYPT layer.
ENCRYPT.EncryptHeader
EXAMPLE: Example of a protocol layer.
Executing: This is the base protocol used for executions.
Executing.ExecutorHeader
Executing.Owner
Executing.Request
FC: Simple flow control protocol based on a credit system.
FcHeader: Header used by various flow control protocols
FD: Failure detection based on simple heartbeat protocol.
FD_ALL: Failure detection based on simple heartbeat protocol.
FD_ALL.HeartbeatHeader
FD_ICMP: 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.
FD_PING: Protocol which uses an executable (e.g.
FD_PING.Pinger
FD_SIMPLE: Simple failure detection protocol.
FD_SIMPLE.FdHeader
FD_SOCK: Failure detection protocol based on sockets.
FD_SOCK.FdHeader
FD.FdHeader
FILE_PING: Simple discovery protocol which uses a file on shared storage such as an SMB share, NFS mount or S3.
FlowControl: Simple flow control protocol based on a credit system.
FRAG: Fragmentation layer.
FRAG2: Fragmentation layer.
FragHeader
HDRS: Example of a protocol layer.
HTOTAL: Implementation of UTO-TCP as designed by EPFL.
HTOTAL.HTotalHeader
JDBC_PING: Discovery protocol using a JDBC connection to a shared database.
Locking: Base locking protocol, handling most of the protocol communication with other instances.
Locking.LockingHeader
Locking.Request
LOOPBACK: Makes copies of outgoing messages, swaps sender and receiver and sends the message back up the stack.
MERGE2: Protocol to discover subgroups; e.g., existing due to a network partition (that healed).
MERGE3: Protocol to discover subgroups; e.g., existing due to a network partition (that healed).
MERGE3.CoordAnnouncement
MERGEFAST: The coordinator attaches a small header with its view to each (or every nth) message.
MERGEFAST.MergefastHeader
MFC: Simple flow control protocol based on a credit system.
MPING: Uses its own IP multicast socket to send and receive discovery requests/responses.
PEER_LOCK: Implementation of a locking protocol which acquires locks by contacting all of the nodes of a cluster.
PERF_TP: Measures the time for a message to travel from the channel to the transport
PING: The PING protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
PingData: Encapsulates information about a cluster node, e.g.
PingHeader
PRIO: This protocol will provide message sending and receiving prioritization.

PrioHeader

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);`

RATE_LIMITER: Protocol which sends at most max_bytes in time_period milliseconds.
RELAY: 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. This is not a big virtual cluster, e.g.
RELAY.RelayHeader
RELAY.ViewData: Contains local and remote views, and UUID information
S3_PING: Discovery protocol using Amazon's S3 storage.
SCOPE: Implements https://jira.jboss.org/jira/browse/JGRP-822, which allows for concurrent delivery of messages from the same sender based on scopes.
SCOPE.MessageQueue
SCOPE.ScopeHeader
SEQUENCER: Implementation of total order protocol using a sequencer.
SEQUENCER.SequencerHeader
SFC: Deprecated.
SFC.Header
SHARED_LOOPBACK: Loopback transport shared by all channels within the same VM.
SHUFFLE: Reorders messages by buffering them and shuffling the result after TIMEOUT ms.
SIZE: Protocol which prints out the real size of a message.
SMACK: Simple Multicast ACK protocol.
SMACK.SmackHeader
STATS: Provides various stats
STOMP: Protocol which provides STOMP (http://stomp.codehaus.org/) support.
STOMP.Frame
STOMP.StompHeader
TCP: TCP based protocol.
TCP_NIO: Transport using NIO
TCPGOSSIP: The TCPGOSSIP protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
TCPPING: The TCPPING protocol layer retrieves the initial membership in answer to the GMS's FIND_INITIAL_MBRS event.
TP: Generic transport - specific implementations should extend this abstract class.
TP.ProtocolAdapter: Used when the transport is shared (singleton_name is not null).
TpHeader: Generic transport header, used by TP.
TRACE
TransportedVectorTime: Lighweight representation of the VectorTime clock suitable for network transport
TUNNEL: Replacement for UDP.
UDP: IP multicast transport based on UDP.
UFC: Simple flow control protocol based on a credit system.
UNICAST: Reliable unicast layer.
UNICAST.UnicastHeader: The following types and fields are serialized:
UNICAST2: Reliable unicast layer.
UNICAST2.Unicast2Header: The following types and fields are serialized:
VERIFY_SUSPECT: Catches SUSPECT events traveling up the stack.
VERIFY_SUSPECT.VerifyHeader
VIEW_SYNC: Periodically sends the view to the group.
VIEW_SYNC.ViewSyncHeader

Enum Summary
Executing.Type
Locking.Type
RELAY.RelayHeader.Type
STOMP.ClientVerb
STOMP.ServerVerb
STOMP.StompHeader.Type

## Package org.jgroups.protocols Description

Provides implementations of transport protocols which are responsible for sending and receiving messages to/from the network.

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