com.h3c.of.lib.msg

## Class OfmExperimenter

- java.lang.Object
- - com.h3c.nbio.AbstractMessage
  - - com.h3c.of.lib.msg.OpenflowMessage
    - - com.h3c.of.lib.msg.OfmExperimenter

- All Implemented Interfaces:
    Message, Structure
  Direct Known Subclasses:
    OfmMutableExperimenter

      public class OfmExperimenter
      extends OpenflowMessage

  Represents an OpenFlow EXPERIMENTER message; since 1.0.

  This class also represents the Vendor message that was introduced at version 1.0, and then replaced with this Experimenter message starting with version 1.1. The Vender field from the OpenFlow 1.0 specification is mapped to the Experimenter Id, which was introduced in the 1.1 specification. The arbitrary data byte array is common across all version.

  The experimenter id uniquely identifies the experimenter. If the most significant byte is zero, the next three bytes are the experimenter's IEEE OUI. If the most significant byte is not zero, it is a value allocated by the Open Networking Foundation.

  The rest of the body for this message is uninterpreted by standard OpenFlow processing and is arbitrarily defined by the corresponding experimenter.

  If a switch does not understand an experimenter extension, it must send an OFPT_ERROR message with a OFPBRC_BAD_EXPERIMENTER error code and OFPET_BAD_REQUEST error type.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.h3c.of.lib.msg.OpenflowMessage

      `OpenflowMessage.Header`

  - ### Field Summary

    - ### Fields inherited from class com.h3c.nbio.AbstractMessage

      `length`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `getData()` Returns a copy of the experimenter-defined additional data.
    `ExperimenterId` | `getExpId()` Returns the experimenter ID (if we know it); null otherwise; Since 1.0.
    `int` | `getExpType()` Returns the experimenter-defined type; Since 1.2.
    `int` | `getId()` Returns the experimenter ID encoded as an int; Since 1.0.
    `String` | `toDebugString()` Returns a string representation useful for debugging.
    `String` | `toString()`

    - ### Methods inherited from class com.h3c.of.lib.msg.OpenflowMessage

      `decodeHeader, getType, getVersion, getXid, hex, hex, length, validate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `OpenflowMessage`

    - #### toDebugString

          public String toDebugString()

      Description copied from class: `OpenflowMessage`
      Returns a string representation useful for debugging. This default implementation delegates to `OpenflowMessage.toString()`, but subclasses are free to override this behavior.
      Specified by:
        `toDebugString` in interface `Structure`
      Overrides:
        `toDebugString` in class `OpenflowMessage`
      Returns:
        a (possibly multi-line) string representation of this message

    - #### getId

          public int getId()

      Returns the experimenter ID encoded as an int; Since 1.0.
      Returns:
        the experimenter ID (encoded)

    - #### getExpId

          public ExperimenterId getExpId()

      Returns the experimenter ID (if we know it); null otherwise; Since 1.0.
      Returns:
        the experimenter ID

    - #### getExpType

          public int getExpType()

      Returns the experimenter-defined type; Since 1.2. For 1.0 messages, the value returned is 0. For 1.1 messages, the value returned is undetermined (but assumed to be 0).
      Returns:
        the experimenter-defined type

    - #### getData

          public byte[] getData()

      Returns a copy of the experimenter-defined additional data.
      Returns:
        the data

Copyright © 2014. All Rights Reserved.