Initial opendaylight infrastructure commit!!
[controller.git] / third-party / openflowj / src / main / java / org / openflow / protocol / statistics / OFPortStatisticsRequest.java
1 package org.openflow.protocol.statistics;
2
3 import java.nio.ByteBuffer;
4
5 /**
6  * Represents an ofp_port_stats_request structure
7  * @author David Erickson (daviderickson@cs.stanford.edu)
8  */
9 public class OFPortStatisticsRequest implements OFStatistics {
10     protected short portNumber;
11
12     /**
13      * @return the portNumber
14      */
15     public short getPortNumber() {
16         return portNumber;
17     }
18
19     /**
20      * @param portNumber the portNumber to set
21      */
22     public void setPortNumber(short portNumber) {
23         this.portNumber = portNumber;
24     }
25
26     @Override
27     public int getLength() {
28         return 8;
29     }
30
31     @Override
32     public void readFrom(ByteBuffer data) {
33         this.portNumber = data.getShort();
34         data.getShort(); // pad
35         data.getInt(); // pad
36     }
37
38     @Override
39     public void writeTo(ByteBuffer data) {
40         data.putShort(this.portNumber);
41         data.putShort((short) 0); // pad
42         data.putInt(0); // pad
43     }
44
45     @Override
46     public int hashCode() {
47         final int prime = 433;
48         int result = 1;
49         result = prime * result + portNumber;
50         return result;
51     }
52
53     @Override
54     public boolean equals(Object obj) {
55         if (this == obj) {
56             return true;
57         }
58         if (obj == null) {
59             return false;
60         }
61         if (!(obj instanceof OFPortStatisticsRequest)) {
62             return false;
63         }
64         OFPortStatisticsRequest other = (OFPortStatisticsRequest) obj;
65         if (portNumber != other.portNumber) {
66             return false;
67         }
68         return true;
69     }
70 }