Package | Description |
---|---|
org.jgroups |
Provides top-level public JGroups classes such as Channel, Message, etc.
|
org.jgroups.blocks |
Provides building blocks that are layered on top of channels.
|
org.jgroups.fork | |
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.dns | |
org.jgroups.protocols.pbcast |
Supports probabilistic broadcasts.
|
org.jgroups.protocols.relay | |
org.jgroups.protocols.relay.config | |
org.jgroups.protocols.rules | |
org.jgroups.protocols.tom | |
org.jgroups.stack |
Support for managing protocol stacks.
|
org.jgroups.tests | |
org.jgroups.util |
Provides useful functionality which cannot be assigned to any particular other package.
|
Constructor and Description |
---|
JChannel(Protocol... protocols)
Creates a channel from an array of protocols.
|
Constructor and Description |
---|
JChannel(Collection<Protocol> protocols)
Deprecated.
Use
JChannel.JChannel(List) instead |
JChannel(List<Protocol> protocols)
Creates a channel from a list of protocols.
|
Modifier and Type | Field and Description |
---|---|
protected Protocol |
RequestCorrelator.transport
The protocol layer to use to pass up/down messages.
|
Modifier and Type | Method and Description |
---|---|
protected static RequestCorrelator |
MessageDispatcher.createRequestCorrelator(Protocol transport,
RequestHandler handler,
Address local_addr) |
Constructor and Description |
---|
RequestCorrelator(Protocol transport,
RequestHandler handler,
Address local_addr) |
RequestCorrelator(short corr_id,
Protocol transport,
RequestHandler handler,
Address local_addr)
Constructor.
|
Modifier and Type | Class and Description |
---|---|
class |
ForkProtocol
Acts as bottom protocol of a fork-stack.
|
class |
ForkProtocolStack
Protocol stack which maintains the mapping between fork-channel IDs and ForkChannels
|
Modifier and Type | Field and Description |
---|---|
protected List<Protocol> |
ForkProtocolStack.protocols |
Modifier and Type | Method and Description |
---|---|
List<Protocol> |
ForkProtocolStack.getProtocols() |
Modifier and Type | Method and Description |
---|---|
protected static FORK |
ForkChannel.getFORK(JChannel ch,
ProtocolStack.Position position,
Class<? extends Protocol> neighbor,
boolean create_fork_if_absent)
Creates a new FORK protocol, or returns the existing one, or throws an exception.
|
Constructor and Description |
---|
ForkChannel(JChannel main_channel,
String fork_stack_id,
String fork_channel_id,
boolean create_fork_if_absent,
ProtocolStack.Position position,
Class<? extends Protocol> neighbor,
Protocol... protocols)
Creates a new fork-channel from a main-channel.
|
ForkChannel(JChannel main_channel,
String fork_stack_id,
String fork_channel_id,
Protocol... protocols)
Creates a new fork-channel from a main-channel.
|
Constructor and Description |
---|
ForkChannel(JChannel main_channel,
String fork_stack_id,
String fork_channel_id,
boolean create_fork_if_absent,
ProtocolStack.Position position,
Class<? extends Protocol> neighbor,
Protocol... protocols)
Creates a new fork-channel from a main-channel.
|
ForkProtocolStack(UnknownForkHandler unknownForkHandler,
List<Protocol> protocols,
String fork_stack_id) |
Modifier and Type | Method and Description |
---|---|
static DynamicMBean |
JmxConfigurator.wrap(Protocol p)
Wrap Protocol with DynamicMBean interface.
|
Modifier and Type | Class and Description |
---|---|
class |
ABP
Alternating Bit Protocol.
|
class |
ASYM_ENCRYPT
Encrypts and decrypts communication in JGroups by using a secret key distributed to all cluster members by the
key server (coordinator) using asymmetric (public/private key) encryption.
The secret key is identical for all cluster members and is used to encrypt messages when sending and decrypt them when receiving messages. |
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 TCP protocols
|
class |
BPING
Broadcast PING.
|
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 |
CLEAR_FLAGS
Protocol which clears the given flags in the down direction for all messages
|
class |
COMPRESS
Compresses the payload of a message.
|
class |
COUNTER
Protocol which is used by
CounterService to provide a distributed atomic counter |
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) and nanoseconds (constant amount).
|
class |
DELIVERY_TIME
Protocol measuring delivery times.
|
class |
DH_KEY_EXCHANGE
Key exchange based on Diffie-Hellman-Merkle (https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange).
Diffie-Hellman is used between a member and a key server (the coordinator) to obtain a session key (only known to the key server and the joiner) which is used by the key server to encrypt the shared secret symmetric (group) key and by the requester to decrypt the group key it gets in the response of the key server. |
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 retrieves the initial membership (used by GMS and MERGE3) by sending discovery requests.
|
class |
DROP
Protocol which drops up or down messages according to user-defined filters
|
class |
DUPL
Duplicates outgoing or incoming messages by copying them
|
class |
Encrypt<E extends KeyStore.Entry>
Super class of symmetric (
SYM_ENCRYPT ) and asymmetric (ASYM_ENCRYPT ) encryption protocols. |
class |
EXAMPLE
Example of a protocol layer.
|
class |
Executing
This is the base protocol used for executions.
|
class |
FD
Failure detection based on simple heartbeat protocol.
|
class |
FD_ALL
Failure detection based on simple heartbeat protocol.
|
class |
FD_ALL2
Failure detection based on simple heartbeat protocol.
|
class |
FD_HOST
Failure detection protocol which detects the crash or hanging of entire hosts and suspects all cluster members
on those hosts.
|
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 |
FORK
The FORK protocol; multiplexes messages to different forks in a stack (https://issues.jboss.org/browse/JGRP-1613).
|
class |
FORWARD_TO_COORD
Forwards a message to the current coordinator.
|
class |
FRAG
Fragmentation layer.
|
class |
FRAG2
Fragmentation layer.
|
class |
FRAG3
Fragmentation protocol which uses less memory to store fragments than
FRAG2 .When a message is fragmented, all fragments carry the size of the original message, their offset and length with respect to the original message and a fragment ID (to identify the fragment). When the first fragment is received, the full message is created and each fragment copies its data into the full message at its offset and length. |
class |
GOOGLE_PING
Deprecated.
Use GOOGLE_PING2 instead: https://github.com/jgroups-extras/jgroups-google
|
class |
HDRS
Prints the headers of all sent or received messages
|
class |
INJECT_VIEW
Simple protocol to inject an arbitrary view on one or more cluster nodes.
|
class |
JDBC_PING
Discovery protocol using a JDBC connection to a shared database.
|
class |
KeyExchange
Base class for protocols implementing key exchange: a secret key to be used for encryption is exchanged between
2 parties (usually the key server and a new cluster member) securely; ie.
|
class |
Locking
Base locking protocol, handling most of the protocol communication with other instances.
|
class |
MAKE_BATCH
Intercepts individual up messages and creates batches from them, passing the batches up.
|
class |
MERGE3
Protocol to discover subgroups; e.g., existing due to a network partition (that healed).
|
class |
MFC
Simple flow control protocol based on a credit system.
|
class |
MFC_NB
Non-blocking alternative to
MFC .JIRA: JIRA: https://issues.jboss.org/browse/JGRP-2172 |
class |
MPING
Uses its own IP multicast socket to send and receive discovery requests/responses.
|
class |
MULTI_PING
Protocol to invoke multiple discovery protocols in the same stack.
|
class |
NAMING
Maintains mappings between addresses and logical names.
|
class |
PDC
Persistent Discovery Cache.
|
class |
PERF
Protocol measuring latency between stacks.
|
class |
PING
The PING protocol retrieves the initial membership by mcasting a discovery request (via the multicast capable
transport) to all current cluster members
The responses should allow us to determine the coordinator which we have to contact, e.g.
|
class |
RACKSPACE_PING
Discovery protocol based on Rackspace Cloud Files storage solution
|
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 |
RSVP
Protocol which implements synchronous messages (https://issues.jboss.org/browse/JGRP-1389).
|
class |
S3_PING
Deprecated.
Use NATIVE_S3_PING (https://github.com/jgroups-extras/native-s3-ping) instead.
S3_PING will be removed in 5.0.
|
class |
SASL
The SASL protocol implements authentication and, if requested by the mech, encryption
|
class |
SEQUENCER
Implementation of total order protocol using a sequencer.
|
class |
SEQUENCER2
Implementation of total order protocol using a sequencer_uum.
|
class |
SHARED_LOOPBACK
Loopback transport shared by all channels within the same VM.
|
class |
SHARED_LOOPBACK_PING
Discovery protocol running over
SHARED_LOOPBACK only. |
class |
SHUFFLE
Reorders messages by buffering them and shuffling the result after TIMEOUT ms.
|
class |
SimpleTCP
Bare-bones thread-per-connection TCP-based transport.
|
class |
SIZE
Protocol which prints out the real size of a message.
|
class |
SNIFF
Protocol trying to print message payloads as strings
|
class |
SSL_KEY_EXCHANGE
Key exchange based on SSL sockets.
|
class |
STATS
Provides various stats
|
class |
STOMP
Protocol which provides STOMP (http://stomp.codehaus.org/) support.
|
class |
SWIFT_PING
Discovery protocol based on Openstack Swift (object storage).
|
class |
SYM_ENCRYPT
Encrypts and decrypts communication in JGroups by using a secret key shared by all cluster members.
|
class |
TCP
TCP based protocol.
|
class |
TCP_NIO2
Protocol using TCP/IP to send and receive messages.
|
class |
TCPGOSSIP
The TCPGOSSIP protocol layer retrieves the initial membership (used by GMS when started by sending event
FIND_INITIAL_MBRS down the stack).
|
class |
TCPPING
The TCPPING protocol defines a static cluster membership.
|
class |
TP
Generic transport - specific implementations should extend this abstract class.
|
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 |
UFC_NB
Non-blocking alternative to
UFC .JIRA: https://issues.jboss.org/browse/JGRP-2172 |
class |
UNICAST3
Reliable unicast protocol using a combination of positive and negative acks.
|
class |
VERIFY_SUSPECT
Catches SUSPECT events traveling up the stack.
|
Modifier and Type | Field and Description |
---|---|
protected ConcurrentMap<String,Protocol> |
FORK.fork_stacks |
Modifier and Type | Method and Description |
---|---|
protected <T extends Protocol> |
KeyExchange.findProtocolAbove(Class<? extends Protocol> clazz) |
<T extends Protocol> |
UNICAST3.setLevel(String level) |
<T extends Protocol> |
TP.setLevel(String level) |
Modifier and Type | Method and Description |
---|---|
Protocol |
FORK.get(String fork_stack_id) |
Protocol |
FORK.putIfAbsent(String fork_stack_id,
Protocol prot) |
Modifier and Type | Method and Description |
---|---|
protected static List<Protocol> |
FORK.createProtocols(ProtocolStack stack,
List<ProtocolConfiguration> protocol_configs)
Creates a fork-stack from the configuration, initializes all protocols (setting values),
sets the protocol stack as top protocol, connects the protocols and calls init() on them.
|
Modifier and Type | Method and Description |
---|---|
static ForkProtocolStack |
FORK.getForkStack(Protocol prot) |
protected void |
FORK.getStateFrom(JChannel channel,
Protocol prot,
String stack,
String ch,
DataOutputStream out) |
Protocol |
FORK.putIfAbsent(String fork_stack_id,
Protocol prot) |
Modifier and Type | Method and Description |
---|---|
ProtocolStack |
FORK.createForkStack(String fork_stack_id,
List<Protocol> protocols,
boolean initialize)
Returns the fork stack for fork_stack_id (if exitstent), or creates a new fork-stack from protocols and adds it
into the hashmap of fork-stack (key is fork_stack_id).
|
protected <T extends Protocol> |
KeyExchange.findProtocolAbove(Class<? extends Protocol> clazz) |
Modifier and Type | Class and Description |
---|---|
class |
DNS_PING |
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 |
NAKACK2
Negative AcKnowledgement layer (NAKs).
|
class |
STABLE
Computes the broadcast messages that are stable; i.e., have been delivered by all members.
|
class |
STATE
STATE streams the state (written to an OutputStream) to the state requester in chunks (defined by
chunk_size).
|
class |
STATE_SOCK
STATE_SOCK has the state provider create a server socket to which the state
requester connects and from which the latter reads the state. |
class |
STATE_TRANSFER
STATE_TRANSFER protocol based on byte array transfer.
|
class |
StreamingStateTransfer
Base class for state transfer protocols which use streaming (or chunking) to transfer state between two members.
|
Modifier and Type | Method and Description |
---|---|
<T extends Protocol> |
NAKACK2.setLevel(String level) |
Modifier and Type | Class and Description |
---|---|
class |
RELAY2
Design: ./doc/design/RELAY2.txt and at https://github.com/belaban/JGroups/blob/master/doc/design/RELAY2.txt.
JIRA: https://issues.jboss.org/browse/JGRP-1433
|
Modifier and Type | Field and Description |
---|---|
protected Protocol[] |
RelayConfig.ProgrammaticBridgeConfig.protocols |
Modifier and Type | Method and Description |
---|---|
protected static String |
RelayConfig.ProgrammaticBridgeConfig.printProtocols(Protocol[] protocols) |
Constructor and Description |
---|
ProgrammaticBridgeConfig(String cluster_name,
Protocol[] prots) |
Modifier and Type | Class and Description |
---|---|
class |
SUPERVISOR
Protocol which supervises other protocols.
|
Modifier and Type | Class and Description |
---|---|
class |
TOA
Total Order Anycast with three communication steps (based on Skeen's Algorithm).
|
Modifier and Type | Class and Description |
---|---|
class |
ProtocolStack
A ProtocolStack manages a number of protocols layered above each other.
|
Modifier and Type | Field and Description |
---|---|
protected Protocol |
ProtocolStack.bottom_prot |
protected Protocol |
Protocol.down_prot |
protected Protocol |
RouterStubManager.owner |
protected Protocol |
ProtocolStack.top_prot |
protected Protocol |
Protocol.up_prot |
Modifier and Type | Method and Description |
---|---|
<T extends Protocol> |
ProtocolStack.findProtocol(Class<? extends Protocol>... classes)
Finds the first protocol of a list and returns it.
|
<T extends Protocol> |
ProtocolStack.findProtocol(Class<? extends Protocol> clazz) |
<T extends Protocol> |
ProtocolStack.findProtocol(String name)
Returns a given protocol or null if not found
|
<T extends Protocol> |
ProtocolStack.findProtocols(String regexp) |
<T extends Protocol> |
ProtocolStack.getBottomProtocol() |
<T extends Protocol> |
Protocol.getDownProtocol() |
<T extends Protocol> |
Protocol.getUpProtocol() |
<T extends Protocol> |
Protocol.level(String level) |
<T extends Protocol> |
ProtocolStack.removeProtocol(Class<? extends Protocol>... protocols) |
<T extends Protocol> |
ProtocolStack.removeProtocol(Class<? extends Protocol> prot) |
<T extends Protocol> |
ProtocolStack.removeProtocol(String prot_name)
Removes a protocol from the stack.
|
<T extends Protocol> |
ProtocolStack.removeProtocol(T prot) |
<T extends Protocol> |
Protocol.setDownProtocol(Protocol prot) |
<T extends Protocol> |
Protocol.setErgonomics(boolean ergonomics) |
<T extends Protocol> |
Protocol.setId(short id) |
<T extends Protocol> |
Protocol.setLevel(String level)
Sets the level of a logger.
|
<T extends Protocol> |
Protocol.setProperties(Map<String,String> properties)
Resolves and applies the specified properties to this protocol.
|
<T extends Protocol> |
Protocol.setProtocolStack(ProtocolStack s) |
<T extends Protocol> |
Protocol.setUpProtocol(Protocol prot) |
<T extends Protocol> |
Protocol.setValue(String name,
Object value) |
Modifier and Type | Method and Description |
---|---|
static Protocol |
Configurator.connectProtocols(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(String classname) |
static Protocol |
Configurator.createProtocol(String prot_spec,
ProtocolStack stack)
Creates a new protocol given the protocol specification.
|
Protocol |
ProtocolStack.getTopProtocol() |
Protocol |
Configurator.setupProtocolStack(List<ProtocolConfiguration> config) |
static Protocol |
Configurator.setupProtocolStack(List<ProtocolConfiguration> protocol_configs,
ProtocolStack st)
The configuration string has a number of entries, separated by a ':' (colon).
|
Protocol |
Configurator.setupProtocolStack(ProtocolStack copySource) |
Modifier and Type | Method and Description |
---|---|
List<Protocol> |
ProtocolStack.copyProtocols(ProtocolStack targetStack) |
static List<Protocol> |
Configurator.createProtocols(List<ProtocolConfiguration> protocol_configs,
ProtocolStack stack)
Takes vector of ProtocolConfigurations, iterates through it, creates Protocol for
each ProtocolConfiguration and returns all Protocols in a list.
|
List<Protocol> |
ProtocolStack.getProtocols()
Returns all protocols in a list, from top to bottom.
|
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
|
void |
ProtocolHook.afterCreation(Protocol prot)
Called after all protocols have been created, connected and its attributes set, but
before
init() is called. |
ProtocolStack |
ProtocolStack.bottomProtocol(Protocol bottom) |
protected static void |
ProtocolStack.callAfterCreationHook(Protocol prot,
String classname) |
static RouterStubManager |
RouterStubManager.emptyGossipClientStubManager(Protocol p) |
static Object |
Configurator.getValueFromProtocol(Protocol protocol,
Field field) |
static Object |
Configurator.getValueFromProtocol(Protocol protocol,
String field_name) |
void |
ProtocolStack.insertProtocol(Protocol prot,
ProtocolStack.Position position,
Class<? extends Protocol>... neighbor_prots) |
void |
ProtocolStack.insertProtocol(Protocol prot,
ProtocolStack.Position position,
Class<? extends Protocol> neighbor_prot) |
void |
ProtocolStack.insertProtocol(Protocol prot,
ProtocolStack.Position position,
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,
ProtocolStack.Position position) |
protected static void |
Configurator.removeProvidedDownServices(Protocol protocol,
List<Integer> events)
Removes all events provided by the protocol above protocol from events
|
protected static void |
Configurator.removeProvidedUpServices(Protocol protocol,
List<Integer> events)
Removes all events provided by the protocol below protocol from events
|
void |
ProtocolStack.replaceProtocol(Protocol existing_prot,
Protocol new_prot)
Replaces one protocol instance with another.
|
<T extends Protocol> |
Protocol.setDownProtocol(Protocol prot) |
<T extends Protocol> |
Protocol.setUpProtocol(Protocol prot) |
ProtocolStack |
ProtocolStack.topProtocol(Protocol top) |
Modifier and Type | Method and Description |
---|---|
ProtocolStack |
ProtocolStack.addProtocols(List<Protocol> prots)
Adds a list of protocols
|
static Protocol |
Configurator.connectProtocols(List<Protocol> protocol_list)
Creates a protocol stack by iterating through the protocol list and connecting
adjacent layers.
|
static Map<String,Map<String,Configurator.InetAddressInfo>> |
Configurator.createInetAddressMap(List<ProtocolConfiguration> protocol_configs,
List<Protocol> protocols) |
static void |
Configurator.ensureValidBindAddresses(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
|
<T extends Protocol> |
ProtocolStack.findProtocol(Class<? extends Protocol> clazz) |
static List<InetAddress> |
Configurator.getInetAddresses(List<Protocol> protocols) |
void |
ProtocolStack.insertProtocol(Protocol prot,
ProtocolStack.Position position,
Class<? extends Protocol> neighbor_prot) |
<T extends Protocol> |
ProtocolStack.removeProtocol(Class<? extends Protocol> prot) |
static void |
Configurator.sanityCheck(List<Protocol> protocols)
Throws an exception if sanity check fails.
|
static void |
Configurator.setDefaultValues(List<Protocol> protocols) |
static void |
Configurator.setDefaultValues(List<Protocol> protocols,
StackType ip_version) |
static void |
Configurator.setDefaultValues(List<ProtocolConfiguration> protocol_configs,
List<Protocol> protocols,
StackType ip_version) |
Constructor and Description |
---|
RouterStubManager(Protocol owner,
String cluster_name,
Address local_addr,
String logical_name,
PhysicalAddress phys_addr,
long interval) |
Modifier and Type | Method and Description |
---|---|
protected static Protocol[] |
UnicastTestSharedLoopback.props() |
Modifier and Type | Method and Description |
---|---|
void |
UnicastTest.init(Protocol[] props,
long sleep_time,
String name) |
Modifier and Type | Field and Description |
---|---|
protected Protocol |
ForwardQueue.down_prot |
protected Protocol |
ForwardQueue.up_prot |
Modifier and Type | Method and Description |
---|---|
Protocol |
ForwardQueue.getDownProt() |
static Protocol[] |
Util.getTestStack(Protocol... additional_protocols)
Returns a default stack for testing with transport = SHARED_LOOPBACK
|
Protocol |
ForwardQueue.getUpProt() |
Modifier and Type | Method and Description |
---|---|
static Protocol[] |
Util.getTestStack(Protocol... additional_protocols)
Returns a default stack for testing with transport = SHARED_LOOPBACK
|
void |
ForwardQueue.setDownProt(Protocol down_prot) |
void |
ForwardQueue.setUpProt(Protocol up_prot) |
Copyright © 2018 JBoss, a division of Red Hat. All rights reserved.