Class DistributedTopologyStore
- java.lang.Object
-
- org.onosproject.store.AbstractStore<org.onosproject.net.topology.TopologyEvent,org.onosproject.net.topology.TopologyStoreDelegate>
-
- org.onosproject.store.topology.impl.DistributedTopologyStore
-
- All Implemented Interfaces:
org.onosproject.net.topology.PathAdminService,org.onosproject.net.topology.TopologyStore,org.onosproject.store.Store<org.onosproject.net.topology.TopologyEvent,org.onosproject.net.topology.TopologyStoreDelegate>
public class DistributedTopologyStore extends org.onosproject.store.AbstractStore<org.onosproject.net.topology.TopologyEvent,org.onosproject.net.topology.TopologyStoreDelegate> implements org.onosproject.net.topology.TopologyStore, org.onosproject.net.topology.PathAdminServiceManages inventory of topology snapshots using trivial in-memory structures implementation.Note: This component is not distributed per-se. It runs on every instance and feeds off of other distributed stores.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.onosproject.store.service.LogicalClockServiceclockServiceprotected org.onosproject.cfg.ComponentConfigServiceconfigServiceprotected org.onosproject.net.device.DeviceServicedeviceServiceprotected org.onosproject.mastership.MastershipServicemastershipServiceprotected org.onosproject.store.service.StorageServicestorageService
-
Constructor Summary
Constructors Constructor Description DistributedTopologyStore()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidactivate(org.osgi.service.component.ComponentContext context)org.onosproject.net.topology.TopologycurrentTopology()protected voiddeactivate()org.onosproject.net.topology.TopologyClustergetCluster(org.onosproject.net.topology.Topology topology, org.onosproject.net.topology.ClusterId clusterId)java.util.Set<org.onosproject.net.DeviceId>getClusterDevices(org.onosproject.net.topology.Topology topology, org.onosproject.net.topology.TopologyCluster cluster)java.util.Set<org.onosproject.net.Link>getClusterLinks(org.onosproject.net.topology.Topology topology, org.onosproject.net.topology.TopologyCluster cluster)java.util.Set<org.onosproject.net.topology.TopologyCluster>getClusters(org.onosproject.net.topology.Topology topology)java.util.Set<org.onosproject.net.DisjointPath>getDisjointPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst)java.util.Set<org.onosproject.net.DisjointPath>getDisjointPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, java.util.Map<org.onosproject.net.Link,java.lang.Object> riskProfile)java.util.Set<org.onosproject.net.DisjointPath>getDisjointPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher)java.util.Set<org.onosproject.net.DisjointPath>getDisjointPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher, java.util.Map<org.onosproject.net.Link,java.lang.Object> riskProfile)org.onosproject.net.topology.TopologyGraphgetGraph(org.onosproject.net.topology.Topology topology)java.util.stream.Stream<org.onosproject.net.Path>getKShortestPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher)java.util.Set<org.onosproject.net.Path>getKShortestPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher, int maxPaths)java.util.Set<org.onosproject.net.Path>getPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst)java.util.Set<org.onosproject.net.Path>getPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher)booleanisBroadcastPoint(org.onosproject.net.topology.Topology topology, org.onosproject.net.ConnectPoint connectPoint)booleanisInfrastructure(org.onosproject.net.topology.Topology topology, org.onosproject.net.ConnectPoint connectPoint)booleanisLatest(org.onosproject.net.topology.Topology topology)protected voidmodified(org.osgi.service.component.ComponentContext context)voidsetDefaultGraphPathSearch(org.onlab.graph.GraphPathSearch<org.onosproject.net.topology.TopologyVertex,org.onosproject.net.topology.TopologyEdge> graphPathSearch)voidsetDefaultLinkWeigher(org.onosproject.net.topology.LinkWeigher linkWeigher)org.onosproject.net.topology.TopologyEventupdateTopology(org.onosproject.net.provider.ProviderId providerId, org.onosproject.net.topology.GraphDescription graphDescription, java.util.List<org.onosproject.event.Event> reasons)-
Methods inherited from class org.onosproject.store.AbstractStore
hasDelegate, notifyDelegate, notifyDelegate, setDelegate, unsetDelegate
-
-
-
-
Field Detail
-
storageService
protected org.onosproject.store.service.StorageService storageService
-
clockService
protected org.onosproject.store.service.LogicalClockService clockService
-
mastershipService
protected org.onosproject.mastership.MastershipService mastershipService
-
configService
protected org.onosproject.cfg.ComponentConfigService configService
-
deviceService
protected org.onosproject.net.device.DeviceService deviceService
-
-
Method Detail
-
activate
protected void activate(org.osgi.service.component.ComponentContext context)
-
deactivate
protected void deactivate()
-
modified
protected void modified(org.osgi.service.component.ComponentContext context)
-
currentTopology
public org.onosproject.net.topology.Topology currentTopology()
- Specified by:
currentTopologyin interfaceorg.onosproject.net.topology.TopologyStore
-
isLatest
public boolean isLatest(org.onosproject.net.topology.Topology topology)
- Specified by:
isLatestin interfaceorg.onosproject.net.topology.TopologyStore
-
getGraph
public org.onosproject.net.topology.TopologyGraph getGraph(org.onosproject.net.topology.Topology topology)
- Specified by:
getGraphin interfaceorg.onosproject.net.topology.TopologyStore
-
getClusters
public java.util.Set<org.onosproject.net.topology.TopologyCluster> getClusters(org.onosproject.net.topology.Topology topology)
- Specified by:
getClustersin interfaceorg.onosproject.net.topology.TopologyStore
-
getCluster
public org.onosproject.net.topology.TopologyCluster getCluster(org.onosproject.net.topology.Topology topology, org.onosproject.net.topology.ClusterId clusterId)- Specified by:
getClusterin interfaceorg.onosproject.net.topology.TopologyStore
-
getClusterDevices
public java.util.Set<org.onosproject.net.DeviceId> getClusterDevices(org.onosproject.net.topology.Topology topology, org.onosproject.net.topology.TopologyCluster cluster)- Specified by:
getClusterDevicesin interfaceorg.onosproject.net.topology.TopologyStore
-
getClusterLinks
public java.util.Set<org.onosproject.net.Link> getClusterLinks(org.onosproject.net.topology.Topology topology, org.onosproject.net.topology.TopologyCluster cluster)- Specified by:
getClusterLinksin interfaceorg.onosproject.net.topology.TopologyStore
-
getPaths
public java.util.Set<org.onosproject.net.Path> getPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst)- Specified by:
getPathsin interfaceorg.onosproject.net.topology.TopologyStore
-
getPaths
public java.util.Set<org.onosproject.net.Path> getPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher)- Specified by:
getPathsin interfaceorg.onosproject.net.topology.TopologyStore
-
getKShortestPaths
public java.util.Set<org.onosproject.net.Path> getKShortestPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher, int maxPaths)- Specified by:
getKShortestPathsin interfaceorg.onosproject.net.topology.TopologyStore
-
getKShortestPaths
public java.util.stream.Stream<org.onosproject.net.Path> getKShortestPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher)- Specified by:
getKShortestPathsin interfaceorg.onosproject.net.topology.TopologyStore
-
getDisjointPaths
public java.util.Set<org.onosproject.net.DisjointPath> getDisjointPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst)- Specified by:
getDisjointPathsin interfaceorg.onosproject.net.topology.TopologyStore
-
getDisjointPaths
public java.util.Set<org.onosproject.net.DisjointPath> getDisjointPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher)- Specified by:
getDisjointPathsin interfaceorg.onosproject.net.topology.TopologyStore
-
getDisjointPaths
public java.util.Set<org.onosproject.net.DisjointPath> getDisjointPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, java.util.Map<org.onosproject.net.Link,java.lang.Object> riskProfile)- Specified by:
getDisjointPathsin interfaceorg.onosproject.net.topology.TopologyStore
-
getDisjointPaths
public java.util.Set<org.onosproject.net.DisjointPath> getDisjointPaths(org.onosproject.net.topology.Topology topology, org.onosproject.net.DeviceId src, org.onosproject.net.DeviceId dst, org.onosproject.net.topology.LinkWeigher weigher, java.util.Map<org.onosproject.net.Link,java.lang.Object> riskProfile)- Specified by:
getDisjointPathsin interfaceorg.onosproject.net.topology.TopologyStore
-
isInfrastructure
public boolean isInfrastructure(org.onosproject.net.topology.Topology topology, org.onosproject.net.ConnectPoint connectPoint)- Specified by:
isInfrastructurein interfaceorg.onosproject.net.topology.TopologyStore
-
isBroadcastPoint
public boolean isBroadcastPoint(org.onosproject.net.topology.Topology topology, org.onosproject.net.ConnectPoint connectPoint)- Specified by:
isBroadcastPointin interfaceorg.onosproject.net.topology.TopologyStore
-
updateTopology
public org.onosproject.net.topology.TopologyEvent updateTopology(org.onosproject.net.provider.ProviderId providerId, org.onosproject.net.topology.GraphDescription graphDescription, java.util.List<org.onosproject.event.Event> reasons)- Specified by:
updateTopologyin interfaceorg.onosproject.net.topology.TopologyStore
-
setDefaultLinkWeigher
public void setDefaultLinkWeigher(org.onosproject.net.topology.LinkWeigher linkWeigher)
- Specified by:
setDefaultLinkWeigherin interfaceorg.onosproject.net.topology.PathAdminService
-
setDefaultGraphPathSearch
public void setDefaultGraphPathSearch(org.onlab.graph.GraphPathSearch<org.onosproject.net.topology.TopologyVertex,org.onosproject.net.topology.TopologyEdge> graphPathSearch)
- Specified by:
setDefaultGraphPathSearchin interfaceorg.onosproject.net.topology.PathAdminService
-
-