Class RIBImpl
- java.lang.Object
-
- org.opendaylight.protocol.bgp.rib.DefaultRibReference
-
- org.opendaylight.protocol.bgp.rib.impl.state.BGPRibStateImpl
-
- org.opendaylight.protocol.bgp.rib.impl.RIBImpl
-
- All Implemented Interfaces:
EventListener,org.opendaylight.mdsal.dom.api.DOMTransactionChainListener,RIB,RibOutRefresh,RibReference,BGPRibState,BGPRibStateProvider,InstanceReference<Rib>
public final class RIBImpl extends BGPRibStateImpl implements RIB, org.opendaylight.mdsal.dom.api.DOMTransactionChainListener
-
-
Constructor Summary
Constructors Constructor Description RIBImpl(BGPTableTypeRegistryConsumer tableTypeRegistry, RibId ribId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber localAs, BgpId localBgpId, RIBExtensionConsumerContext extensions, BGPDispatcher dispatcher, CodecsRegistry codecsRegistry, org.opendaylight.mdsal.dom.api.DOMDataBroker domDataBroker, BGPRibRoutingPolicy ribPolicies, List<BgpTableType> localTables, Map<TablesKey,PathSelectionMode> bestPathSelectionStrategies)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo>closeServiceInstance()org.opendaylight.mdsal.dom.api.DOMTransactionChaincreatePeerDOMChain(org.opendaylight.mdsal.dom.api.DOMTransactionChainListener listener)Allocate a new transaction chain for use with a peer.BgpIdgetBgpIdentifier()CodecsRegistrygetCodecsRegistry()BGPDispatchergetDispatcher()org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumbergetLocalAs()RIB AS.Set<? extends BgpTableType>getLocalTables()Return the set of table identifiers which are accepted and advertised by this RIB instance.Set<TablesKey>getLocalTablesKeys()BGPPeerTrackergetPeerTracker()Returns peer tracker for the rib.RIBExtensionConsumerContextgetRibExtensions()Return the RIB extensions available to the RIB instance.BGPRibRoutingPolicygetRibPolicies()Return Policies Container.RIBSupportContextRegistrygetRibSupportContext()Return the RIB extensions available to the RIB instance with additional RIB specific context such as translation between DOM and Binding.org.opendaylight.mdsal.dom.api.DOMDataTreeChangeServicegetService()Return instance of DOMDataTreeChangeService, where consumer can register to listen on DOM data changes.org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifiergetYangRibId()Return YangInstanceIdentifier of BGP Rib with its RibId.voidinstantiateServiceInstance()voidonTransactionChainFailed(org.opendaylight.mdsal.dom.api.DOMTransactionChain chain, org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction transaction, Throwable cause)voidonTransactionChainSuccessful(org.opendaylight.mdsal.dom.api.DOMTransactionChain chain)voidrefreshTable(TablesKey tk, PeerId peerId)Triggers the reevaluation.booleansupportsTable(TablesKey tableKey)Returns true if RIB supports table.StringtoString()-
Methods inherited from class org.opendaylight.protocol.bgp.rib.impl.state.BGPRibStateImpl
getAs, getPathCount, getPathsCount, getPrefixesCount, getRIBState, getRouteId, getTablesPrefixesCount, getTotalPathsCount, getTotalPrefixesCount, isActive, registerTotalPathCounter, registerTotalPrefixesCounter, setActive
-
Methods inherited from class org.opendaylight.protocol.bgp.rib.DefaultRibReference
getInstanceIdentifier
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.opendaylight.protocol.bgp.rib.RibReference
getInstanceIdentifier
-
-
-
-
Constructor Detail
-
RIBImpl
public RIBImpl(BGPTableTypeRegistryConsumer tableTypeRegistry, RibId ribId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber localAs, BgpId localBgpId, RIBExtensionConsumerContext extensions, BGPDispatcher dispatcher, CodecsRegistry codecsRegistry, org.opendaylight.mdsal.dom.api.DOMDataBroker domDataBroker, BGPRibRoutingPolicy ribPolicies, List<BgpTableType> localTables, Map<TablesKey,PathSelectionMode> bestPathSelectionStrategies)
-
-
Method Detail
-
getLocalAs
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getLocalAs()
Description copied from interface:RIBRIB AS.- Specified by:
getLocalAsin interfaceRIB- Returns:
- AS
-
getBgpIdentifier
public BgpId getBgpIdentifier()
- Specified by:
getBgpIdentifierin interfaceRIB
-
getLocalTables
public Set<? extends BgpTableType> getLocalTables()
Description copied from interface:RIBReturn the set of table identifiers which are accepted and advertised by this RIB instance.- Specified by:
getLocalTablesin interfaceRIB- Returns:
- A set of identifiers.
-
getDispatcher
public BGPDispatcher getDispatcher()
- Specified by:
getDispatcherin interfaceRIB
-
onTransactionChainFailed
public void onTransactionChainFailed(org.opendaylight.mdsal.dom.api.DOMTransactionChain chain, org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction transaction, Throwable cause)- Specified by:
onTransactionChainFailedin interfaceorg.opendaylight.mdsal.dom.api.DOMTransactionChainListener
-
onTransactionChainSuccessful
public void onTransactionChainSuccessful(org.opendaylight.mdsal.dom.api.DOMTransactionChain chain)
- Specified by:
onTransactionChainSuccessfulin interfaceorg.opendaylight.mdsal.dom.api.DOMTransactionChainListener
-
getLocalTablesKeys
public Set<TablesKey> getLocalTablesKeys()
- Specified by:
getLocalTablesKeysin interfaceRIB
-
supportsTable
public boolean supportsTable(TablesKey tableKey)
Description copied from interface:RIBReturns true if RIB supports table.- Specified by:
supportsTablein interfaceRIB- Parameters:
tableKey- table- Returns:
- true if supported
-
getRibPolicies
public BGPRibRoutingPolicy getRibPolicies()
Description copied from interface:RIBReturn Policies Container.- Specified by:
getRibPoliciesin interfaceRIB- Returns:
- policies
-
getPeerTracker
public BGPPeerTracker getPeerTracker()
Description copied from interface:RIBReturns peer tracker for the rib.- Specified by:
getPeerTrackerin interfaceRIB- Returns:
- peer tracker
-
refreshTable
public void refreshTable(TablesKey tk, PeerId peerId)
Description copied from interface:RibOutRefreshTriggers the reevaluation.- Specified by:
refreshTablein interfaceRibOutRefresh- Parameters:
tk- table key of table route paths to be reevaluatedpeerId- peer to advertize / withdraw paths after reevaluation
-
getService
public org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService getService()
Description copied from interface:RIBReturn instance of DOMDataTreeChangeService, where consumer can register to listen on DOM data changes.- Specified by:
getServicein interfaceRIB- Returns:
- DOMDataTreeChangeService
-
getYangRibId
public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier getYangRibId()
Description copied from interface:RIBReturn YangInstanceIdentifier of BGP Rib with its RibId.- Specified by:
getYangRibIdin interfaceRIB- Returns:
- YangInstanceIdentifier
-
createPeerDOMChain
public org.opendaylight.mdsal.dom.api.DOMTransactionChain createPeerDOMChain(org.opendaylight.mdsal.dom.api.DOMTransactionChainListener listener)
Description copied from interface:RIBAllocate a new transaction chain for use with a peer.- Specified by:
createPeerDOMChainin interfaceRIB- Parameters:
listener-DOMTransactionChainListenerhandling recovery- Returns:
- A new transaction chain.
-
getRibExtensions
public RIBExtensionConsumerContext getRibExtensions()
Description copied from interface:RIBReturn the RIB extensions available to the RIB instance.- Specified by:
getRibExtensionsin interfaceRIB- Returns:
- RIB extensions handle.
-
getRibSupportContext
public RIBSupportContextRegistry getRibSupportContext()
Description copied from interface:RIBReturn the RIB extensions available to the RIB instance with additional RIB specific context such as translation between DOM and Binding.- Specified by:
getRibSupportContextin interfaceRIB- Returns:
- RIB extensions handle.
-
getCodecsRegistry
public CodecsRegistry getCodecsRegistry()
- Specified by:
getCodecsRegistryin interfaceRIB
-
instantiateServiceInstance
public void instantiateServiceInstance()
-
closeServiceInstance
public com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> closeServiceInstance()
-
-