From 9ba64805b0eecf97204c91b387936cc2fb3fe700 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Fri, 15 Jul 2016 09:53:51 +0200 Subject: [PATCH] Set maxMessagesPerRead to 16 by default in epoll transport to be consistent with NIO. Motivation: DefaultChannelConfig has a "hack" which will automatically set maxMessagesPerRead to 16 when constructed when either a ServerChannel or a AbstractNioByteChannel is used. As this instanceof check will fail with epoll we should set it there as well. Modifications: Set maxMessagesPerRead to 16 by default in EpollDomainSocketChannelConfig and EpollSocketChannelConfig. Result: More consistent behavior between epoll and nio when LT mode is used. --- .../io/netty/channel/epoll/EpollDomainSocketChannelConfig.java | 2 ++ .../java/io/netty/channel/epoll/EpollSocketChannelConfig.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollDomainSocketChannelConfig.java b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollDomainSocketChannelConfig.java index 400cfbd469..7680aaef35 100644 --- a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollDomainSocketChannelConfig.java +++ b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollDomainSocketChannelConfig.java @@ -30,6 +30,8 @@ public final class EpollDomainSocketChannelConfig extends EpollChannelConfig EpollDomainSocketChannelConfig(AbstractEpollChannel channel) { super(channel); + // Make it consistent with NIO. + setMaxMessagesPerRead(16); } @Override diff --git a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannelConfig.java b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannelConfig.java index ed12a62687..de30541171 100644 --- a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannelConfig.java +++ b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannelConfig.java @@ -44,6 +44,8 @@ public final class EpollSocketChannelConfig extends EpollChannelConfig implement if (PlatformDependent.canEnableTcpNoDelayByDefault()) { setTcpNoDelay(true); } + // Make it consistent with NIO. + setMaxMessagesPerRead(16); } @Override