Revised OpenFlow Library  v0.6.0dev
 All Classes Files Functions Variables Friends Groups Pages
cofmsg_meter_config_stats.h
1 /*
2  * cofmsg_meter_config_stats.h
3  *
4  * Created on: 28.05.2014
5  * Author: andi
6  */
7 
8 #ifndef COFMSG_METER_CONFIG_STATS_H_
9 #define COFMSG_METER_CONFIG_STATS_H_ 1
10 
11 #include <inttypes.h>
12 #include <map>
13 
14 #include "rofl/common/openflow/messages/cofmsg_stats.h"
15 #include "rofl/common/openflow/cofmeterconfigarray.h"
16 
17 namespace rofl {
18 namespace openflow {
19 
25 {
26 public:
27 
28 
33  uint8_t of_version,
34  uint32_t xid,
35  uint16_t stats_flags,
36  uint32_t meter_id);
37 
38 
43  uint8_t of_version = rofl::openflow::OFP_VERSION_UNKNOWN,
44  uint32_t xid = 0,
45  uint16_t stats_flags = 0,
48 
49 
55 
56 
61  operator= (
63 
64 
68  virtual
70 
71 
76  rofl::cmemory *memarea);
77 
78 public:
79 
83  virtual size_t
84  length() const;
85 
86 
90  virtual void
91  pack(uint8_t *buf = (uint8_t*)0, size_t buflen = 0);
92 
93 
97  virtual void
98  unpack(uint8_t *buf, size_t buflen);
99 
100 
103  virtual void
104  validate();
105 
106 
107 public:
108 
113  set_meter_config() { return mconfig; };
114 
119  get_meter_config() const { return mconfig; };
120 
121 
122 public:
123 
124  friend std::ostream&
125  operator<< (std::ostream& os, cofmsg_meter_config_stats_request const& msg) {
126  os << dynamic_cast<cofmsg_stats_request const&>( msg );
127  os << indent(2) << "<cofmsg_meter_config_stats_request >" << std::endl;
128  rofl::indent i(4); os << msg.get_meter_config();
129  return os;
130  };
131 
132 private:
133 
135 };
136 
137 
138 
139 
140 
141 
142 
143 
148  public cofmsg_stats_reply
149 {
150 public:
151 
152 
157  uint8_t of_version = rofl::openflow::OFP_VERSION_UNKNOWN,
158  uint32_t xid = 0,
159  uint16_t stats_flags = 0,
162 
163 
169 
170 
175  operator= (
177 
178 
182  virtual
184 
185 
190  rofl::cmemory *memarea);
191 
192 
196  virtual void
197  reset();
198 
199 
203  virtual uint8_t*
204  resize(size_t len);
205 
206 
210  virtual size_t
211  length() const;
212 
213 
217  virtual void
218  pack(uint8_t *buf = (uint8_t*)0, size_t buflen = 0);
219 
220 
224  virtual void
225  unpack(uint8_t *buf, size_t buflen);
226 
227 
230  virtual void
231  validate();
232 
233 public:
234 
239  get_meter_config_array() const { return array; };
240 
245  set_meter_config_array() { return array; };
246 
247 
248 public:
249 
250  friend std::ostream&
251  operator<< (std::ostream& os, cofmsg_meter_config_stats_reply const& msg) {
252  os << dynamic_cast<cofmsg_stats_reply const&>( msg );
253  os << indent(2) << "<cofmsg_meter_config_stats_reply >" << std::endl;
254  indent i(4); os << msg.get_meter_config_array();
255  return os;
256  };
257 
258 private:
259 
261 };
262 
263 } // end of namespace openflow
264 } // end of namespace rofl
265 
266 #endif /* COFMSG_METER_CONFIG_STATS_H_ */
virtual size_t length() const
Definition: cofmsg_meter_config_stats.cc:95
virtual void reset()
Definition: cofmsg_meter_config_stats.cc:242
Definition: cofmeterconfigarray.h:19
Definition: cofmsg_stats.h:264
virtual void validate()
Definition: cofmsg_meter_config_stats.cc:314
virtual void unpack(uint8_t *buf, size_t buflen)
Definition: cofmsg_meter_config_stats.cc:304
virtual void pack(uint8_t *buf=(uint8_t *) 0, size_t buflen=0)
Definition: cofmsg_meter_config_stats.cc:109
virtual ~cofmsg_meter_config_stats_request()
Definition: cofmsg_meter_config_stats.cc:87
Definition: cofmsg_stats.h:187
cofmsg_meter_config_stats_reply(uint8_t of_version=rofl::openflow::OFP_VERSION_UNKNOWN, uint32_t xid=0, uint16_t stats_flags=0, const rofl::openflow::cofmeterconfigarray &array=rofl::openflow::cofmeterconfigarray())
Definition: cofmsg_meter_config_stats.cc:177
virtual size_t length() const
Definition: cofmsg_meter_config_stats.cc:260
virtual void unpack(uint8_t *buf, size_t buflen)
Definition: cofmsg_meter_config_stats.cc:139
Definition: cofmsg_meter_config_stats.h:23
virtual void pack(uint8_t *buf=(uint8_t *) 0, size_t buflen=0)
Definition: cofmsg_meter_config_stats.cc:274
C++ abstraction for malloc'ed memory areas.
Definition: cmemory.h:44
virtual void validate()
Definition: cofmsg_meter_config_stats.cc:149
Definition: logging.h:76
cofmsg_meter_config_stats_request(uint8_t of_version, uint32_t xid, uint16_t stats_flags, uint32_t meter_id)
Definition: cofmsg_meter_config_stats.cc:5
Definition: cofmsg_meter_config_stats.h:147
Definition: cofmeterconfig.h:23
virtual ~cofmsg_meter_config_stats_reply()
Definition: cofmsg_meter_config_stats.cc:234