Move adsal into its own subdirectory.
[controller.git] / opendaylight / adsal / protocol_plugins / openflow / src / main / java / org / opendaylight / controller / protocol_plugin / openflow / IOFStatisticsListener.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.protocol_plugin.openflow;
9
10 import java.util.List;
11
12 import org.openflow.protocol.statistics.OFStatistics;
13
14 /**
15  * Interface which defines the notification functions which will get called when
16  * the information contained in the OF statistics reply message received from a
17  * network node is different from the cached one.
18  */
19 public interface IOFStatisticsListener {
20     /**
21      * Notifies that a new list of description statistics objects for the given
22      * switch is available
23      *
24      * @param switchId
25      *            The datapath id of the openflow switch
26      * @param description
27      *            The new list of description statistics objects
28      */
29     public void descriptionStatisticsRefreshed(Long switchId, List<OFStatistics> description);
30
31     /**
32      * Notifies that a new list of flows statistics objects for the given switch
33      * is available
34      *
35      * @param switchId
36      *            The datapath id of the openflow switch
37      * @param flows
38      *            The new list of flow statistics objects
39      */
40     public void flowStatisticsRefreshed(Long switchId, List<OFStatistics> flows);
41
42     /**
43      * Notifies that a new list of port statistics objects for the given switch
44      * is available
45      *
46      * @param switchId
47      *            The datapath id of the openflow switch
48      * @param flows
49      *            The new list of port statistics objects
50      */
51     public void portStatisticsRefreshed(Long switchId, List<OFStatistics> ports);
52
53     /**
54      * Notifies that a new list of table statistics objects for the given switch
55      * is available
56      *
57      * @param switchId
58      *            The datapath id of the openflow switch
59      * @param flows
60      *            The new list of table statistics objects
61      */
62     public void tableStatisticsRefreshed(Long switchId, List<OFStatistics> tables);
63 }