2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
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
9 package org.opendaylight.openflowplugin.api.openflow.statistics;
11 import javax.annotation.Nonnull;
12 import org.opendaylight.openflowplugin.api.openflow.OFPManager;
13 import org.opendaylight.openflowplugin.api.openflow.configuration.ConfigurationProperty;
14 import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
15 import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.OpenflowProviderConfig;
19 * Manager to start or stop scheduling statistics.
21 public interface StatisticsManager extends OFPManager {
24 * Start scheduling statistic gathering for given device info.
25 * @param deviceInfo for this device should be running statistics gathering
27 void startScheduling(DeviceInfo deviceInfo);
30 * Stop scheduling statistic gathering for given device info.
31 * @param deviceInfo for this device should be stopped statistics gathering
33 void stopScheduling(DeviceInfo deviceInfo);
36 * If plugin uses reconciliation framework. This is shortcut to
37 * {@link OpenflowProviderConfig#isUsingReconciliationFramework()}
38 * to avoid push {@link OpenflowProviderConfig} to each context.
39 * @return {@link ConfigurationProperty#USING_RECONCILIATION_FRAMEWORK}
40 * @since 0.5.0 Nitrogen
42 boolean isUsingReconciliationFramework();
47 StatisticsContext createContext(@Nonnull DeviceContext deviceContext);