+++ /dev/null
-package org.openflow.protocol.queue;
-
-import java.nio.ByteBuffer;
-
-import org.openflow.util.U16;
-
-/**
- * Corresponds to the struct ofp_queue_prop_header OpenFlow structure
- *
- * @author David Erickson (daviderickson@cs.stanford.edu)
- */
-public class OFQueueProperty implements Cloneable {
- public static int MINIMUM_LENGTH = 8;
-
- protected OFQueuePropertyType type;
- protected short length;
-
- /**
- * @return the type
- */
- public OFQueuePropertyType getType() {
- return type;
- }
-
- /**
- * @param type the type to set
- */
- public void setType(OFQueuePropertyType type) {
- this.type = type;
- }
-
- /**
- * @return the length
- */
- public short getLength() {
- return length;
- }
-
- /**
- * Returns the unsigned length
- *
- * @return the length
- */
- public int getLengthU() {
- return U16.f(length);
- }
-
- /**
- * @param length the length to set
- */
- public void setLength(short length) {
- this.length = length;
- }
-
- public void readFrom(ByteBuffer data) {
- this.type = OFQueuePropertyType.valueOf(data.getShort());
- this.length = data.getShort();
- data.getInt(); // pad
- }
-
- public void writeTo(ByteBuffer data) {
- data.putShort(this.type.getTypeValue());
- data.putShort(this.length);
- data.putInt(0); // pad
- }
-
- @Override
- public int hashCode() {
- final int prime = 2777;
- int result = 1;
- result = prime * result + length;
- result = prime * result + ((type == null) ? 0 : type.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (!(obj instanceof OFQueueProperty))
- return false;
- OFQueueProperty other = (OFQueueProperty) obj;
- if (length != other.length)
- return false;
- if (type != other.type)
- return false;
- return true;
- }
-
- @Override
- protected OFQueueProperty clone() {
- try {
- return (OFQueueProperty) super.clone();
- } catch (CloneNotSupportedException e) {
- throw new RuntimeException(e);
- }
- }
-}