<!--

    Copyright (C) 2003-2014 eXo Platform SAS.

    This is free software; you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as
    published by the Free Software Foundation; either version 3 of
    the License, or (at your option) any later version.

    This software is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this software; if not, write to the Free
    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    02110-1301 USA, or see the FSF site: http://www.fsf.org.

-->
<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-3.6.xsd">
  <UDP
      singleton_name="${exo.jcr.cluster.jgroups.udp.singleton_name:jcr-transport-udp}"
      bind_addr="${exo.jcr.cluster.jgroups.udp.bind_addr:127.0.0.1}"
      bind_port="${exo.jcr.cluster.jgroups.udp.bind_port:16600}"
      mcast_addr="${exo.jcr.cluster.jgroups.udp.mcast_addr:228.10.10.10}"
      mcast_port="${exo.jcr.cluster.jgroups.udp.mcast_port:17600}"
      tos="${exo.jcr.cluster.jgroups.udp.tos:8}"
      ucast_recv_buf_size="${exo.jcr.cluster.jgroups.udp.ucast_recv_buf_size:20M}"
      ucast_send_buf_size="${exo.jcr.cluster.jgroups.udp.ucast_send_buf_size:640K}"
      mcast_recv_buf_size="${exo.jcr.cluster.jgroups.udp.mcast_recv_buf_size:25M}"
      mcast_send_buf_size="${exo.jcr.cluster.jgroups.udp.mcast_send_buf_size:640K}"
      max_bundle_size="${exo.jcr.cluster.jgroups.udp.max_bundle_size:64K}"
      max_bundle_timeout="${exo.jcr.cluster.jgroups.udp.max_bundle_timeout:30}"
      ip_ttl="${exo.jcr.cluster.jgroups.udp.ip_ttl:8}"
      enable_diagnostics="${exo.jcr.cluster.jgroups.udp.enable_diagnostics:true}"
      bundler_type="${exo.jcr.cluster.jgroups.tcp.bundler_type:sender-sends-with-timer}"
      diagnostics_addr="${exo.jcr.cluster.jgroups.udp.diagnostics_addr:224.0.75.75}"
      diagnostics_port="${exo.jcr.cluster.jgroups.udp.diagnostics_port:7500}"
      thread_naming_pattern="${exo.jcr.cluster.jgroups.udp.thread_naming_pattern:cl}"
      timer_type="${exo.jcr.cluster.jgroups.udp.timer_type:old}"
      timer.min_threads="${exo.jcr.cluster.jgroups.udp.timer.min_threads:4}"
      timer.max_threads="${exo.jcr.cluster.jgroups.udp.timer.max_threads:10}"
      timer.keep_alive_time="${exo.jcr.cluster.jgroups.udp.timer.keep_alive_time:3000}"
      timer.queue_max_size="${exo.jcr.cluster.jgroups.udp.timer.queue_max_size:500}"
      thread_pool.enabled="${exo.jcr.cluster.jgroups.udp.thread_pool.enabled:true}"
      thread_pool.min_threads="${exo.jcr.cluster.jgroups.udp.thread_pool.min_threads:2}"
      thread_pool.max_threads="${exo.jcr.cluster.jgroups.udp.thread_pool.max_threads:8}"
      thread_pool.keep_alive_time="${exo.jcr.cluster.jgroups.udp.thread_pool.keep_alive_time:5000}"
      thread_pool.queue_enabled="${exo.jcr.cluster.jgroups.udp.thread_pool.queue_enabled:true}"
      thread_pool.queue_max_size="${exo.jcr.cluster.jgroups.udp.thread_pool.queue_max_size:10000}"
      thread_pool.rejection_policy="${exo.jcr.cluster.jgroups.udp.thread_pool.rejection_policy:discard}"
      oob_thread_pool.enabled="${exo.jcr.cluster.jgroups.udp.oob_thread_pool.enabled:true}"
      oob_thread_pool.min_threads="${exo.jcr.cluster.jgroups.udp.oob_thread_pool.min_threads:1}"
      oob_thread_pool.max_threads="${exo.jcr.cluster.jgroups.udp.oob_thread_pool.max_threads:8}"
      oob_thread_pool.keep_alive_time="${exo.jcr.cluster.jgroups.udp.oob_thread_pool.keep_alive_time:5000}"
      oob_thread_pool.queue_enabled="${exo.jcr.cluster.jgroups.udp.oob_thread_pool.queue_enabled:false}"
      oob_thread_pool.queue_max_size="${exo.jcr.cluster.jgroups.udp.oob_thread_pool.queue_max_size:100}"
      oob_thread_pool.rejection_policy="${exo.jcr.cluster.jgroups.udp.oob_thread_pool.rejection_policy:Run}" />
  <PING />
  <MERGE2
      max_interval="${exo.jcr.cluster.jgroups.merge2.max_interval:30000}"
      min_interval="${exo.jcr.cluster.jgroups.merge2.min_interval:10000}" />
  <FD_SOCK />
  <FD_ALL />
  <VERIFY_SUSPECT
      timeout="${exo.jcr.cluster.jgroups.verify_suspect.timeout:1500}" />
  <BARRIER />
  <pbcast.NAKACK2
      xmit_interval="${exo.jcr.cluster.jgroups.pbcast.nakack2.xmit_interval:1000}"
      xmit_table_num_rows="${exo.jcr.cluster.jgroups.pbcast.nakack2.xmit_table_num_rows:100}"
      xmit_table_msgs_per_row="${exo.jcr.cluster.jgroups.pbcast.nakack2.xmit_table_msgs_per_row:2000}"
      xmit_table_max_compaction_time="${exo.jcr.cluster.jgroups.pbcast.nakack2.xmit_table_max_compaction_time:30000}"
      max_msg_batch_size="${exo.jcr.cluster.jgroups.pbcast.nakack2.max_msg_batch_size:500}"
      use_mcast_xmit="${exo.jcr.cluster.jgroups.pbcast.nakack2.use_mcast_xmit:false}"
      discard_delivered_msgs="${exo.jcr.cluster.jgroups.pbcast.nakack2.discard_delivered_msgs:true}" />
  <UNICAST
      xmit_interval="${exo.jcr.cluster.jgroups.unicast.xmit_interval:2000}"
      xmit_table_num_rows="${exo.jcr.cluster.jgroups.unicast.xmit_table_num_rows:100}"
      xmit_table_msgs_per_row="${exo.jcr.cluster.jgroups.unicast.xmit_table_msgs_per_row:2000}"
      xmit_table_max_compaction_time="${exo.jcr.cluster.jgroups.unicast.xmit_table_max_compaction_time:60000}"
      conn_expiry_timeout="${exo.jcr.cluster.jgroups.unicast.conn_expiry_timeout:60000}"
      max_msg_batch_size="${exo.jcr.cluster.jgroups.unicast.max_msg_batch_size:500}" />
  <pbcast.STABLE
      stability_delay="${exo.jcr.cluster.jgroups.pbcast.stable.stability_delay:1000}"
      desired_avg_gossip="${exo.jcr.cluster.jgroups.pbcast.stable.desired_avg_gossip:50000}"
      max_bytes="${exo.jcr.cluster.jgroups.pbcast.stable.max_bytes:4M}" />
  <pbcast.GMS
      print_local_addr="${exo.jcr.cluster.jgroups.pbcast.gms.print_local_addr:true}"
      join_timeout="${exo.jcr.cluster.jgroups.pbcast.gms.join_timeout:3000}"
      view_bundling="${exo.jcr.cluster.jgroups.pbcast.gms.view_bundling:true}" />
  <UFC
      max_credits="${exo.jcr.cluster.jgroups.ufc.max_credits:2M}"
      min_threshold="${exo.jcr.cluster.jgroups.ufc.min_threshold:0.4}" />
  <MFC
      max_credits="${exo.jcr.cluster.jgroups.mfc.max_credits:2M}"
      min_threshold="${exo.jcr.cluster.jgroups.mfc.min_threshold:0.4}" />
  <FRAG2
      frag_size="${exo.jcr.cluster.jgroups.frag2.frag_size:60K}" />
  <RSVP
      resend_interval="${exo.jcr.cluster.jgroups.rsvp.resend_interval:2000}"
      ack_on_delivery="${exo.jcr.cluster.jgroups.rsvp.ack_on_delivery:false}"
      timeout="${exo.jcr.cluster.jgroups.rsvp.timeout:10000}" />
  <pbcast.STATE_TRANSFER />
  <!-- pbcast.FLUSH  /-->
</config>
