Class RibImpl
- java.lang.Object
-
- org.opendaylight.protocol.bgp.rib.impl.config.RibImpl
-
- All Implemented Interfaces:
AutoCloseable
,RIB
,RibOutRefresh
,RibReference
,BGPRibStateConsumer
,InstanceReference<Rib>
public final class RibImpl extends Object implements RIB, BGPRibStateConsumer, AutoCloseable
-
-
Constructor Summary
Constructors Constructor Description RibImpl(RIBExtensionConsumerContext contextProvider, BGPDispatcher dispatcher, BGPRibRoutingPolicyFactory policyProvider, org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory codecTreeFactory, org.opendaylight.mdsal.dom.api.DOMDataBroker domBroker, org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.mdsal.dom.api.DOMSchemaService domSchemaService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
org.opendaylight.mdsal.binding.api.TransactionChain
createPeerChain(org.opendaylight.mdsal.binding.api.TransactionChainListener listener)
Allocate a new transaction chain for use with a peer.org.opendaylight.mdsal.dom.api.DOMTransactionChain
createPeerDOMChain(org.opendaylight.mdsal.dom.api.DOMTransactionChainListener listener)
Allocate a new transaction chain for use with a peer.BgpId
getBgpIdentifier()
CodecsRegistry
getCodecsRegistry()
org.opendaylight.mdsal.binding.api.DataBroker
getDataBroker()
Return DataBroker.BGPDispatcher
getDispatcher()
org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier<Rib,RibKey>
getInstanceIdentifier()
Returns the InstanceIdentifier of the object.org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber
getLocalAs()
RIB AS.Set<? extends BgpTableType>
getLocalTables()
Return the set of table identifiers which are accepted and advertised by this RIB instance.Set<TablesKey>
getLocalTablesKeys()
BGPPeerTracker
getPeerTracker()
Returns peer tracker for the rib.RIBExtensionConsumerContext
getRibExtensions()
Return the RIB extensions available to the RIB instance.BGPRibRoutingPolicy
getRibPolicies()
Return Policies Container.BGPRibState
getRIBState()
Returns RIB Operational State.RIBSupportContextRegistry
getRibSupportContext()
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.DOMDataTreeChangeService
getService()
Return instance of DOMDataTreeChangeService, where consumer can register to listen on DOM data changes.org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier
getYangRibId()
Return YangInstanceIdentifier of BGP Rib with its RibId.void
instantiateServiceInstance()
void
refreshTable(TablesKey tk, PeerId peerId)
Triggers the reevaluation.boolean
supportsTable(TablesKey tableKey)
Returns true if RIB supports table.String
toString()
-
-
-
Constructor Detail
-
RibImpl
public RibImpl(RIBExtensionConsumerContext contextProvider, BGPDispatcher dispatcher, BGPRibRoutingPolicyFactory policyProvider, org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory codecTreeFactory, org.opendaylight.mdsal.dom.api.DOMDataBroker domBroker, org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.mdsal.dom.api.DOMSchemaService domSchemaService)
-
-
Method Detail
-
getInstanceIdentifier
public org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier<Rib,RibKey> getInstanceIdentifier()
Description copied from interface:InstanceReference
Returns the InstanceIdentifier of the object.- Specified by:
getInstanceIdentifier
in interfaceInstanceReference<Rib>
- Specified by:
getInstanceIdentifier
in interfaceRibReference
- Returns:
- instance identifier
-
getLocalAs
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getLocalAs()
Description copied from interface:RIB
RIB AS.- Specified by:
getLocalAs
in interfaceRIB
- Returns:
- AS
-
getBgpIdentifier
public BgpId getBgpIdentifier()
- Specified by:
getBgpIdentifier
in interfaceRIB
-
getLocalTables
public Set<? extends BgpTableType> getLocalTables()
Description copied from interface:RIB
Return the set of table identifiers which are accepted and advertised by this RIB instance.- Specified by:
getLocalTables
in interfaceRIB
- Returns:
- A set of identifiers.
-
getDispatcher
public BGPDispatcher getDispatcher()
- Specified by:
getDispatcher
in interfaceRIB
-
createPeerDOMChain
public org.opendaylight.mdsal.dom.api.DOMTransactionChain createPeerDOMChain(org.opendaylight.mdsal.dom.api.DOMTransactionChainListener listener)
Description copied from interface:RIB
Allocate a new transaction chain for use with a peer.- Specified by:
createPeerDOMChain
in interfaceRIB
- Parameters:
listener
-TransactionChainListener
handling recovery- Returns:
- A new transaction chain.
-
createPeerChain
public org.opendaylight.mdsal.binding.api.TransactionChain createPeerChain(org.opendaylight.mdsal.binding.api.TransactionChainListener listener)
Description copied from interface:RIB
Allocate a new transaction chain for use with a peer.- Specified by:
createPeerChain
in interfaceRIB
- Parameters:
listener
-TransactionChainListener
handling recovery- Returns:
- A new transaction chain.
-
getRibExtensions
public RIBExtensionConsumerContext getRibExtensions()
Description copied from interface:RIB
Return the RIB extensions available to the RIB instance.- Specified by:
getRibExtensions
in interfaceRIB
- Returns:
- RIB extensions handle.
-
getRibSupportContext
public RIBSupportContextRegistry getRibSupportContext()
Description copied from interface:RIB
Return the RIB extensions available to the RIB instance with additional RIB specific context such as translation between DOM and Binding.- Specified by:
getRibSupportContext
in interfaceRIB
- Returns:
- RIB extensions handle.
-
getYangRibId
public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier getYangRibId()
Description copied from interface:RIB
Return YangInstanceIdentifier of BGP Rib with its RibId.- Specified by:
getYangRibId
in interfaceRIB
- Returns:
- YangInstanceIdentifier
-
getCodecsRegistry
public CodecsRegistry getCodecsRegistry()
- Specified by:
getCodecsRegistry
in interfaceRIB
-
getService
public org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService getService()
Description copied from interface:RIB
Return instance of DOMDataTreeChangeService, where consumer can register to listen on DOM data changes.- Specified by:
getService
in interfaceRIB
- Returns:
- DOMDataTreeChangeService
-
getDataBroker
public org.opendaylight.mdsal.binding.api.DataBroker getDataBroker()
Description copied from interface:RIB
Return DataBroker.- Specified by:
getDataBroker
in interfaceRIB
- Returns:
- DataBroker
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
getLocalTablesKeys
public Set<TablesKey> getLocalTablesKeys()
- Specified by:
getLocalTablesKeys
in interfaceRIB
-
supportsTable
public boolean supportsTable(TablesKey tableKey)
Description copied from interface:RIB
Returns true if RIB supports table.- Specified by:
supportsTable
in interfaceRIB
- Parameters:
tableKey
- table- Returns:
- true if supported
-
getRibPolicies
public BGPRibRoutingPolicy getRibPolicies()
Description copied from interface:RIB
Return Policies Container.- Specified by:
getRibPolicies
in interfaceRIB
- Returns:
- policies
-
getPeerTracker
public BGPPeerTracker getPeerTracker()
Description copied from interface:RIB
Returns peer tracker for the rib.- Specified by:
getPeerTracker
in interfaceRIB
- Returns:
- peer tracker
-
getRIBState
public BGPRibState getRIBState()
Description copied from interface:BGPRibStateConsumer
Returns RIB Operational State.- Specified by:
getRIBState
in interfaceBGPRibStateConsumer
- Returns:
- BGP RIB State
-
instantiateServiceInstance
public void instantiateServiceInstance()
-
refreshTable
public void refreshTable(TablesKey tk, PeerId peerId)
Description copied from interface:RibOutRefresh
Triggers the reevaluation.- Specified by:
refreshTable
in interfaceRibOutRefresh
- Parameters:
tk
- table key of table route paths to be reevaluatedpeerId
- peer to advertize / withdraw paths after reevaluation
-
-