org.jgroups.protocols |
Provides implementations of transport protocols which are
responsible for sending and receiving messages to/from the network.
|
Java Source File Name | Type | Comment |
AUTH.java | Class | |
AuthHeader.java | Class | |
AUTHTest.java | Class | |
AUTOCONF.java | Class | Senses the network configuration when it is initialized (in init()) and sends a CONFIG event up
and down the stack. |
BasicTCP.java | Class | |
BSH.java | Class | Beanshell (www.beanshell.org) interpreter class. |
CAUSAL.java | Class |
Implements casual ordering layer using vector clocks.
Causal protocol layer guarantees that if message m0 multicasted
by a process group member p0 causes process group member
p1 to multicast message p1 then all other remaining process group
members in a current view will receive messages in order m0
followed by m1.
First time encountered, causal order seems very similar to FIFO order but
there is an important distinction. |
ClientGmsImpl.java | Class | Client part of GMS. |
COMPRESS.java | Class | Compresses the payload of a message. |
CoordGmsImpl.java | Class | |
DEADLOCK.java | Class | |
DELAY.java | Class | Delays incoming/outgoing messages by a random number of milliseconds (range between 0 and n
where n is determined by the user). |
Digest.java | Class | Message digest, collecting the highest sequence number seen so far for each member, plus the
messages that have higher seqnos than the ones given. |
DISCARD.java | Class | 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. |
Discovery.java | Class | The Discovery protocol layer retrieves the initial membership (used by the GMS when started
by sending event FIND_INITIAL_MBRS down the stack). |
DUMMY.java | Class | |
DUMMY_TP.java | Class | Dummy transport, returns a fake local address and responds to CONNECT with CONNECT_OK. |
ENCRYPT.java | Class | ENCRYPT layer. |
ENCRYPT14KeystoreTest.java | Class | |
ENCRYPTAsymmetricTest.java | Class | |
EXAMPLE.java | Class | |
FC.java | Class | Simple flow control protocol based on a credit system. |
FD.java | Class | Failure detection based on simple heartbeat protocol. |
FD_ICMP.java | Class | 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_PID.java | Class | Process-ID based FD protocol. |
FD_PING.java | Class | Protocol which uses an executable (e.g. |
FD_PROB.java | Class | Probabilistic failure detection protocol based on "A Gossip-Style Failure Detection Service"
by Renesse, Minsky and Hayden.
Each member maintains a list of all other members: for each member P, 2 data are maintained, a heartbeat
counter and the time of the last increment of the counter. |
FD_SIMPLE.java | Class | Simple failure detection protocol. |
FD_SOCK.java | Class | Failure detection protocol based on sockets. |
FLOWCONTROL.java | Class | |
FLOW_CONTROL.java | Class | FLOW_CONTROL provides end-end congestion control and flow control.
Attempts to maximize through put, by minimizing the
possible block times(Forward flow control). |
FLUSH.java | Class | The task of the FLUSH protocol is to flush all pending messages out of the system. |
FlushRsp.java | Class | |
FRAG.java | Class | Fragmentation layer. |
FRAG2.java | Class | Fragmentation layer. |
FRAG2_Test.java | Class | |
FragHeader.java | Class | |
FRAG_Test.java | Class | |
GMS.java | Class | Group membership protocol. |
GmsImpl.java | Class | |
HDRS.java | Class | Example of a protocol layer. |
HTOTAL.java | Class | Implementation of UTO-TCP as designed by EPFL. |
JMS.java | Class | Implementation of the transport protocol using the Java Message Service (JMS).
This implementation depends on the JMS server that will distribute messages
published to the specific topic to all topic subscribers.
Protocol parameters are:
topicName - (required), full JNDI name of the topic to be
used for message publishing;
cf - (optional), full JNDI name of the topic connection
factory that will create topic connection, default value is
"ConnectionFactory" ;
jndiCtx - (optional), value of the
javax.naming.Context.INITIAL_CONTEXT_FACTORY property; you can
specify it as the JVM system property
-Djava.naming.factory.initial=factory.class.Name ;
providerURL - (optional), value of the
javax.naming.Context.PROVIDER_URL property; you can specify it
as the JVM system property -Djava.naming.provider.url=some_url
ttl - (required), time to live in milliseconds. |
LOOPBACK.java | Class | Makes copies of outgoing messages, swaps sender and receiver and sends the message back up the stack. |
LOSS.java | Class | Example of a protocol layer. |
MERGE.java | Class | Simple and stupid MERGE protocol (does not take into account state transfer).
Periodically mcasts a HELLO message with its own address. |
MERGE2.java | Class | Protocol to discover subgroups; e.g., existing due to a network partition (that healed). |
MERGE3.java | Class | Protocol to discover subgroups; e.g., existing due to a network partition (that healed). |
MERGEFAST.java | Class | The coordinator attaches a small header to each (or every nth) message. |
MessageProtocolEXAMPLE.java | Class | |
MPING.java | Class | Uses its own IP multicast socket to send and receive discovery requests/responses. |
NAKACK.java | Class | Negative AcKnowledgement layer (NAKs), paired with positive ACKs. |
NakAckHeader.java | Class | |
ParticipantGmsImpl.java | Class | |
PARTITIONER.java | Class | This layer can be put on top of the bottommost layer and is useful to simulate partitions. |
PERF.java | Class | Measures time taken by each protocol to process a message. |
PerfHeader.java | Class | Inserted by PERF into each message. |
PERF_TP.java | Class | |
PIGGYBACK.java | Class | Combines multiple messages into a single large one. |
PING.java | Class | The PING protocol layer retrieves the initial membership (used by the GMS when started
by sending event FIND_INITIAL_MBRS down the stack). |
PingHeader.java | Class | |
PingRsp.java | Class | |
PingSender.java | Class | |
PingWaiter.java | Class | |
PRINTMETHODS.java | Class | |
PRINTOBJS.java | Class | |
QUEUE.java | Class | Queuing layer. |
RpcProtocolEXAMPLE.java | Class | |
SEQUENCER.java | Class | Implementation of total order protocol using a sequencer. |
SHUFFLE.java | Class | This layer shuffles upcoming messages, put it just above your bottom layer. |
SIZE.java | Class | Protocol which prints out the real size of a message. |
SMACK.java | Class | Simple Multicast ACK protocol. |
STABLE.java | Class | Computes the broadcast messages that are stable; i.e., that have been received
by all members. |
STATE_TRANSFER.java | Class | |
STATE_TRANSFER_Test.java | Class | It's an attemp to setup Junit test case template for Protocol regression. |
STATS.java | Class | |
TCP.java | Class | TCP based protocol. |
TCPGOSSIP.java | Class | The TCPGOSSIP protocol layer retrieves the initial membership (used by the GMS when started
by sending event FIND_INITIAL_MBRS down the stack).
We do this by contacting one or more GossipRouters, which must be running at well-known
addresses:ports. |
TcpHeader.java | Class | |
TCPPING.java | Class | The TCPPING protocol layer retrieves the initial membership in answer to the GMS's
FIND_INITIAL_MBRS event. |
TCP_NIO.java | Class | |
TOTAL.java | Class | 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_OLD.java | Class | class SavedMessages
Stores a set of messages along with their sequence id (assigned by the sequencer). |
TOTAL_TOKEN.java | Class |
Total order implementation based on
The Totem Single-Ring Ordering and Membership Protocol.
However, this is an adaption of algorithm mentioned in the research paper above since we reuse
our own membership protocol and failure detectors. |
TP.java | Class | Generic transport - specific implementations should extend this abstract class. |
TpHeader.java | Class | Generic transport header, used by TP. |
TRACE.java | Class | |
TransportedVectorTime.java | Class | |
TUNNEL.java | Class | Replacement for UDP. |
TunnelHeader.java | Class | |
UDP.java | Class | IP multicast transport based on UDP. |
UdpHeader.java | Class | |
UDP_NIO.java | Interface | |
UNICAST.java | Class | Reliable unicast layer. |
VectorTime.java | Class | |
VERIFY_SUSPECT.java | Class | Catches SUSPECT events traveling up the stack. |
VIEW_ENFORCER.java | Class | Used by a client until it becomes a member: all up messages are discarded until a VIEW_CHANGE
is encountered. |
VIEW_SYNC.java | Class | Periodically sends the view to the group. |
WANPING.java | Class | Similar to TCPPING, except that the initial host list is specified as a list of logical pipe names. |
WANPIPE.java | Class | Logical point-to-point link. |
WanPipeAddress.java | Class | |