Move adsal into its own subdirectory.
[controller.git] / opendaylight / adsal / protocol_plugins / openflow / src / main / java / org / opendaylight / controller / protocol_plugin / openflow / IOFStatisticsListener.java
diff --git a/opendaylight/adsal/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/IOFStatisticsListener.java b/opendaylight/adsal/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/IOFStatisticsListener.java
new file mode 100644 (file)
index 0000000..9a2d4ff
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.controller.protocol_plugin.openflow;
+
+import java.util.List;
+
+import org.openflow.protocol.statistics.OFStatistics;
+
+/**
+ * Interface which defines the notification functions which will get called when
+ * the information contained in the OF statistics reply message received from a
+ * network node is different from the cached one.
+ */
+public interface IOFStatisticsListener {
+    /**
+     * Notifies that a new list of description statistics objects for the given
+     * switch is available
+     *
+     * @param switchId
+     *            The datapath id of the openflow switch
+     * @param description
+     *            The new list of description statistics objects
+     */
+    public void descriptionStatisticsRefreshed(Long switchId, List<OFStatistics> description);
+
+    /**
+     * Notifies that a new list of flows statistics objects for the given switch
+     * is available
+     *
+     * @param switchId
+     *            The datapath id of the openflow switch
+     * @param flows
+     *            The new list of flow statistics objects
+     */
+    public void flowStatisticsRefreshed(Long switchId, List<OFStatistics> flows);
+
+    /**
+     * Notifies that a new list of port statistics objects for the given switch
+     * is available
+     *
+     * @param switchId
+     *            The datapath id of the openflow switch
+     * @param flows
+     *            The new list of port statistics objects
+     */
+    public void portStatisticsRefreshed(Long switchId, List<OFStatistics> ports);
+
+    /**
+     * Notifies that a new list of table statistics objects for the given switch
+     * is available
+     *
+     * @param switchId
+     *            The datapath id of the openflow switch
+     * @param flows
+     *            The new list of table statistics objects
+     */
+    public void tableStatisticsRefreshed(Long switchId, List<OFStatistics> tables);
+}