Definition
A transport protocol that works by opening a TCP connection to a message Router, such as a Gossip Router . All members of a TUNNEL group must connect to the same router, the router will forward message coming from a member to the other members of the group. Incoming traffic received from Router will simply be passed up the stack.
A TUNNEL layer can be used to penetrate a firewall, most firewalls allow creating TCP connections to the outside world, however, they do not permit outside hosts to initiate a TCP connection to a host inside the firewall. Therefore, the connection created by the inside host is reused by Router to send traffic from an outside host to a host inside the firewall.
Configuration Example
<TUNNEL router_host="192.168.1.3" router_port="12345" loopback="true"></TUNNEL>
Configuration Parameters
Name | Description |
---|---|
bind_addr | The bind address which should be used by this transport |
bind_interface_str | The interface (NIC) which should be used by this transport |
bind_port | The port to which the transport binds. Default of 0 binds to any (ephemeral) port |
bundler_capacity | The max number of elements in a bundler if the bundler supports size limitations |
bundler_type | The type of bundler used. Has to be "old" (default) or "new" |
diagnostics_addr | Address for diagnostic probing. Default is 224.0.75.75 |
diagnostics_port | Port for diagnostic probing. Default is 7500 |
discard_incompatible_packets | Discard packets with a different version if true. Default is false |
enable_bundling | Enable bundling of smaller messages into bigger ones. Default is true |
enable_diagnostics | Switch to enable diagnostic probing. Default is true |
enable_unicast_bundling | Enable bundling of smaller messages into bigger ones for unicast messages. Default is false |
id | Give the protocol a different ID if needed so we can have multiple instances of it in the same stack |
level | Sets the logger level (see javadocs) |
log_discard_msgs | whether or not warnings about messages from different groups are logged |
loopback | Messages to self are looped back immediately if true |
marshaller_pool_size | |
max_bundle_size | Maximum number of bytes for messages to be queued until they are sent |
max_bundle_timeout | Max number of milliseconds until queued messages are sent |
name | Give the protocol a different name if needed so we can have multiple instances of it in the same stack |
num_timer_threads | Number of threads to be used by the timer thread pool. Default is 4 |
oob_thread_pool.keep_alive_time | Timeout in ms to remove idle threads from the OOB pool |
oob_thread_pool.max_threads | Max thread pool size for the OOB thread pool |
oob_thread_pool.min_threads | Minimum thread pool size for the OOB thread pool |
oob_thread_pool_enabled | Switch for enabling thread pool for OOB messages. Default=true |
oob_thread_pool_queue_enabled | Use queue to enqueue incoming OOB messages |
oob_thread_pool_queue_max_size | Maximum queue size for incoming OOB messages. Default is 500 |
oob_thread_pool_rejection_policy | Thread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run. Default is Discard |
port_range | The range of valid ports, from bind_port to end_port. Infinite if 0 |
receive_interfaces | Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on |
receive_on_all_interfaces | If true, the transport should use all available interfaces to receive multicast messages |
reconnect_interval | Interval in msec to attempt connecting back to router in case of torn connection. Default is 5000 msec |
router_host | Router host address |
router_port | Router port |
singleton_name | If assigned enable this transport to be a singleton (shared) transport |
stats | Determines whether to collect statistics (and expose them via JMX). Default is true |
thread_naming_pattern | Thread naming pattern for threads in this channel. Default is cl |
thread_pool.keep_alive_time | Timeout in milliseconds to remove idle thread from regular pool |
thread_pool.max_threads | Maximum thread pool size for the regular thread pool |
thread_pool.min_threads | Minimum thread pool size for the regular thread pool |
thread_pool_enabled | Switch for enabling thread pool for regular messages. Default true |
thread_pool_queue_enabled | Use queue to enqueue incoming regular messages. Default is true |
thread_pool_queue_max_size | Maximum queue size for incoming OOB messages. Default is 500 |
thread_pool_rejection_policy | Thread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run. Default is Discard |
use_local_host | Ignores all bind address parameters and let's the OS return the local host address |
See also Protocol Configuration Common Parameters.
Comments