Removed legacy code that wasn't being used.
[openflowjava.git] / third-party / openflow-codec / src / main / java / org / openflow / codec / protocol / OFPErrorMsg.java
diff --git a/third-party/openflow-codec/src/main/java/org/openflow/codec/protocol/OFPErrorMsg.java b/third-party/openflow-codec/src/main/java/org/openflow/codec/protocol/OFPErrorMsg.java
deleted file mode 100644 (file)
index 54bf43c..0000000
+++ /dev/null
@@ -1,465 +0,0 @@
-package org.openflow.codec.protocol;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.openflow.codec.io.IDataBuffer;
-import org.openflow.codec.protocol.factory.OFPMessageFactory;
-import org.openflow.codec.protocol.factory.OFPMessageFactoryAware;
-import org.openflow.codec.util.U16;
-
-/**
- * Represents an ofp_error_msg and also ofp_error_experimenter_msg
- * 
- * @author David Erickson (daviderickson@cs.stanford.edu)
- * @author Rob Sherwood (rob.sherwood@stanford.edu)
- */
-public class OFPErrorMsg extends OFPMessage implements OFPMessageFactoryAware
-{
-       private static int MINIMUM_LENGTH = 12;
-       private static int EXP_MINIMUM_LENGTH = 16;
-
-       // correspond to enum ofp_hello_failed_code
-       public enum OFPHelloFailedCode
-       {
-               OFPHFC_INCOMPATIBLE, OFPHFC_EPERM
-       }
-
-       // correspond to enum ofp_bad_request_code
-       public enum OFPBadRequestCode
-       {
-               OFPBRC_BAD_VERSION, OFPBRC_BAD_TYPE, OFPBRC_BAD_MULTIPART, OFPBRC_BAD_EXPERIMENTER, OFPBRC_BAD_EXP_TYPE, OFPBRC_EPERM, OFPBRC_BAD_LEN, OFPBRC_BUFFER_EMPTY, OFPBRC_BUFFER_UNKNOWN, OFPBRC_BAD_TABLE_ID, OFPBRC_IS_SLAVE, OFPBRC_BAD_PORT, OFPBRC_BAD_PACKET, OFPBRC_MULTIPART_BUFFER_OVERFLOW
-       }
-
-       // correspond to enum ofp_bad_action_code
-       public enum OFPBadActionCode
-       {
-               OFPBAC_BAD_TYPE, OFPBAC_BAD_LEN, OFPBAC_BAD_EXPERIMENTER, OFPBAC_BAD_EXP_TYPE, OFPBAC_BAD_OUT_PORT, OFPBAC_BAD_ARGUMENT, OFPBAC_EPERM, OFPBAC_TOO_MANY, OFPBAC_BAD_QUEUE, OFPBAC_BAD_OUT_GROUP, OFPBAC_MATCH_INCONSISTENT, OFPBAC_UNSUPPORTED_ORDER, OFPBAC_BAD_TAG, OFPBAC_BAD_SET_TYPE, OFPBAC_BAD_SET_LEN, OFPBAC_BAD_SET_ARGUMENT
-       }
-
-       // correspond to enum ofp_bad_instruction_code
-       public enum OFPBadInstructionCode
-       {
-               OFPBIC_UNKNOWN_INST, OFPBIC_UNSUP_INST, OFPBIC_BAD_TABLE_ID, OFPBIC_UNSUP_METADATA, OFPBIC_UNSUP_METADATA_MASK, OFPBIC_BAD_EXPERIMENTER, OFPBIC_BAD_EXP_TYPE, OFPBIC_BAD_LEN, OFPBIC_EPERM
-       }
-
-       // correspond to enum ofp_bad_match_code
-       public enum OFPBadMatchCode
-       {
-               OFPBMC_BAD_TYPE, OFPBMC_BAD_LEN, OFPBMC_BAD_TAG, OFPBMC_BAD_DL_ADDR_MASK, OFPBMC_BAD_NW_ADDR_MASK, OFPBMC_BAD_WILDCARDS, OFPBMC_BAD_FIELD, OFPBMC_BAD_VALUE, OFPBMC_BAD_MASK, OFPBMC_BAD_PREREQ, OFPBMC_DUP_FIELD, OFPBMC_EPERM
-
-       }
-
-       // correspond to enum ofp_flow_mod_failed_code
-       public enum OFPFlowModFailedCode
-       {
-               OFPFMFC_UNKNOWN, OFPFMFC_TABLE_FULL, OFPFMFC_BAD_TABLE_ID, OFPFMFC_OVERLAP, OFPFMFC_EPERM, OFPFMFC_BAD_TIMEOUT, OFPFMFC_BAD_COMMAND, OFPFMFC_BAD_FLAGS
-       }
-
-       // correspond to enum ofp_group_mod_failed_code
-       public enum OFPGroupModFailedCode
-       {
-               OFPGMFC_GROUP_EXISTS, OFPGMFC_INVALID_GROUP, OFPGMFC_WEIGHT_UNSUPPORTED, OFPGMFC_OUT_OF_GROUPS, OFPGMFC_OUT_OF_BUCKETS, OFPGMFC_CHAINING_UNSUPPORTED, OFPGMFC_WATCH_UNSUPPORTED, OFPGMFC_LOOP, OFPGMFC_UNKNOWN_GROUP, OFPGMFC_CHAINED_GROUP, OFPGMFC_BAD_TYPE, OFPGMFC_BAD_COMMAND, OFPGMFC_BAD_BUCKET, OFPGMFC_BAD_WATCH, OFPGMFC_EPERM
-       }
-
-       // correspond to enum ofp_port_mod_failed_code
-       public enum OFPPortModFailedCode
-       {
-               OFPPMFC_BAD_PORT, OFPPMFC_BAD_HW_ADDR, OFPPMFC_BAD_CONFIG, OFPPMFC_BAD_ADVERTISE, OFPPMFC_EPERM
-       }
-
-       // correspond to enum ofp_table_mod_failed_code
-       public enum OFPTableModFailedCode
-       {
-               OFPTMFC_BAD_TABLE, OFPTMFC_BAD_CONFIG, OFPTMFC_EPERM
-       }
-
-       // correspond to enum ofp_queue_op_failed_code
-       public enum OFPQueueOpFailedCode
-       {
-               OFPQOFC_BAD_PORT, OFPQOFC_BAD_QUEUE, OFPQOFC_EPERM
-       }
-
-       // correspond to enum ofp_switch_config_failed_code
-       public enum OFPSwitchConfigFailedCode
-       {
-               OFPSCFC_BAD_FLAGS, OFPSCFC_BAD_LEN, OFPSCFC_EPERM
-       }
-
-       // correspond to enum ofp_role_request_failed_code
-       public enum OFPRoleRequestFailedCode
-       {
-               OFPRRFC_STALE, OFPRRFC_UNSUP, OFPRRFC_BAD_ROLE
-       }
-
-       // correspond to enum ofp_meter_mod_failed_code
-       public enum OFPMeterModFailedCode
-       {
-               OFPMMFC_UNKNOWN, OFPMMFC_METER_EXISTS, OFPMMFC_INVALID_METER, OFPMMFC_UNKNOWN_METER, OFPMMFC_BAD_COMMAND, OFPMMFC_BAD_FLAGS, OFPMMFC_BAD_RATE, OFPMMFC_BAD_BURST, OFPMMFC_BAD_BAND, OFPMMFC_BAD_BAND_VALUE, OFPMMFC_OUT_OF_METERS, OFPMMFC_OUT_OF_BANDS
-
-       }
-
-       // correspond to enum ofp_table_features_failed_code
-       public enum OFPTableFeaturesFailedCode
-       {
-               OFPTFFC_BAD_TABLE, OFPTFFC_BAD_METADATA, OFPTFFC_BAD_TYPE, OFPTFFC_BAD_LEN, OFPTFFC_BAD_ARGUMENT, OFPTFFC_EPERM
-       }
-
-       private OFPErrorType errorType;
-       private short errorCode;
-       private byte[] errorData;
-       private short expType;
-       private int experimenter;
-
-       // non-message field
-       private OFPMessageFactory factory;
-       private boolean errorIsAscii;
-
-       public OFPErrorMsg()
-       {
-               super();
-               this.type = OFPType.ERROR;
-               this.length = U16.t(MINIMUM_LENGTH);
-       }
-
-       /**
-        * @return the errorType
-        */
-       public OFPErrorType getErrorType()
-       {
-               return errorType;
-       }
-
-       /**
-        * @param errorType
-        *            the errorType to set
-        */
-       public void setErrorType(OFPErrorType type)
-       {
-               this.errorType = type;
-       }
-
-       /**
-        * @return the errorCode
-        */
-       public short getErrorCode()
-       {
-               return errorCode;
-       }
-
-       public void setErrorCode(short errorCode)
-       {
-               this.errorCode = errorCode;
-       }
-
-       /**
-        * @param errorCode
-        *            the errorCode to set
-        */
-       public void setErrorCode(OFPHelloFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPBadRequestCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPBadActionCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPFlowModFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPPortModFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPQueueOpFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPBadInstructionCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPBadMatchCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPGroupModFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPTableModFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPSwitchConfigFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPRoleRequestFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPMeterModFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public void setErrorCode(OFPTableFeaturesFailedCode code)
-       {
-               this.errorCode = (short) code.ordinal();
-       }
-
-       public OFPMessage getOffendingMsg(IDataBuffer data)
-       {
-               // should only have one message embedded; if more than one, just
-               // grab first
-               if (this.errorData == null)
-                       return null;
-               IDataBuffer errorMsg = data.wrap(this.errorData);
-               if (factory == null)
-                       throw new RuntimeException("MessageFactory not set");
-               List<OFPMessage> messages = this.factory.parseMessages(errorMsg,
-                               errorData.length);
-               // OVS apparently sends partial messages in errors
-               // need to be careful of that AND can't use data.limit() as
-               // a packet boundary because there could be more data queued
-               if (messages.size() > 0)
-                       return messages.get(0);
-               else
-                       return null;
-       }
-
-       /**
-        * Write this offending message into the payload of the Error message
-        * 
-        * @param offendingMsg
-        */
-
-       public void setOffendingMsg(OFPMessage offendingMsg, IDataBuffer buffer)
-       {
-               int minlength = MINIMUM_LENGTH;
-               if (OFPErrorType.OFPET_EXPERIMENTER.getValue() == this.errorType
-                               .getValue())
-               {
-                       minlength = EXP_MINIMUM_LENGTH;
-               }
-
-               if (offendingMsg == null)
-               {
-                       super.setLengthU(minlength);
-               } else
-               {
-                       this.errorData = new byte[offendingMsg.getLengthU()];
-                       IDataBuffer data = buffer.wrap(errorData);
-                       offendingMsg.writeTo(data);
-                       super.setLengthU(minlength + offendingMsg.getLengthU());
-               }
-       }
-
-       public OFPMessageFactory getFactory()
-       {
-               return factory;
-       }
-
-       @Override
-       public void setMessageFactory(OFPMessageFactory factory)
-       {
-               this.factory = factory;
-       }
-
-       /**
-        * @return the error
-        */
-       public byte[] getErrorData()
-       {
-               return errorData;
-       }
-
-       /**
-        * @param error
-        *            the error to set
-        */
-       public void setErrorData(byte[] error)
-       {
-               this.errorData = error;
-       }
-
-       /**
-        * @return the errorIsAscii
-        */
-       public boolean isErrorIsAscii()
-       {
-               return errorIsAscii;
-       }
-
-       /**
-        * @param errorIsAscii
-        *            the errorIsAscii to set
-        */
-       public void setErrorIsAscii(boolean errorIsAscii)
-       {
-               this.errorIsAscii = errorIsAscii;
-       }
-
-       @Override
-       public void readFrom(IDataBuffer data)
-       {
-               super.readFrom(data);
-               this.errorType = OFPErrorType.valueOf(data.getShort());
-               if (this.errorType.getValue() == OFPErrorType.OFPET_EXPERIMENTER
-                               .getValue())
-               {
-                       this.expType = data.getShort();
-                       this.experimenter = data.getInt();
-                       int dataLength = this.getLengthU() - EXP_MINIMUM_LENGTH;
-                       if (dataLength > 0)
-                       {
-                               this.errorData = new byte[dataLength];
-                               data.get(this.errorData);
-                       }
-               } else
-               {
-
-                       this.errorCode = data.getShort();
-                       int dataLength = this.getLengthU() - MINIMUM_LENGTH;
-                       if (dataLength > 0)
-                       {
-                               this.errorData = new byte[dataLength];
-                               data.get(this.errorData);
-                               if (this.errorType.getValue() == OFPErrorType.OFPET_HELLO_FAILED
-                                               .getValue())
-                                       this.errorIsAscii = true;
-                       }
-               }
-       }
-
-       @Override
-       public void writeTo(IDataBuffer data)
-       {
-               if (this.errorType.getValue() == OFPErrorType.OFPET_EXPERIMENTER
-                               .getValue())
-               {
-                       this.length = U16.t(EXP_MINIMUM_LENGTH);
-               }
-               super.writeTo(data);
-               data.putShort(errorType.getValue());
-               if (this.errorType.getValue() == OFPErrorType.OFPET_EXPERIMENTER
-                               .getValue())
-               {
-                       data.putShort(expType);
-                       data.putInt(experimenter);
-               } else
-               {
-                       data.putShort(errorCode);
-               }
-               if (errorData != null)
-                       data.put(errorData);
-       }
-
-       /*
-        * (non-Javadoc)
-        * 
-        * @see java.lang.Object#hashCode()
-        */
-       @Override
-       public int hashCode()
-       {
-               final int prime = 31;
-               int result = super.hashCode();
-               result = prime * result + Arrays.hashCode(errorData);
-               result = prime * result + errorCode;
-               result = prime * result + (errorIsAscii ? 1231 : 1237);
-               result = prime * result + errorType.getValue();
-               result = prime * result + expType;
-               result = prime * result + experimenter;
-               return result;
-       }
-
-       /*
-        * (non-Javadoc)
-        * 
-        * @see java.lang.Object#equals(java.lang.Object)
-        */
-       @Override
-       public boolean equals(Object obj)
-       {
-               if (this == obj)
-                       return true;
-               if (!super.equals(obj))
-                       return false;
-               if (getClass() != obj.getClass())
-                       return false;
-               OFPErrorMsg other = (OFPErrorMsg) obj;
-               if (!Arrays.equals(errorData, other.errorData))
-                       return false;
-               if (errorCode != other.errorCode)
-                       return false;
-               if (errorIsAscii != other.errorIsAscii)
-                       return false;
-               if (errorType != other.errorType)
-                       return false;
-               if (expType != other.expType)
-                       return false;
-               if (experimenter != other.experimenter)
-                       return false;
-               return true;
-       }
-
-       /**
-        * get experimenter type
-        * 
-        * @return
-        */
-       public short getExpType()
-       {
-               return expType;
-       }
-
-       /**
-        * set experimenter type
-        * 
-        * @param expType
-        */
-       public void setExpType(short expType)
-       {
-               this.expType = expType;
-       }
-
-       /**
-        * get experimenter Id
-        * 
-        * @return
-        */
-       public int getExperimenter()
-       {
-               return experimenter;
-       }
-
-       /**
-        * set experimenter id
-        * 
-        * @param experimenter
-        */
-       public void setExperimenter(int experimenter)
-       {
-               this.experimenter = experimenter;
-       }
-
-}