queryCancelled(int)queryWritten(InetSocketAddress, Future)queryRedirected(List) or queryCNAMEd(DnsQuestion) or
queryNoAnswer(DnsResponseCode) or queryCancelled(int) or
queryFailed(Throwable) or querySucceed()
This interface can be used to track metrics for individual DNS servers. Methods which may lead to another DNS query
return an object of type DnsQueryLifecycleObserver. Implementations may use this to build a query tree to
understand the "sub queries" generated by a single query.
| Modifier and Type | Method and Description |
|---|---|
| public void | queryCancelled(int
The number of queries remaining. queriesRemaining)The query may have been written but it was cancelled at some point. |
| public DnsQueryLifecycleObserver | Returns: An observer for the new query which we may issue.the question we would use if we issue a new query. cnameQuestion)The query returned a CNAME which we may attempt to follow with a new query. |
| public void | queryFailed(Throwable
The cause which for the failure. cause)The following criteria are possible:
|
| public DnsQueryLifecycleObserver | Returns: An observer for the new query which we may issue.the unexpected response code. code)The response to the query didn't provide the expected response code, but it didn't return
|
| public DnsQueryLifecycleObserver | Returns: An observer for the new query which we may issue.The name servers the query has been redirected to. nameServers)The query has been redirected to another list of DNS servers. |
| public void | |
| public void | queryWritten(InetSocketAddress
The DNS server address which the query was sent to. dnsServerAddress, Future<Void> The future which represents the status of the write operation for the DNS query. future)The query has been written. |
| queryCancelled | back to summary |
|---|---|
| public void queryCancelled(int queriesRemaining) The query may have been written but it was cancelled at some point.
| |
| queryCNAMEd | back to summary |
|---|---|
| public DnsQueryLifecycleObserver queryCNAMEd(DnsQuestion cnameQuestion) The query returned a CNAME which we may attempt to follow with a new query.
Note that multiple queries may be encountering a CNAME. For example a if both
| |
| queryFailed | back to summary |
|---|---|
| public void queryFailed(Throwable cause) The following criteria are possible:
| |
| queryNoAnswer | back to summary |
|---|---|
| public DnsQueryLifecycleObserver queryNoAnswer(DnsResponseCode code) The response to the query didn't provide the expected response code, but it didn't return
| |
| queryRedirected | back to summary |
|---|---|
| public DnsQueryLifecycleObserver queryRedirected(List<InetSocketAddress> nameServers) The query has been redirected to another list of DNS servers.
| |
| querySucceed | back to summary |
|---|---|
| public void querySucceed() The query received the expected results. | |
| queryWritten | back to summary |
|---|---|
| public void queryWritten(InetSocketAddress dnsServerAddress, Future<Void> future) The query has been written.
| |