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.device;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
15 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
18 * Created by Martin Bobak <mbobak@cisco.com> on 25.2.2015.
20 public interface DeviceState {
23 * @return id of encapsulated node
28 * @return {@link Node} instance identifier
30 KeyedInstanceIdentifier<Node, NodeKey> getNodeInstanceIdentifier();
33 * @return the features of corresponding switch
35 GetFeaturesOutput getFeatures();
38 * @return true if this session is valid
43 * @param valid the valid to set
45 void setValid(boolean valid);
48 * Return node current OF protocol version
55 * Return true if we have relevant meter information
60 boolean isMetersAvailable();
63 * Set information about meter statistics availability.
65 void setMeterAvailable(boolean available);
68 * Return true if we have relevant group information
73 boolean isGroupAvailable();
76 * Set information about group statistics availability.
78 void setGroupAvailable(boolean available);
81 * Method returns true if initial statistics data were collected and written to DS.
85 boolean deviceSynchronized();
88 * Method returns true, if device capabilities provides flow statistics.
92 boolean isFlowStatisticsAvailable();
94 void setFlowStatisticsAvailable(boolean available);
97 * Method returns true, if device capabilities provides table statistics.
101 boolean isTableStatisticsAvailable();
103 void setTableStatisticsAvailable(boolean available);
106 * Method returns true, if device capabilities provides flow statistics.
110 boolean isPortStatisticsAvailable();
112 void setPortStatisticsAvailable(boolean available);
115 * Method returns true, if device capabilities provides queue statistics.
119 boolean isQueueStatisticsAvailable();
121 void setQueueStatisticsAvailable(boolean available);
123 void setDeviceSynchronized(boolean deviceSynchronized);
125 boolean isStatisticsPollingEnabled();
127 void setStatisticsPollingEnabledProp(boolean statPollEnabled);