fb7f24d4fc920ff4a7419c2fe14a51283e98d0c7
[bgpcep.git] / pcep / impl / src / main / resources / org / opendaylight / blueprint / pcep-impl.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
3            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0">
4
5   <!-- Obtains the specific list of PCEPCapability OSGi services announced via
6        META-INF/services/org.opendaylight.protocol.pcep.PCEPCapability resources.
7   -->
8   <odl:specific-reference-list id="pcepCapabilities" interface="org.opendaylight.protocol.pcep.PCEPCapability"/>
9
10   <odl:clustered-app-config id="pcepSessionConfig"
11       binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.app.config.rev160707.PcepSessionConfig"/>
12
13   <bean id="sessionProposalFactory" class="org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory">
14     <argument>
15       <bean factory-ref="pcepSessionConfig" factory-method="getDeadTimerValue"/>
16     </argument>
17     <argument>
18       <bean factory-ref="pcepSessionConfig" factory-method="getKeepAliveTimerValue"/>
19     </argument>
20     <argument ref="pcepCapabilities"/>
21   </bean>
22
23   <!-- PCEPDispatcher -->
24
25   <reference id="pcepExtensionContext" interface="org.opendaylight.protocol.pcep.spi.PCEPExtensionConsumerContext"/>
26   <reference id="globalBossGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-boss-group"/>
27   <reference id="globalWorkerGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-worker-group"/>
28
29   <odl:clustered-app-config id="pcepDispatcherConfig"
30       binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.app.config.rev160707.PcepDispatcherConfig"/>
31
32   <bean id="pcepSessionNegotiatorFactory" class="org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory">
33     <argument ref="sessionProposalFactory"/>
34     <argument ref="pcepDispatcherConfig"/>
35   </bean>
36
37   <bean id="pcepDispatcher" class="org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl">
38     <argument>
39       <bean factory-ref="pcepExtensionContext" factory-method="getMessageHandlerRegistry"/>
40     </argument>
41     <argument ref="pcepSessionNegotiatorFactory"/>
42     <argument ref="globalBossGroup"/>
43     <argument ref="globalWorkerGroup"/>
44   </bean>
45
46   <service ref="pcepDispatcher" interface="org.opendaylight.protocol.pcep.PCEPDispatcher"/>
47 </blueprint>