<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.

*  WSO2 Inc. 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..
-->

<DataAgentsConfiguration xmlns:svns="http://org.wso2.securevault/configuration">
    <Agent>
        <Name>Thrift</Name>
        <DataEndpointClass>org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint</DataEndpointClass>
        {% if transport.thrift.agent.trust_store is defined %}
        <TrustSore>{{transport.thrift.agent.trust_store}}</TrustSore>
        {% endif %}
        {% if transport.thrift.agent.trust_store_password is defined %}
        <TrustSorePassword>{{transport.thrift.agent.trust_store_password}}</TrustSorePassword>
        {% endif %}
        <QueueSize>{{transport.thrift.agent.queue_size}}</QueueSize>
        <BatchSize>{{transport.thrift.agent.batch_size}}</BatchSize>
        <CorePoolSize>{{transport.thrift.agent.core_pool_size}}</CorePoolSize>
        <SocketTimeoutMS>{{transport.thrift.agent.socket_timeout_ms}}</SocketTimeoutMS>
        <MaxPoolSize>{{transport.thrift.agent.max_pool_size}}</MaxPoolSize>
        <KeepAliveTimeInPool>{{transport.thrift.agent.keep_alive_time_in_pool}}</KeepAliveTimeInPool>
        <ReconnectionInterval>{{transport.thrift.agent.reconnection_interval}}</ReconnectionInterval>
        <MaxTransportPoolSize>{{transport.thrift.agent.max_transport_pool_size}}</MaxTransportPoolSize>
        <MaxIdleConnections>{{transport.thrift.agent.max_idle_connections}}</MaxIdleConnections>
        <EvictionTimePeriod>{{transport.thrift.agent.eviction_time_period}}</EvictionTimePeriod>
        <MinIdleTimeInPool>{{transport.thrift.agent.min_idle_time_in_pool}}</MinIdleTimeInPool>
        <SecureMaxTransportPoolSize>{{transport.thrift.agent.secure_max_transport_pool_size}}</SecureMaxTransportPoolSize>
        <SecureMaxIdleConnections>{{transport.thrift.agent.secure_max_idle_connections}}</SecureMaxIdleConnections>
        <SecureEvictionTimePeriod>{{transport.thrift.agent.secure_eviction_time_period}}</SecureEvictionTimePeriod>
        <SecureMinIdleTimeInPool>{{transport.thrift.agent.secure_min_idle_time_in_pool}}</SecureMinIdleTimeInPool>
        {% if transport.thrift.agent.ssl_enabled_protocols is defined %}
        <sslEnabledProtocols>{{transport.thrift.agent.ssl_enabled_protocols}}</sslEnabledProtocols>
        {% endif %}
        {% if transport.thrift.agent.ciphers is defined %}
        <ciphers>{{transport.thrift.agent.ciphers}}</ciphers>
        {% endif %}
        {% if transport.thrift.agent.exp_factor is defined %}
        <ExpFactor>{{transport.thrift.agent.exp_factor}}</ExpFactor>
        {% else %}
        <ExpFactor>1</ExpFactor>
        {% endif %}
        {% if transport.thrift.agent.max_reconnection_interval is defined %}
        <MaxReconnectionInterval>{{transport.thrift.agent.max_reconnection_interval}}</MaxReconnectionInterval>
        {% else %}
        <MaxReconnectionInterval>3600</MaxReconnectionInterval>
        {% endif %}
    </Agent>

    <Agent>
        <Name>Binary</Name>
        <DataEndpointClass>org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint</DataEndpointClass>
        {% if transport.binary.agent.trust_store is defined %}
        <TrustSore>{{transport.binary.agent.trust_store}}</TrustSore>
        {% endif %}
        {% if transport.binary.agent.trust_store_password is defined %}
        <TrustSorePassword>{{transport.binary.agent.trust_store_password}}</TrustSorePassword>
        {% endif %}
        <QueueSize>{{transport.binary.agent.queue_size}}</QueueSize>
        <BatchSize>{{transport.binary.agent.batch_size}}</BatchSize>
        <CorePoolSize>{{transport.binary.agent.core_pool_size}}</CorePoolSize>
        <SocketTimeoutMS>{{transport.binary.agent.socket_timeout_ms}}</SocketTimeoutMS>
        <MaxPoolSize>{{transport.binary.agent.max_pool_size}}</MaxPoolSize>
        <KeepAliveTimeInPool>{{transport.binary.agent.keep_alive_time_in_pool}}</KeepAliveTimeInPool>
        <ReconnectionInterval>{{transport.binary.agent.reconnection_interval}}</ReconnectionInterval>
        <MaxTransportPoolSize>{{transport.binary.agent.max_transport_pool_size}}</MaxTransportPoolSize>
        <MaxIdleConnections>{{transport.binary.agent.max_idle_connections}}</MaxIdleConnections>
        <EvictionTimePeriod>{{transport.binary.agent.eviction_time_period}}</EvictionTimePeriod>
        <MinIdleTimeInPool>{{transport.binary.agent.min_idle_time_in_pool}}</MinIdleTimeInPool>
        <SecureMaxTransportPoolSize>{{transport.binary.agent.secure_max_transport_pool_size}}</SecureMaxTransportPoolSize>
        <SecureMaxIdleConnections>{{transport.binary.agent.secure_max_idle_connections}}</SecureMaxIdleConnections>
        <SecureEvictionTimePeriod>{{transport.binary.agent.secure_eviction_time_period}}</SecureEvictionTimePeriod>
        <SecureMinIdleTimeInPool>{{transport.binary.agent.secure_min_idle_time_in_pool}}</SecureMinIdleTimeInPool>
        {% if transport.binary.agent.ssl_enabled_protocols is defined %}
        <sslEnabledProtocols>{{transport.binary.agent.ssl_enabled_protocols}}</sslEnabledProtocols>
        {% endif %}
        {% if transport.binary.agent.ciphers is defined %}
        <ciphers>{{transport.binary.agent.ciphers}}</ciphers>
        {% endif %}
        {% if transport.binary.agent.exp_factor is defined %}
        <ExpFactor>{{transport.binary.agent.exp_factor}}</ExpFactor>
        {% else %}
        <ExpFactor>1</ExpFactor>
        {% endif %}
        {% if transport.binary.agent.max_reconnection_interval is defined %}
        <MaxReconnectionInterval>{{transport.binary.agent.max_reconnection_interval}}</MaxReconnectionInterval>
        {% else %}
        <MaxReconnectionInterval>3600</MaxReconnectionInterval>
        {% endif %}
    </Agent>
</DataAgentsConfiguration>

