/** @return length */ public int length() { return qName.length() + SHORT_SIZE_IN_BYTES * 2; }
@Override public int length() { return nsDName.length(); }
@Override public int length() { return ptrDName.length(); }
@Override public int length() { return maDName.length(); }
@Override public int length() { return cName.length(); }
@Override public int length() { return maDName.length(); }
@Override public int length() { return mgMName.length(); }
@Override public int length() { return exchange.length() + 2; }
@Override public int length() { return maDName.length(); }
@Override public int length() { return newName.length(); }
/** @return length */ public int length() { int rDataLen = rData == null ? 0 : rData.length(); return name.length() + SHORT_SIZE_IN_BYTES * 3 + INT_SIZE_IN_BYTES + rDataLen; }
/** @return the raw data. */ public byte[] getRawData() { byte[] data = new byte[length()]; int cursor = 0; for (String label : labels) { byte[] labelBytes = label.getBytes(); data[cursor] = (byte) labelBytes.length; cursor++; System.arraycopy(labelBytes, 0, data, cursor, labelBytes.length); cursor += labelBytes.length; } if (pointer != null) { byte[] offsetBytes = ByteArrays.toByteArray(pointer); offsetBytes[0] |= 0xC0; System.arraycopy(offsetBytes, 0, data, cursor, offsetBytes.length); } return data; }
private DnsRDataMInfo(byte[] rawData, int offset, int length) throws IllegalRawDataException { this.rMailBx = DnsDomainName.newInstance(rawData, offset, length); int rMailBxLen = rMailBx.length(); if (rMailBxLen == length) { StringBuilder sb = new StringBuilder(200); sb.append("The data is too short to build eMailBx in DnsRDataMInfo. data: ") .append(ByteArrays.toHexString(rawData, " ")) .append(", offset: ") .append(offset) .append(", length: ") .append(length); throw new IllegalRawDataException(sb.toString()); } this.eMailBx = DnsDomainName.newInstance(rawData, offset + rMailBxLen, length - rMailBxLen); }
private DnsQuestion(byte[] rawData, int offset, int length) throws IllegalRawDataException { int cursor = 0; this.qName = DnsDomainName.newInstance(rawData, offset, length); cursor += qName.length(); if (length - cursor < SHORT_SIZE_IN_BYTES * 2) { StringBuilder sb = new StringBuilder(200); sb.append("The data is too short to build qType an qClass of DnsQuestion. data: ") .append(ByteArrays.toHexString(rawData, " ")) .append(", offset: ") .append(offset) .append(", length: ") .append(length) .append(", cursor: ") .append(cursor); throw new IllegalRawDataException(sb.toString()); } this.qType = DnsResourceRecordType.getInstance(ByteArrays.getShort(rawData, offset + cursor)); cursor += SHORT_SIZE_IN_BYTES; this.qClass = DnsClass.getInstance(ByteArrays.getShort(rawData, offset + cursor)); }
private DnsRDataSoa(byte[] rawData, int offset, int length) throws IllegalRawDataException { int cursor = 0; this.mName = DnsDomainName.newInstance(rawData, offset, length); int mNameLen = mName.length(); cursor += mNameLen; if (cursor == length) { int rNameLen = rName.length(); cursor += rNameLen; if (cursor + INT_SIZE_IN_BYTES * 5 > length) {
private DnsResourceRecord(byte[] rawData, int offset, int length) throws IllegalRawDataException { int cursor = 0; this.name = DnsDomainName.newInstance(rawData, offset, length); cursor += name.length();
@Override public int length() { return mgMName.length(); }
@Override public int length() { return nsDName.length(); }