Package org.jgroups.protocols

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

Interface Summary

QUEUE.Observer

Class Summary

AUTOCONF Senses the network configuration when it is initialized (in init()) and sends a CONFIG event up and down the stack.
BSH Beanshell (www.beanshell.org) interpreter class.
BSH.BshHeader
CAUSAL Implements casual ordering layer using vector clocks.
CAUSAL.CausalHeader
ClientGmsImpl Client part of GMS.
CoordGmsImpl
COMPRESS Compresses the payload of a message.
COMPRESS.CompressHeader
DEADLOCKTests the deadlock detection mechanism of RequestCorrelator.
DELAY Delays incoming/outgoing messages by a random number of milliseconds (range between 0 and n where n is determined by the user).
Digest Message digest, collecting the highest sequence number seen so far for each member, plus the messages that have higher seqnos than the ones given.
Discovery The Discovery protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
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.
DUMMY
DUMMY_TP Dummy transport, returns a fake local address and responds to CONNECT with CONNECT_OK.
ENCRYPT ENCRYPT layer.
ENCRYPT.EncryptHeader
ENCRYPT1_4 ENCRYPT1_4 layer.
ENCRYPT1_4.EncryptHeader
EXAMPLE Example of a protocol layer.
FC Simple flow control protocol based on a credit system.
FC.FcHeader
FD Failure detection based on simple heartbeat protocol.
FD.FdHeader
FD_PID Process-ID based FD protocol.
FD_PID.FdHeader
FD_PROB Probabilistic failure detection protocol based on "A Gossip-Style Failure Detection Service" by Renesse, Minsky and Hayden.
FD_PROB.FdHeader
FD_SIMPLE Simple failure detection protocol.
FD_SIMPLE.FdHeader
FD_SOCK Failure detection protocol based on sockets.
FD_SOCK.FdHeader
FlushRsp
FLOWCONTROL Title: Flow control layer Description: This layer limits the number of sent messages without a receive of an own message to MAXSENTMSGS, just put this layer above GMS and you will get a more Copyright: Copyright (c) 2000 Company: Computer Network Laboratory
FLOW_CONTROL FLOW_CONTROL provides end-end congestion control and flow control.
FLUSHThe task of the FLUSH protocol is to flush all pending messages out of the system.
FragHeader
FRAG Fragmentation layer.
FRAG2 Fragmentation layer.
GmsImpl
GMS Group membership protocol.
HDRS Example of a protocol layer.
HTOTAL Implementation of UTO-TCP as designed by EPFL.
HTOTAL.HTotalHeader
JMS Implementation of the transport protocol using the Java Message Service (JMS).
JMS.JMSAddress Simple Address representing the JMS node ID or JMS topic group.
LOOPBACKMakes copies of outgoing messages, swaps sender and receiver and sends the message back up the stack.
LOSS Example of a protocol layer.
MessageProtocolEXAMPLE
MERGE Simple and stupid MERGE protocol (does not take into account state transfer).
MERGE.MergeHeader
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 to each (or every nth) message.
MERGEFAST.MergefastHeader
MPING Uses its own IP multicast socket to send and receive discovery requests/responses.
NAKACK Negative AcKnowledgement layer (NAKs), paired with positive ACKs.
NakAckHeader
PARTITIONER This layer can be put on top of the bottommost layer and is useful to simulate partitions.
PARTITIONER.PartitionerHeader The Partitioner header normally (type = NORMAL) contains just the partition number that is checked to discard messages received from other partitions.
ParticipantGmsImpl
PerfHeader Inserted by PERF into each message.
PERF Measures time taken by each protocol to process a message.
PERF_TP Measures the time for a message to travel from the channel to the transport
PingHeader
PingRsp
PingSender Sends num_ping_request GET_MBRS_REQ messages, distributed over timeout ms
PingWaiter Class that waits for n PingRsp'es, or m milliseconds to return the initial membership
PIGGYBACK Combines multiple messages into a single large one.
PIGGYBACK.PiggybackHeader
PING The PING protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
PRINTMETHODS
PRINTOBJS
QUEUE Queuing layer.
RpcProtocolEXAMPLE
SHUFFLE This layer shuffles upcoming messages, put it just above your bottom layer.
SIZE Protocol which prints out the real size of a message.
SMACK Simple Multicast ACK protocol.
SMACK.SmackHeader
STABLE Computes the broadcast messages that are stable; i.e., that have been received by all members.
STATE_TRANSFER State transfer layer.
STATS Provides various stats
TcpHeader
TCP TCP based protocol.
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.
TCP_NIO
TOTAL Implements the total ordering layer using a message sequencer

The protocol guarantees that all bcast sent messages will be delivered in the same order to all members.

TOTAL.Header The header processed by the TOTAL layer and intended for TOTAL inter-stack communication
TOTAL_OLD ************************************************************************** class TOTAL_OLD extends Protocol

TODO: (more comments) Sequencer based total ordering protocol layer - requires the following layers "below" it in the stack (or layers with equivalent functionality): GMS, FD, PING, UDP, ...

TOTAL_OLD.TotalHeader class TotalHeader

The header that is prepended to every message passed down through the TOTAL_OLD layer and removed (and processed) from every message passed up through the TOTAL_OLD layer

TOTAL_TOKEN Total order implementation based on The Totem Single-Ring Ordering and Membership Protocol.
TOTAL_TOKEN.RingTokenHeader
TOTAL_TOKEN.TotalTokenHeader
TpHeader Generic transport header, used by TP.
TP Generic transport - specific implementations should extend this abstract class.
TransportedVectorTime Lighweight representation of the VectorTime clock suitable for network transport
TRACE
TunnelHeader
TUNNEL Replacement for UDP.
UdpHeader
UDP IP multicast transport based on UDP.
UDP.UcastReceiver
UDP_NIO Multicast transport.
UDP_NIO.Connector Manages a multicast and unicast socket on a given interface (NIC).
UDP_NIO.ConnectorTableManages a bunch of Connectors
UDP_NIO.MulticastReceiver
UDP_NIO.MyReceiver
UDP_NIO.Unmarshaller
UNICAST Reliable unicast layer.
UNICAST.UnicastHeader
VectorTime Vector timestamp used in CAUSAL order protocol stack
VERIFY_SUSPECT Catches SUSPECT events traveling up the stack.
VERIFY_SUSPECT.VerifyHeader
VIEW_ENFORCER Used by a client until it becomes a member: all up messages are discarded until a VIEW_CHANGE is encountered.
VIEW_SYNC Periodically sends the view to the group.
VIEW_SYNC.ViewSyncHeader
WANPING Similar to TCPPING, except that the initial host list is specified as a list of logical pipe names.
WANPIPELogical point-to-point link.
WANPIPE.WanPipeHeader
WanPipeAddress Logical address for a WAN pipe (logical link)
Provides implementations of transport protocols which are responsible for sending and receiving messages to/from the network.

Copyright B) 1998-2005 Bela Ban. All Rights Reserved.