Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The bind address which should be used by the server socket. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKIf set, then endpoint will be set to this addressPort on which the STOMP protocol listens for requestsIf set to false, then a destination of /a/b match /a/b/c, a/b/d, a/b/c/d etcIf true, information such as a list of endpoints, or views, will be sent to all clients (via the INFO command). This allows for example intelligent clients to connect to a different server should a connection be closed.Forward received messages which don't have a StompHeader to clientsDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The max number of outgoing messages that can get queued for a given peer connection (before dropping them). Most messages will ge retransmitted; this is mainly used at startup, e.g. to prevent dropped discovery requests or responses (sent unreliably, without retransmission).If true, a partial write will make a copy of the data so a buffer can be reusedNumber of ms a reader thread on a given connection can be idle (not receiving any messages) until it terminates. New messages will start a new readerReaper interval in msec. Default is 0 (no reaping)Max time connection can be idle before being reaped (in ms)Should separate send queues be used for each connectionMax number of messages in a send queueReceiver buffer size in bytesSend buffer size in bytesMax time allowed for a socket creation in connection tableMax time to block on reading of peer addressShould TCP no delay flag be turned onSO_LINGER in msec. Default of -1 disables itThe address of a local network interface which should be used by client sockets to bind to. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKThe local port a client socket should bind to. If 0, an ephemeral port will be picked.If true, client sockets will not explicitly bind to bind_addr but will defer to the native socketThe bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-addressUse "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.Used to map the internal port (bind_port) to an external port. Only used if > 0The interface (NIC) which should be used by this transportIf true, the transport should use all available interfaces to receive multicast messagesComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onMax number of elements in the logical address cache before eviction startsTime (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe range of valid ports, from bind_port to end_port. 0 only binds to bind_port and fails if takenMessages to self are looped back immediately if trueWhether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningDiscard packets with a different version if trueThread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"Switch for enabling thread pool for OOB messages. Default=trueMinimum thread pool size for the OOB thread poolMax thread pool size for the OOB thread poolTimeout in ms to remove idle threads from the OOB poolUse queue to enqueue incoming OOB messagesMaximum queue size for incoming OOB messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunMinimum thread pool size for the regular thread poolMaximum thread pool size for the regular thread poolTimeout in milliseconds to remove idle thread from regular poolSwitch for enabling thread pool for regular messagesQueue to enqueue incoming regular messagesMaximum queue size for incoming regular messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunSwitch for enabling thread pool for internal messagesMinimum thread pool size for the internal thread poolMaximum thread pool size for the internal thread poolTimeout in ms to remove idle threads from the internal poolQueue to enqueue incoming internal messagesMaximum queue size for incoming internal messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunType of timer to be used. Valid values are "old" (DefaultTimeScheduler, used up to 2.10), "new" or "new2" (TimeScheduler2), "new3" (TimeScheduler3) and "wheel". Note that this property might disappear in future releases, if one of the 3 timers is chosen as default timerMinimum thread pool size for the timer thread poolMax thread pool size for the timer thread poolTimeout in ms to remove idle threads from the timer poolMax number of elements on a timer queueTimer rejection policy. Possible values are Abort, Discard, DiscardOldest and RunNumber of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Interval (in ms) at which the time service updates its timestamp. 0 disables the time serviceEnable bundling of smaller messages into bigger ones. Default is trueEnable bundling of smaller messages into bigger ones for unicast messages. Default is trueAllows the transport to pass received message batches up as MessagesBatch instances (up(MessageBatch)), rather than individual messages. This flag will be removed in a future version when batching has been implemented by all protocolsWhether or not messages with DONT_BUNDLE set should be ignored by default (JGRP-1737). This property will be removed in a future release, so don't use itSwitch to enable diagnostic probing. Default is trueAddress for diagnostic probing. Default is 224.0.75.75Comma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toPort for diagnostic probing. Default is 7500TTL of the diagnostics multicast socketAuthorization passcode for diagnostics. If specified every probe query will be authorizedIf assigned enable this transport to be a singleton (shared) transportwhether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTimeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apartMax number of attempts to fetch a physical address (when not in the cache) before giving upTime during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Maximum number of bytes for messages to be queued until they are sentMax number of milliseconds until queued messages are sentThe type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"The max number of elements in a bundler if the bundler supports size limitationsPool size of buffers for marshalling in NoBundlerThe initial size of each buffer (in bytes)Number of spins before a real lock is acquiredThe wait strategy for a RingBufferDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time in milliseconds to block for an RSVP'ed message (0 blocks forever).Whether an exception should be thrown when the timeout kicks in, and we haven't yet received all acks. An exception would be thrown all the way up to JChannel.send(). If we use RSVP_NB, this will be ignored.When true, we pass the message up to the application and only then send an ack. When false, we send an ack first and only then pass the message up to the application.Interval (in milliseconds) at which we resend the RSVP request. Needs to be < timeout. 0 disables it.Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The absolute path of the shared fileInterval (in milliseconds) at which the own Address is written. 0 disables it.If true, on a view change, the new coordinator removes files from old coordinatorsIf true, on a view change, the new coordinator removes all files except its ownThe max number of times my own information should be written to the DB after a view changeInterval (in ms) at which the info writer should kick inTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Points to an XML file defining the fork-stacks, which will be created at initialization. Ignored if nullIf enabled, state transfer events will be processed, else they will be passed upDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Minimum time in ms before sending an info messageInterval (in milliseconds) when the next info message will be sent. A random value is picked from range [1..max_interval]The max number of merge participants to be involved in a merge. 0 sets this to unlimited.If true, only coordinators periodically check view consistency, otherwise everybody runs this task (https://issues.jboss.org/browse/JGRP-2092). Might get removed without notice.Interval (in ms) after which we check for view inconsistenciesDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max number of bytes to send per receiver until an ack must be received to proceedMax time (in ms) to blockThe threshold (as a percentage of max_credits) at which a receiver sends more credits to a sender. Example: if max_credits is 1'000'000, and min_threshold 0.25, then we send ca. 250'000 credits to P once we've got only 250'000 credits left for P (we've received 750'000 bytes from P)Computed as max_credits x min_theshold unless explicitly setDoes not block a down message if it is a result of handling an up message in thesame thread. Fixes JGRP-928Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackMax times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"logger level (see javadocs)Thread naming pattern for threads in this channel. Default is clTime in milliseconds after which an expired scope will get removed. An expired scope is one to which no messages have been added in max_expiration_time milliseconds. 0 never expires scopesInterval in milliseconds at which the expiry task tries to remove expired scopesDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackMinimum thread pool size for the regular thread poolMaximum thread pool size for the regular thread poolTimeout in milliseconds to remove idle thread from regular poollogger level (see javadocs)Interval at which a HEARTBEAT is sent to the clusterTimeout after which a node P is suspected if neither a heartbeat nor data were received from PInterval at which the HEARTBEAT timeouts are checkedTreat messages received from members as heartbeats. Note that this means we're updating a value in a hashmap every time a message is passing up the stack through FD_ALL, which is costly. Default is falseUses TimeService to get the current time rather than System.currentTimeMillis. Might get removed soon, don't use !Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The name of the AWS serverThe port at which AWS is listeningWhether or not to use SSL to connect to host:portThe access key to AWS (S3)The secret access key to AWS (S3)When non-null, we set location to prefix-UUIDWhen non-null, we use this pre-signed URL for PUTsWhen non-null, we use this pre-signed URL for DELETEsSkip the code which checks if a bucket exists in initializationThe absolute path of the shared fileInterval (in milliseconds) at which the own Address is written. 0 disables it.If true, on a view change, the new coordinator removes files from old coordinatorsIf true, on a view change, the new coordinator removes all files except its ownThe max number of times my own information should be written to the DB after a view changeInterval (in ms) at which the info writer should kick inTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)handle multicast messageshandle unicast messagesTime to sleep (in ms) from the reception of the first message to sending a batch upDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max number of bytes to send per receiver until an ack must be received to proceedMax time (in ms) to blockThe threshold (as a percentage of max_credits) at which a receiver sends more credits to a sender. Example: if max_credits is 1'000'000, and min_threshold 0.25, then we send ca. 250'000 credits to P once we've got only 250'000 credits left for P (we've received 750'000 bytes from P)Computed as max_credits x min_theshold unless explicitly setDoes not block a down message if it is a result of handling an up message in thesame thread. Fixes JGRP-928Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackMax times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"logger level (see javadocs)The name of the JAAS login module to use to obtain a subject for creating the SASL client and server (optional). Only required by some SASL mechs (e.g. GSSAPI)The name to use when a node is acting as a client (i.e. it is not the coordinator. Will also be used to obtain the subject if using a JAAS login moduleThe password to use when a node is acting as a client (i.e. it is not the coordinator. Will also be used to obtain the subject if using a JAAS login moduleThe name of the mech to require for authentication. Can be any mech supported by your local SASL provider. The JDK comes standard with CRAM-MD5, DIGEST-MD5, GSSAPI, NTLMProperties specific to the chosen mechThe fully qualified server nameHow long to wait (in ms) for a response to a challengeThe CallbackHandler to use when a node acts as a client (i.e. it is not the coordinatorThe CallbackHandler to use when a node acts as a server (i.e. it is the coordinatorDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Interval at which a HEARTBEAT is sent to the clusterTimeout after which a node P is suspected if neither a heartbeat nor data were received from PInterval at which the HEARTBEAT timeouts are checkedTreat messages received from members as heartbeats. Note that this means we're updating a value in a hashmap every time a message is passing up the stack through FD_ALL2, which is costly. Default is falseDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The NIC on which the ServerSocket should listen on. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKUse "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.Used to map the internal port (bind_port) to an external port. Only used if > 0The interface (NIC) which should be used by this transportTimeout for getting socket cache from coordinatorMax number of elements in the cache until deleted elements are removedMax age (in ms) an element marked as removed has to have until it is removedInterval for broadcasting suspect messagesNumber of attempts coordinator is solicited for socket cache until we give upStart port for server socket. Default value of 0 picks a random portStart port for client socket. Default value of 0 picks a random portNumber of ports to probe for start_port and client_bind_portWhether to use KEEP_ALIVE on the ping socket or not. Default is trueMax time in millis to wait for ping Socket.connect() to returnDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Timeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of backups to the coordinator. Queue State gets replicated to these nodes as wellbypasses message bundling if setDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The number of miliseconds to sleep before after an error occurs before sending the next messagetrue to prioritize outgoing messagestrue to prioritize incoming messagesDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The absolute path of the directory for the disk cache. The mappings will be stored as individual files in this directoryDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)bypasses message bundling if setNumber of locks to be used for lock striping (for synchronized access to the server_lock entries)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max number of bytes to send per receiver until an ack must be received to proceed. Default is 500000 bytesMax time (in milliseconds) to block. Default is 5000 msecThe threshold (as a percentage of max_credits) at which a receiver sends more credits to a sender. Example: if max_credits is 1'000'000, and min_threshold 0.25, then we send ca. 250'000 credits to P once we've received 250'000 bytes from PComputed as max_credits x min_theshold unless explicitly setDoes not block a down message if it is a result of handling an up message in thesame thread. Fixes JGRP-928Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackMax times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"logger level (see javadocs)Authentication urlAuthentication typeOpenstack Keystone tenant nameUsernamePasswordName of the root containerThe absolute path of the shared fileInterval (in milliseconds) at which the own Address is written. 0 disables it.If true, on a view change, the new coordinator removes files from old coordinatorsIf true, on a view change, the new coordinator removes all files except its ownThe max number of times my own information should be written to the DB after a view changeInterval (in ms) at which the info writer should kick inTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Rackspace usernameRackspace API access keyRackspace region, either UK or USName of the root containerThe absolute path of the shared fileInterval (in milliseconds) at which the own Address is written. 0 disables it.If true, on a view change, the new coordinator removes files from old coordinatorsIf true, on a view change, the new coordinator removes all files except its ownThe max number of times my own information should be written to the DB after a view changeInterval (in ms) at which the info writer should kick inTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max number of messages to be removed from a retransmit window. This property might get removed anytime, so don't use it !Time (in milliseconds) after which an idle incoming or outgoing connection is closed. The connection will get re-established when used again. 0 disables connection reapingTime (in ms) until a connection marked to be closed will get removed. 0 disables thisNumber of rows of the matrix in the retransmission table (only for experts)Number of elements of a row of the matrix in the retransmission table; gets rounded to the next power of 2 (only for experts). The capacity of the matrix is xmit_table_num_rows * xmit_table_msgs_per_rowResize factor of the matrix in the retransmission table (only for experts)Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)Interval (in milliseconds) at which messages in the send windows are resentIf true, trashes warnings about retransmission messages not found in the xmit_table (used for testing)Send an ack for a batch immediately instead of using a delayed ackSend an ack immediately when a batch of ack_threshold (or more) messages is received. Otherwise send delayed acks. If 1, ack single messages (similar to UNICAST)Min time (in ms) to elapse for successive SEND_FIRST_SEQNO messages to be sent to the same senderMax number of messages to ask for in a retransmit request. 0 disables this and uses the max bundle size in the transportDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackMax number of milliseconds we try to retransmit a message to any given member. After that, the connection is removed. Any new connection to that member will start with seqno #1 again. 0 disables thislogger level (see javadocs)Minimum time in ms between runs to discover other clustersMaximum time in ms between runs to discover other clustersNumber of inconsistent views with only 1 coord after a MERGE event is sent upWhen receiving a multicast message, checks if the sender is member of the cluster. If not, initiates a merge. Generates a lot of traffic for large clusters when there is a lot of mergingThe delay (in milliseconds) after which a merge fast execution is startedAlways sends a discovery response, no matter whatTime (in ms) to wait for all discovery responsesDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackDo join or merge responses from the coordinator also need to be authenticatedThe fully qualified name of the class implementing the AuthToken interfacelogger level (see javadocs)Enables printing of down messagesEnables printing of up (received) messagesDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Reaper interval in msec. Default is 0 (no reaping)Max time connection can be idle before being reaped (in ms)Should separate send queues be used for each connectionMax number of messages in a send queueReceiver buffer size in bytesSend buffer size in bytesMax time allowed for a socket creation in connection tableMax time to block on reading of peer addressShould TCP no delay flag be turned onSO_LINGER in msec. Default of -1 disables itThe address of a local network interface which should be used by client sockets to bind to. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKThe local port a client socket should bind to. If 0, an ephemeral port will be picked.If true, client sockets will not explicitly bind to bind_addr but will defer to the native socketThe bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-addressUse "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.Used to map the internal port (bind_port) to an external port. Only used if > 0The interface (NIC) which should be used by this transportIf true, the transport should use all available interfaces to receive multicast messagesComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onMax number of elements in the logical address cache before eviction startsTime (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe range of valid ports, from bind_port to end_port. 0 only binds to bind_port and fails if takenMessages to self are looped back immediately if trueWhether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningDiscard packets with a different version if trueThread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"Switch for enabling thread pool for OOB messages. Default=trueMinimum thread pool size for the OOB thread poolMax thread pool size for the OOB thread poolTimeout in ms to remove idle threads from the OOB poolUse queue to enqueue incoming OOB messagesMaximum queue size for incoming OOB messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunMinimum thread pool size for the regular thread poolMaximum thread pool size for the regular thread poolTimeout in milliseconds to remove idle thread from regular poolSwitch for enabling thread pool for regular messagesQueue to enqueue incoming regular messagesMaximum queue size for incoming regular messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunSwitch for enabling thread pool for internal messagesMinimum thread pool size for the internal thread poolMaximum thread pool size for the internal thread poolTimeout in ms to remove idle threads from the internal poolQueue to enqueue incoming internal messagesMaximum queue size for incoming internal messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunType of timer to be used. Valid values are "old" (DefaultTimeScheduler, used up to 2.10), "new" or "new2" (TimeScheduler2), "new3" (TimeScheduler3) and "wheel". Note that this property might disappear in future releases, if one of the 3 timers is chosen as default timerMinimum thread pool size for the timer thread poolMax thread pool size for the timer thread poolTimeout in ms to remove idle threads from the timer poolMax number of elements on a timer queueTimer rejection policy. Possible values are Abort, Discard, DiscardOldest and RunNumber of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Interval (in ms) at which the time service updates its timestamp. 0 disables the time serviceEnable bundling of smaller messages into bigger ones. Default is trueEnable bundling of smaller messages into bigger ones for unicast messages. Default is trueAllows the transport to pass received message batches up as MessagesBatch instances (up(MessageBatch)), rather than individual messages. This flag will be removed in a future version when batching has been implemented by all protocolsWhether or not messages with DONT_BUNDLE set should be ignored by default (JGRP-1737). This property will be removed in a future release, so don't use itSwitch to enable diagnostic probing. Default is trueAddress for diagnostic probing. Default is 224.0.75.75Comma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toPort for diagnostic probing. Default is 7500TTL of the diagnostics multicast socketAuthorization passcode for diagnostics. If specified every probe query will be authorizedIf assigned enable this transport to be a singleton (shared) transportwhether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTimeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apartMax number of attempts to fetch a physical address (when not in the cache) before giving upTime during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Maximum number of bytes for messages to be queued until they are sentMax number of milliseconds until queued messages are sentThe type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"The max number of elements in a bundler if the bundler supports size limitationsPool size of buffers for marshalling in NoBundlerThe initial size of each buffer (in bytes)Number of spins before a real lock is acquiredThe wait strategy for a RingBufferDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Interval (in ms) at which a sent msg is resentDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Upper bound of number of milliseconds to delay passing a message up the stack (exclusive)Upper bound number of milliseconds to delay passing a message down the stack (exclusive)Number of nanoseconds to delay passing a message up the stackNumber of nanoseconds to delay passing a message down the stackKeep the delay constant. By default delay time randoms between 0 and upper boundDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max number of bytes to be sent in time_period ms. Blocks the sender if exceeded until a new time period has startedNumber of milliseconds during which max_bytes bytes can be sentDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)When a member leaves the view, change the secret key, preventing old members from eavesdroppingCryptographic Service ProviderCipher engine transformation for asymmetric algorithm. Default is RSACipher engine transformation for symmetric algorithm. Default is AESInitial public/private key length. Default is 512Initial key length for matching symmetric algorithm. Default is 128Number of ciphers in the pool to parallelize encrypt and decrypt requestsIf true, the entire message (including payload and headers) is encrypted, else only the payloadIf true, all messages are digitally signed by adding an encrypted checksum of the encrypted message to the header. Ignored if encrypt_entire_message is falseWhen sign_msgs is true, by default CRC32 is used to create the checksum. If use_adler is true, Adler32 will be usedMax number of keys in key_mapDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of samples to maintain for rolling averageDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of additional ports to be probed for membership. A port_range of 0 does not probe additional ports. Example: initial_hosts=A[7800] port_range=0 probes A:7800, port_range=1 probes A:7800 and A:7801Comma delimited list of hosts to be contacted for initial membershipmax number of hosts to keep beyond the ones in initial_hostsTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of copies of each incoming message (0=no copies)Number of copies of each outgoing message (0=no copies)Whether or not to copy unicast messagesWhether or not to copy multicast messagesDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of backups to the coordinator. Server locks get replicated to these nodes as wellBy default, a lock owner is address:thread-id. If false, we only use the node's address. See https://issues.jboss.org/browse/JGRP-1886 for detailsbypasses message bundling if setNumber of locks to be used for lock striping (for synchronized access to the server_lock entries)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The command used to check a given host for liveness. Example: "ping". If null, InetAddress.isReachable() will be used by defaultMax time (in ms) after which a host is suspected if it failed all liveness checksThe interval (in ms) at which the hosts are checked for livenessMax time (in ms) that a liveness check for a single host can takeUses TimeService to get the current time rather than System.currentTimeMillis. Might get removed soon, don't use !Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The max number of bytes in a message. Larger messages will be fragmented. Default is 8192 bytesDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)max number of messages before we bundlemax time (ms) before we pass the bundled messages up or downDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Loop back multicast messagesThe number of messages in the forward queue. This queue is used to host messages that need to be forwarded by us on behalf of our neighborThe number of messages in the send queue. This queue is used to host messages that need to be sentDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Description of the local cluster, e.g. "nyc". This is added to every address, so itshould be short. This is a mandatory property and must be setProperties of the bridge cluster (e.g. tcp.xml)Name of the bridge clusterIf set to false, don't perform relaying. Used e.g. for backup clusters; unidirectional replication from one cluster to another, but not back. Can be changed at runtimeDrops views received from below and instead generates global views and passes them up. A global view consists of the local view and the remote view, ordered by view ID. If true, no protocolwhich requires (local) views can sit on top of RELAYDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Timeout to suspect a node P if neither a heartbeat nor data were received from P.Number of times to send an are-you-alive messageTreat messages received from members as heartbeats. Note that this means we're updating a value in a hashmap every time a message is passing up the stack through FD, which is costly.Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Interval in msec to attempt connecting back to router in case of torn connection. Default is 5000 msecShould TCP no delay flag be turned onWhether to use blocking (false) or non-blocking (true) connections. If GossipRouter is used, this needs to be false; if GossipRouterNio is used, it needs to be trueThe bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-addressUse "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.Used to map the internal port (bind_port) to an external port. Only used if > 0The interface (NIC) which should be used by this transportIf true, the transport should use all available interfaces to receive multicast messagesComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onMax number of elements in the logical address cache before eviction startsTime (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe range of valid ports, from bind_port to end_port. 0 only binds to bind_port and fails if takenMessages to self are looped back immediately if trueWhether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningDiscard packets with a different version if trueThread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"Switch for enabling thread pool for OOB messages. Default=trueMinimum thread pool size for the OOB thread poolMax thread pool size for the OOB thread poolTimeout in ms to remove idle threads from the OOB poolUse queue to enqueue incoming OOB messagesMaximum queue size for incoming OOB messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunMinimum thread pool size for the regular thread poolMaximum thread pool size for the regular thread poolTimeout in milliseconds to remove idle thread from regular poolSwitch for enabling thread pool for regular messagesQueue to enqueue incoming regular messagesMaximum queue size for incoming regular messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunSwitch for enabling thread pool for internal messagesMinimum thread pool size for the internal thread poolMaximum thread pool size for the internal thread poolTimeout in ms to remove idle threads from the internal poolQueue to enqueue incoming internal messagesMaximum queue size for incoming internal messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunType of timer to be used. Valid values are "old" (DefaultTimeScheduler, used up to 2.10), "new" or "new2" (TimeScheduler2), "new3" (TimeScheduler3) and "wheel". Note that this property might disappear in future releases, if one of the 3 timers is chosen as default timerMinimum thread pool size for the timer thread poolMax thread pool size for the timer thread poolTimeout in ms to remove idle threads from the timer poolMax number of elements on a timer queueTimer rejection policy. Possible values are Abort, Discard, DiscardOldest and RunNumber of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Interval (in ms) at which the time service updates its timestamp. 0 disables the time serviceEnable bundling of smaller messages into bigger ones. Default is trueEnable bundling of smaller messages into bigger ones for unicast messages. Default is trueAllows the transport to pass received message batches up as MessagesBatch instances (up(MessageBatch)), rather than individual messages. This flag will be removed in a future version when batching has been implemented by all protocolsWhether or not messages with DONT_BUNDLE set should be ignored by default (JGRP-1737). This property will be removed in a future release, so don't use itSwitch to enable diagnostic probing. Default is trueAddress for diagnostic probing. Default is 224.0.75.75Comma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toPort for diagnostic probing. Default is 7500TTL of the diagnostics multicast socketAuthorization passcode for diagnostics. If specified every probe query will be authorizedIf assigned enable this transport to be a singleton (shared) transportwhether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTimeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apartMax number of attempts to fetch a physical address (when not in the cache) before giving upTime during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Maximum number of bytes for messages to be queued until they are sentMax number of milliseconds until queued messages are sentThe type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"The max number of elements in a bundler if the bundler supports size limitationsPool size of buffers for marshalling in NoBundlerThe initial size of each buffer (in bytes)Number of spins before a real lock is acquiredThe wait strategy for a RingBufferDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackA comma-separated list of GossipRouter hosts, e.g. HostA[12001],HostB[12001]logger level (see javadocs)The delay (in ms) to wait until we resend a message to member P after P told us that it isn't the coordinator. Thsi can happen when we see P as new coordinator, but P hasn't yet installed the view which makes it coordinator (perhaps due to a slight delay)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The name of the AWS serverThe port at which AWS is listeningWhether or not to use SSL to connect to host:portThe access key to AWS (S3)The secret access key to AWS (S3)When non-null, we set location to prefix-UUIDWhen non-null, we use this pre-signed URL for PUTsWhen non-null, we use this pre-signed URL for DELETEsSkip the code which checks if a bucket exists in initializationThe absolute path of the shared fileInterval (in milliseconds) at which the own Address is written. 0 disables it.If true, on a view change, the new coordinator removes files from old coordinatorsIf true, on a view change, the new coordinator removes all files except its ownThe max number of times my own information should be written to the DB after a view changeInterval (in ms) at which the info writer should kick inTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Command (script or executable) to ping a host: a return value of 0 means success, anything else is a failure. Default is pingWrite the stdout of the command to the log. Default is trueTimeout to suspect a node P if neither a heartbeat nor data were received from P.Number of times to send an are-you-alive messageTreat messages received from members as heartbeats. Note that this means we're updating a value in a hashmap every time a message is passing up the stack through FD, which is costly.Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The JDBC connection URLThe JDBC connection usernameThe JDBC connection passwordThe JDBC connection driver nameIf not empty, this SQL statement will be performed at startup.Customize it to create the needed table on those databases which permit table creation attempt without loosing data, such as PostgreSQL and MySQL (using IF NOT EXISTS). To allow for creation attempts, errors performing this statement will be loggedbut not considered fatal. To avoid any DDL operation, set this to an empty string.SQL used to insert a new row. Customizable, but keep the order of parameters and pick compatible types: 1)Own Address, as String 2)Cluster name, as String 3)Serialized PingData as byte[]SQL used to delete a row. Customizable, but keep the order of parameters and pick compatible types: 1)Own Address, as String 2)Cluster name, as StringSQL to clear the tableSQL used to fetch all node's PingData. Customizable, but keep the order of parameters and pick compatible types: only one parameter needed, String compatible, representing the Cluster name. Must return a byte[], the Serialized PingData as it was stored by the insert_single_sql statementFinds a given entry by its address and cluster name, used to implement a contains()To use a DataSource registered in JNDI, specify the JNDI name here. This is an alternative to all connection_* configuration options: if this property is not empty, then all connection relatedproperties must be empty.If set, a shutdown hook is registered with the JVM to remove the local address from the database. Default is trueThe max number of times my own information should be written to the DB after a view changeInterval (in ms) at which the info writer should kick inRemoves the table contents a view change. Enabling this can help removing crashed members that are still in the table, but generates more DB trafficTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The first value (in milliseconds) to use in the exponential backoff. Enabled if greater than 0Max number of messages to be removed from a NakReceiverWindow. This property might get removed anytime, so don't use it !Max number of bytes before a stability message is sent to the senderMax number of milliseconds before a stability message is sent to the sender(s)Max number of STABLE messages sent for the same highest_received seqno. A value < 1 is invalidNumber of rows of the matrix in the retransmission table (only for experts)Number of elements of a row of the matrix in the retransmission table (only for experts). The capacity of the matrix is xmit_table_num_rows * xmit_table_msgs_per_rowResize factor of the matrix in the retransmission table (only for experts)Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)If enabled, the removal of a message from the retransmission table causes an automatic purge (only for experts)Whether to use the old retransmitter which retransmits individual messages or the new one which uses ranges of retransmitted messages. Default is true. Note that this property will be removed in 3.0; it is only used to switch back to the old (and proven) retransmitter mechanism if issues occurIf true, trashes warnings about retransmission messages not found in the xmit_table (used for testing)Time (in milliseconds) after which an idle incoming or outgoing connection is closed. The connection will get re-established when used again. 0 disables connection reapingInterval (in milliseconds) at which missing messages (from all retransmit buffers) are retransmittedDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklist of timeoutsMax number of milliseconds we try to retransmit a message to any given member. After that, the connection is removed. Any new connection to that member will start with seqno #1 again. 0 disables thislogger level (see javadocs)Bypasses message bundling if trueRequest timeouts (in ms). If the timeout elapses, a Timeout (runtime) exception will be thrownNumber of milliseconds to wait for reconciliation responses from all current membersNumber of backup coordinators. Modifications are asynchronously sent to all backup coordinatorsDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Compression level (from java.util.zip.Deflater) (0=no compression, 1=best speed, 9=best compression). Default is 9Minimal payload size of a message (in bytes) for compression to kick in. Default is 500 bytesNumber of inflaters/deflaters for concurrent processing. Default is 2 Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The max number of bytes in a message. Larger messages will be fragmentedDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max number of messages to be removed from a retransmit window. This property might get removed anytime, so don't use it !Time (in milliseconds) after which an idle incoming or outgoing connection is closed. The connection will get re-established when used again. 0 disables connection reapingSize (in bytes) of a Segment in the segments table. Only for experts, do not use !Number of rows of the matrix in the retransmission table (only for experts)Number of elements of a row of the matrix in the retransmission table (only for experts). The capacity of the matrix is xmit_table_num_rows * xmit_table_msgs_per_rowResize factor of the matrix in the retransmission table (only for experts)Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)Interval (in milliseconds) at which messages in the send windows are resentDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackMax number of milliseconds we try to retransmit a message to any given member. After that, the connection is removed. Any new connection to that member will start with seqno #1 again. 0 disables thislogger level (see javadocs)Traffic class for sending unicast and multicast datagrams. Default is 8The multicast address used for sending and receiving packetsThe multicast port used for sending and receiving packets. Default is 7600Multicast toggle. If false multiple unicast datagrams are sent instead of one multicast. Default is trueThe time-to-live (TTL) for multicast datagram packets. Default is 8Send buffer size of the multicast datagram socket. Default is 100'000 bytesReceive buffer size of the multicast datagram socket. Default is 500'000 bytesSend buffer size of the unicast datagram socket. Default is 100'000 bytesReceive buffer size of the unicast datagram socket. Default is 64'000 bytesIf true, disables IP_MULTICAST_LOOP on the MulticastSocket (for sending and receiving of multicast packets). IP multicast packets send on a host P will therefore not be received by anyone on P. Use with caution.Suppresses warnings on Mac OS (for now) about not enough buffer space when sending a datagram packetThe bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-addressUse "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.Used to map the internal port (bind_port) to an external port. Only used if > 0The interface (NIC) which should be used by this transportIf true, the transport should use all available interfaces to receive multicast messagesComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onMax number of elements in the logical address cache before eviction startsTime (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe range of valid ports, from bind_port to end_port. 0 only binds to bind_port and fails if takenMessages to self are looped back immediately if trueWhether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningDiscard packets with a different version if trueThread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"Switch for enabling thread pool for OOB messages. Default=trueMinimum thread pool size for the OOB thread poolMax thread pool size for the OOB thread poolTimeout in ms to remove idle threads from the OOB poolUse queue to enqueue incoming OOB messagesMaximum queue size for incoming OOB messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunMinimum thread pool size for the regular thread poolMaximum thread pool size for the regular thread poolTimeout in milliseconds to remove idle thread from regular poolSwitch for enabling thread pool for regular messagesQueue to enqueue incoming regular messagesMaximum queue size for incoming regular messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunSwitch for enabling thread pool for internal messagesMinimum thread pool size for the internal thread poolMaximum thread pool size for the internal thread poolTimeout in ms to remove idle threads from the internal poolQueue to enqueue incoming internal messagesMaximum queue size for incoming internal messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunType of timer to be used. Valid values are "old" (DefaultTimeScheduler, used up to 2.10), "new" or "new2" (TimeScheduler2), "new3" (TimeScheduler3) and "wheel". Note that this property might disappear in future releases, if one of the 3 timers is chosen as default timerMinimum thread pool size for the timer thread poolMax thread pool size for the timer thread poolTimeout in ms to remove idle threads from the timer poolMax number of elements on a timer queueTimer rejection policy. Possible values are Abort, Discard, DiscardOldest and RunNumber of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Interval (in ms) at which the time service updates its timestamp. 0 disables the time serviceEnable bundling of smaller messages into bigger ones. Default is trueEnable bundling of smaller messages into bigger ones for unicast messages. Default is trueAllows the transport to pass received message batches up as MessagesBatch instances (up(MessageBatch)), rather than individual messages. This flag will be removed in a future version when batching has been implemented by all protocolsWhether or not messages with DONT_BUNDLE set should be ignored by default (JGRP-1737). This property will be removed in a future release, so don't use itSwitch to enable diagnostic probing. Default is trueAddress for diagnostic probing. Default is 224.0.75.75Comma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toPort for diagnostic probing. Default is 7500TTL of the diagnostics multicast socketAuthorization passcode for diagnostics. If specified every probe query will be authorizedIf assigned enable this transport to be a singleton (shared) transportwhether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTimeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apartMax number of attempts to fetch a physical address (when not in the cache) before giving upTime during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Maximum number of bytes for messages to be queued until they are sentMax number of milliseconds until queued messages are sentThe type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"The max number of elements in a bundler if the bundler supports size limitationsPool size of buffers for marshalling in NoBundlerThe initial size of each buffer (in bytes)Number of spins before a real lock is acquiredThe wait strategy for a RingBufferDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)File on classpath that contains keystore repositoryThe type of the keystore. Types are listed in http://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.htmlPassword used to check the integrity/unlock the keystore. Change the defaultPassword for recovering the key. Change the defaultAlias used for recovering the key. Change the defaultCryptographic Service ProviderCipher engine transformation for asymmetric algorithm. Default is RSACipher engine transformation for symmetric algorithm. Default is AESInitial public/private key length. Default is 512Initial key length for matching symmetric algorithm. Default is 128Number of ciphers in the pool to parallelize encrypt and decrypt requestsIf true, the entire message (including payload and headers) is encrypted, else only the payloadIf true, all messages are digitally signed by adding an encrypted checksum of the encrypted message to the header. Ignored if encrypt_entire_message is falseWhen sign_msgs is true, by default CRC32 is used to create the checksum. If use_adler is true, Adler32 will be usedMax number of keys in key_mapDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)drop all messages (up or down)Number of subsequent unicasts to drop in the down directionNumber of subsequent multicasts to drop in the down directionuse a GUI or notDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Size of the set to store received seqnos (for duplicate checking)Number of acks needed before going from ack-mode to normal mode. 0 disables this, which means that ack-mode is always onDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Reaper interval in msec. Default is 0 (no reaping)Max time connection can be idle before being reaped (in ms)Should separate send queues be used for each connectionMax number of messages in a send queueReceiver buffer size in bytesSend buffer size in bytesMax time allowed for a socket creation in connection tableMax time to block on reading of peer addressShould TCP no delay flag be turned onSO_LINGER in msec. Default of -1 disables itThe address of a local network interface which should be used by client sockets to bind to. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKThe local port a client socket should bind to. If 0, an ephemeral port will be picked.If true, client sockets will not explicitly bind to bind_addr but will defer to the native socketThe bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-addressUse "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.Used to map the internal port (bind_port) to an external port. Only used if > 0The interface (NIC) which should be used by this transportIf true, the transport should use all available interfaces to receive multicast messagesComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onMax number of elements in the logical address cache before eviction startsTime (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe range of valid ports, from bind_port to end_port. 0 only binds to bind_port and fails if takenMessages to self are looped back immediately if trueWhether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningDiscard packets with a different version if trueThread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"Switch for enabling thread pool for OOB messages. Default=trueMinimum thread pool size for the OOB thread poolMax thread pool size for the OOB thread poolTimeout in ms to remove idle threads from the OOB poolUse queue to enqueue incoming OOB messagesMaximum queue size for incoming OOB messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunMinimum thread pool size for the regular thread poolMaximum thread pool size for the regular thread poolTimeout in milliseconds to remove idle thread from regular poolSwitch for enabling thread pool for regular messagesQueue to enqueue incoming regular messagesMaximum queue size for incoming regular messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunSwitch for enabling thread pool for internal messagesMinimum thread pool size for the internal thread poolMaximum thread pool size for the internal thread poolTimeout in ms to remove idle threads from the internal poolQueue to enqueue incoming internal messagesMaximum queue size for incoming internal messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunType of timer to be used. Valid values are "old" (DefaultTimeScheduler, used up to 2.10), "new" or "new2" (TimeScheduler2), "new3" (TimeScheduler3) and "wheel". Note that this property might disappear in future releases, if one of the 3 timers is chosen as default timerMinimum thread pool size for the timer thread poolMax thread pool size for the timer thread poolTimeout in ms to remove idle threads from the timer poolMax number of elements on a timer queueTimer rejection policy. Possible values are Abort, Discard, DiscardOldest and RunNumber of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Interval (in ms) at which the time service updates its timestamp. 0 disables the time serviceEnable bundling of smaller messages into bigger ones. Default is trueEnable bundling of smaller messages into bigger ones for unicast messages. Default is trueAllows the transport to pass received message batches up as MessagesBatch instances (up(MessageBatch)), rather than individual messages. This flag will be removed in a future version when batching has been implemented by all protocolsWhether or not messages with DONT_BUNDLE set should be ignored by default (JGRP-1737). This property will be removed in a future release, so don't use itSwitch to enable diagnostic probing. Default is trueAddress for diagnostic probing. Default is 224.0.75.75Comma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toPort for diagnostic probing. Default is 7500TTL of the diagnostics multicast socketAuthorization passcode for diagnostics. If specified every probe query will be authorizedIf assigned enable this transport to be a singleton (shared) transportwhether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTimeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apartMax number of attempts to fetch a physical address (when not in the cache) before giving upTime during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Maximum number of bytes for messages to be queued until they are sentMax number of milliseconds until queued messages are sentThe type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"The max number of elements in a bundler if the bundler supports size limitationsPool size of buffers for marshalling in NoBundlerThe initial size of each buffer (in bytes)Number of spins before a real lock is acquiredThe wait strategy for a RingBufferDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-addressUse "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.Used to map the internal port (bind_port) to an external port. Only used if > 0The interface (NIC) which should be used by this transportIf true, the transport should use all available interfaces to receive multicast messagesComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onMax number of elements in the logical address cache before eviction startsTime (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe range of valid ports, from bind_port to end_port. 0 only binds to bind_port and fails if takenMessages to self are looped back immediately if trueWhether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningDiscard packets with a different version if trueThread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"Switch for enabling thread pool for OOB messages. Default=trueMinimum thread pool size for the OOB thread poolMax thread pool size for the OOB thread poolTimeout in ms to remove idle threads from the OOB poolUse queue to enqueue incoming OOB messagesMaximum queue size for incoming OOB messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunMinimum thread pool size for the regular thread poolMaximum thread pool size for the regular thread poolTimeout in milliseconds to remove idle thread from regular poolSwitch for enabling thread pool for regular messagesQueue to enqueue incoming regular messagesMaximum queue size for incoming regular messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunSwitch for enabling thread pool for internal messagesMinimum thread pool size for the internal thread poolMaximum thread pool size for the internal thread poolTimeout in ms to remove idle threads from the internal poolQueue to enqueue incoming internal messagesMaximum queue size for incoming internal messagesThread rejection policy. Possible values are Abort, Discard, DiscardOldest and RunType of timer to be used. Valid values are "old" (DefaultTimeScheduler, used up to 2.10), "new" or "new2" (TimeScheduler2), "new3" (TimeScheduler3) and "wheel". Note that this property might disappear in future releases, if one of the 3 timers is chosen as default timerMinimum thread pool size for the timer thread poolMax thread pool size for the timer thread poolTimeout in ms to remove idle threads from the timer poolMax number of elements on a timer queueTimer rejection policy. Possible values are Abort, Discard, DiscardOldest and RunNumber of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"Interval (in ms) at which the time service updates its timestamp. 0 disables the time serviceEnable bundling of smaller messages into bigger ones. Default is trueEnable bundling of smaller messages into bigger ones for unicast messages. Default is trueAllows the transport to pass received message batches up as MessagesBatch instances (up(MessageBatch)), rather than individual messages. This flag will be removed in a future version when batching has been implemented by all protocolsWhether or not messages with DONT_BUNDLE set should be ignored by default (JGRP-1737). This property will be removed in a future release, so don't use itSwitch to enable diagnostic probing. Default is trueAddress for diagnostic probing. Default is 224.0.75.75Comma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toPort for diagnostic probing. Default is 7500TTL of the diagnostics multicast socketAuthorization passcode for diagnostics. If specified every probe query will be authorizedIf assigned enable this transport to be a singleton (shared) transportwhether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTimeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apartMax number of attempts to fetch a physical address (when not in the cache) before giving upTime during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Maximum number of bytes for messages to be queued until they are sentMax number of milliseconds until queued messages are sentThe type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"The max number of elements in a bundler if the bundler supports size limitationsPool size of buffers for marshalling in NoBundlerThe initial size of each buffer (in bytes)Number of spins before a real lock is acquiredThe wait strategy for a RingBufferDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time barrier can be closed. Default is 60000 msMax time (in ms) to wait until the threads which passed the barrier before it was closed have completed. If this time elapses, an exception will be thrown and state transfer will fail. 0 = wait foreverDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Bind address for multicast socket. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKThe interface (NIC) which should be used by this transportTime to live for discovery packets. Default is 8Multicast address to be used for discoveryMulticast port for discovery packets. Default is 7555If true, the transport should use all available interfaces to receive multicast messages. Default is falseList of interfaces to receive multicasts onWhether send messages are sent on all interfaces. Default is falseList of interfaces to send multicasts onTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time for socket creation. Default is 1000 msecMax time in milliseconds to block on a read. 0 blocks foreverInterval (ms) by which a disconnected stub attempts to reconnect to the GossipRouterWhether to use blocking (false) or non-blocking (true) connections. If GossipRouter is used, this needs to be false; if GossipRouterNio is used, it needs to be trueTimeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackComma delimited list of hosts to be contacted for initial membershiplogger level (see javadocs)Number of millisecs to wait for a response from a suspected memberNumber of verify heartbeats sent to a suspected memberUse InetAddress.isReachable() to verify suspected member instead of regular messagesSend the I_AM_NOT_DEAD message back as a multicast rather than as multiple unicasts (default is false)Interface for ICMP pings. Used if use_icmp is true The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKThe interface (NIC) which should be used by this transportDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Timeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Cryptographic Service Provider. Default is Bouncy Castle ProviderCryptographic Service Provider. Default is Bouncy Castle ProviderCipher engine transformation for asymmetric algorithm. Default is RSACipher engine transformation for symmetric algorithm. Default is AESInitial public/private key length. Default is 512Initial key length for matching symmetric algorithm. Default is 128Generate new symmetric keys on every view change. Default is false. Set this to true when using asymmetric encryption, to handle merging (JGRP-1907)File on classpath that contains keystore repositoryPassword used to check the integrity/unlock the keystore. Change the defaultPassword for recovering the key. Change the defaultAlias used for recovering the key. Change the defaultNumber of ciphers in the pool to parallelize encrypt and decrypt requestsDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Target address for broadcasts. This should be restricted to the local subnet, e.g. 192.168.1.255Port for discovery packetsSends discovery packets to ports 8555 to (8555+port_range)Timeout to wait for the initial membersMinimum number of initial members to get a response fromMinimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_membersReturn from the discovery phase as soon as we have 1 coordinator responseWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same timeAlways sends a discovery response, no matter whatIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhen sending a discovery request, always send the physical address and logical name tooMax size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual membersExpiry time of discovery responses in msIf true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryWhen a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Size (in bytes) of the state transfer bufferMaximum number of pool threads serving state requestsKeep alive for pool threads serving state requestsDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max number of messages to be removed from a RingBuffer. This property might get removed anytime, so don't use it !Retransmit retransmit responses (messages) using multicast rather than unicastUse a multicast to request retransmission of missing messagesAsk a random member for retransmission of a missing message. Default is falseShould messages delivered to application be discardedTimeout to rebroadcast messages. Default is 2000 msecShould stability history be printed if we fail in retransmission. Default is falsediscards warnings about promiscuous trafficIf true, trashes warnings about retransmission messages not found in the xmit_table (used for testing)Interval (in milliseconds) at which missing messages (from all retransmit buffers) are retransmittedNumber of rows of the matrix in the retransmission table (only for experts)Number of elements of a row of the matrix in the retransmission table; gets rounded to the next power of 2 (only for experts). The capacity of the matrix is xmit_table_num_rows * xmit_table_msgs_per_rowResize factor of the matrix in the retransmission table (only for experts)Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)Size of the queue to hold messages received after creating the channel, but before being connected (is_server=false). After becoming the server, the messages in the queue are fed into up() and the queue is cleared. The motivation is to avoid retransmissions (see https://issues.jboss.org/browse/JGRP-1509 for details). 0 disables the queue.Time during which identical warnings about messages from a non member will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Max number of messages to ask for in a retransmit request. 0 disables this and uses the max bundle size in the transportIf enabled, multicasts the highest sent seqno every xmit_interval ms. This is skipped if a regular message has been multicast, and the task aquiesces if the highest sent seqno hasn't changed for resend_last_seqno_max_times times. Used to speed up retransmission of dropped last messages (JGRP-1904)Max number of times the last seqno is resent before acquiescing if last seqno isn't incrementedDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Timeout before requesting retransmissionsMax number of messages to be removed from a NakReceiverWindow. This property might get removed anytime, so don't use it !Retransmit retransmit responses (messages) using multicast rather than unicastUse a multicast to request retransmission of missing messagesNumber of milliseconds to delay the sending of an XMIT request. We pick a random number in the range [1 .. xmit_req_stagger_timeout] and add this to the scheduling time of an XMIT request. When use_mcast_xmit is enabled, if a number of members drop messages from the same member, then chances are that, if staggering is enabled, somebody else already sent the XMIT request (via mcast) and we can cancel the XMIT request once we receive the missing messages. For unicast XMIT responses (use_mcast_xmit=false), we still have an advantage by not overwhelming the receiver with XMIT requests, all at the same time. 0 disabless staggering.Ask a random member for retransmission of a missing message. Default is falseThe first value (in milliseconds) to use in the exponential backoff. Enabled if greater than 0Whether to use the old retransmitter which retransmits individual messages or the new one which uses ranges of retransmitted messages. Default is true. Note that this property will be removed in 3.0; it is only used to switch back to the old (and proven) retransmitter mechanism if issues occurShould messages delivered to application be discardedTimeout to rebroadcast messages. Default is 2000 msecShould stability history be printed if we fail in retransmission. Default is falsediscards warnings about promiscuous trafficIf true, trashes warnings about retransmission messages not found in the xmit_table (used for testing)Number of rows of the matrix in the retransmission table (only for experts)Number of elements of a row of the matrix in the retransmission table (only for experts). The capacity of the matrix is xmit_table_num_rows * xmit_table_msgs_per_rowResize factor of the matrix in the retransmission table (only for experts)Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)Size of the queue to hold messages received after creating the channel, but before being connected (is_server=false). After becoming the server, the messages in the queue are fed into up() and the queue is cleared. The motivation is to avoid retransmissions (see https://issues.jboss.org/browse/JGRP-1509 for details). 0 disables the queue.Time during which identical warnings about messages from a non member will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Join timeoutLeave timeoutTimeout (in ms) to complete mergeNumber of join attempts before we give up and become a singleton. Zero means 'never give up'.Print local address of this member after connect. Default is truePrint physical address(es) on startupTemporary switch. Default is true and should not be changedView bundling toggleIf true, then GMS is allowed to send VIEW messages with delta views, otherwise it always sends full views. See https://issues.jboss.org/browse/JGRP-1354 for details.Max view bundling timeout if view bundling is turned on. Default is 50 msecMax number of old members to keep in history. Default is 50Number of views to store in historyTime in ms to wait for all VIEW acks (0 == wait forever. Default is 2000 msecTimeout to resume ViewHandlerUse flush for view changes. Default is trueLogs failures for collecting all view acks if trueLogs warnings for reception of views less than the current, and for views which don't include selfWhether or not to install a new view locally first before broadcasting it (only done in coord role). Set to true if a state transfer protocol is detectedDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stackThe fully qualified name of a class implementing MembershipChangePolicy.logger level (see javadocs)The interface (NIC) used to accept state requests. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKUse "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.Used to map the internal port (bind_port) to an external port. Only used if > 0The interface (NIC) which should be used by this transportThe port listening for state requests. Default value of 0 binds to any (ephemeral) portSize (in bytes) of the state transfer bufferMaximum number of pool threads serving state requestsKeep alive for pool threads serving state requestsDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Average time to send a STABLE messageDelay before stability message is sentMaximum number of bytes received in all messages before sending a STABLE message is triggeredMax percentage of the max heap (-Xmx) to be used for max_bytes. Only used if ergonomics is enabled. 0 disables setting max_bytes dynamically.Wether or not to send the STABLE messages to all members of the cluster, or to the current coordinator only. The latter reduces the number of STABLE messages, but also generates more work on the coordinatorDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time to keep channel blocked in flush. Default is 8000 msecTimeout (per atttempt) to quiet the cluster during the first flush phase. Default is 2000 msecTimeout to wait for UNBLOCK after STOP_FLUSH is issued. Default is 2000 msecRetry timeout after an unsuccessful attempt to quiet the cluster (first flush phase). Default is 3000 msecReconciliation phase toggle. Default is trueWhen set, FLUSH is bypassed, same effect as if FLUSH wasn't in the config at allDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Name of the site (needs to be defined in the configuration)Name of the relay configurationWhether or not this node can become the site master. If false, and we become the coordinator, we won't start the bridge(s)Maximum number of site masters. Setting this to a value greater than 1 means that we can have multiple site masters. If the value is greater than the number of cluster nodes, everyone in the site will be a site master (and thus join the global clusterWhether or not we generate our own addresses in which we use can_become_site_master. If this property is false, can_become_site_master is ignoredWhether or not to relay multicast (dest=null) messagesIf true, the creation of the relay channel (and the connect()) are done in the background. Async relay creation is recommended, so the view callback won't be blockedIf true, logs a warning if the FORWARD_TO_COORD protocol is not found. This property might get deprecated soonFully qualified name of a class implementing SiteMasterPickerIf true, a site master forwards messages received from other sites to randomly chosen members of the local site for load balancing, reducing work for itselfDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Location of an XML file listing the rules to be installedDetermines whether to collect statistics (and expose them via JMX). Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)