<?xml version="1.0"?>
<!--
  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.
-->
<configuration>
  
  <configSections>
    <section name="rebus" type="Rebus.Configuration.RebusConfigurationSection, Rebus"/>
  </configSections>

  <rebus inputQueue="MyResponses" errorQueue="MyErrors" workers="1">
    <endpoints>
      <add messages="RebusSample.MathRequestCall, RebusSample" endpoint="MathRequests"/>
      <add messages="RebusSample.MathResponseCall, RebusSample" endpoint="MathResponses"/>
    </endpoints>
  </rebus>

  <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
