/** * @param value value * @return a Oui object. */ public static Oui getInstance(byte[] value) { if (value.length != 3) { throw new IllegalArgumentException("value length must be 3"); } return getInstance(ByteArrays.getInt(new byte[] {(byte) 0, value[0], value[1], value[2]}, 0)); }
private SnapHeader(byte[] rawData, int offset, int length) throws IllegalRawDataException { if (length < SNAP_HEADER_SIZE) { StringBuilder sb = new StringBuilder(200); sb.append("The data is too short to build a SNAP header(") .append(SNAP_HEADER_SIZE) .append(" bytes). data: ") .append(ByteArrays.toHexString(rawData, " ")) .append(", offset: ") .append(offset) .append(", length: ") .append(length); throw new IllegalRawDataException(sb.toString()); } this.oui = Oui.getInstance(ByteArrays.getSubArray(rawData, offset + OUI_OFFSET, 3)); this.protocolId = EtherType.getInstance(ByteArrays.getShort(rawData, offset + PROTOCOL_ID_OFFSET)); }
/** @return OUI */ public Oui getOui() { return Oui.getInstance(ByteArrays.getInt(getAddress(), 0) >>> 8); }
/** * @param value value * @return a Oui object. */ public static Oui getInstance(byte[] value) { if (value.length != 3) { throw new IllegalArgumentException("value length must be 3"); } return getInstance(ByteArrays.getInt(new byte[] {(byte) 0, value[0], value[1], value[2]}, 0)); }
/** @return OUI */ public Oui getOui() { return Oui.getInstance(ByteArrays.getInt(getAddress(), 0) >>> 8); }
private SnapHeader(byte[] rawData, int offset, int length) throws IllegalRawDataException { if (length < SNAP_HEADER_SIZE) { StringBuilder sb = new StringBuilder(200); sb.append("The data is too short to build a SNAP header(") .append(SNAP_HEADER_SIZE) .append(" bytes). data: ") .append(ByteArrays.toHexString(rawData, " ")) .append(", offset: ") .append(offset) .append(", length: ") .append(length); throw new IllegalRawDataException(sb.toString()); } this.oui = Oui.getInstance(ByteArrays.getSubArray(rawData, offset + OUI_OFFSET, 3)); this.protocolId = EtherType.getInstance(ByteArrays.getShort(rawData, offset + PROTOCOL_ID_OFFSET)); }