# 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
  Interface | Description
  --- | ---
  TP.Bundler |
  TP.ProbeHandler |
  TUNNEL.TUNNELPolicy |

- Class Summary
  Class | Description
  --- | ---
  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
  Enum | Description
  --- | ---
  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.