Class DnsQueryIdSpace

java.lang.Object
io.netty.resolver.dns.DnsQueryIdSpace

final class DnsQueryIdSpace extends java.lang.Object
Special data-structure that will allow to retrieve the next query id to use, while still guarantee some sort of randomness. The query id will be between 0 (inclusive) and 65535 (inclusive) as defined by the RFC.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private static final class 
    Provides a query if from a range of possible ids.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final int
     
    private static final int
     
    private static final int
     
     
    private static final int
     
    private final java.security.SecureRandom
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) int
    Return the maximum number of ids that are supported.
    newBucket(int idBucketsIdx, java.security.SecureRandom random)
     
    (package private) int
    Returns the next ID to use for a query or -1 if there is none left to use.
    (package private) void
    pushId(int id)
    Push back the id, so it can be used again for the next query.
    (package private) int
    Return how much more usable ids are left.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • DnsQueryIdSpace

      DnsQueryIdSpace()
  • Method Details

    • newBucket

      private static DnsQueryIdSpace.DnsQueryIdRange newBucket(int idBucketsIdx, java.security.SecureRandom random)
    • nextId

      int nextId()
      Returns the next ID to use for a query or -1 if there is none left to use.
      Returns:
      next id to use.
    • pushId

      void pushId(int id)
      Push back the id, so it can be used again for the next query.
      Parameters:
      id - the id.
    • usableIds

      int usableIds()
      Return how much more usable ids are left.
      Returns:
      the number of ids that are left for usage.
    • maxUsableIds

      int maxUsableIds()
      Return the maximum number of ids that are supported.
      Returns:
      the maximum number of ids.