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

- Packages that use Protocol
  Package | Description
  --- | ---
  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
    Modifier and Type | Method and Description
    --- | ---
    `Protocol` | ProtocolTester.`getBottom()`
    `Protocol` | ProtocolTester.`getTop()`

    Methods in org.jgroups.debug that return types with arguments of type Protocol
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Vector<Protocol>` | ProtocolTester.`getProtocols()`

    Methods in org.jgroups.debug with parameters of type Protocol
    Modifier and Type | Method and Description
    --- | ---
    `void` | Simulator.`setProtocolStack(Protocol[] stack)`

    Constructors in org.jgroups.debug with parameters of type Protocol
    Constructor and Description
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Class and Description
    --- | ---
    `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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `java.util.concurrent.ConcurrentMap<java.lang.String,Protocol>` | TP.`getUpProtocols()`

    Constructors in org.jgroups.protocols with parameters of type Protocol
    Constructor and Description
    `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
    Modifier and Type | Class and Description
    --- | ---
    `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
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ProtocolStack` A ProtocolStack manages a number of protocols layered above each other.

    Fields in org.jgroups.stack declared as Protocol
    Modifier and Type | Field and Description
    --- | ---
    `protected Protocol` | Protocol.`down_prot`
    `protected Protocol` | Protocol.`up_prot`

    Methods in org.jgroups.stack that return Protocol
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Constructor and Description
    `RouterStubManager(Protocol owner, java.lang.String channelName, Address logicalAddress, long interval)`

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