Move stats caching to FM StatisticsManager
[controller.git] / opendaylight / statisticsmanager / api / src / main / java / org / opendaylight / controller / statisticsmanager / IStatisticsManager.java
index a2ab07ac7b6bc7249f44ca1c66415c731faf738c..8267e4d0299334a534a9844d759392a1e763d15f 100644 (file)
@@ -27,12 +27,15 @@ import org.opendaylight.controller.sal.reader.NodeTableStatistics;
  */
 public interface IStatisticsManager {
     /**
-     * Return all the statistics for all the flows present on the specified node in the current container context.
-     * If the context is the default container, the returned statistics are for all the flows installed on the node,
-     * regardless of the container they belong to
+     * Return all the statistics for all the flows present on the specified node
+     * in the current container context. If the context is the default
+     * container, the returned statistics are for all the flows installed on the
+     * node, regardless of the container they belong to
      *
-     * @param node  the network node
-     * @return the list of flows installed on the network node
+     * @param node
+     *            The network node
+     * @return List of flows installed on the network node. Null if specified
+     *         node is null. Empty list if node/stat is not present.
      */
     List<FlowOnNode> getFlows(Node node);
 
@@ -40,45 +43,50 @@ public interface IStatisticsManager {
      * Returns the statistics for the flows specified in the list
      *
      * @param flows
-     * @return  the list of flows installed on the network node
+     * @return A map of flows per node installed on that node, empty map if
+     *         flows is null/empty.
      */
-    Map<Node, List<FlowOnNode>> getFlowStatisticsForFlowList(
-            List<FlowEntry> flows);
+    Map<Node, List<FlowOnNode>> getFlowStatisticsForFlowList(List<FlowEntry> flows);
 
     /**
-     * Returns the number of flows installed on the switch in the current container context
-     * If the context is the default container, the returned value is the number of all the
-     * flows installed on the switch regardless of the container they belong to
+     * Returns the number of flows installed on the switch in the current
+     * container context If the context is the default container, the returned
+     * value is the number of all the flows installed on the switch regardless
+     * of the container they belong to
      *
-     * @param switchId
-     * @return
+     * @param node
+     * @return number of flows on specified node or (-1) if node was not found
      */
     int getFlowsNumber(Node node);
 
     /**
-     * Returns the node description for the specified node retrieved and cached by the
-     * protocol plugin component which collects the node statistics
+     * Returns the node description for the specified node retrieved by the
+     * protocol plugin component and cached by statistics manager.
+     * Null if node not found.
      *
      * @param node
-     * @return
+     * @return node description
      */
     NodeDescription getNodeDescription(Node node);
 
     /**
-     * Returns the statistics for the specified node connector as it was retrieved
-     * and cached by the protocol plugin component which collects the node connector statistics
+     * Returns the statistics for the specified node connector as it was
+     * retrieved by the protocol plugin component and cached by statistics
+     * manager.
      *
      * @param node
-     * @return
+     * @return Node connector statistics or null if requested stats was not
+     *         found.
      */
-    NodeConnectorStatistics getNodeConnectorStatistics(
-            NodeConnector nodeConnector);
+    NodeConnectorStatistics getNodeConnectorStatistics(NodeConnector nodeConnector);
 
     /**
-     * Returns the statistics for all the node connector present on the specified network node
+     * Returns the statistics for all the node connector present on the
+     * specified network node
      *
      * @param node
-     * @return
+     * @return List of node connector statistics. Null if node is null. Empty
+     *         list if node/stats is not present.
      */
     List<NodeConnectorStatistics> getNodeConnectorStatistics(Node node);
 
@@ -86,7 +94,7 @@ public interface IStatisticsManager {
      * Returns the statistics for the specified table of the node
      *
      * @param nodeTable
-     * @return
+     * @return Table statistics. Null if node table is null or stats not found.
      */
     NodeTableStatistics getNodeTableStatistics(NodeTable nodeTable);
 
@@ -94,7 +102,8 @@ public interface IStatisticsManager {
      * Returns the statistics for all the tables of the node
      *
      * @param nodeTable
-     * @return
+     * @return List of table stats. Null if node is null. Empty list if
+     *         node/stats not found.
      */
     List <NodeTableStatistics> getNodeTableStatistics(Node node);
 }