Class HostInfo

java.lang.Object
javax.jmdns.impl.HostInfo
All Implemented Interfaces:
DNSStatefulObject

public class HostInfo extends Object implements DNSStatefulObject
HostInfo information on the local host to be able to cope with change of addresses.
  • Field Details

  • Constructor Details

  • Method Details

    • newHostInfo

      public static HostInfo newHostInfo(InetAddress address, JmDNSImpl dns, String jmdnsName)
      Parameters:
      address - IP address to bind
      dns - JmDNS instance
      jmdnsName - JmDNS name
      Returns:
      new HostInfo
    • loopbackAddress

      private static InetAddress loopbackAddress()
    • getName

      public String getName()
    • getInetAddress

      public InetAddress getInetAddress()
    • getInet4Address

      Inet4Address getInet4Address()
    • getInet6Address

      Inet6Address getInet6Address()
    • getInterface

      public NetworkInterface getInterface()
    • conflictWithRecord

      public boolean conflictWithRecord(DNSRecord.Address record)
    • incrementHostName

      String incrementHostName()
    • shouldIgnorePacket

      boolean shouldIgnorePacket(DatagramPacket packet)
    • getDNSAddressRecord

      DNSRecord.Address getDNSAddressRecord(DNSRecordType type, boolean unique, int ttl)
    • getDNS4AddressRecord

      private DNSRecord.Address getDNS4AddressRecord(boolean unique, int ttl)
    • getDNS6AddressRecord

      private DNSRecord.Address getDNS6AddressRecord(boolean unique, int ttl)
    • getDNSReverseAddressRecord

      DNSRecord.Pointer getDNSReverseAddressRecord(DNSRecordType type, boolean unique, int ttl)
    • getDNS4ReverseAddressRecord

      private DNSRecord.Pointer getDNS4ReverseAddressRecord(boolean unique, int ttl)
    • getDNS6ReverseAddressRecord

      private DNSRecord.Pointer getDNS6ReverseAddressRecord(boolean unique, int ttl)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • answers

      public Collection<DNSRecord> answers(DNSRecordClass recordClass, boolean unique, int ttl)
    • getDns

      public JmDNSImpl getDns()
      Returns the DNS associated with this object.
      Specified by:
      getDns in interface DNSStatefulObject
      Returns:
      DNS resolver
    • advanceState

      public boolean advanceState(DNSTask task)
      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
      advanceState in interface DNSStatefulObject
      Parameters:
      task - associated task
      Returns:
      true if the state was changed by this thread, false otherwise.
      See Also:
    • removeAssociationWithTask

      public void removeAssociationWithTask(DNSTask task)
      Remove the association of the task with this Object.
      Specified by:
      removeAssociationWithTask in interface DNSStatefulObject
      Parameters:
      task - associated task
    • revertState

      public boolean revertState()
      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
      revertState in interface DNSStatefulObject
      Returns:
      true if the state was changed by this thread, false otherwise.
      See Also:
    • associateWithTask

      public void associateWithTask(DNSTask task, DNSState state)
      Sets the task associated with this Object.
      Specified by:
      associateWithTask in interface DNSStatefulObject
      Parameters:
      task - associated task
      state - state of the task
    • isAssociatedWithTask

      public boolean isAssociatedWithTask(DNSTask task, DNSState state)
      Checks if this object is associated with the task and in the same state.
      Specified by:
      isAssociatedWithTask in interface DNSStatefulObject
      Parameters:
      task - associated task
      state - state of the task
      Returns:
      true is the task is associated with this object, false otherwise.
    • cancelState

      public boolean cancelState()
      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
      cancelState in interface DNSStatefulObject
      Returns:
      true if the state was changed by this thread, false otherwise.
    • closeState

      public boolean closeState()
      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
      closeState in interface DNSStatefulObject
      Returns:
      true if the state was changed by this thread, false otherwise.
    • recoverState

      public boolean recoverState()
      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
      recoverState in interface DNSStatefulObject
      Returns:
      true if the state was changed by this thread, false otherwise.
    • isProbing

      public boolean isProbing()
      Returns true, if this is a probing state.
      Specified by:
      isProbing in interface DNSStatefulObject
      Returns:
      true if probing state, false otherwise
    • isAnnouncing

      public boolean isAnnouncing()
      Returns true, if this is an announcing state.
      Specified by:
      isAnnouncing in interface DNSStatefulObject
      Returns:
      true if announcing state, false otherwise
    • isAnnounced

      public boolean isAnnounced()
      Returns true, if this is an announced state.
      Specified by:
      isAnnounced in interface DNSStatefulObject
      Returns:
      true if announced state, false otherwise
    • isCanceling

      public boolean isCanceling()
      Returns true, if this is a canceling state.
      Specified by:
      isCanceling in interface DNSStatefulObject
      Returns:
      true if canceling state, false otherwise
    • isCanceled

      public boolean isCanceled()
      Returns true, if this is a canceled state.
      Specified by:
      isCanceled in interface DNSStatefulObject
      Returns:
      true if canceled state, false otherwise
    • isClosing

      public boolean isClosing()
      Returns true, if this is a closing state.
      Specified by:
      isClosing in interface DNSStatefulObject
      Returns:
      true if closing state, false otherwise
    • isClosed

      public boolean isClosed()
      Returns true, if this is a closed state.
      Specified by:
      isClosed in interface DNSStatefulObject
      Returns:
      true if closed state, false otherwise
    • waitForAnnounced

      public boolean waitForAnnounced(long timeout)
      Waits for the object to be announced.
      Specified by:
      waitForAnnounced in interface DNSStatefulObject
      Parameters:
      timeout - the maximum time to wait in milliseconds.
      Returns:
      true if the object is announced, false otherwise
    • waitForCanceled

      public boolean waitForCanceled(long timeout)
      Waits for the object to be canceled.
      Specified by:
      waitForCanceled in interface DNSStatefulObject
      Parameters:
      timeout - the maximum time to wait in milliseconds.
      Returns:
      true if the object is canceled, false otherwise