Skip to content

Instantly share code, notes, and snippets.

@rhusar
Created April 13, 2016 21:08
Show Gist options
  • Save rhusar/67abf87afdd556700a424b35772ad67a to your computer and use it in GitHub Desktop.
Save rhusar/67abf87afdd556700a424b35772ad67a to your computer and use it in GitHub Desktop.
Configuration differences between 3.6.8.Final and 4.0.0-SNAPSHOT
2c2
< <xs:schema xmlns:fork="fork" xmlns:relay="urn:jgroups:relay:1.0" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:org:jgroups" xmlns:xs="http://www.w3.org/2001/XMLSchema">
---
> <xs:schema xmlns:fork="fork" xmlns:relay="urn:jgroups:relay:1.0" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:org:jgroups" version="4.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
150,154d149
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
215,224d209
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
250,254d234
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
475,479d454
< <xs:attribute name="forward_queue_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>The 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 neighbor</xs:documentation>
< </xs:annotation>
< </xs:attribute>
500,504d474
< <xs:attribute name="send_queue_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>The number of messages in the send queue. This queue is used to host messages that need to be sent</xs:documentation>
< </xs:annotation>
< </xs:attribute>
871,934d840
< <xs:element name="FC">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ignore_synchronous_response" type="xs:string">
< <xs:annotation>
< <xs:documentation>Does not block a down message if it is a result of handling an up message in thesame thread. Fixes JGRP-928</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_block_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max time (in milliseconds) to block. Default is 5000 msec</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_block_times" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_credits" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of bytes to send per receiver until an ack must be received to proceed. Default is 500000 bytes</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="min_credits" type="xs:string">
< <xs:annotation>
< <xs:documentation>Computed as max_credits x min_theshold unless explicitly set</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="min_threshold" type="xs:string">
< <xs:annotation>
< <xs:documentation>The 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 P</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
1090,1094d995
< <xs:attribute name="timeout_check_interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval at which the HEARTBEAT timeouts are checked</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1156,1214d1056
< <xs:element name="FD_PING">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="cmd" type="xs:string">
< <xs:annotation>
< <xs:documentation>Command (script or executable) to ping a host: a return value of 0 means success, anything else is a failure. Default is ping</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_tries" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of times to send an are-you-alive message</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="msg_counts_as_heartbeat" type="xs:string">
< <xs:annotation>
< <xs:documentation>Treat 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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to suspect a node P if neither a heartbeat nor data were received from P.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="verbose" type="xs:string">
< <xs:annotation>
< <xs:documentation>Write the stdout of the command to the log. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
1316,1320d1157
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1366,1370d1202
< <xs:attribute name="interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval (in milliseconds) at which the own Address is written. 0 disables it.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1391,1400d1222
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1431,1435d1252
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1517,1521d1333
< <xs:attribute name="resend_delay" type="xs:string">
< <xs:annotation>
< <xs:documentation>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)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1619,1623d1430
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1674,1678d1480
< <xs:attribute name="interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval (in milliseconds) at which the own Address is written. 0 disables it.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1699,1708d1500
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1769,1773d1560
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1837,1841d1623
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1957,1966d1738
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
1997,2001d1768
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2058,2126d1824
< <xs:element name="MERGE2">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="discovery_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Time (in ms) to wait for all discovery responses</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="force_sending_discovery_rsps" type="xs:string">
< <xs:annotation>
< <xs:documentation>Always sends a discovery response, no matter what</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="inconsistent_view_threshold" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of inconsistent views with only 1 coord after a MERGE event is sent up</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum time in ms between runs to discover other clusters</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="merge_fast" type="xs:string">
< <xs:annotation>
< <xs:documentation>When 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 merging</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="merge_fast_delay" type="xs:string">
< <xs:annotation>
< <xs:documentation>The delay (in milliseconds) after which a merge fast execution is started</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="min_interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum time in ms between runs to discover other clusters</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
2198,2202d1895
< <xs:attribute name="ignore_synchronous_response" type="xs:string">
< <xs:annotation>
< <xs:documentation>Does not block a down message if it is a result of handling an up message in thesame thread. Fixes JGRP-928</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2252,2256d1944
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2332c2020
< <xs:attribute name="num_initial_members" type="xs:string">
---
> <xs:attribute name="receive_interfaces" type="xs:string">
2334c2022
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
---
> <xs:documentation>List of interfaces to receive multicasts on</xs:documentation>
2337c2025
< <xs:attribute name="num_initial_srv_members" type="xs:string">
---
> <xs:attribute name="receive_on_all_interfaces" type="xs:string">
2339,2349c2027
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="receive_interfaces" type="xs:string">
< <xs:annotation>
< <xs:documentation>List of interfaces to receive multicasts on</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="receive_on_all_interfaces" type="xs:string">
< <xs:annotation>
< <xs:documentation>If true, the transport should use all available interfaces to receive multicast messages. Default is false</xs:documentation>
---
> <xs:documentation>If true, the transport should use all available interfaces to receive multicast messages. Default is false</xs:documentation>
2382,2386d2059
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2433,2476d2105
< <xs:element name="PEER_LOCK">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="bypass_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>bypasses message bundling if set</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="lock_striping_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of locks to be used for lock striping (for synchronized access to the server_lock entries)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
2523,2527d2151
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2578,2587d2201
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2608,2612d2221
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2644c2253
< <xs:documentation>The number of miliseconds to sleep before after an error occurs before sending the next message</xs:documentation>
---
> <xs:documentation>The number of milliseconds to sleep before after an error occurs before sending the next message</xs:documentation>
2676,2680d2284
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2736,2740d2339
< <xs:attribute name="interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval (in milliseconds) at which the own Address is written. 0 disables it.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2761,2770d2359
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2806,2810d2394
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
2992,2996d2575
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3047,3051d2625
< <xs:attribute name="interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval (in milliseconds) at which the own Address is written. 0 disables it.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3072,3081d2645
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3142,3146d2705
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3240,3303d2798
< <xs:element name="SCOPE">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="expiration_interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval in milliseconds at which the expiry task tries to remove expired scopes</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="expiration_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Time 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 scopes</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_naming_pattern" type="xs:string">
< <xs:annotation>
< <xs:documentation>Thread naming pattern for threads in this channel. Default is cl</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.keep_alive_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout in milliseconds to remove idle thread from regular pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.max_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum thread pool size for the regular thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.min_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum thread pool size for the regular thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
3394,3398d2888
< <xs:attribute name="bind_interface" type="xs:string">
< <xs:annotation>
< <xs:documentation>The interface (NIC) which should be used by this transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3411c2901
< <xs:documentation>The type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"</xs:documentation>
---
> <xs:documentation>The type of bundler used. Has to be "transfer-queue" (default) or "sender-sends"</xs:documentation>
3439,3453d2928
< <xs:attribute name="discard_incompatible_packets" type="xs:string">
< <xs:annotation>
< <xs:documentation>Discard packets with a different version if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_batching" type="xs:string">
< <xs:annotation>
< <xs:documentation>Allows 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 protocols</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3459,3463d2933
< <xs:attribute name="enable_unicast_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones for unicast messages. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3484,3493d2953
< <xs:attribute name="ignore_dont_bundle" type="xs:string">
< <xs:annotation>
< <xs:documentation>Whether 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 it</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for internal messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3554,3558d3013
< <xs:attribute name="loopback" type="xs:string">
< <xs:annotation>
< <xs:documentation>Messages to self are looped back immediately if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3574,3578d3028
< <xs:attribute name="max_bundle_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of milliseconds until queued messages are sent</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3584,3588d3033
< <xs:attribute name="oob_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for OOB messages. Default=true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3619,3623d3063
< <xs:attribute name="physical_addr_max_fetch_attempts" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of attempts to fetch a physical address (when not in the cache) before giving up</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3639,3643d3078
< <xs:attribute name="singleton_name" type="xs:string">
< <xs:annotation>
< <xs:documentation>If assigned enable this transport to be a singleton (shared) transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3664,3668d3098
< <xs:attribute name="thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3729,3738d3158
< <xs:attribute name="timer.tick_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.wheel_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3741c3161
< <xs:documentation>Type 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 timer</xs:documentation>
---
> <xs:documentation>Type of timer to be used. The only valid value is "new3" (TimeScheduler3).</xs:documentation>
3758,3762d3177
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3813,3822d3227
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
3843,3847d3247
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4063,4067d3462
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4128,4132d3522
< <xs:attribute name="interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval (in milliseconds) at which the own Address is written. 0 disables it.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4153,4162d3542
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4203,4207d3582
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4232,4236d3606
< <xs:attribute name="bind_interface" type="xs:string">
< <xs:annotation>
< <xs:documentation>The interface (NIC) which should be used by this transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4249c3619
< <xs:documentation>The type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"</xs:documentation>
---
> <xs:documentation>The type of bundler used. Has to be "transfer-queue" (default) or "sender-sends"</xs:documentation>
4297,4311d3666
< <xs:attribute name="discard_incompatible_packets" type="xs:string">
< <xs:annotation>
< <xs:documentation>Discard packets with a different version if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_batching" type="xs:string">
< <xs:annotation>
< <xs:documentation>Allows 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 protocols</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4317,4321d3671
< <xs:attribute name="enable_unicast_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones for unicast messages. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4342,4351d3691
< <xs:attribute name="ignore_dont_bundle" type="xs:string">
< <xs:annotation>
< <xs:documentation>Whether 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 it</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for internal messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4417,4421d3756
< <xs:attribute name="loopback" type="xs:string">
< <xs:annotation>
< <xs:documentation>Messages to self are looped back immediately if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4437,4441d3771
< <xs:attribute name="max_bundle_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of milliseconds until queued messages are sent</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4447,4451d3776
< <xs:attribute name="oob_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for OOB messages. Default=true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4487,4491d3811
< <xs:attribute name="physical_addr_max_fetch_attempts" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of attempts to fetch a physical address (when not in the cache) before giving up</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4522,4531d3841
< <xs:attribute name="send_queue_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of messages in a send queue</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="singleton_name" type="xs:string">
< <xs:annotation>
< <xs:documentation>If assigned enable this transport to be a singleton (shared) transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4562,4566d3871
< <xs:attribute name="thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4627,4636d3931
< <xs:attribute name="timer.tick_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.wheel_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4639,4644c3934
< <xs:documentation>Type 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 timer</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="use_send_queues" type="xs:string">
< <xs:annotation>
< <xs:documentation>Should separate send queues be used for each connection</xs:documentation>
---
> <xs:documentation>Type of timer to be used. The only valid value is "new3" (TimeScheduler3).</xs:documentation>
4661,4665d3950
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4721,4730d4005
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4751,4755d4025
< <xs:attribute name="sock_read_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max time in milliseconds to block on a read. 0 blocks forever</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4766,4770d4035
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4790,4794d4054
< <xs:attribute name="always_send_physical_addr_with_discovery_request" type="xs:string">
< <xs:annotation>
< <xs:documentation>When sending a discovery request, always send the physical address and logical name too</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4855,4864d4114
< <xs:attribute name="num_initial_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of initial members to get a response from</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="num_initial_srv_members" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum number of server responses (PingData.isServer()=true). If this value is greater than 0, we'll ignore num_initial_members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4890,4894d4139
< <xs:attribute name="timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to wait for the initial members</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4902c4147
< <xs:element name="TCP_NIO">
---
> <xs:element name="TCP_NIO2">
4914,4918d4158
< <xs:attribute name="bind_interface" type="xs:string">
< <xs:annotation>
< <xs:documentation>The interface (NIC) which should be used by this transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4931c4171
< <xs:documentation>The type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"</xs:documentation>
---
> <xs:documentation>The type of bundler used. Has to be "transfer-queue" (default) or "sender-sends"</xs:documentation>
4948a4189,4193
> <xs:attribute name="copy_on_partial_write" type="xs:string">
> <xs:annotation>
> <xs:documentation>If true, a partial write will make a copy of the data so a buffer can be reused</xs:documentation>
> </xs:annotation>
> </xs:attribute>
4979,4993d4223
< <xs:attribute name="discard_incompatible_packets" type="xs:string">
< <xs:annotation>
< <xs:documentation>Discard packets with a different version if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_batching" type="xs:string">
< <xs:annotation>
< <xs:documentation>Allows 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 protocols</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
4999,5003d4228
< <xs:attribute name="enable_unicast_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones for unicast messages. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5024,5033d4248
< <xs:attribute name="ignore_dont_bundle" type="xs:string">
< <xs:annotation>
< <xs:documentation>Whether 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 it</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for internal messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5099,5103d4313
< <xs:attribute name="loopback" type="xs:string">
< <xs:annotation>
< <xs:documentation>Messages to self are looped back immediately if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5119c4329
< <xs:attribute name="max_bundle_timeout" type="xs:string">
---
> <xs:attribute name="max_send_buffers" type="xs:string">
5121c4331
< <xs:documentation>Max number of milliseconds until queued messages are sent</xs:documentation>
---
> <xs:documentation>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).</xs:documentation>
5129,5133d4338
< <xs:attribute name="oob_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for OOB messages. Default=true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5169,5173d4373
< <xs:attribute name="physical_addr_max_fetch_attempts" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of attempts to fetch a physical address (when not in the cache) before giving up</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5179,5204c4379
< <xs:attribute name="processor_keepAliveTime" type="xs:string">
< <xs:annotation>
< <xs:documentation/>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="processor_maxThreads" type="xs:string">
< <xs:annotation>
< <xs:documentation/>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="processor_minThreads" type="xs:string">
< <xs:annotation>
< <xs:documentation/>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="processor_queueSize" type="xs:string">
< <xs:annotation>
< <xs:documentation/>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="processor_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation/>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="reader_threads" type="xs:string">
---
> <xs:attribute name="reader_idle_time" type="xs:string">
5206c4381
< <xs:documentation/>
---
> <xs:documentation>Number 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 reader</xs:documentation>
5234,5243d4408
< <xs:attribute name="send_queue_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of messages in a send queue</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="singleton_name" type="xs:string">
< <xs:annotation>
< <xs:documentation>If assigned enable this transport to be a singleton (shared) transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5274,5278d4438
< <xs:attribute name="thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5339,5348d4498
< <xs:attribute name="timer.tick_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.wheel_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5351,5356c4501
< <xs:documentation>Type 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 timer</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="use_send_queues" type="xs:string">
< <xs:annotation>
< <xs:documentation>Should separate send queues be used for each connection</xs:documentation>
---
> <xs:documentation>Type of timer to be used. The only valid value is "new3" (TimeScheduler3).</xs:documentation>
5364,5368d4508
< <xs:attribute name="writer_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation/>
< </xs:annotation>
< </xs:attribute>
5371c4511
< <xs:element name="TCP_NIO2">
---
> <xs:element name="TRACE">
5378c4518
< <xs:attribute name="bind_addr" type="xs:string">
---
> <xs:attribute name="ergonomics" type="xs:string">
5380c4520
< <xs:documentation>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-address</xs:documentation>
---
> <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
5383c4523
< <xs:attribute name="bind_interface" type="xs:string">
---
> <xs:attribute name="id" type="xs:string">
5385c4525
< <xs:documentation>The interface (NIC) which should be used by this transport</xs:documentation>
---
> <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
5388c4528
< <xs:attribute name="bind_port" type="xs:string">
---
> <xs:attribute name="level" type="xs:string">
5390c4530
< <xs:documentation>The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range</xs:documentation>
---
> <xs:documentation>logger level (see javadocs)</xs:documentation>
5393c4533
< <xs:attribute name="bundler_capacity" type="xs:string">
---
> <xs:attribute name="name" type="xs:string">
5395c4535
< <xs:documentation>The max number of elements in a bundler if the bundler supports size limitations</xs:documentation>
---
> <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
5398c4538
< <xs:attribute name="bundler_type" type="xs:string">
---
> <xs:attribute name="stats" type="xs:string">
5400c4540
< <xs:documentation>The type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"</xs:documentation>
---
> <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
5403c4543,4547
< <xs:attribute name="client_bind_addr" type="xs:string">
---
> </xs:complexType>
> </xs:element>
> <xs:element name="TUNNEL">
> <xs:complexType>
> <xs:attribute name="after_creation_hook" type="xs:string">
5405c4549
< <xs:documentation>The 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_LOOPBACK</xs:documentation>
---
> <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
5408c4552
< <xs:attribute name="client_bind_port" type="xs:string">
---
> <xs:attribute name="bind_addr" type="xs:string">
5410c4554
< <xs:documentation>The local port a client socket should bind to. If 0, an ephemeral port will be picked.</xs:documentation>
---
> <xs:documentation>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-address</xs:documentation>
5413c4557
< <xs:attribute name="conn_expire_time" type="xs:string">
---
> <xs:attribute name="bind_port" type="xs:string">
5415c4559
< <xs:documentation>Max time connection can be idle before being reaped (in ms)</xs:documentation>
---
> <xs:documentation>The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range</xs:documentation>
5418c4562
< <xs:attribute name="copy_on_partial_write" type="xs:string">
---
> <xs:attribute name="bundler_capacity" type="xs:string">
5420c4564
< <xs:documentation>If true, a partial write will make a copy of the data so a buffer can be reused</xs:documentation>
---
> <xs:documentation>The max number of elements in a bundler if the bundler supports size limitations</xs:documentation>
5423c4567
< <xs:attribute name="defer_client_bind_addr" type="xs:string">
---
> <xs:attribute name="bundler_type" type="xs:string">
5425c4569
< <xs:documentation>If true, client sockets will not explicitly bind to bind_addr but will defer to the native socket</xs:documentation>
---
> <xs:documentation>The type of bundler used. Has to be "transfer-queue" (default) or "sender-sends"</xs:documentation>
5453,5467d4596
< <xs:attribute name="discard_incompatible_packets" type="xs:string">
< <xs:annotation>
< <xs:documentation>Discard packets with a different version if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_batching" type="xs:string">
< <xs:annotation>
< <xs:documentation>Allows 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 protocols</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5473,5477d4601
< <xs:attribute name="enable_unicast_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones for unicast messages. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5493,5498c4617
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ignore_dont_bundle" type="xs:string">
---
> <xs:attribute name="gossip_router_hosts" type="xs:string">
5500c4619
< <xs:documentation>Whether 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 it</xs:documentation>
---
> <xs:documentation>A comma-separated list of GossipRouter hosts, e.g. HostA[12001],HostB[12001]</xs:documentation>
5503c4622
< <xs:attribute name="internal_thread_pool.enabled" type="xs:string">
---
> <xs:attribute name="id" type="xs:string">
5505c4624
< <xs:documentation>Switch for enabling thread pool for internal messages</xs:documentation>
---
> <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
5543,5547d4661
< <xs:attribute name="linger" type="xs:string">
< <xs:annotation>
< <xs:documentation>SO_LINGER in msec. Default of -1 disables it</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5573,5577d4686
< <xs:attribute name="loopback" type="xs:string">
< <xs:annotation>
< <xs:documentation>Messages to self are looped back immediately if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5593,5602d4701
< <xs:attribute name="max_bundle_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of milliseconds until queued messages are sent</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_send_buffers" type="xs:string">
< <xs:annotation>
< <xs:documentation>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).</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5608,5612d4706
< <xs:attribute name="oob_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for OOB messages. Default=true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
5643,6134d4736
< <xs:attribute name="peer_addr_read_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max time to block on reading of peer address</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="physical_addr_max_fetch_attempts" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of attempts to fetch a physical address (when not in the cache) before giving up</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="port_range" type="xs:string">
< <xs:annotation>
< <xs:documentation>The range of valid ports, from bind_port to end_port. 0 only binds to bind_port and fails if taken</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="reader_idle_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number 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 reader</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="reaper_interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Reaper interval in msec. Default is 0 (no reaping)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="receive_interfaces" type="xs:string">
< <xs:annotation>
< <xs:documentation>Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="receive_on_all_interfaces" type="xs:string">
< <xs:annotation>
< <xs:documentation>If true, the transport should use all available interfaces to receive multicast messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="recv_buf_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Receiver buffer size in bytes</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="send_buf_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Send buffer size in bytes</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="send_queue_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of messages in a send queue</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="singleton_name" type="xs:string">
< <xs:annotation>
< <xs:documentation>If assigned enable this transport to be a singleton (shared) transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="sock_conn_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max time allowed for a socket creation in connection table</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="suppress_time_different_cluster_warnings" type="xs:string">
< <xs:annotation>
< <xs:documentation>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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="suppress_time_different_version_warnings" type="xs:string">
< <xs:annotation>
< <xs:documentation>Time 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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="tcp_nodelay" type="xs:string">
< <xs:annotation>
< <xs:documentation>Should TCP no delay flag be turned on</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_naming_pattern" type="xs:string">
< <xs:annotation>
< <xs:documentation>Thread 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"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.keep_alive_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout in milliseconds to remove idle thread from regular pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.max_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum thread pool size for the regular thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.min_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum thread pool size for the regular thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.queue_enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Queue to enqueue incoming regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.queue_max_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum queue size for incoming regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.rejection_policy" type="xs:string">
< <xs:annotation>
< <xs:documentation>Thread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="time_service_interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval (in ms) at which the time service updates its timestamp. 0 disables the time service</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.keep_alive_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout in ms to remove idle threads from the timer pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.max_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max thread pool size for the timer thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.min_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum thread pool size for the timer thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.queue_max_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of elements on a timer queue</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.rejection_policy" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timer rejection policy. Possible values are Abort, Discard, DiscardOldest and Run</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.tick_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.wheel_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer_type" type="xs:string">
< <xs:annotation>
< <xs:documentation>Type 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 timer</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="use_send_queues" type="xs:string">
< <xs:annotation>
< <xs:documentation>Should separate send queues be used for each connection</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="who_has_cache_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout (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 apart</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
< <xs:element name="ProtocolAdapter">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
< <xs:element name="TRACE">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
< <xs:element name="TUNNEL">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="bind_addr" type="xs:string">
< <xs:annotation>
< <xs:documentation>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-address</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="bind_interface" type="xs:string">
< <xs:annotation>
< <xs:documentation>The interface (NIC) which should be used by this transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="bind_port" type="xs:string">
< <xs:annotation>
< <xs:documentation>The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="bundler_capacity" type="xs:string">
< <xs:annotation>
< <xs:documentation>The max number of elements in a bundler if the bundler supports size limitations</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="bundler_type" type="xs:string">
< <xs:annotation>
< <xs:documentation>The type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="diagnostics_addr" type="xs:string">
< <xs:annotation>
< <xs:documentation>Address for diagnostic probing. Default is 224.0.75.75</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="diagnostics_bind_interfaces" type="xs:string">
< <xs:annotation>
< <xs:documentation>Comma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind to</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="diagnostics_passcode" type="xs:string">
< <xs:annotation>
< <xs:documentation>Authorization passcode for diagnostics. If specified every probe query will be authorized</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="diagnostics_port" type="xs:string">
< <xs:annotation>
< <xs:documentation>Port for diagnostic probing. Default is 7500</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="diagnostics_ttl" type="xs:string">
< <xs:annotation>
< <xs:documentation>TTL of the diagnostics multicast socket</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="discard_incompatible_packets" type="xs:string">
< <xs:annotation>
< <xs:documentation>Discard packets with a different version if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_batching" type="xs:string">
< <xs:annotation>
< <xs:documentation>Allows 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 protocols</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_diagnostics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch to enable diagnostic probing. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_unicast_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones for unicast messages. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="external_addr" type="xs:string">
< <xs:annotation>
< <xs:documentation>Use "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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="external_port" type="xs:string">
< <xs:annotation>
< <xs:documentation>Used to map the internal port (bind_port) to an external port. Only used if &gt; 0</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="gossip_router_hosts" type="xs:string">
< <xs:annotation>
< <xs:documentation>A comma-separated list of GossipRouter hosts, e.g. HostA[12001],HostB[12001]</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ignore_dont_bundle" type="xs:string">
< <xs:annotation>
< <xs:documentation>Whether 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 it</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for internal messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.keep_alive_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout in ms to remove idle threads from the internal pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.max_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum thread pool size for the internal thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.min_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum thread pool size for the internal thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.queue_enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Queue to enqueue incoming internal messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.queue_max_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum queue size for incoming internal messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.rejection_policy" type="xs:string">
< <xs:annotation>
< <xs:documentation>Thread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="log_discard_msgs" type="xs:string">
< <xs:annotation>
< <xs:documentation>whether or not warnings about messages from different groups are logged</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="log_discard_msgs_version" type="xs:string">
< <xs:annotation>
< <xs:documentation>whether or not warnings about messages from members with a different version are discarded</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="logical_addr_cache_expiration" type="xs:string">
< <xs:annotation>
< <xs:documentation>Time (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="logical_addr_cache_max_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of elements in the logical address cache before eviction starts</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="logical_addr_cache_reaper_interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="loopback" type="xs:string">
< <xs:annotation>
< <xs:documentation>Messages to self are looped back immediately if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="loopback_copy" type="xs:string">
< <xs:annotation>
< <xs:documentation>Whether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warning</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="loopback_separate_thread" type="xs:string">
< <xs:annotation>
< <xs:documentation>Loop back the message on a separate thread or use the current thread. Don't use this; might get removed without warning</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_bundle_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum number of bytes for messages to be queued until they are sent</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_bundle_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of milliseconds until queued messages are sent</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="oob_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for OOB messages. Default=true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="oob_thread_pool.keep_alive_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout in ms to remove idle threads from the OOB pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="oob_thread_pool.max_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max thread pool size for the OOB thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="oob_thread_pool.min_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum thread pool size for the OOB thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="oob_thread_pool.queue_enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Use queue to enqueue incoming OOB messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="oob_thread_pool.queue_max_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum queue size for incoming OOB messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="oob_thread_pool.rejection_policy" type="xs:string">
< <xs:annotation>
< <xs:documentation>Thread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="physical_addr_max_fetch_attempts" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of attempts to fetch a physical address (when not in the cache) before giving up</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6155,6159d4756
< <xs:attribute name="singleton_name" type="xs:string">
< <xs:annotation>
< <xs:documentation>If assigned enable this transport to be a singleton (shared) transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6185,6189d4781
< <xs:attribute name="thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6250,6259d4841
< <xs:attribute name="timer.tick_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.wheel_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6262c4844
< <xs:documentation>Type 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 timer</xs:documentation>
---
> <xs:documentation>Type of timer to be used. The only valid value is "new3" (TimeScheduler3).</xs:documentation>
6289,6293d4870
< <xs:attribute name="bind_interface" type="xs:string">
< <xs:annotation>
< <xs:documentation>The interface (NIC) which should be used by this transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6306c4883
< <xs:documentation>The type of bundler used. Has to be "sender-sends-with-timer", "transfer-queue" (default) or "sender-sends"</xs:documentation>
---
> <xs:documentation>The type of bundler used. Has to be "transfer-queue" (default) or "sender-sends"</xs:documentation>
6339,6353d4915
< <xs:attribute name="discard_incompatible_packets" type="xs:string">
< <xs:annotation>
< <xs:documentation>Discard packets with a different version if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_batching" type="xs:string">
< <xs:annotation>
< <xs:documentation>Allows 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 protocols</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="enable_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6359,6363d4920
< <xs:attribute name="enable_unicast_bundling" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enable bundling of smaller messages into bigger ones for unicast messages. Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6384,6393d4940
< <xs:attribute name="ignore_dont_bundle" type="xs:string">
< <xs:annotation>
< <xs:documentation>Whether 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 it</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="internal_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for internal messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6464,6468d5010
< <xs:attribute name="loopback" type="xs:string">
< <xs:annotation>
< <xs:documentation>Messages to self are looped back immediately if true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6484,6488d5025
< <xs:attribute name="max_bundle_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of milliseconds until queued messages are sent</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6514,6518d5050
< <xs:attribute name="oob_thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for OOB messages. Default=true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6549,6553d5080
< <xs:attribute name="physical_addr_max_fetch_attempts" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of attempts to fetch a physical address (when not in the cache) before giving up</xs:documentation>
< </xs:annotation>
< </xs:attribute>
6559,6777c5086
< <xs:attribute name="receive_interfaces" type="xs:string">
< <xs:annotation>
< <xs:documentation>Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="receive_on_all_interfaces" type="xs:string">
< <xs:annotation>
< <xs:documentation>If true, the transport should use all available interfaces to receive multicast messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="singleton_name" type="xs:string">
< <xs:annotation>
< <xs:documentation>If assigned enable this transport to be a singleton (shared) transport</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="suppress_time_different_cluster_warnings" type="xs:string">
< <xs:annotation>
< <xs:documentation>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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="suppress_time_different_version_warnings" type="xs:string">
< <xs:annotation>
< <xs:documentation>Time 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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="suppress_time_out_of_buffer_space" type="xs:string">
< <xs:annotation>
< <xs:documentation>Suppresses warnings on Mac OS (for now) about not enough buffer space when sending a datagram packet</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_naming_pattern" type="xs:string">
< <xs:annotation>
< <xs:documentation>Thread 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"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Switch for enabling thread pool for regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.keep_alive_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout in milliseconds to remove idle thread from regular pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.max_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum thread pool size for the regular thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.min_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum thread pool size for the regular thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.queue_enabled" type="xs:string">
< <xs:annotation>
< <xs:documentation>Queue to enqueue incoming regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.queue_max_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Maximum queue size for incoming regular messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="thread_pool.rejection_policy" type="xs:string">
< <xs:annotation>
< <xs:documentation>Thread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="time_service_interval" type="xs:string">
< <xs:annotation>
< <xs:documentation>Interval (in ms) at which the time service updates its timestamp. 0 disables the time service</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.keep_alive_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout in ms to remove idle threads from the timer pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.max_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max thread pool size for the timer thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.min_threads" type="xs:string">
< <xs:annotation>
< <xs:documentation>Minimum thread pool size for the timer thread pool</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.queue_max_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of elements on a timer queue</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.rejection_policy" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timer rejection policy. Possible values are Abort, Discard, DiscardOldest and Run</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.tick_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Tick duration in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer.wheel_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of ticks in the HashedTimingWheel timer. Only applicable if timer_type is "wheel"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="timer_type" type="xs:string">
< <xs:annotation>
< <xs:documentation>Type 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 timer</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="tos" type="xs:string">
< <xs:annotation>
< <xs:documentation>Traffic class for sending unicast and multicast datagrams. Default is 8</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ucast_recv_buf_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Receive buffer size of the unicast datagram socket. Default is 64'000 bytes</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ucast_send_buf_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Send buffer size of the unicast datagram socket. Default is 100'000 bytes</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="who_has_cache_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout (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 apart</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
< <xs:element name="UFC">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ignore_synchronous_response" type="xs:string">
< <xs:annotation>
< <xs:documentation>Does not block a down message if it is a result of handling an up message in thesame thread. Fixes JGRP-928</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_block_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max time (in ms) to block</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_block_times" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_credits" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of bytes to send per receiver until an ack must be received to proceed</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="min_credits" type="xs:string">
< <xs:annotation>
< <xs:documentation>Computed as max_credits x min_theshold unless explicitly set</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="min_threshold" type="xs:string">
< <xs:annotation>
< <xs:documentation>The 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)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
< <xs:element name="UNICAST">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="conn_expiry_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>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 reaping</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
---
> <xs:attribute name="receive_interfaces" type="xs:string">
6779c5088
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
---
> <xs:documentation>Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on</xs:documentation>
6782c5091
< <xs:attribute name="id" type="xs:string">
---
> <xs:attribute name="receive_on_all_interfaces" type="xs:string">
6784c5093
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
---
> <xs:documentation>If true, the transport should use all available interfaces to receive multicast messages</xs:documentation>
6787c5096
< <xs:attribute name="level" type="xs:string">
---
> <xs:attribute name="stats" type="xs:string">
6789c5098
< <xs:documentation>logger level (see javadocs)</xs:documentation>
---
> <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
6792c5101
< <xs:attribute name="max_msg_batch_size" type="xs:string">
---
> <xs:attribute name="suppress_time_different_cluster_warnings" type="xs:string">
6794c5103
< <xs:documentation>Max number of messages to be removed from a retransmit window. This property might get removed anytime, so don't use it !</xs:documentation>
---
> <xs:documentation>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.</xs:documentation>
6797c5106
< <xs:attribute name="max_retransmit_time" type="xs:string">
---
> <xs:attribute name="suppress_time_different_version_warnings" type="xs:string">
6799c5108
< <xs:documentation>Max 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 this</xs:documentation>
---
> <xs:documentation>Time 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.</xs:documentation>
6802c5111
< <xs:attribute name="name" type="xs:string">
---
> <xs:attribute name="suppress_time_out_of_buffer_space" type="xs:string">
6804c5113
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
---
> <xs:documentation>Suppresses warnings on Mac OS (for now) about not enough buffer space when sending a datagram packet</xs:documentation>
6807c5116
< <xs:attribute name="segment_capacity" type="xs:string">
---
> <xs:attribute name="thread_naming_pattern" type="xs:string">
6809c5118
< <xs:documentation>Size (in bytes) of a Segment in the segments table. Only for experts, do not use !</xs:documentation>
---
> <xs:documentation>Thread 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"</xs:documentation>
6812c5121
< <xs:attribute name="stats" type="xs:string">
---
> <xs:attribute name="thread_pool.keep_alive_time" type="xs:string">
6814c5123
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
---
> <xs:documentation>Timeout in milliseconds to remove idle thread from regular pool</xs:documentation>
6817,6818c5126
< <xs:attribute name="timeout" type="xs:string"/>
< <xs:attribute name="xmit_interval" type="xs:string">
---
> <xs:attribute name="thread_pool.max_threads" type="xs:string">
6820c5128
< <xs:documentation>Interval (in milliseconds) at which messages in the send windows are resent</xs:documentation>
---
> <xs:documentation>Maximum thread pool size for the regular thread pool</xs:documentation>
6823c5131
< <xs:attribute name="xmit_table_max_compaction_time" type="xs:string">
---
> <xs:attribute name="thread_pool.min_threads" type="xs:string">
6825c5133
< <xs:documentation>Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)</xs:documentation>
---
> <xs:documentation>Minimum thread pool size for the regular thread pool</xs:documentation>
6828c5136
< <xs:attribute name="xmit_table_msgs_per_row" type="xs:string">
---
> <xs:attribute name="thread_pool.queue_enabled" type="xs:string">
6830c5138
< <xs:documentation>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_row</xs:documentation>
---
> <xs:documentation>Queue to enqueue incoming regular messages</xs:documentation>
6833c5141
< <xs:attribute name="xmit_table_num_rows" type="xs:string">
---
> <xs:attribute name="thread_pool.queue_max_size" type="xs:string">
6835c5143
< <xs:documentation>Number of rows of the matrix in the retransmission table (only for experts)</xs:documentation>
---
> <xs:documentation>Maximum queue size for incoming regular messages</xs:documentation>
6838c5146
< <xs:attribute name="xmit_table_resize_factor" type="xs:string">
---
> <xs:attribute name="thread_pool.rejection_policy" type="xs:string">
6840c5148
< <xs:documentation>Resize factor of the matrix in the retransmission table (only for experts)</xs:documentation>
---
> <xs:documentation>Thread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run</xs:documentation>
6843,6847c5151
< </xs:complexType>
< </xs:element>
< <xs:element name="UNICAST2">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
---
> <xs:attribute name="time_service_interval" type="xs:string">
6849c5153
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
---
> <xs:documentation>Interval (in ms) at which the time service updates its timestamp. 0 disables the time service</xs:documentation>
6852c5156
< <xs:attribute name="conn_expiry_timeout" type="xs:string">
---
> <xs:attribute name="timer.keep_alive_time" type="xs:string">
6854c5158
< <xs:documentation>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 reaping</xs:documentation>
---
> <xs:documentation>Timeout in ms to remove idle threads from the timer pool</xs:documentation>
6857c5161
< <xs:attribute name="ergonomics" type="xs:string">
---
> <xs:attribute name="timer.max_threads" type="xs:string">
6859c5163
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
---
> <xs:documentation>Max thread pool size for the timer thread pool</xs:documentation>
6862c5166
< <xs:attribute name="exponential_backoff" type="xs:string">
---
> <xs:attribute name="timer.min_threads" type="xs:string">
6864c5168
< <xs:documentation>The first value (in milliseconds) to use in the exponential backoff. Enabled if greater than 0</xs:documentation>
---
> <xs:documentation>Minimum thread pool size for the timer thread pool</xs:documentation>
6867c5171
< <xs:attribute name="id" type="xs:string">
---
> <xs:attribute name="timer.queue_max_size" type="xs:string">
6869c5173
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
---
> <xs:documentation>Max number of elements on a timer queue</xs:documentation>
6872c5176
< <xs:attribute name="level" type="xs:string">
---
> <xs:attribute name="timer.rejection_policy" type="xs:string">
6874c5178
< <xs:documentation>logger level (see javadocs)</xs:documentation>
---
> <xs:documentation>Timer rejection policy. Possible values are Abort, Discard, DiscardOldest and Run</xs:documentation>
6877c5181
< <xs:attribute name="log_not_found_msgs" type="xs:string">
---
> <xs:attribute name="timer_type" type="xs:string">
6879c5183
< <xs:documentation>If true, trashes warnings about retransmission messages not found in the xmit_table (used for testing)</xs:documentation>
---
> <xs:documentation>Type of timer to be used. The only valid value is "new3" (TimeScheduler3).</xs:documentation>
6882c5186
< <xs:attribute name="max_bytes" type="xs:string">
---
> <xs:attribute name="tos" type="xs:string">
6884c5188
< <xs:documentation>Max number of bytes before a stability message is sent to the sender</xs:documentation>
---
> <xs:documentation>Traffic class for sending unicast and multicast datagrams. Default is 8</xs:documentation>
6887c5191
< <xs:attribute name="max_msg_batch_size" type="xs:string">
---
> <xs:attribute name="ucast_recv_buf_size" type="xs:string">
6889c5193
< <xs:documentation>Max number of messages to be removed from a NakReceiverWindow. This property might get removed anytime, so don't use it !</xs:documentation>
---
> <xs:documentation>Receive buffer size of the unicast datagram socket. Default is 64'000 bytes</xs:documentation>
6892c5196
< <xs:attribute name="max_retransmit_time" type="xs:string">
---
> <xs:attribute name="ucast_send_buf_size" type="xs:string">
6894c5198
< <xs:documentation>Max 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 this</xs:documentation>
---
> <xs:documentation>Send buffer size of the unicast datagram socket. Default is 100'000 bytes</xs:documentation>
6897c5201
< <xs:attribute name="max_stable_msgs" type="xs:string">
---
> <xs:attribute name="who_has_cache_timeout" type="xs:string">
6899c5203
< <xs:documentation>Max number of STABLE messages sent for the same highest_received seqno. A value &lt; 1 is invalid</xs:documentation>
---
> <xs:documentation>Timeout (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 apart</xs:documentation>
6902c5206,5210
< <xs:attribute name="name" type="xs:string">
---
> </xs:complexType>
> </xs:element>
> <xs:element name="UFC">
> <xs:complexType>
> <xs:attribute name="after_creation_hook" type="xs:string">
6904c5212
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
---
> <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
6907c5215
< <xs:attribute name="stable_interval" type="xs:string">
---
> <xs:attribute name="ergonomics" type="xs:string">
6909c5217
< <xs:documentation>Max number of milliseconds before a stability message is sent to the sender(s)</xs:documentation>
---
> <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
6912c5220
< <xs:attribute name="stats" type="xs:string">
---
> <xs:attribute name="id" type="xs:string">
6914c5222
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
---
> <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
6917c5225
< <xs:attribute name="timeout" type="xs:string">
---
> <xs:attribute name="level" type="xs:string">
6919c5227
< <xs:documentation>list of timeouts</xs:documentation>
---
> <xs:documentation>logger level (see javadocs)</xs:documentation>
6922c5230
< <xs:attribute name="use_range_based_retransmitter" type="xs:string">
---
> <xs:attribute name="max_block_time" type="xs:string">
6924c5232
< <xs:documentation>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 occur</xs:documentation>
---
> <xs:documentation>Max time (in ms) to block</xs:documentation>
6927c5235
< <xs:attribute name="xmit_interval" type="xs:string">
---
> <xs:attribute name="max_block_times" type="xs:string">
6929c5237
< <xs:documentation>Interval (in milliseconds) at which missing messages (from all retransmit buffers) are retransmitted</xs:documentation>
---
> <xs:documentation>Max times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"</xs:documentation>
6932c5240
< <xs:attribute name="xmit_table_automatic_purging" type="xs:string">
---
> <xs:attribute name="max_credits" type="xs:string">
6934c5242
< <xs:documentation>If enabled, the removal of a message from the retransmission table causes an automatic purge (only for experts)</xs:documentation>
---
> <xs:documentation>Max number of bytes to send per receiver until an ack must be received to proceed</xs:documentation>
6937c5245
< <xs:attribute name="xmit_table_max_compaction_time" type="xs:string">
---
> <xs:attribute name="min_credits" type="xs:string">
6939c5247
< <xs:documentation>Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)</xs:documentation>
---
> <xs:documentation>Computed as max_credits x min_theshold unless explicitly set</xs:documentation>
6942c5250
< <xs:attribute name="xmit_table_msgs_per_row" type="xs:string">
---
> <xs:attribute name="min_threshold" type="xs:string">
6944c5252
< <xs:documentation>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_row</xs:documentation>
---
> <xs:documentation>The 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)</xs:documentation>
6947c5255
< <xs:attribute name="xmit_table_num_rows" type="xs:string">
---
> <xs:attribute name="name" type="xs:string">
6949c5257
< <xs:documentation>Number of rows of the matrix in the retransmission table (only for experts)</xs:documentation>
---
> <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
6952c5260
< <xs:attribute name="xmit_table_resize_factor" type="xs:string">
---
> <xs:attribute name="stats" type="xs:string">
6954c5262
< <xs:documentation>Resize factor of the matrix in the retransmission table (only for experts)</xs:documentation>
---
> <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
6961,6965d5268
< <xs:attribute name="ack_batches_immediately" type="xs:string">
< <xs:annotation>
< <xs:documentation>Send an ack for a batch immediately instead of using a delayed ack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
7208,7212d5510
< <xs:attribute name="handle_concurrent_startup" type="xs:string">
< <xs:annotation>
< <xs:documentation>Temporary switch. Default is true and should not be changed</xs:documentation>
< </xs:annotation>
< </xs:attribute>
7330,7458d5627
< <xs:element name="pbcast.NAKACK">
< <xs:complexType>
< <xs:attribute name="after_creation_hook" type="xs:string">
< <xs:annotation>
< <xs:documentation>Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="become_server_queue_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="discard_delivered_msgs" type="xs:string">
< <xs:annotation>
< <xs:documentation>Should messages delivered to application be discarded</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="ergonomics" type="xs:string">
< <xs:annotation>
< <xs:documentation>Enables ergonomics: dynamically find the best values for properties at runtime</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="exponential_backoff" type="xs:string">
< <xs:annotation>
< <xs:documentation>The first value (in milliseconds) to use in the exponential backoff. Enabled if greater than 0</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="id" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different ID if needed so we can have multiple instances of it in the same stack</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="level" type="xs:string">
< <xs:annotation>
< <xs:documentation>logger level (see javadocs)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="log_discard_msgs" type="xs:string">
< <xs:annotation>
< <xs:documentation>discards warnings about promiscuous traffic</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="log_not_found_msgs" type="xs:string">
< <xs:annotation>
< <xs:documentation>If true, trashes warnings about retransmission messages not found in the xmit_table (used for testing)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_msg_batch_size" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max number of messages to be removed from a NakReceiverWindow. This property might get removed anytime, so don't use it !</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="max_rebroadcast_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout to rebroadcast messages. Default is 2000 msec</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="name" type="xs:string">
< <xs:annotation>
< <xs:documentation>Give the protocol a different name if needed so we can have multiple instances of it in the same stack (also change ID)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="print_stability_history_on_failed_xmit" type="xs:string">
< <xs:annotation>
< <xs:documentation>Should stability history be printed if we fail in retransmission. Default is false</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="retransmit_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Timeout before requesting retransmissions</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="stats" type="xs:string">
< <xs:annotation>
< <xs:documentation>Determines whether to collect statistics (and expose them via JMX). Default is true</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="suppress_time_non_member_warnings" type="xs:string">
< <xs:annotation>
< <xs:documentation>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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="use_mcast_xmit" type="xs:string">
< <xs:annotation>
< <xs:documentation>Retransmit retransmit responses (messages) using multicast rather than unicast</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="use_mcast_xmit_req" type="xs:string">
< <xs:annotation>
< <xs:documentation>Use a multicast to request retransmission of missing messages</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="use_range_based_retransmitter" type="xs:string">
< <xs:annotation>
< <xs:documentation>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 occur</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="xmit_from_random_member" type="xs:string">
< <xs:annotation>
< <xs:documentation>Ask a random member for retransmission of a missing message. Default is false</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="xmit_stagger_timeout" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number 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.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="xmit_table_max_compaction_time" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="xmit_table_msgs_per_row" type="xs:string">
< <xs:annotation>
< <xs:documentation>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_row</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="xmit_table_num_rows" type="xs:string">
< <xs:annotation>
< <xs:documentation>Number of rows of the matrix in the retransmission table (only for experts)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< <xs:attribute name="xmit_table_resize_factor" type="xs:string">
< <xs:annotation>
< <xs:documentation>Resize factor of the matrix in the retransmission table (only for experts)</xs:documentation>
< </xs:annotation>
< </xs:attribute>
< </xs:complexType>
< </xs:element>
7521,7525d5689
< <xs:attribute name="print_stability_history_on_failed_xmit" type="xs:string">
< <xs:annotation>
< <xs:documentation>Should stability history be printed if we fail in retransmission. Default is false</xs:documentation>
< </xs:annotation>
< </xs:attribute>
7595,7599d5758
< <xs:attribute name="cap" type="xs:string">
< <xs:annotation>
< <xs:documentation>Max percentage of the max heap (-Xmx) to be used for max_bytes. Only used if ergonomics is enabled. 0 disables setting max_bytes dynamically.</xs:documentation>
< </xs:annotation>
< </xs:attribute>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment