@Override public UnknownSctpChunk build() { return new UnknownSctpChunk(this); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("[Type: ") .append(type) .append(", Flags: 0x") .append(ByteArrays.toHexString(flags, " ")) .append(", Length: ") .append(getLengthAsInt()) .append(" bytes"); if (value.length != 0) { sb.append(", Value: 0x").append(ByteArrays.toHexString(value, "")); } if (padding.length != 0) { sb.append(", Padding: 0x").append(ByteArrays.toHexString(padding, "")); } sb.append("]"); return sb.toString(); }
@Override public byte[] getRawData() { byte[] rawData = new byte[length()]; rawData[0] = type.value(); rawData[1] = flags; rawData[2] = (byte) (length >> 8); rawData[3] = (byte) length; if (value.length != 0) { System.arraycopy(value, 0, rawData, 4, value.length); } if (padding.length != 0) { System.arraycopy(padding, 0, rawData, 4 + value.length, padding.length); } return rawData; }
@Override public SctpChunk newInstance(byte[] rawData, int offset, int length) { try { return UnknownSctpChunk.newInstance(rawData, offset, length); } catch (IllegalRawDataException e) { return IllegalSctpChunk.newInstance(rawData, offset, length); } }
@Override public SctpChunk newInstance(byte[] rawData, int offset, int length) { try { return UnknownSctpChunk.newInstance(rawData, offset, length); } catch (IllegalRawDataException e) { return IllegalSctpChunk.newInstance(rawData, offset, length); } }
/** * A static factory method. This method validates the arguments by {@link * ByteArrays#validateBounds(byte[], int, int)}, which may throw exceptions undocumented here. * * @param rawData rawData * @param offset offset * @param length length * @return a new UnknownSctpChunk object. * @throws IllegalRawDataException if parsing the raw data fails. */ public static UnknownSctpChunk newInstance(byte[] rawData, int offset, int length) throws IllegalRawDataException { ByteArrays.validateBounds(rawData, offset, length); return new UnknownSctpChunk(rawData, offset, length); }
this.flags = rawData[1 + offset]; this.length = ByteArrays.getShort(rawData, 2 + offset); int lengthAsInt = getLengthAsInt(); if (length < lengthAsInt) { StringBuilder sb = new StringBuilder(100);
@Override public byte[] getRawData() { byte[] rawData = new byte[length()]; rawData[0] = type.value(); rawData[1] = flags; rawData[2] = (byte) (length >> 8); rawData[3] = (byte) length; if (value.length != 0) { System.arraycopy(value, 0, rawData, 4, value.length); } if (padding.length != 0) { System.arraycopy(padding, 0, rawData, 4 + value.length, padding.length); } return rawData; }
@Override public UnknownSctpChunk build() { return new UnknownSctpChunk(this); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("[Type: ") .append(type) .append(", Flags: 0x") .append(ByteArrays.toHexString(flags, " ")) .append(", Length: ") .append(getLengthAsInt()) .append(" bytes"); if (value.length != 0) { sb.append(", Value: 0x").append(ByteArrays.toHexString(value, "")); } if (padding.length != 0) { sb.append(", Padding: 0x").append(ByteArrays.toHexString(padding, "")); } sb.append("]"); return sb.toString(); }
/** * A static factory method. This method validates the arguments by {@link * ByteArrays#validateBounds(byte[], int, int)}, which may throw exceptions undocumented here. * * @param rawData rawData * @param offset offset * @param length length * @return a new UnknownSctpChunk object. * @throws IllegalRawDataException if parsing the raw data fails. */ public static UnknownSctpChunk newInstance(byte[] rawData, int offset, int length) throws IllegalRawDataException { ByteArrays.validateBounds(rawData, offset, length); return new UnknownSctpChunk(rawData, offset, length); }
this.flags = rawData[1 + offset]; this.length = ByteArrays.getShort(rawData, 2 + offset); int lengthAsInt = getLengthAsInt(); if (length < lengthAsInt) { StringBuilder sb = new StringBuilder(100);