3 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
5 * This program and the accompanying materials are made available under the
6 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7 * and is available at http://www.eclipse.org/legal/epl-v10.html
10 package org.opendaylight.controller.sal.reader;
12 import java.util.List;
14 import org.opendaylight.controller.sal.core.Node;
15 import org.opendaylight.controller.sal.core.NodeConnector;
16 import org.opendaylight.controller.sal.core.NodeTable;
17 import org.opendaylight.controller.sal.flowprogrammer.Flow;
20 * The interface defines hardware view read methods to be implemented by protocol plugins
22 public interface IPluginInReadService {
25 * Returns the hardware image for the specified flow on the specified
33 * specify if entry has to be queried from the cached hardware
34 * information maintained locally or directly from the network
36 * @return The FlowOnNode object containing the information present in
37 * hardware for the passed flow on the specified network node
39 public FlowOnNode readFlow(Node node, Flow flow, boolean cached);
42 * Returns the hardware view of all the flow installed on the specified
48 * specify if entries have to be queried from the cached hardware
49 * information maintained locally or directly from the network
51 * @return The list of FlowOnNode objects containing the information present
52 * in hardware on the specified network node for all its flows
54 public List<FlowOnNode> readAllFlow(Node node, boolean cached);
57 * Returns the description of the network node as provided by the node
63 * specify if entry has to be queried from the cached hardware
64 * information maintained locally or directly from the network
66 * @return The NodeDescription object containing the description information
67 * for the specified network node
69 public NodeDescription readDescription(Node node, boolean cached);
72 * Returns the hardware view of the specified network node connector
75 * the target nodeConnector
77 * specify if entry has to be queried from the cached hardware
78 * information maintained locally or directly from the
79 * corresponding network node.
80 * @return The NodeConnectorStatistics object containing the statistics
81 * present in hardware for the corresponding network node port
83 public NodeConnectorStatistics readNodeConnector(NodeConnector connector,
87 * Returns the hardware info for all the node connectors on the specified
93 * specify if entries have to be queried from the cached hardware
94 * information maintained locally or directly from the
95 * corresponding network node.
96 * @return The list of NodeConnectorStatistics objects containing the
97 * statistics present in hardware for all the network node ports
99 public List<NodeConnectorStatistics> readAllNodeConnector(Node node,
103 * Returns the table statistics for the node
105 * the target network node table
107 * specify if entry has to be queried from the cached hardware
108 * information maintained locally or directly from
109 * the corresponding network node.
110 * @return The NodeTableStatistics object containing the statistics present
111 * in hardware for the corresponding network node table
113 public NodeTableStatistics readNodeTable(NodeTable table, boolean cached);
116 * Returns all the table statistics for the node
121 * specify if entries have to be queried from the cached hardware
122 * information maintained locally or directly from the
123 * corresponding network node.
124 * @return The list of NodeTableStatistics objects containing the statistics
125 * present in hardware for all the network node tables
127 public List<NodeTableStatistics> readAllNodeTable(Node node, boolean cached);
130 * Returns the averaged transmit rate for the specified node connector
132 * the target nodeConnector
133 * @return tx rate [bps]
135 public long getTransmitRate(NodeConnector connector);