mirror of
https://github.com/jlengrand/vert.x.git
synced 2026-03-10 08:51:19 +00:00
Upgrade to Netty 4.1.15.Final
This commit is contained in:
11
pom.xml
11
pom.xml
@@ -47,7 +47,7 @@
|
||||
</scm>
|
||||
|
||||
<properties>
|
||||
<tcnative.version>1.1.33.Fork26</tcnative.version>
|
||||
<tcnative.version>2.0.6.Final</tcnative.version>
|
||||
<log4j.version>1.2.17</log4j.version>
|
||||
<slf4j.version>1.7.21</slf4j.version>
|
||||
<log4j2.version>2.8.2</log4j2.version>
|
||||
@@ -79,38 +79,47 @@
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-common</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-buffer</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-transport</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-handler</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-handler-proxy</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-codec-http</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-codec-http2</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-resolver</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-resolver-dns</artifactId>
|
||||
<version>4.1.15.Final</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Jackson -->
|
||||
|
||||
@@ -149,18 +149,6 @@ class VertxHttp2ConnectionHandler<C extends Http2ConnectionBase> extends Http2Co
|
||||
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
|
||||
public void onGoAwaySent(int lastStreamId, long errorCode, ByteBuf debugData) {
|
||||
connection.onGoAwaySent(lastStreamId, errorCode, debugData);
|
||||
|
||||
@@ -20,11 +20,15 @@ import io.netty.channel.EventLoop;
|
||||
import io.netty.channel.socket.DatagramChannel;
|
||||
import io.netty.channel.socket.nio.NioDatagramChannel;
|
||||
import io.netty.resolver.AddressResolverGroup;
|
||||
import io.netty.resolver.HostsFileEntries;
|
||||
import io.netty.resolver.HostsFileEntriesResolver;
|
||||
import io.netty.resolver.HostsFileParser;
|
||||
import io.netty.resolver.NameResolver;
|
||||
import io.netty.resolver.ResolvedAddressTypes;
|
||||
import io.netty.resolver.dns.DnsAddressResolverGroup;
|
||||
import io.netty.resolver.dns.DnsNameResolverBuilder;
|
||||
import io.netty.resolver.dns.DnsServerAddressStream;
|
||||
import io.netty.resolver.dns.DnsServerAddressStreamProvider;
|
||||
import io.netty.resolver.dns.DnsServerAddresses;
|
||||
import io.netty.util.NetUtil;
|
||||
import io.netty.util.concurrent.EventExecutor;
|
||||
@@ -40,6 +44,8 @@ import io.vertx.core.spi.resolver.ResolverProvider;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.net.Inet4Address;
|
||||
import java.net.Inet6Address;
|
||||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.UnknownHostException;
|
||||
@@ -48,7 +54,6 @@ import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
@@ -95,8 +100,9 @@ public class DnsResolverProvider implements ResolverProvider {
|
||||
}
|
||||
}
|
||||
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) {
|
||||
File file = vertx.resolveFile(options.getHostsPath()).getAbsoluteFile();
|
||||
try {
|
||||
@@ -119,23 +125,40 @@ public class DnsResolverProvider implements ResolverProvider {
|
||||
|
||||
this.vertx = vertx;
|
||||
this.resolverGroup = new AddressResolverGroup<InetSocketAddress>() {
|
||||
|
||||
@Override
|
||||
protected io.netty.resolver.AddressResolver<InetSocketAddress> newResolver(EventExecutor executor) throws Exception {
|
||||
|
||||
DnsAddressResolverGroup group = new DnsAddressResolverGroup(NioDatagramChannel.class, nameServerAddresses) {
|
||||
DnsAddressResolverGroup group = new DnsAddressResolverGroup(NioDatagramChannel.class, nameServerAddressProvider) {
|
||||
@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);
|
||||
builder.hostsFileEntriesResolver(inetHost -> {
|
||||
InetAddress addr = entries.get(inetHost);
|
||||
if (addr == null) {
|
||||
addr = entries.get(inetHost.toLowerCase(Locale.ENGLISH));
|
||||
builder.hostsFileEntriesResolver(new HostsFileEntriesResolver() {
|
||||
@Override
|
||||
public InetAddress address(String inetHost, ResolvedAddressTypes resolvedAddressTypes) {
|
||||
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.nameServerAddresses(nameServerAddresses);
|
||||
builder.nameServerProvider(nameServerAddressProvider);
|
||||
builder.optResourceEnabled(options.isOptResourceEnabled());
|
||||
builder.ttl(options.getCacheMinTimeToLive(), options.getCacheMaxTimeToLive());
|
||||
builder.negativeTtl(options.getCacheNegativeTimeToLive());
|
||||
|
||||
@@ -44,7 +44,7 @@ public class HeadersEncodeBenchmark extends BenchmarkBase {
|
||||
|
||||
// Make it public
|
||||
@Override
|
||||
public void encodeHeaders(HttpHeaders headers, ByteBuf buf) throws Exception {
|
||||
public void encodeHeaders(HttpHeaders headers, ByteBuf buf) {
|
||||
super.encodeHeaders(headers, buf);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user