Skip to content

Commit

Permalink
Upgrade to Netty 4.1.15.Final
Browse files Browse the repository at this point in the history
  • Loading branch information
vietj committed Sep 20, 2017
1 parent 333c8c6 commit b52d357
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 26 deletions.
11 changes: 10 additions & 1 deletion pom.xml
Expand Up @@ -47,7 +47,7 @@
</scm> </scm>


<properties> <properties>
<tcnative.version>1.1.33.Fork26</tcnative.version> <tcnative.version>2.0.6.Final</tcnative.version>
<log4j.version>1.2.17</log4j.version> <log4j.version>1.2.17</log4j.version>
<slf4j.version>1.7.21</slf4j.version> <slf4j.version>1.7.21</slf4j.version>
<log4j2.version>2.8.2</log4j2.version> <log4j2.version>2.8.2</log4j2.version>
Expand Down Expand Up @@ -79,38 +79,47 @@
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-common</artifactId> <artifactId>netty-common</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId> <artifactId>netty-buffer</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId> <artifactId>netty-transport</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId> <artifactId>netty-handler</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-handler-proxy</artifactId> <artifactId>netty-handler-proxy</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId> <artifactId>netty-codec-http</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-codec-http2</artifactId> <artifactId>netty-codec-http2</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-resolver</artifactId> <artifactId>netty-resolver</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
<artifactId>netty-resolver-dns</artifactId> <artifactId>netty-resolver-dns</artifactId>
<version>4.1.15.Final</version>
</dependency> </dependency>


<!-- Jackson --> <!-- Jackson -->
Expand Down
Expand Up @@ -149,18 +149,6 @@ public void onStreamHalfClosed(Http2Stream stream) {
public void onStreamRemoved(Http2Stream stream) { public void onStreamRemoved(Http2Stream stream) {
} }


@Override
public void onPriorityTreeParentChanged(Http2Stream stream, Http2Stream oldParent) {
}

@Override
public void onPriorityTreeParentChanging(Http2Stream stream, Http2Stream newParent) {
}

@Override
public void onWeightChanged(Http2Stream stream, short oldWeight) {
}

@Override @Override
public void onGoAwaySent(int lastStreamId, long errorCode, ByteBuf debugData) { public void onGoAwaySent(int lastStreamId, long errorCode, ByteBuf debugData) {
connection.onGoAwaySent(lastStreamId, errorCode, debugData); connection.onGoAwaySent(lastStreamId, errorCode, debugData);
Expand Down
47 changes: 35 additions & 12 deletions src/main/java/io/vertx/core/impl/resolver/DnsResolverProvider.java
Expand Up @@ -20,11 +20,15 @@
import io.netty.channel.socket.DatagramChannel; import io.netty.channel.socket.DatagramChannel;
import io.netty.channel.socket.nio.NioDatagramChannel; import io.netty.channel.socket.nio.NioDatagramChannel;
import io.netty.resolver.AddressResolverGroup; import io.netty.resolver.AddressResolverGroup;
import io.netty.resolver.HostsFileEntries;
import io.netty.resolver.HostsFileEntriesResolver;
import io.netty.resolver.HostsFileParser; import io.netty.resolver.HostsFileParser;
import io.netty.resolver.NameResolver; import io.netty.resolver.NameResolver;
import io.netty.resolver.ResolvedAddressTypes;
import io.netty.resolver.dns.DnsAddressResolverGroup; import io.netty.resolver.dns.DnsAddressResolverGroup;
import io.netty.resolver.dns.DnsNameResolverBuilder; import io.netty.resolver.dns.DnsNameResolverBuilder;
import io.netty.resolver.dns.DnsServerAddressStream; import io.netty.resolver.dns.DnsServerAddressStream;
import io.netty.resolver.dns.DnsServerAddressStreamProvider;
import io.netty.resolver.dns.DnsServerAddresses; import io.netty.resolver.dns.DnsServerAddresses;
import io.netty.util.NetUtil; import io.netty.util.NetUtil;
import io.netty.util.concurrent.EventExecutor; import io.netty.util.concurrent.EventExecutor;
Expand All @@ -40,6 +44,8 @@
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.StringReader; import java.io.StringReader;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
Expand All @@ -48,7 +54,6 @@
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;


Expand Down Expand Up @@ -95,8 +100,9 @@ public DnsResolverProvider(VertxImpl vertx, AddressResolverOptions options) {
} }
} }
DnsServerAddresses nameServerAddresses = options.isRotateServers() ? DnsServerAddresses.rotational(serverList) : DnsServerAddresses.sequential(serverList); DnsServerAddresses nameServerAddresses = options.isRotateServers() ? DnsServerAddresses.rotational(serverList) : DnsServerAddresses.sequential(serverList);
DnsServerAddressStreamProvider nameServerAddressProvider = hostname -> nameServerAddresses.stream();


