<!-- 
		TCP based stack, with flush, flow control and message bundling. This is usually used when IP
        multicasting cannot be used in a network, e.g. because it is disabled (routers discard multicast).
        Note that TCP.bind_addr and TCPPING.initial_hosts should be set, possibly via system properties, e.g.
        -Djgroups.bind_addr=192.168.5.2 and -Djgroups.tcpping.initial_hosts=192.168.5.2[7800]"
        
-->        
<config xmlns="urn:org:jgroups"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/JGroups-2.12.xsd">
    <TCP bind_port="7800"
         loopback="true"
         recv_buf_size="${tcp.recv_buf_size:20000000}"
         send_buf_size="${tcp.send_buf_size:640000}"
         discard_incompatible_packets="true"
         max_bundle_size="64000"
         max_bundle_timeout="30"
         enable_bundling="true"
         use_send_queues="true"
         sock_conn_timeout="300"
         
         thread_pool.enabled="true"
         thread_pool.min_threads="1"
         thread_pool.max_threads="25"
         thread_pool.keep_alive_time="5000"
         thread_pool.queue_enabled="false"
         thread_pool.queue_max_size="100"
         thread_pool.rejection_policy="run"

         oob_thread_pool.enabled="true"
         oob_thread_pool.min_threads="1"
         oob_thread_pool.max_threads="8"
         oob_thread_pool.keep_alive_time="5000"
         oob_thread_pool.queue_enabled="false"
         oob_thread_pool.queue_max_size="100"
         oob_thread_pool.rejection_policy="run"/>
         
    <TCPPING timeout="3000"
             initial_hosts="${jgroups.tcpping.initial_hosts:localhost[7800],localhost[7801]}"
             port_range="1"
             num_initial_members="3"/>
    <MERGE2 max_interval="30000"
              min_interval="10000"/>
    <FD_SOCK/>
    <FD timeout="10000" max_tries="5"   />
    <VERIFY_SUSPECT timeout="1500"  />
    <pbcast.NAKACK 
                   use_mcast_xmit="false" gc_lag="0"
                   retransmit_timeout="300,600,1200,2400,4800"
                   discard_delivered_msgs="false"/>
    <UNICAST timeout="300,600,1200" />
    <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
                   max_bytes="4m"/>
    <pbcast.GMS print_local_addr="true" join_timeout="7000" 
                view_bundling="true"/>
    <UFC max_credits="2M"
         min_threshold="0.4"/>
    <MFC max_credits="2M"
         min_threshold="0.4"/>
    <FRAG2 frag_size="60000"  />
    <pbcast.STREAMING_STATE_TRANSFER/>
    <!-- <pbcast.STATE_TRANSFER/> -->
    <pbcast.FLUSH timeout="0"/>
</config>
