1 package org.openflow.codec.protocol.statistics;
3 import org.openflow.codec.io.IDataBuffer;
6 * Represents an ofp_queue_stats structure
8 * @author David Erickson (daviderickson@cs.stanford.edu)
11 public class OFPQueueStatisticsReply implements OFPStatistics {
12 private final static int MINIMUM_LENGTH = 40;
13 protected int portNumber;
14 protected int queueId;
15 protected long transmitBytes;
16 protected long transmitPackets;
17 protected long transmitErrors;
18 protected int durationSec;
19 protected int durationNanoSec;
22 * @return the portNumber
24 public int getPortNumber() {
30 * the portNumber to set
32 public void setPortNumber(int portNumber) {
33 this.portNumber = portNumber;
39 public int getQueueId() {
47 public void setQueueId(int queueId) {
48 this.queueId = queueId;
52 * @return the transmitBytes
54 public long getTransmitBytes() {
59 * @param transmitBytes
60 * the transmitBytes to set
62 public void setTransmitBytes(long transmitBytes) {
63 this.transmitBytes = transmitBytes;
67 * @return the transmitPackets
69 public long getTransmitPackets() {
70 return transmitPackets;
74 * @param transmitPackets
75 * the transmitPackets to set
77 public void setTransmitPackets(long transmitPackets) {
78 this.transmitPackets = transmitPackets;
82 * @return the transmitErrors
84 public long getTransmitErrors() {
85 return transmitErrors;
89 * @param transmitErrors
90 * the transmitErrors to set
92 public void setTransmitErrors(long transmitErrors) {
93 this.transmitErrors = transmitErrors;
97 * get duration queue has been alive in seconds.
101 public int getDurationSec() {
106 * set duration queue has been alive in seconds.
110 public void setDurationSec(int durationSec) {
111 this.durationSec = durationSec;
115 * get duration queue has been alive in nanoseconds beyond duration_sec.
119 public int getDurationNanoSec() {
120 return durationNanoSec;
124 * set duration queue has been alive in nanoseconds beyond duration_sec.
126 * @param durationNanoSec
128 public void setDurationNanoSec(int durationNanoSec) {
129 this.durationNanoSec = durationNanoSec;
133 public int getLength() {
134 return MINIMUM_LENGTH;
138 public void readFrom(IDataBuffer data) {
139 this.portNumber = data.getInt();
140 this.queueId = data.getInt();
141 this.transmitBytes = data.getLong();
142 this.transmitPackets = data.getLong();
143 this.transmitErrors = data.getLong();
144 this.durationSec = data.getInt();
145 this.durationNanoSec = data.getInt();
149 public void writeTo(IDataBuffer data) {
150 data.putInt(this.portNumber);
151 data.putInt(this.queueId);
152 data.putLong(this.transmitBytes);
153 data.putLong(this.transmitPackets);
154 data.putLong(this.transmitErrors);
155 data.putInt(this.durationSec);
156 data.putInt(this.durationNanoSec);
160 public int hashCode() {
161 final int prime = 439;
163 result = prime * result + portNumber;
164 result = prime * result + queueId;
165 result = prime * result + (int) (transmitBytes ^ (transmitBytes >>> 32));
166 result = prime * result + (int) (transmitErrors ^ (transmitErrors >>> 32));
167 result = prime * result + (int) (transmitPackets ^ (transmitPackets >>> 32));
168 result = prime * result + durationSec;
169 result = prime * result + durationNanoSec;
174 public boolean equals(Object obj) {
181 if (!(obj instanceof OFPQueueStatisticsReply)) {
184 OFPQueueStatisticsReply other = (OFPQueueStatisticsReply) obj;
185 if (portNumber != other.portNumber) {
188 if (queueId != other.queueId) {
191 if (transmitBytes != other.transmitBytes) {
194 if (transmitErrors != other.transmitErrors) {
197 if (transmitPackets != other.transmitPackets) {
200 if (durationSec != other.durationSec) {
203 if (durationNanoSec != other.durationNanoSec) {