<?xml version="1.0" encoding="UTF-8"?>
<!--
 * 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.    
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
  targetNamespace="http://tuscany.apache.org/xmlns/sca/components"
  name="memcache">
        
    <component name="memcache">
        <implementation.cpp path="." library="libmemcache"/>
        <service name="memcache">
            <binding.http uri="memcache"/>
        </service>
        <property name="server">localhost</property>
        <property name="server">localhost:11212</property>
        <property name="server">localhost:11213</property>
    </component>

    <component name="l2cache">
        <implementation.cpp path="." library="libmemcache"/>
        <service name="l2cache">
            <binding.http uri="l2cache"/>
        </service>
        <property name="servers">localhost:11411 localhost:11412 localhost:11413</property>
    </component>

    <component name="datacache">
        <implementation.cpp path="." library="libdatacache"/>
        <service name="datacache">
            <binding.http uri="datacache"/>
        </service>
        <reference name="l1reader" target="memcache"/>
        <reference name="l1writer" target="memcache"/>
        <reference name="l2reader" target="l2cache"/>
        <reference name="l2writer" target="l2cache"/>
    </component>

    <component name="memocache">
        <implementation.cpp path="." library="libmemocache"/>
        <service name="memocache">
            <binding.http uri="memocache"/>
        </service>
        <reference name="relay" target="adder"/>
        <reference name="cache" target="memcache"/>
    </component>

    <component name="adder">
        <implementation.scheme script="adder-test.scm"/>
        <service name="adder">
            <binding.http uri="adder"/>
        </service>
    </component>     

    <component name="partitioner">
        <implementation.cpp path="." library="libpartitioner"/>
        <service name="partitioner">
            <binding.http uri="partitioner"/>
        </service>
        <reference name="selector" target="selector"/>
        <reference name="partition" target="partition1"/>
        <reference name="partition" target="partition2"/>
    </component>

    <component name="selector">
        <implementation.scheme script="select-test.scm"/>
        <service name="selector">
            <binding.http uri="selector"/>
        </service>
    </component>

    <component name="partition1">
        <implementation.scheme script="partition1-test.scm"/>
        <service name="partition1">
            <binding.http uri="partition1"/>
        </service>
    </component>     

    <component name="partition2">
        <implementation.scheme script="partition2-test.scm"/>
        <service name="partition2">
            <binding.http uri="partition2"/>
        </service>
    </component>     

</composite>
