##
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements.  See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership.  The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License.  You may obtain a copy of the License at
##
##   http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing,
## software distributed under the License is distributed on an
## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
## KIND, either express or implied.  See the License for the
## specific language governing permissions and limitations
## under the License
##

# See the qdrouterd.conf (5) manual page for information about this
# file's format and options.

router {
    mode: <%= @router_mode %>
    id: <%= @router_id %>
    workerThreads: <%= @router_worker_threads %>
    debugDump: <%= @router_debug_dump %>
    saslConfigPath: <%= @router_sasl_path %>
    saslConfigName: <%= @router_sasl_name %>
}

<%- if @listener_require_ssl == 'yes' -%>
sslProfile {
   name: <%= @router_id %>
   certDb: <%= @listener_ssl_cert_db %>
   certFile: <%= @listener_ssl_cert_file %>
   keyFile: <%= @listener_ssl_key_file %>
}
<%- end -%>

listener {
    host: <%= @listener_addr %>
    port: <%= @listener_port %>
<%- if @listener_require_ssl == 'yes' -%>
    sslProfile: <%= @router_id %>
<%- end -%>
    authenticatePeer: <%= @listener_auth_peer %>
    saslMechanisms: <%= @listener_sasl_mech %>
}

<%- @extra_listeners.each do |listener| -%>
listener {
<%- listener.each do |k,v| -%>
    <%= k %>: <%= v %>
<%- end -%>
}

<%- end -%>
<%- @connectors.each do |connector| -%>
connector {
<%- connector.each do |k,v| -%>
    <%= k %>: <%= v %>
<%- end -%>
}

<%- end -%>
address {
    prefix: unicast
    distribution: closest
}

address {
    prefix: exclusive
    distribution: closest
}

address {
    prefix: broadcast
    distribution: multicast
}

<%- @extra_addresses.each do |address| -%>
address {
<%- address.each do |k,v| -%>
    <%= k %>: <%= v %>
<%- end -%>
}

<%- end -%>

log {
   module: <%= @log_module %>
   enable: <%= @log_enable %>
   timestamp: true
   output: <%= @log_output %>
}

