id = readUnsignedShort(); flags = readUnsignedShort(); numQuestions = readUnsignedShort(); numAnswers = readUnsignedShort(); numAuthorities = readUnsignedShort(); numAdditionals = readUnsignedShort(); DNSQuestion question = new DNSQuestion(readName(), readUnsignedShort(), readUnsignedShort()); questions.add(question); String domain = readName(); int type = readUnsignedShort(); int clazz = readUnsignedShort(); int ttl = readInt(); int len = readUnsignedShort(); int end = off + len; DNSRecord rec = null; rec = new DNSRecord.Address(domain, type, clazz, ttl, readBytes(off, len)); break; case DNSConstants.TYPE_CNAME: case DNSConstants.TYPE_PTR: rec = new DNSRecord.Pointer(domain, type, clazz, ttl, readName()); break; case DNSConstants.TYPE_TXT: rec = new DNSRecord.Text(domain, type, clazz, ttl, readBytes(off, len)); break; case DNSConstants.TYPE_SRV: rec = new DNSRecord.Service(domain, type, clazz, ttl,
DNSIncoming msg = new DNSIncoming(packet); logger.finest("SocketListener.run() JmDNS in:" + msg.print(true)); if (msg.isQuery())
if (this.isQuery() && this.isTruncated() && that.isQuery())
int delay = (iAmTheOnlyOne && !in.isTruncated()) ? 0 : DNSConstants.RESPONSE_MIN_WAIT_INTERVAL + random.nextInt(DNSConstants.RESPONSE_MAX_WAIT_INTERVAL - DNSConstants.RESPONSE_MIN_WAIT_INTERVAL + 1) - in.elapseSinceArrival(); if (delay < 0)
/** * Send an outgoing multicast DNS message. */ private void send(DNSOutgoing out) throws IOException { out.finish(); if (!out.isEmpty()) { DatagramPacket packet = new DatagramPacket(out.data, out.off, group, DNSConstants.MDNS_PORT); try { DNSIncoming msg = new DNSIncoming(packet); logger.finest("send() JmDNS out:" + msg.print(true)); } catch (IOException e) { logger.throwing(getClass().toString(), "send(DNSOutgoing) - JmDNS can not parse what it sends!!!", e); } socket.send(packet); } }
plannedAnswer.append(in); if (in.isTruncated())
public String toString() buf.append(isQuery() ? "dns[query," : "dns[response,"); if (packet.getAddress() != null)