public String toString() { return ";fid=" + fieldId + ";ofst=" + offset + ";len=" + length + ";val=" + HexString.toHex(value) + ";mask=" + HexString.toHex(mask); }
public String getFullHexMask() { String fullHexMaskString = ""; if (mask == null) { fullHexMaskString += HexString.Zero((length - 1) / 8 + 1); } else { if (mask.length >= OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE) { fullHexMaskString += HexString.toHex(mask, 0, OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE); } else { fullHexMaskString += HexString.toHex(mask); // fullHexMaskString += HexString.Zero(OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE - mask.length); } } return fullHexMaskString; }
public String getFullHexValue() { String fullHexValueString = ""; if (value == null) { fullHexValueString += HexString.Zero((length - 1) / 8 + 1); } else { if (value.length >= OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE) { fullHexValueString += HexString.toHex(value, 0, OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE); } else { fullHexValueString += HexString.toHex(value); // fullHexValueString += HexString.Zero(OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE - // value.length); } } return fullHexValueString; }
public String toBytesString() { String string = super.toString(); string += HexString.toHex(command) + HexString.toHex(groupType) + HexString.toHex(actionNum) + HexString.ByteZeroEnd(1) + HexString.toHex(groupId) + HexString.toHex(counterId) + HexString.ByteZeroEnd(4); if (actionList == null) { string += HexString.ByteZeroEnd(OFGlobal.OFP_MAX_ACTION_NUMBER_PER_GROUP * OFAction.MAXIMAL_LENGTH); } else { OFAction action; if (actionNum > actionList.size()) { throw new RuntimeException( "actionNum " + actionNum + " > actionList.size()" + actionList.size()); } int i; for (i = 0; i < actionNum && i < OFGlobal.OFP_MAX_ACTION_NUMBER_PER_GROUP; i++) { action = actionList.get(i); if (action == null) { string += HexString.ByteZeroEnd(OFAction.MAXIMAL_LENGTH); } else { string += action.toBytesString(); if (action.getLength() < OFAction.MAXIMAL_LENGTH) { string += HexString.ByteZeroEnd(OFAction.MAXIMAL_LENGTH - action.getLength()); } } } if (i < OFGlobal.OFP_MAX_ACTION_NUMBER_PER_GROUP) { string += HexString.ByteZeroEnd( (OFGlobal.OFP_MAX_ACTION_NUMBER_PER_GROUP - i) * OFAction.MAXIMAL_LENGTH); } } return string; }
public String toBytesString() { String string = HexString.toHex(fieldId) + HexString.toHex(offset) + HexString.toHex(length) + HexString.ByteZeroEnd(2); if (value == null) { string += HexString.ByteZeroEnd(OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE); } else { if (value.length > OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE) { string += HexString.toHex(value, 0, OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE); string += HexString.ZeroEnd(0); } else { // string += HexString.ZeroEnd(0); string += HexString.toHex(value); // string += HexString.ZeroEnd(0); string += HexString.ByteZeroEnd(OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE - value.length); } } if (mask == null) { string += HexString.ByteZeroEnd(OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE); } else { if (mask.length > OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE) { string += HexString.toHex(mask, 0, OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE); string += HexString.ZeroEnd(0); } else { // string += HexString.ZeroEnd(0); string += HexString.toHex(mask); // string += HexString.ZeroEnd(0); string += HexString.ByteZeroEnd(OFGlobal.OFP_MAX_FIELD_LENGTH_IN_BYTE - mask.length); } } return string; }
public String toBytesString() { return super.toBytesString() + HexString.toHex(fieldPosition) + HexString.ByteZeroEnd(2) + HexString.toHex(fieldLength); }