Revised OpenFlow Library  v0.6.0dev
 All Classes Files Functions Variables Friends Groups Pages
cofmsg_barrier.h
1 /*
2  * cofmsg_barrier.h
3  *
4  * Created on: 18.03.2013
5  * Author: andi
6  */
7 
8 #ifndef COFMSG_BARRIER_H_
9 #define COFMSG_BARRIER_H_ 1
10 
11 #include "rofl/common/openflow/messages/cofmsg.h"
12 
13 namespace rofl {
14 namespace openflow {
15 
20  public cofmsg
21 {
22 private:
23 
24  cmemory body;
25 
26 public:
27 
28 
33  uint8_t of_version = 0,
34  uint32_t xid = 0,
35  uint8_t* data = 0,
36  size_t datalen = 0);
37 
38 
43  cofmsg_barrier_request const& barrier);
44 
45 
50  operator= (
51  cofmsg_barrier_request const& barrier);
52 
53 
57  virtual
59 
60 
65 
66 
70  virtual void
71  reset();
72 
73 
77  virtual size_t
78  length() const;
79 
80 
84  virtual void
85  pack(uint8_t *buf = (uint8_t*)0, size_t buflen = 0);
86 
87 
91  virtual void
92  unpack(uint8_t *buf, size_t buflen);
93 
94 
97  virtual void
98  validate();
99 
100 public:
101 
105  cmemory&
106  get_body();
107 
108 public:
109 
110  friend std::ostream&
111  operator<< (std::ostream& os, cofmsg_barrier_request const& msg) {
112  os << dynamic_cast<cofmsg const&>( msg );
113  os << indent(2) << "<cofmsg_barrier_request >" << std::endl;
114  indent i(4);
115  os << msg.body;
116  return os;
117  };
118 };
119 
120 
121 
126  public cofmsg
127 {
128 private:
129 
130  cmemory body;
131 
132 public:
133 
134 
139  uint8_t of_version = 0,
140  uint32_t xid = 0,
141  uint8_t* data = 0,
142  size_t datalen = 0);
143 
144 
149  cofmsg_barrier_reply const& barrier);
150 
151 
156  operator= (
157  cofmsg_barrier_reply const& barrier);
158 
159 
163  virtual
165 
166 
170  cofmsg_barrier_reply(cmemory *memarea);
171 
172 
176  virtual void
177  reset();
178 
179 
183  virtual size_t
184  length() const;
185 
186 
190  virtual void
191  pack(uint8_t *buf = (uint8_t*)0, size_t buflen = 0);
192 
193 
197  virtual void
198  unpack(uint8_t *buf, size_t buflen);
199 
200 
203  virtual void
204  validate();
205 
206 public:
207 
211  cmemory&
212  get_body();
213 
214 public:
215 
216  friend std::ostream&
217  operator<< (std::ostream& os, cofmsg_barrier_reply const& msg) {
218  os << dynamic_cast<cofmsg const&>( msg );
219  os << indent(2) << "<cofmsg_barrier_reply >" << std::endl;
220  indent i(4);
221  os << msg.body;
222  return os;
223  };
224 };
225 
226 } // end of namespace openflow
227 } // end of namespace rofl
228 
229 #endif /* COFMSG_BARRIER_H_ */
Definition: cofmsg_barrier.h:125
virtual size_t length() const
Definition: cofmsg_barrier.cc:87
virtual ~cofmsg_barrier_request()
Definition: cofmsg_barrier.cc:70
virtual ~cofmsg_barrier_reply()
Definition: cofmsg_barrier.cc:216
virtual size_t length() const
Definition: cofmsg_barrier.cc:233
virtual void unpack(uint8_t *buf, size_t buflen)
Definition: cofmsg_barrier.cc:259
Definition: cofmsg_barrier.h:19
virtual void reset()
Definition: cofmsg_barrier.cc:78
virtual void validate()
Definition: cofmsg_barrier.cc:269
C++ abstraction for malloc'ed memory areas.
Definition: cmemory.h:44
virtual void reset()
Definition: cofmsg_barrier.cc:224
virtual void pack(uint8_t *buf=(uint8_t *) 0, size_t buflen=0)
Definition: cofmsg_barrier.cc:95
Definition: logging.h:76
cofmsg_barrier_request(uint8_t of_version=0, uint32_t xid=0, uint8_t *data=0, size_t datalen=0)
Definition: cofmsg_barrier.cc:5
cofmsg_barrier_reply(uint8_t of_version=0, uint32_t xid=0, uint8_t *data=0, size_t datalen=0)
Definition: cofmsg_barrier.cc:151
virtual void unpack(uint8_t *buf, size_t buflen)
Definition: cofmsg_barrier.cc:113
virtual void validate()
Definition: cofmsg_barrier.cc:123
virtual void pack(uint8_t *buf=(uint8_t *) 0, size_t buflen=0)
Definition: cofmsg_barrier.cc:241
Definition: cofmsg.h:62