@Override public IcmpV6ParameterProblemPacket build() { return new IcmpV6ParameterProblemPacket(this); } }
/** * 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 IcmpV6ParameterProblemPacket object. * @throws IllegalRawDataException if parsing the raw data fails. */ public static IcmpV6ParameterProblemPacket newPacket(byte[] rawData, int offset, int length) throws IllegalRawDataException { ByteArrays.validateBounds(rawData, offset, length); IcmpV6ParameterProblemHeader header = new IcmpV6ParameterProblemHeader(rawData, offset, length); int payloadLength = length - header.length(); if (payloadLength > 0) { return new IcmpV6ParameterProblemPacket( header, rawData, offset + header.length(), payloadLength); } else { return new IcmpV6ParameterProblemPacket(header); } }
@Override public IcmpV6ParameterProblemPacket build() { return new IcmpV6ParameterProblemPacket(this); } }
/** * 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 IcmpV6ParameterProblemPacket object. * @throws IllegalRawDataException if parsing the raw data fails. */ public static IcmpV6ParameterProblemPacket newPacket(byte[] rawData, int offset, int length) throws IllegalRawDataException { ByteArrays.validateBounds(rawData, offset, length); IcmpV6ParameterProblemHeader header = new IcmpV6ParameterProblemHeader(rawData, offset, length); int payloadLength = length - header.length(); if (payloadLength > 0) { return new IcmpV6ParameterProblemPacket( header, rawData, offset + header.length(), payloadLength); } else { return new IcmpV6ParameterProblemPacket(header); } }