blob: f71a5ececb3bab9ca158d9ca77fa0e14798e0e09 [file] [log] [blame]
tomcfde0622014-09-09 11:02:42 -07001package org.onlab.onos.net.topology;
2
3import org.onlab.onos.net.Provided;
tom43387f32014-08-27 14:42:43 -07004
5/**
6 * Represents a network topology computation snapshot.
7 */
tomd1900f32014-09-03 14:08:16 -07008public interface Topology extends Provided {
tom43387f32014-08-27 14:42:43 -07009
10 /**
11 * Returns the time, specified in milliseconds since start of epoch,
12 * when the topology became active and made available.
13 *
14 * @return time in milliseconds since start of epoch
15 */
16 long time();
17
18 /**
19 * Returns the number of SCCs (strongly connected components) in the
20 * topology.
21 *
22 * @return number of clusters
23 */
24 int clusterCount();
25
26 /**
27 * Returns the number of infrastructure devices in the topology.
28 *
29 * @return number of devices
30 */
31 int deviceCount();
32
33
34 /**
35 * Returns the number of infrastructure links in the topology.
36 *
37 * @return number of links
38 */
39 int linkCount();
40
41 /**
42 * Returns the number of infrastructure paths computed between devices
43 * in the topology. This means the number of all the shortest paths
44 * (hop-count) between all device pairs.
45 *
46 * @return number of paths
47 */
48 int pathCount();
49
50}