## Uses of Class
org.jgroups.stack.Protocol

Packages that use Protocol
org.jgroups.debug: Provides debug support, including testing, profiling, and a graphical view of a protocol stack.
org.jgroups.jmx
org.jgroups.protocols: Provides implementations of transport protocols which are responsible for sending and receiving messages to/from the network.
org.jgroups.protocols.pbcast: Supports probabilistic broadcasts.
org.jgroups.stack: Support for managing protocol stacks.

Uses of Protocol in org.jgroups.debug

Methods in org.jgroups.debug that return Protocol
`Protocol` `ProtocolTester.getBottom()`
`Protocol` `ProtocolTester.getTop()`

Methods in org.jgroups.debug that return types with arguments of type Protocol
`java.util.Vector<Protocol>` `ProtocolTester.getProtocols()`

Methods in org.jgroups.debug with parameters of type Protocol
`void` `Simulator.setProtocolStack(Protocol[] stack)`

Constructors in org.jgroups.debug with parameters of type Protocol
`ProtocolTester(java.lang.String prot_spec, Protocol harness)`

Uses of Protocol in org.jgroups.jmx

Methods in org.jgroups.jmx with parameters of type Protocol
`javax.management.DynamicMBean` `JmxConfigurator.asDynamicMBean(Protocol p)` Deprecated.
`static javax.management.DynamicMBean` `JmxConfigurator.wrap(Protocol p)` Wrap Protocol with DynamicMBean interface.

Uses of Protocol in org.jgroups.protocols

