void rrFromWire(DNSInput in) throws IOException { if (in.remaining() > 0) options = new ArrayList(); while (in.remaining() > 0) { int code = in.readU16(); int len = in.readU16(); byte[] data = in.readByteArray(len); options.add(new Option(code, data)); } }
static Record fromWire(DNSInput in, int section, boolean isUpdate) throws IOException { int type, dclass; long ttl; int length; Name name; Record rec; name = new Name(in); type = in.readU16(); dclass = in.readU16(); if (section == Section.QUESTION) return newRecord(name, type, dclass); ttl = in.readU32(); length = in.readU16(); if (length == 0 && isUpdate) return newRecord(name, type, dclass, ttl); rec = newRecord(name, type, dclass, ttl, length, in); return rec; }