package org.onlab.onos.net.topology;

import org.onlab.onos.net.Provided;

/**
 * Represents a network topology computation snapshot.
 */
public interface Topology extends Provided {

    /**
     * Returns the time, specified in milliseconds since start of epoch,
     * when the topology became active and made available.
     *
     * @return time in milliseconds since start of epoch
     */
    long time();

    /**
     * Returns the number of SCCs (strongly connected components) in the
     * topology.
     *
     * @return number of clusters
     */
    int clusterCount();

    /**
     * Returns the number of infrastructure devices in the topology.
     *
     * @return number of devices
     */
    int deviceCount();


    /**
     * Returns the number of infrastructure links in the topology.
     *
     * @return number of links
     */
    int linkCount();

    /**
     * Returns the number of infrastructure paths computed between devices
     * in the topology. This means the number of all the shortest paths
     * (hop-count) between all device pairs.
     *
     * @return number of paths
     */
    int pathCount();

}

@@ -177,16 +177,158 @@
 ided %7B%0A%0A
+    // FIXME: Following is not true right now. It is actually System.nanoTime(),%0A    // which has no relation to epoch time, wall clock, etc.%0A
     /**%0A

Add note for Javadoc bug in Topology interface