ServiceInfoResolver
Date: 2017-02-10

javax.jmdns.impl.tasks.resolver

## Class ServiceInfoResolver

- java.lang.Object
- - java.util.TimerTask
  - - javax.jmdns.impl.tasks.DNSTask
    - - javax.jmdns.impl.tasks.resolver.DNSResolverTask
      - - javax.jmdns.impl.tasks.resolver.ServiceInfoResolver

- All Implemented Interfaces:
    java.lang.Runnable

      public class ServiceInfoResolver
      extends DNSResolverTask

  The ServiceInfoResolver queries up to three times consecutively for a service info, and then removes itself from the timer.

  The ServiceInfoResolver will run only if JmDNS is in state ANNOUNCED. REMIND: Prevent having multiple service resolvers for the same info in the timer queue.

- - ### Field Summary

    - ### Fields inherited from class javax.jmdns.impl.tasks.resolver.DNSResolverTask

      `_count`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ServiceInfoResolver(JmDNSImpl jmDNSImpl, ServiceInfoImpl info)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected DNSOutgoing` | `addAnswers(DNSOutgoing out)` Overridden by subclasses to add questions to the message. Note: Because of message size limitation the returned message may be different than the message parameter.
    `protected DNSOutgoing` | `addQuestions(DNSOutgoing out)` Overridden by subclasses to add questions to the message. Note: Because of message size limitation the returned message may be different than the message parameter.
    `boolean` | `cancel()`
    `protected java.lang.String` | `description()` Returns a description of the resolver for debugging
    `java.lang.String` | `getName()` Return this task name.

    - ### Methods inherited from class javax.jmdns.impl.tasks.resolver.DNSResolverTask

      `run, start, toString`

    - ### Methods inherited from class javax.jmdns.impl.tasks.DNSTask

      `addAdditionalAnswer, addAnswer, addAnswer, addAuthoritativeAnswer, addQuestion, getDns`

    - ### Methods inherited from class java.util.TimerTask

      `scheduledExecutionTime`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ServiceInfoResolver

          public ServiceInfoResolver(JmDNSImpl jmDNSImpl,
                             ServiceInfoImpl info)

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

      Description copied from class: `DNSTask`
      Return this task name.
      Specified by:
        `getName` in class `DNSTask`
      Returns:
        task name

    - #### cancel

          public boolean cancel()

      Overrides:
        `cancel` in class `java.util.TimerTask`

    - #### addAnswers

          protected DNSOutgoing addAnswers(DNSOutgoing out)
                                    throws java.io.IOException

      Description copied from class: `DNSResolverTask`
      Overridden by subclasses to add questions to the message.
      Note: Because of message size limitation the returned message may be different than the message parameter.
      Specified by:
        `addAnswers` in class `DNSResolverTask`
      Parameters:
        `out` - outgoing message
      Returns:
        the outgoing message.
      Throws:
        `java.io.IOException`

    - #### addQuestions

          protected DNSOutgoing addQuestions(DNSOutgoing out)
                                      throws java.io.IOException

      Description copied from class: `DNSResolverTask`
      Overridden by subclasses to add questions to the message.
      Note: Because of message size limitation the returned message may be different than the message parameter.
      Specified by:
        `addQuestions` in class `DNSResolverTask`
      Parameters:
        `out` - outgoing message
      Returns:
        the outgoing message.
      Throws:
        `java.io.IOException`

    - #### description

          protected java.lang.String description()

      Description copied from class: `DNSResolverTask`
      Returns a description of the resolver for debugging
      Specified by:
        `description` in class `DNSResolverTask`
      Returns:
        resolver description