1c3c6fcd7c4dbd97bcb8200fe737a9f3ec785409
[openflowplugin.git] / openflowplugin-api / src / main / java / org / opendaylight / openflowplugin / api / openflow / statistics / StatisticsManager.java
1 /*
2  * Copyright (c) 2015 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
9 package org.opendaylight.openflowplugin.api.openflow.statistics;
10
11 import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
12 import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceInitializationPhaseHandler;
13 import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceLifecycleSupervisor;
14 import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceTerminationPhaseHandler;
15
16 /**
17  * Manager to start or stop scheduling statistics
18  */
19 public interface StatisticsManager extends DeviceLifecycleSupervisor, DeviceInitializationPhaseHandler,
20         DeviceTerminationPhaseHandler, AutoCloseable {
21
22     /**
23      * Start scheduling statistic gathering for given device info
24      * @param deviceInfo for this device should be running statistics gathering
25      */
26     void startScheduling(final DeviceInfo deviceInfo);
27
28     /**
29      * Stop scheduling statistic gathering for given device info
30      * @param deviceInfo for this device should be stopped statistics gathering
31      */
32     void stopScheduling(final DeviceInfo deviceInfo);
33
34     @Override
35     void close();
36
37     void setIsStatisticsPollingOn(boolean isStatisticsPollingOn);
38
39 }