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
23 public interface IPluginInReadService {
26 * Returns the hardware image for the specified flow on the specified
34 * specify if entry has to be queried from the cached hardware
35 * information maintained locally or directly from the network
37 * @return The FlowOnNode object containing the information present in
38 * hardware for the passed flow on the specified network node
40 public FlowOnNode readFlow(Node node, Flow flow, boolean cached);
43 * Returns the hardware view of all the flow installed on the specified
49 * specify if entries have to be queried from the cached hardware
50 * information maintained locally or directly from the network
52 * @return The list of FlowOnNode objects containing the information present
53 * in hardware on the specified network node for all its flows
55 public List<FlowOnNode> readAllFlow(Node node, boolean cached);
58 * Returns the description of the network node as provided by the node
64 * specify if entry has to be queried from the cached hardware
65 * information maintained locally or directly from the network
67 * @return The NodeDescription object containing the description information
68 * for the specified network node
70 public NodeDescription readDescription(Node node, boolean cached);
73 * Returns the hardware view of the specified network node connector
76 * the target nodeConnector
78 * specify if entry has to be queried from the cached hardware
79 * information maintained locally or directly from the
80 * corresponding network node.
81 * @return The NodeConnectorStatistics object containing the statistics
82 * present in hardware for the corresponding network node port
84 public NodeConnectorStatistics readNodeConnector(NodeConnector connector,
88 * Returns the hardware info for all the node connectors on the specified
94 * specify if entries have to be queried from the cached hardware
95 * information maintained locally or directly from the
96 * corresponding network node.
97 * @return The list of NodeConnectorStatistics objects containing the
98 * statistics present in hardware for all the network node ports
100 public List<NodeConnectorStatistics> readAllNodeConnector(Node node,
104 * Returns the table statistics for the node
106 * the target network node table
108 * specify if entry has to be queried from the cached hardware
109 * information maintained locally or directly from
110 * the corresponding network node.
111 * @return The NodeTableStatistics object containing the statistics present
112 * in hardware for the corresponding network node table
114 public NodeTableStatistics readNodeTable(NodeTable table, boolean cached);
117 * Returns all the table statistics for the node
122 * specify if entries have to be queried from the cached hardware
123 * information maintained locally or directly from the
124 * corresponding network node.
125 * @return The list of NodeTableStatistics objects containing the statistics
126 * present in hardware for all the network node tables
128 public List<NodeTableStatistics> readAllNodeTable(Node node, boolean cached);
131 * Returns the averaged transmit rate for the specified node connector
133 * the target nodeConnector
134 * @return tx rate [bps]
136 public long getTransmitRate(NodeConnector connector);