ResolveAddressHandler Class — netty Architecture
Architecture documentation for the ResolveAddressHandler class in ResolveAddressHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 85b1544b_87af_d04d_e4c6_6e94b6749f73["ResolveAddressHandler"] 9dab69f9_101a_1a97_dae4_5ab5e79e1069["ResolveAddressHandler.java"] 85b1544b_87af_d04d_e4c6_6e94b6749f73 -->|defined in| 9dab69f9_101a_1a97_dae4_5ab5e79e1069 025ca509_349a_4ac5_feb5_4dee1e8976b3["ResolveAddressHandler()"] 85b1544b_87af_d04d_e4c6_6e94b6749f73 -->|method| 025ca509_349a_4ac5_feb5_4dee1e8976b3 1ce462a0_7cbf_88ed_d80e_f194cfe4f38f["connect()"] 85b1544b_87af_d04d_e4c6_6e94b6749f73 -->|method| 1ce462a0_7cbf_88ed_d80e_f194cfe4f38f
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/address/ResolveAddressHandler.java lines 35–63
@Sharable
public class ResolveAddressHandler extends ChannelOutboundHandlerAdapter {
private final AddressResolverGroup<? extends SocketAddress> resolverGroup;
public ResolveAddressHandler(AddressResolverGroup<? extends SocketAddress> resolverGroup) {
this.resolverGroup = ObjectUtil.checkNotNull(resolverGroup, "resolverGroup");
}
@Override
public void connect(final ChannelHandlerContext ctx, SocketAddress remoteAddress,
final SocketAddress localAddress, final ChannelPromise promise) {
AddressResolver<? extends SocketAddress> resolver = resolverGroup.getResolver(ctx.executor());
if (resolver.isSupported(remoteAddress) && !resolver.isResolved(remoteAddress)) {
resolver.resolve(remoteAddress).addListener((FutureListener<SocketAddress>) future -> {
Throwable cause = future.cause();
if (cause != null) {
promise.setFailure(cause);
} else {
ctx.connect(future.getNow(), localAddress, promise);
}
ctx.pipeline().remove(ResolveAddressHandler.this);
});
} else {
ctx.connect(remoteAddress, localAddress, promise);
ctx.pipeline().remove(this);
}
}
}
Source
Frequently Asked Questions
What is the ResolveAddressHandler class?
ResolveAddressHandler is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/address/ResolveAddressHandler.java.
Where is ResolveAddressHandler defined?
ResolveAddressHandler is defined in handler/src/main/java/io/netty/handler/address/ResolveAddressHandler.java at line 35.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free