Map<String, InetAddress> entries; HostsFileEntries entries;
if (options.getHostsPath() != null) { if (options.getHostsPath() != null) {
File file = vertx.resolveFile(options.getHostsPath()).getAbsoluteFile(); File file = vertx.resolveFile(options.getHostsPath()).getAbsoluteFile();
try { try {
Expand All @@ -119,23 +125,40 @@ public DnsResolverProvider(VertxImpl vertx, AddressResolverOptions options) {


this.vertx = vertx; this.vertx = vertx;
this.resolverGroup = new AddressResolverGroup<InetSocketAddress>() { this.resolverGroup = new AddressResolverGroup<InetSocketAddress>() {

@Override @Override
protected io.netty.resolver.AddressResolver<InetSocketAddress> newResolver(EventExecutor executor) throws Exception { protected io.netty.resolver.AddressResolver<InetSocketAddress> newResolver(EventExecutor executor) throws Exception {

DnsAddressResolverGroup group = new DnsAddressResolverGroup(NioDatagramChannel.class, nameServerAddressProvider) {
DnsAddressResolverGroup group = new DnsAddressResolverGroup(NioDatagramChannel.class, nameServerAddresses) {
@Override @Override
protected NameResolver<InetAddress> newNameResolver(EventLoop eventLoop, ChannelFactory<? extends DatagramChannel> channelFactory, DnsServerAddresses nameServerAddresses) throws Exception { protected NameResolver<InetAddress> newNameResolver(EventLoop eventLoop, ChannelFactory<? extends DatagramChannel> channelFactory, DnsServerAddressStreamProvider nameServerProvider) throws Exception {
DnsNameResolverBuilder builder = new DnsNameResolverBuilder((EventLoop) executor); DnsNameResolverBuilder builder = new DnsNameResolverBuilder((EventLoop) executor);
builder.hostsFileEntriesResolver(inetHost -> { builder.hostsFileEntriesResolver(new HostsFileEntriesResolver() {
InetAddress addr = entries.get(inetHost); @Override
if (addr == null) { public InetAddress address(String inetHost, ResolvedAddressTypes resolvedAddressTypes) {
addr = entries.get(inetHost.toLowerCase(Locale.ENGLISH)); InetAddress address = lookup(inetHost, resolvedAddressTypes);
if (address == null) {
address = lookup(inetHost.toLowerCase(Locale.ENGLISH), resolvedAddressTypes);
}
return address;
}
InetAddress lookup(String inetHost, ResolvedAddressTypes resolvedAddressTypes) {
switch (resolvedAddressTypes) {
case IPV4_ONLY:
return entries.inet4Entries().get(inetHost);
case IPV6_ONLY:
return entries.inet6Entries().get(inetHost);
case IPV4_PREFERRED:
Inet4Address inet4Address = entries.inet4Entries().get(inetHost);
return inet4Address != null? inet4Address : entries.inet6Entries().get(inetHost);
case IPV6_PREFERRED:
Inet6Address inet6Address = entries.inet6Entries().get(inetHost);
return inet6Address != null? inet6Address : entries.inet4Entries().get(inetHost);
default:
throw new IllegalArgumentException("Unknown ResolvedAddressTypes " + resolvedAddressTypes);
}
} }
return addr;
}); });
builder.channelType(NioDatagramChannel.class); builder.channelType(NioDatagramChannel.class);
builder.nameServerAddresses(nameServerAddresses); builder.nameServerProvider(nameServerAddressProvider);
builder.optResourceEnabled(options.isOptResourceEnabled()); builder.optResourceEnabled(options.isOptResourceEnabled());
builder.ttl(options.getCacheMinTimeToLive(), options.getCacheMaxTimeToLive()); builder.ttl(options.getCacheMinTimeToLive(), options.getCacheMaxTimeToLive());
builder.negativeTtl(options.getCacheNegativeTimeToLive()); builder.negativeTtl(options.getCacheNegativeTimeToLive());
Expand Down
Expand Up @@ -44,7 +44,7 @@ static class PublicEncoder extends HttpResponseEncoder {


// Make it public // Make it public
@Override @Override
public void encodeHeaders(HttpHeaders headers, ByteBuf buf) throws Exception { public void encodeHeaders(HttpHeaders headers, ByteBuf buf) {
super.encodeHeaders(headers, buf); super.encodeHeaders(headers, buf);
} }
} }
Expand Down

0 comments on commit b52d357

Please sign in to comment.