Class DNSIncoming


  • public final class DNSIncoming
    extends DNSMessage
    Parse an incoming DNS message into its components.
    • Field Detail

      • logger

        private static org.slf4j.Logger logger
      • USE_DOMAIN_NAME_FORMAT_FOR_SRV_TARGET

        public static boolean USE_DOMAIN_NAME_FORMAT_FOR_SRV_TARGET
      • _packet

        private final java.net.DatagramPacket _packet
      • _receivedTime

        private final long _receivedTime
      • _senderUDPPayload

        private int _senderUDPPayload
      • _nibbleToHex

        private static final char[] _nibbleToHex
    • Constructor Detail

      • DNSIncoming

        public DNSIncoming​(java.net.DatagramPacket packet)
                    throws java.io.IOException
        Parse a message from a datagram packet.
        Parameters:
        packet -
        Throws:
        java.io.IOException
      • DNSIncoming

        private DNSIncoming​(int flags,
                            int id,
                            boolean multicast,
                            java.net.DatagramPacket packet,
                            long receivedTime)
    • Method Detail

      • clone

        public DNSIncoming clone()
        Overrides:
        clone in class java.lang.Object
      • readAnswer

        private DNSRecord readAnswer​(java.net.InetAddress source)
      • isIPv4MappedIPv6Address

        private boolean isIPv4MappedIPv6Address​(byte[] addr)
      • print

        java.lang.String print​(boolean dump)
        Debugging.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • append

        void append​(DNSIncoming that)
        Appends answers to this Incoming.
        Throws:
        java.lang.IllegalArgumentException - If not a query or if Truncated.
      • elapseSinceArrival

        public int elapseSinceArrival()
      • getSenderUDPPayload

        public int getSenderUDPPayload()
        This will return the default UDP payload except if an OPT record was found with a different size.
        Returns:
        the senderUDPPayload
      • _hexString

        private java.lang.String _hexString​(byte[] bytes)
        Returns a hex-string for printing
        Parameters:
        bytes -
        Returns:
        Returns a hex-string which can be used within a SQL expression