@Override public void run() { try { if (this.getDns().isCanceling() || this.getDns().isCanceled()) { this.cancel(); } else { if (_count++ < 3) { if (logger.isLoggable(Level.FINER)) { logger.finer(this.getName() + ".run() JmDNS " + this.description()); } DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY); out = this.addQuestions(out); if (this.getDns().isAnnounced()) { out = this.addAnswers(out); } if (!out.isEmpty()) { this.getDns().send(out); } } else { // After three queries, we can quit. this.cancel(); } } } catch (Throwable e) { logger.log(Level.WARNING, this.getName() + ".run() exception ", e); this.getDns().recover(); } }
@Override public void run() { try { if (this.getDns().isCanceling() || this.getDns().isCanceled()) { this.cancel(); } else { if (_count++ < 3) { if (logger.isLoggable(Level.FINER)) { logger.finer(this.getName() + ".run() JmDNS " + this.description()); } DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY); out = this.addQuestions(out); if (this.getDns().isAnnounced()) { out = this.addAnswers(out); } if (!out.isEmpty()) { this.getDns().send(out); } } else { // After three queries, we can quit. this.cancel(); } } } catch (Throwable e) { logger.log(Level.WARNING, this.getName() + ".run() exception ", e); this.getDns().recover(); } }
@Override public void run() { try { if (this.getDns().isCanceling() || this.getDns().isCanceled()) { this.cancel(); } else { if (_count++ < 3) { if (logger.isLoggable(Level.FINER)) { logger.finer(this.getName() + ".run() JmDNS " + this.description()); } DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY); out = this.addQuestions(out); if (this.getDns().isAnnounced()) { out = this.addAnswers(out); } if (!out.isEmpty()) { this.getDns().send(out); } } else { // After three queries, we can quit. this.cancel(); } } } catch (Throwable e) { logger.log(Level.WARNING, this.getName() + ".run() exception ", e); this.getDns().recover(); } }
/** * Add an authoritative answer to the message. * * @param out * outgoing message * @param rec * DNS record answer * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAuthoritativeAnswer(DNSOutgoing out, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addAuthorativeAnswer(rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAuthorativeAnswer(rec); } return newOut; }
/** * Add a question to the message. * * @param out * outgoing message * @param rec * DNS question * @return outgoing message for the next question * @exception IOException */ public DNSOutgoing addQuestion(DNSOutgoing out, DNSQuestion rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addQuestion(rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addQuestion(rec); } return newOut; }
/** * Add an answer to the message. * * @param out * outgoing message * @param rec * DNS record answer * @param now * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAnswer(DNSOutgoing out, DNSRecord rec, long now) throws IOException { DNSOutgoing newOut = out; try { newOut.addAnswer(rec, now); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAnswer(rec, now); } return newOut; }
/** * Add an authoritative answer to the message. * * @param out * outgoing message * @param rec * DNS record answer * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAuthoritativeAnswer(DNSOutgoing out, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addAuthorativeAnswer(rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAuthorativeAnswer(rec); } return newOut; }
/** * Add a question to the message. * * @param out * outgoing message * @param rec * DNS question * @return outgoing message for the next question * @exception IOException */ public DNSOutgoing addQuestion(DNSOutgoing out, DNSQuestion rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addQuestion(rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addQuestion(rec); } return newOut; }
/** * Add an authoritative answer to the message. * * @param out * outgoing message * @param rec * DNS record answer * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAuthoritativeAnswer(DNSOutgoing out, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addAuthorativeAnswer(rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAuthorativeAnswer(rec); } return newOut; }
/** * Add an answer if it is not suppressed. * * @param out * outgoing message * @param in * incoming request * @param rec * DNS record answer * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAnswer(DNSOutgoing out, DNSIncoming in, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addAnswer(in, rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAnswer(in, rec); } return newOut; }
/** * Add an answer to the message. * * @param out * outgoing message * @param rec * DNS record answer * @param now * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAnswer(DNSOutgoing out, DNSRecord rec, long now) throws IOException { DNSOutgoing newOut = out; try { newOut.addAnswer(rec, now); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAnswer(rec, now); } return newOut; }
/** * Add an additional answer to the record. Omit if there is no room. * * @param out * outgoing message * @param in * incoming request * @param rec * DNS record answer * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAdditionalAnswer(DNSOutgoing out, DNSIncoming in, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addAdditionalAnswer(in, rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAdditionalAnswer(in, rec); } return newOut; }
/** * Add an answer if it is not suppressed. * * @param out * outgoing message * @param in * incoming request * @param rec * DNS record answer * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAnswer(DNSOutgoing out, DNSIncoming in, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addAnswer(in, rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAnswer(in, rec); } return newOut; }
/** * Add an answer to the message. * * @param out * outgoing message * @param rec * DNS record answer * @param now * @return outgoing message for the next answer * @exception IOException */ public DNSOutgoing addAnswer(DNSOutgoing out, DNSRecord rec, long now) throws IOException { DNSOutgoing newOut = out; try { newOut.addAnswer(rec, now); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addAnswer(rec, now); } return newOut; }
/** * Add a question to the message. * * @param out * outgoing message * @param rec * DNS question * @return outgoing message for the next question * @exception IOException */ public DNSOutgoing addQuestion(DNSOutgoing out, DNSQuestion rec) throws IOException { DNSOutgoing newOut = out; try { newOut.addQuestion(rec); } catch (final IOException e) { int flags = newOut.getFlags(); boolean multicast = newOut.isMulticast(); int maxUDPPayload = newOut.getMaxUDPPayload(); int id = newOut.getId(); newOut.setFlags(flags | DNSConstants.FLAGS_TC); newOut.setId(id); this._jmDNSImpl.send(newOut); newOut = new DNSOutgoing(flags, multicast, maxUDPPayload); newOut.addQuestion(rec); } return newOut; }
@Override public void run() { try { if (this.getDns().isCanceling() || this.getDns().isCanceled()) { this.cancel(); } else { if (_count++ < 3) { logger.debug("{}.run() JmDNS {}",this.getName(), this.description()); DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY); out = this.addQuestions(out); if (this.getDns().isAnnounced()) { out = this.addAnswers(out); } if (!out.isEmpty()) { this.getDns().send(out); } } else { // After three queries, we can quit. this.cancel(); } } } catch (Throwable e) { logger.warn(this.getName() + ".run() exception ", e); this.getDns().recover(); } }
/** * Add an answer to a question. Deal with the case when the outgoing packet overflows * * @param in * @param addr * @param port * @param out * @param rec * @return outgoing answer * @exception IOException */ public DNSOutgoing addAnswer(DNSIncoming in, InetAddress addr, int port, DNSOutgoing out, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; if (newOut == null) { newOut = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false, in.getSenderUDPPayload()); } try { newOut.addAnswer(in, rec); } catch (final IOException e) { newOut.setFlags(newOut.getFlags() | DNSConstants.FLAGS_TC); newOut.setId(in.getId()); send(newOut); newOut = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false, in.getSenderUDPPayload()); newOut.addAnswer(in, rec); } return newOut; }
/** * Add an answer to a question. Deal with the case when the outgoing packet overflows * * @param in * @param addr * @param port * @param out * @param rec * @return outgoing answer * @exception IOException */ public DNSOutgoing addAnswer(DNSIncoming in, InetAddress addr, int port, DNSOutgoing out, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; if (newOut == null) { newOut = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false, in.getSenderUDPPayload()); } try { newOut.addAnswer(in, rec); } catch (final IOException e) { newOut.setFlags(newOut.getFlags() | DNSConstants.FLAGS_TC); newOut.setId(in.getId()); send(newOut); newOut = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false, in.getSenderUDPPayload()); newOut.addAnswer(in, rec); } return newOut; }
/** * Add an answer to a question. Deal with the case when the outgoing packet overflows * * @param in * @param addr * @param port * @param out * @param rec * @return outgoing answer * @exception IOException */ public DNSOutgoing addAnswer(DNSIncoming in, InetAddress addr, int port, DNSOutgoing out, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; if (newOut == null) { newOut = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false, in.getSenderUDPPayload()); } try { newOut.addAnswer(in, rec); } catch (final IOException e) { newOut.setFlags(newOut.getFlags() | DNSConstants.FLAGS_TC); newOut.setId(in.getId()); send(newOut); newOut = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false, in.getSenderUDPPayload()); newOut.addAnswer(in, rec); } return newOut; }
/** * Add an answer to a question. Deal with the case when the outgoing packet overflows * * @param in * @param addr * @param port * @param out * @param rec * @return outgoing answer * @exception IOException */ public DNSOutgoing addAnswer(DNSIncoming in, InetAddress addr, int port, DNSOutgoing out, DNSRecord rec) throws IOException { DNSOutgoing newOut = out; if (newOut == null) { newOut = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false, in.getSenderUDPPayload()); } try { newOut.addAnswer(in, rec); } catch (final IOException e) { newOut.setFlags(newOut.getFlags() | DNSConstants.FLAGS_TC); newOut.setId(in.getId()); send(newOut); newOut = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false, in.getSenderUDPPayload()); newOut.addAnswer(in, rec); } return newOut; }