Mark AD-SAL interfaces as deprecated
[controller.git] / opendaylight / adsal / sal / api / src / main / java / org / opendaylight / controller / sal / reader / IPluginInReadService.java
1
2 /*
3  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
4  *
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
8  */
9
10 package org.opendaylight.controller.sal.reader;
11
12 import java.util.List;
13
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;
18
19 /**
20  * The interface defines hardware view read methods to be implemented by protocol plugins
21  */
22 @Deprecated
23 public interface IPluginInReadService {
24
25     /**
26      * Returns the hardware image for the specified flow on the specified
27      * network node
28      *
29      * @param node
30      *            the network node
31      * @param flow
32      *            the target flow
33      * @param cached
34      *            specify if entry has to be queried from the cached hardware
35      *            information maintained locally or directly from the network
36      *            node.
37      * @return The FlowOnNode object containing the information present in
38      *         hardware for the passed flow on the specified network node
39      */
40     public FlowOnNode readFlow(Node node, Flow flow, boolean cached);
41
42     /**
43      * Returns the hardware view of all the flow installed on the specified
44      * network node
45      *
46      * @param node
47      *            the network node
48      * @param cached
49      *            specify if entries have to be queried from the cached hardware
50      *            information maintained locally or directly from the network
51      *            node.
52      * @return The list of FlowOnNode objects containing the information present
53      *         in hardware on the specified network node for all its flows
54      */
55     public List<FlowOnNode> readAllFlow(Node node, boolean cached);
56
57     /**
58      * Returns the description of the network node as provided by the node
59      * itself
60      *
61      * @param node
62      *            the network node
63      * @param cached
64      *            specify if entry has to be queried from the cached hardware
65      *            information maintained locally or directly from the network
66      *            node.
67      * @return The NodeDescription object containing the description information
68      *         for the specified network node
69      */
70     public NodeDescription readDescription(Node node, boolean cached);
71
72     /**
73      * Returns the hardware view of the specified network node connector
74      *
75      * @param connector
76      *            the target nodeConnector
77      * @param cached
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
83      */
84     public NodeConnectorStatistics readNodeConnector(NodeConnector connector,
85             boolean cached);
86
87     /**
88      * Returns the hardware info for all the node connectors on the specified
89      * network node
90      *
91      * @param node
92      *            the target node
93      * @param cached
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
99      */
100     public List<NodeConnectorStatistics> readAllNodeConnector(Node node,
101             boolean cached);
102
103     /**
104      * Returns the table statistics for the node
105      * @param table
106      *            the target network node table
107      * @param cached
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
113      */
114     public NodeTableStatistics readNodeTable(NodeTable table, boolean cached);
115
116     /**
117      * Returns all the table statistics for the node
118      *
119      * @param node
120      *            the target node
121      * @param cached
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
127      */
128     public List<NodeTableStatistics> readAllNodeTable(Node node, boolean cached);
129
130     /**
131      * Returns the averaged transmit rate for the specified node connector
132      * @param connector
133      *            the target nodeConnector
134      * @return tx rate [bps]
135      */
136     public long getTransmitRate(NodeConnector connector);
137
138 }