resolve() — netty Function Reference
Architecture documentation for the resolve() function in DnsResolveContext.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 19225515_ce5b_59bc_9042_d989b77e8911["resolve()"] 3bc002ec_f54e_a55f_0b37_77eac88c60db["DnsResolveContext"] 19225515_ce5b_59bc_9042_d989b77e8911 -->|defined in| 3bc002ec_f54e_a55f_0b37_77eac88c60db 804ea022_5b6c_6eb0_3048_d20c3d4093fb["queryUnresolvedNameServer()"] 804ea022_5b6c_6eb0_3048_d20c3d4093fb -->|calls| 19225515_ce5b_59bc_9042_d989b77e8911 9f561f45_6801_ce1e_316a_a956c08ce604["internalResolve()"] 19225515_ce5b_59bc_9042_d989b77e8911 -->|calls| 9f561f45_6801_ce1e_316a_a956c08ce604 5e50dade_7679_6bfb_4ac3_1314c4c0e2dc["hasNDots()"] 19225515_ce5b_59bc_9042_d989b77e8911 -->|calls| 5e50dade_7679_6bfb_4ac3_1314c4c0e2dc 3f24e8ee_6b3f_43ab_47be_3f4ebeca0a49["SearchDomainUnknownHostException()"] 19225515_ce5b_59bc_9042_d989b77e8911 -->|calls| 3f24e8ee_6b3f_43ab_47be_3f4ebeca0a49 04601a99_7b74_c57b_d385_a444bf92ae20["doSearchDomainQuery()"] 19225515_ce5b_59bc_9042_d989b77e8911 -->|calls| 04601a99_7b74_c57b_d385_a444bf92ae20 style 19225515_ce5b_59bc_9042_d989b77e8911 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java lines 232–273
void resolve(final Promise<List<T>> promise) {
final String[] searchDomains = parent.searchDomains();
if (searchDomains.length == 0 || parent.ndots() == 0 || StringUtil.endsWith(hostname, '.')) {
internalResolve(hostname, promise);
} else {
final boolean startWithoutSearchDomain = hasNDots();
final String initialHostname = startWithoutSearchDomain ? hostname : hostname + '.' + searchDomains[0];
final int initialSearchDomainIdx = startWithoutSearchDomain ? 0 : 1;
final Promise<List<T>> searchDomainPromise = parent.executor().newPromise();
searchDomainPromise.addListener(new FutureListener<List<T>>() {
private int searchDomainIdx = initialSearchDomainIdx;
@Override
public void operationComplete(Future<List<T>> future) {
Throwable cause = future.cause();
if (cause == null) {
final List<T> result = future.getNow();
if (!promise.trySuccess(result)) {
for (T item : result) {
ReferenceCountUtil.safeRelease(item);
}
}
} else {
if (DnsNameResolver.isTransportOrTimeoutError(cause)) {
promise.tryFailure(new SearchDomainUnknownHostException(cause, hostname, expectedTypes,
searchDomains));
} else if (searchDomainIdx < searchDomains.length) {
Promise<List<T>> newPromise = parent.executor().newPromise();
newPromise.addListener(this);
doSearchDomainQuery(hostname + '.' + searchDomains[searchDomainIdx++], newPromise);
} else if (!startWithoutSearchDomain) {
internalResolve(hostname, promise);
} else {
promise.tryFailure(new SearchDomainUnknownHostException(cause, hostname, expectedTypes,
searchDomains));
}
}
}
});
doSearchDomainQuery(initialHostname, searchDomainPromise);
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does resolve() do?
resolve() is a function in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java.
Where is resolve() defined?
resolve() is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java at line 232.
What does resolve() call?
resolve() calls 4 function(s): SearchDomainUnknownHostException, doSearchDomainQuery, hasNDots, internalResolve.
What calls resolve()?
resolve() is called by 1 function(s): queryUnresolvedNameServer.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free