Subclasses of Protocol in org.jgroups.protocols
`class` `AUTH` The AUTH protocol adds a layer of authentication to JGroups
`class` `BARRIER` All messages up the stack have to go through a barrier (read lock, RL).
`class` `BasicTCP` Shared base class for tcpip protocols
`class` `BPING` Broadcast PING.
`class` `BSH` Beanshell (www.beanshell.org) interpreter class.
`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.
`class` `CENTRAL_LOCK` Implementation of a locking protocol which acquires locks by contacting the coordinator.
`class` `COMPRESS` Compresses the payload of a message.
`class` `DAISYCHAIN` Implementation of daisy chaining.
`class` `DELAY` Delays incoming/outgoing messages by a random number of milliseconds (range between 0 and n where n is determined by the user).
`class` `DELAY_JOIN_REQ` Discards 2 JOIN-REQs then accepts 1, then discards 2 more and so on
`class` `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.
`class` `DISCARD_PAYLOAD` Discards a message whose sequence number (in the payload, as a Long) matches seqno 2 times, before passing it down.
`class` `Discovery` The Discovery protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
`class` `DUPL` Duplicates outgoing or incoming messages by copying them
`class` `ENCRYPT` ENCRYPT layer.
`class` `EXAMPLE` Example of a protocol layer.
`class` `Executing` This is the base protocol used for executions.
`class` `FC` Simple flow control protocol based on a credit system.
`class` `FD` Failure detection based on simple heartbeat protocol.
`class` `FD_ALL` Failure detection based on simple heartbeat protocol.
`class` `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.
`class` `FD_PING` Protocol which uses an executable (e.g.
`class` `FD_SIMPLE` Simple failure detection protocol.
`class` `FD_SOCK` Failure detection protocol based on sockets.
`class` `FILE_PING` Simple discovery protocol which uses a file on shared storage such as an SMB share, NFS mount or S3.
`class` `FlowControl` Simple flow control protocol based on a credit system.
`class` `FRAG` Fragmentation layer.
`class` `FRAG2` Fragmentation layer.
`class` `HDRS` Example of a protocol layer.
`class` `HTOTAL` Implementation of UTO-TCP as designed by EPFL.
`class` `JDBC_PING` Discovery protocol using a JDBC connection to a shared database.
`class` `Locking` Base locking protocol, handling most of the protocol communication with other instances.
`class` `LOOPBACK` Makes copies of outgoing messages, swaps sender and receiver and sends the message back up the stack.
`class` `MERGE2` Protocol to discover subgroups; e.g., existing due to a network partition (that healed).
`class` `MERGE3` Protocol to discover subgroups; e.g., existing due to a network partition (that healed).
`class` `MERGEFAST` The coordinator attaches a small header with its view to each (or every nth) message.
`class` `MFC` Simple flow control protocol based on a credit system.
`class` `MPING` Uses its own IP multicast socket to send and receive discovery requests/responses.
`class` `PEER_LOCK` Implementation of a locking protocol which acquires locks by contacting all of the nodes of a cluster.
`class` `PERF_TP` Measures the time for a message to travel from the channel to the transport
`class` `PING` The PING protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
`class` `PRIO` This protocol will provide message sending and receiving prioritization.
`class` `RATE_LIMITER` Protocol which sends at most max_bytes in time_period milliseconds.
`class` `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.
`class` `S3_PING` Discovery protocol using Amazon's S3 storage.
`class` `SCOPE` Implements https://jira.jboss.org/jira/browse/JGRP-822, which allows for concurrent delivery of messages from the same sender based on scopes.
`class` `SEQUENCER` Implementation of total order protocol using a sequencer.
`class` `SFC` Deprecated.
`class` `SHARED_LOOPBACK` Loopback transport shared by all channels within the same VM.
`class` `SHUFFLE` Reorders messages by buffering them and shuffling the result after TIMEOUT ms.
`class` `SIZE` Protocol which prints out the real size of a message.
`class` `SMACK` Simple Multicast ACK protocol.
`class` `STATS` Provides various stats
`class` `STOMP` Protocol which provides STOMP (http://stomp.codehaus.org/) support.
`class` `TCP` TCP based protocol.
`class` `TCP_NIO` Transport using NIO
`class` `TCPGOSSIP` The TCPGOSSIP protocol layer retrieves the initial membership (used by the GMS when started by sending event FIND_INITIAL_MBRS down the stack).
`class` `TCPPING` The TCPPING protocol layer retrieves the initial membership in answer to the GMS's FIND_INITIAL_MBRS event.
`class` `TP` Generic transport - specific implementations should extend this abstract class.
`static class` `TP.ProtocolAdapter` Used when the transport is shared (singleton_name is not null).
`class` `TRACE`
`class` `TUNNEL` Replacement for UDP.
`class` `UDP` IP multicast transport based on UDP.
`class` `UFC` Simple flow control protocol based on a credit system.
`class` `UNICAST` Reliable unicast layer.
`class` `UNICAST2` Reliable unicast layer.
`class` `VERIFY_SUSPECT` Catches SUSPECT events traveling up the stack.
`class` `VIEW_SYNC` Periodically sends the view to the group.

Fields in org.jgroups.protocols with type parameters of type Protocol
`protected java.util.concurrent.ConcurrentMap<java.lang.String,Protocol>` `TP.up_prots` If singleton_name is enabled, this map is used to de-multiplex incoming messages according to their cluster names (attached to the message by the transport anyway).

Methods in org.jgroups.protocols that return types with arguments of type Protocol
`java.util.concurrent.ConcurrentMap<java.lang.String,Protocol>` `TP.getUpProtocols()`

Constructors in org.jgroups.protocols with parameters of type Protocol
`TP.ProtocolAdapter(java.lang.String cluster_name, Address local_addr, short transport_id, Protocol up, Protocol down, java.lang.String pattern)`

Uses of Protocol in org.jgroups.protocols.pbcast

Subclasses of Protocol in org.jgroups.protocols.pbcast
`class` `FLUSH` Flush, as it name implies, forces group members to flush their pending messages while blocking them to send any additional messages.
`class` `GMS` Group membership protocol.
`class` `NAKACK` Negative AcKnowledgement layer (NAKs).
`class` `STABLE` Computes the broadcast messages that are stable; i.e., have been received by all members.
`class` `STATE_TRANSFER` STATE_TRANSFER protocol based on byte array transfer.
`class` `STREAMING_STATE_TRANSFER` `STREAMING_STATE_TRANSFER`, as its name implies, allows a streaming state transfer between two channel instances.

Uses of Protocol in org.jgroups.stack

Subclasses of Protocol in org.jgroups.stack
`class` `ProtocolStack` A ProtocolStack manages a number of protocols layered above each other.

Fields in org.jgroups.stack declared as Protocol
`protected Protocol` `Protocol.down_prot`
`protected Protocol` `Protocol.up_prot`

Methods in org.jgroups.stack that return Protocol
`static Protocol` `Configurator.connectProtocols(java.util.List<Protocol> protocol_list)` Creates a protocol stack by iterating through the protocol list and connecting adjacent layers.
`protected static Protocol` `Configurator.createLayer(ProtocolStack stack, ProtocolConfiguration config)`
`protected Protocol` `ProtocolStack.createProtocol(java.lang.String classname)`
`static Protocol` `Configurator.createProtocol(java.lang.String prot_spec, ProtocolStack stack)` Creates a new protocol given the protocol specification.
`Protocol` `ProtocolStack.findProtocol(java.lang.Class<?>... classes)` Finds the first protocol of a list and returns it.
`Protocol` `ProtocolStack.findProtocol(java.lang.Class<?> clazz)`
`Protocol` `ProtocolStack.findProtocol(java.lang.String name)` Returns a given protocol or null if not found
`Protocol` `ProtocolStack.getBottomProtocol()`
`Protocol` `Protocol.getDownProtocol()`
`Protocol` `ProtocolStack.getTopProtocol()`
`Protocol` `Protocol.getUpProtocol()`
`Protocol` `ProtocolStack.removeProtocol(java.lang.Class... protocols)`
`Protocol` `ProtocolStack.removeProtocol(java.lang.Class prot)`
`Protocol` `ProtocolStack.removeProtocol(java.lang.String prot_name)` Removes a protocol from the stack.
`Protocol` `Configurator.setupProtocolStack(java.util.List<ProtocolConfiguration> config)`
`Protocol` `Configurator.setupProtocolStack(ProtocolStack copySource)`
`Protocol` `Protocol.setValue(java.lang.String name, java.lang.Object value)`
`Protocol` `Protocol.setValues(java.util.Map<java.lang.String,java.lang.Object> values)`

Methods in org.jgroups.stack that return types with arguments of type Protocol
`java.util.List<Protocol>` `ProtocolStack.copyProtocols(ProtocolStack targetStack)`
`java.util.List<Protocol>` `ProtocolStack.getProtocols()` Returns all protocols in a list, from top to bottom.

Methods in org.jgroups.stack with parameters of type Protocol
`ProtocolStack` `ProtocolStack.addProtocol(Protocol prot)` Adds a protocol at the tail of the protocol list
`ProtocolStack` `ProtocolStack.addProtocols(Protocol... prots)` Adds a list of protocols
`static RouterStubManager` `RouterStubManager.emptyGossipClientStubManager(Protocol p)`
`static java.lang.Object` `Configurator.getValueFromProtocol(Protocol protocol, java.lang.reflect.Field field)`
`static java.lang.Object` `Configurator.getValueFromProtocol(Protocol protocol, java.lang.String field_name)`
`void` `ProtocolStack.insertProtocol(Protocol prot, int position, java.lang.Class<? extends Protocol>... neighbor_prots)`
`void` `ProtocolStack.insertProtocol(Protocol prot, int position, java.lang.Class<? extends Protocol> neighbor_prot)`
`void` `ProtocolStack.insertProtocol(Protocol prot, int position, java.lang.String neighbor_prot)` Inserts an already created (and initialized) protocol into the protocol list.
`void` `ProtocolStack.insertProtocolAtTop(Protocol prot)`
`void` `ProtocolStack.insertProtocolInStack(Protocol prot, Protocol neighbor, int position)`
`void` `Protocol.setDownProtocol(Protocol down_prot)`
`void` `Protocol.setUpProtocol(Protocol up_prot)`

Method parameters in org.jgroups.stack with type arguments of type Protocol
`ProtocolStack` `ProtocolStack.addProtocols(java.util.List<Protocol> prots)` Adds a list of protocols
`static Protocol` `Configurator.connectProtocols(java.util.List<Protocol> protocol_list)` Creates a protocol stack by iterating through the protocol list and connecting adjacent layers.
`static java.util.Map<java.lang.String,java.util.Map<java.lang.String,Configurator.InetAddressInfo>>` `Configurator.createInetAddressMap(java.util.List<ProtocolConfiguration> protocol_configs, java.util.List<Protocol> protocols)`
`static void` `Configurator.ensureValidBindAddresses(java.util.List<Protocol> protocols)` Makes sure that all fields annotated with @LocalAddress is (1) an InetAddress and (2) a valid address on any local network interface
`static java.util.List<java.net.InetAddress>` `Configurator.getInetAddresses(java.util.List<Protocol> protocols)`
`void` `ProtocolStack.insertProtocol(Protocol prot, int position, java.lang.Class<? extends Protocol> neighbor_prot)`
`static void` `Configurator.sanityCheck(java.util.List<Protocol> protocols)` Throws an exception if sanity check fails.
`static void` `Configurator.setDefaultValues(java.util.List<Protocol> protocols)`
`static void` `Configurator.setDefaultValues(java.util.List<Protocol> protocols, StackType ip_version)`
`static void` `Configurator.setDefaultValues(java.util.List<ProtocolConfiguration> protocol_configs, java.util.List<Protocol> protocols, StackType ip_version)`

Constructors in org.jgroups.stack with parameters of type Protocol
`RouterStubManager(Protocol owner, java.lang.String channelName, Address logicalAddress, long interval)`

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