blob: 0098b40d95cc231f81aaa56928f9f1b120b8d180 [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001// Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
2// Copyright (c) 2011, 2012 Open Networking Foundation
3// Copyright (c) 2012, 2013 Big Switch Networks, Inc.
4// This library was generated by the LoxiGen Compiler.
5// See the file LICENSE.txt which should have been included in the source distribution
6
7// Automatically generated by LOXI from template of_class.java
8// Do not modify
9
10package org.projectfloodlight.openflow.protocol.ver13;
11
12import org.projectfloodlight.openflow.protocol.*;
13import org.projectfloodlight.openflow.protocol.action.*;
14import org.projectfloodlight.openflow.protocol.actionid.*;
15import org.projectfloodlight.openflow.protocol.bsntlv.*;
16import org.projectfloodlight.openflow.protocol.errormsg.*;
17import org.projectfloodlight.openflow.protocol.meterband.*;
18import org.projectfloodlight.openflow.protocol.instruction.*;
19import org.projectfloodlight.openflow.protocol.instructionid.*;
20import org.projectfloodlight.openflow.protocol.match.*;
21import org.projectfloodlight.openflow.protocol.oxm.*;
22import org.projectfloodlight.openflow.protocol.queueprop.*;
23import org.projectfloodlight.openflow.types.*;
24import org.projectfloodlight.openflow.util.*;
25import org.projectfloodlight.openflow.exceptions.*;
26import org.slf4j.Logger;
27import org.slf4j.LoggerFactory;
28import java.util.Set;
29import com.google.common.collect.ImmutableSet;
30import org.jboss.netty.buffer.ChannelBuffer;
31import com.google.common.hash.PrimitiveSink;
32import com.google.common.hash.Funnel;
33
34class OFBsnPortCounterStatsRequestVer13 implements OFBsnPortCounterStatsRequest {
35 private static final Logger logger = LoggerFactory.getLogger(OFBsnPortCounterStatsRequestVer13.class);
36 // version: 1.3
37 final static byte WIRE_VERSION = 4;
38 final static int LENGTH = 28;
39
40 private final static long DEFAULT_XID = 0x0L;
41 private final static Set<OFStatsRequestFlags> DEFAULT_FLAGS = ImmutableSet.<OFStatsRequestFlags>of();
42 private final static OFPort DEFAULT_PORT_NO = OFPort.ANY;
43
44 // OF message fields
45 private final long xid;
46 private final Set<OFStatsRequestFlags> flags;
47 private final OFPort portNo;
48//
49 // Immutable default instance
50 final static OFBsnPortCounterStatsRequestVer13 DEFAULT = new OFBsnPortCounterStatsRequestVer13(
51 DEFAULT_XID, DEFAULT_FLAGS, DEFAULT_PORT_NO
52 );
53
54 // package private constructor - used by readers, builders, and factory
55 OFBsnPortCounterStatsRequestVer13(long xid, Set<OFStatsRequestFlags> flags, OFPort portNo) {
56 this.xid = xid;
57 this.flags = flags;
58 this.portNo = portNo;
59 }
60
61 // Accessors for OF message fields
62 @Override
63 public OFVersion getVersion() {
64 return OFVersion.OF_13;
65 }
66
67 @Override
68 public OFType getType() {
69 return OFType.STATS_REQUEST;
70 }
71
72 @Override
73 public long getXid() {
74 return xid;
75 }
76
77 @Override
78 public OFStatsType getStatsType() {
79 return OFStatsType.EXPERIMENTER;
80 }
81
82 @Override
83 public Set<OFStatsRequestFlags> getFlags() {
84 return flags;
85 }
86
87 @Override
88 public long getExperimenter() {
89 return 0x5c16c7L;
90 }
91
92 @Override
93 public long getSubtype() {
94 return 0x8L;
95 }
96
97 @Override
98 public OFPort getPortNo() {
99 return portNo;
100 }
101
102
103
104 public OFBsnPortCounterStatsRequest.Builder createBuilder() {
105 return new BuilderWithParent(this);
106 }
107
108 static class BuilderWithParent implements OFBsnPortCounterStatsRequest.Builder {
109 final OFBsnPortCounterStatsRequestVer13 parentMessage;
110
111 // OF message fields
112 private boolean xidSet;
113 private long xid;
114 private boolean flagsSet;
115 private Set<OFStatsRequestFlags> flags;
116 private boolean portNoSet;
117 private OFPort portNo;
118
119 BuilderWithParent(OFBsnPortCounterStatsRequestVer13 parentMessage) {
120 this.parentMessage = parentMessage;
121 }
122
123 @Override
124 public OFVersion getVersion() {
125 return OFVersion.OF_13;
126 }
127
128 @Override
129 public OFType getType() {
130 return OFType.STATS_REQUEST;
131 }
132
133 @Override
134 public long getXid() {
135 return xid;
136 }
137
138 @Override
139 public OFBsnPortCounterStatsRequest.Builder setXid(long xid) {
140 this.xid = xid;
141 this.xidSet = true;
142 return this;
143 }
144 @Override
145 public OFStatsType getStatsType() {
146 return OFStatsType.EXPERIMENTER;
147 }
148
149 @Override
150 public Set<OFStatsRequestFlags> getFlags() {
151 return flags;
152 }
153
154 @Override
155 public OFBsnPortCounterStatsRequest.Builder setFlags(Set<OFStatsRequestFlags> flags) {
156 this.flags = flags;
157 this.flagsSet = true;
158 return this;
159 }
160 @Override
161 public long getExperimenter() {
162 return 0x5c16c7L;
163 }
164
165 @Override
166 public long getSubtype() {
167 return 0x8L;
168 }
169
170 @Override
171 public OFPort getPortNo() {
172 return portNo;
173 }
174
175 @Override
176 public OFBsnPortCounterStatsRequest.Builder setPortNo(OFPort portNo) {
177 this.portNo = portNo;
178 this.portNoSet = true;
179 return this;
180 }
181
182
183 @Override
184 public OFBsnPortCounterStatsRequest build() {
185 long xid = this.xidSet ? this.xid : parentMessage.xid;
186 Set<OFStatsRequestFlags> flags = this.flagsSet ? this.flags : parentMessage.flags;
187 if(flags == null)
188 throw new NullPointerException("Property flags must not be null");
189 OFPort portNo = this.portNoSet ? this.portNo : parentMessage.portNo;
190 if(portNo == null)
191 throw new NullPointerException("Property portNo must not be null");
192
193 //
194 return new OFBsnPortCounterStatsRequestVer13(
195 xid,
196 flags,
197 portNo
198 );
199 }
200
201 }
202
203 static class Builder implements OFBsnPortCounterStatsRequest.Builder {
204 // OF message fields
205 private boolean xidSet;
206 private long xid;
207 private boolean flagsSet;
208 private Set<OFStatsRequestFlags> flags;
209 private boolean portNoSet;
210 private OFPort portNo;
211
212 @Override
213 public OFVersion getVersion() {
214 return OFVersion.OF_13;
215 }
216
217 @Override
218 public OFType getType() {
219 return OFType.STATS_REQUEST;
220 }
221
222 @Override
223 public long getXid() {
224 return xid;
225 }
226
227 @Override
228 public OFBsnPortCounterStatsRequest.Builder setXid(long xid) {
229 this.xid = xid;
230 this.xidSet = true;
231 return this;
232 }
233 @Override
234 public OFStatsType getStatsType() {
235 return OFStatsType.EXPERIMENTER;
236 }
237
238 @Override
239 public Set<OFStatsRequestFlags> getFlags() {
240 return flags;
241 }
242
243 @Override
244 public OFBsnPortCounterStatsRequest.Builder setFlags(Set<OFStatsRequestFlags> flags) {
245 this.flags = flags;
246 this.flagsSet = true;
247 return this;
248 }
249 @Override
250 public long getExperimenter() {
251 return 0x5c16c7L;
252 }
253
254 @Override
255 public long getSubtype() {
256 return 0x8L;
257 }
258
259 @Override
260 public OFPort getPortNo() {
261 return portNo;
262 }
263
264 @Override
265 public OFBsnPortCounterStatsRequest.Builder setPortNo(OFPort portNo) {
266 this.portNo = portNo;
267 this.portNoSet = true;
268 return this;
269 }
270//
271 @Override
272 public OFBsnPortCounterStatsRequest build() {
273 long xid = this.xidSet ? this.xid : DEFAULT_XID;
274 Set<OFStatsRequestFlags> flags = this.flagsSet ? this.flags : DEFAULT_FLAGS;
275 if(flags == null)
276 throw new NullPointerException("Property flags must not be null");
277 OFPort portNo = this.portNoSet ? this.portNo : DEFAULT_PORT_NO;
278 if(portNo == null)
279 throw new NullPointerException("Property portNo must not be null");
280
281
282 return new OFBsnPortCounterStatsRequestVer13(
283 xid,
284 flags,
285 portNo
286 );
287 }
288
289 }
290
291
292 final static Reader READER = new Reader();
293 static class Reader implements OFMessageReader<OFBsnPortCounterStatsRequest> {
294 @Override
295 public OFBsnPortCounterStatsRequest readFrom(ChannelBuffer bb) throws OFParseError {
296 int start = bb.readerIndex();
297 // fixed value property version == 4
298 byte version = bb.readByte();
299 if(version != (byte) 0x4)
300 throw new OFParseError("Wrong version: Expected=OFVersion.OF_13(4), got="+version);
301 // fixed value property type == 18
302 byte type = bb.readByte();
303 if(type != (byte) 0x12)
304 throw new OFParseError("Wrong type: Expected=OFType.STATS_REQUEST(18), got="+type);
305 int length = U16.f(bb.readShort());
306 if(length != 28)
307 throw new OFParseError("Wrong length: Expected=28(28), got="+length);
308 if(bb.readableBytes() + (bb.readerIndex() - start) < length) {
309 // Buffer does not have all data yet
310 bb.readerIndex(start);
311 return null;
312 }
313 if(logger.isTraceEnabled())
314 logger.trace("readFrom - length={}", length);
315 long xid = U32.f(bb.readInt());
316 // fixed value property statsType == 65535
317 short statsType = bb.readShort();
318 if(statsType != (short) 0xffff)
319 throw new OFParseError("Wrong statsType: Expected=OFStatsType.EXPERIMENTER(65535), got="+statsType);
320 Set<OFStatsRequestFlags> flags = OFStatsRequestFlagsSerializerVer13.readFrom(bb);
321 // pad: 4 bytes
322 bb.skipBytes(4);
323 // fixed value property experimenter == 0x5c16c7L
324 int experimenter = bb.readInt();
325 if(experimenter != 0x5c16c7)
326 throw new OFParseError("Wrong experimenter: Expected=0x5c16c7L(0x5c16c7L), got="+experimenter);
327 // fixed value property subtype == 0x8L
328 int subtype = bb.readInt();
329 if(subtype != 0x8)
330 throw new OFParseError("Wrong subtype: Expected=0x8L(0x8L), got="+subtype);
331 OFPort portNo = OFPort.read4Bytes(bb);
332
333 OFBsnPortCounterStatsRequestVer13 bsnPortCounterStatsRequestVer13 = new OFBsnPortCounterStatsRequestVer13(
334 xid,
335 flags,
336 portNo
337 );
338 if(logger.isTraceEnabled())
339 logger.trace("readFrom - read={}", bsnPortCounterStatsRequestVer13);
340 return bsnPortCounterStatsRequestVer13;
341 }
342 }
343
344 public void putTo(PrimitiveSink sink) {
345 FUNNEL.funnel(this, sink);
346 }
347
348 final static OFBsnPortCounterStatsRequestVer13Funnel FUNNEL = new OFBsnPortCounterStatsRequestVer13Funnel();
349 static class OFBsnPortCounterStatsRequestVer13Funnel implements Funnel<OFBsnPortCounterStatsRequestVer13> {
350 private static final long serialVersionUID = 1L;
351 @Override
352 public void funnel(OFBsnPortCounterStatsRequestVer13 message, PrimitiveSink sink) {
353 // fixed value property version = 4
354 sink.putByte((byte) 0x4);
355 // fixed value property type = 18
356 sink.putByte((byte) 0x12);
357 // fixed value property length = 28
358 sink.putShort((short) 0x1c);
359 sink.putLong(message.xid);
360 // fixed value property statsType = 65535
361 sink.putShort((short) 0xffff);
362 OFStatsRequestFlagsSerializerVer13.putTo(message.flags, sink);
363 // skip pad (4 bytes)
364 // fixed value property experimenter = 0x5c16c7L
365 sink.putInt(0x5c16c7);
366 // fixed value property subtype = 0x8L
367 sink.putInt(0x8);
368 message.portNo.putTo(sink);
369 }
370 }
371
372
373 public void writeTo(ChannelBuffer bb) {
374 WRITER.write(bb, this);
375 }
376
377 final static Writer WRITER = new Writer();
378 static class Writer implements OFMessageWriter<OFBsnPortCounterStatsRequestVer13> {
379 @Override
380 public void write(ChannelBuffer bb, OFBsnPortCounterStatsRequestVer13 message) {
381 // fixed value property version = 4
382 bb.writeByte((byte) 0x4);
383 // fixed value property type = 18
384 bb.writeByte((byte) 0x12);
385 // fixed value property length = 28
386 bb.writeShort((short) 0x1c);
387 bb.writeInt(U32.t(message.xid));
388 // fixed value property statsType = 65535
389 bb.writeShort((short) 0xffff);
390 OFStatsRequestFlagsSerializerVer13.writeTo(bb, message.flags);
391 // pad: 4 bytes
392 bb.writeZero(4);
393 // fixed value property experimenter = 0x5c16c7L
394 bb.writeInt(0x5c16c7);
395 // fixed value property subtype = 0x8L
396 bb.writeInt(0x8);
397 message.portNo.write4Bytes(bb);
398
399
400 }
401 }
402
403 @Override
404 public String toString() {
405 StringBuilder b = new StringBuilder("OFBsnPortCounterStatsRequestVer13(");
406 b.append("xid=").append(xid);
407 b.append(", ");
408 b.append("flags=").append(flags);
409 b.append(", ");
410 b.append("portNo=").append(portNo);
411 b.append(")");
412 return b.toString();
413 }
414
415 @Override
416 public boolean equals(Object obj) {
417 if (this == obj)
418 return true;
419 if (obj == null)
420 return false;
421 if (getClass() != obj.getClass())
422 return false;
423 OFBsnPortCounterStatsRequestVer13 other = (OFBsnPortCounterStatsRequestVer13) obj;
424
425 if( xid != other.xid)
426 return false;
427 if (flags == null) {
428 if (other.flags != null)
429 return false;
430 } else if (!flags.equals(other.flags))
431 return false;
432 if (portNo == null) {
433 if (other.portNo != null)
434 return false;
435 } else if (!portNo.equals(other.portNo))
436 return false;
437 return true;
438 }
439
440 @Override
441 public int hashCode() {
442 final int prime = 31;
443 int result = 1;
444
445 result = prime * (int) (xid ^ (xid >>> 32));
446 result = prime * result + ((flags == null) ? 0 : flags.hashCode());
447 result = prime * result + ((portNo == null) ? 0 : portNo.hashCode());
448 return result;
449 }
450
451}