You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2022/03/22 02:01:58 UTC
[james-project] 27/29: JAMES-3715 Get rid of no longer needed ChannelGroupHandler
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 2768b2e27dc879c8a126c51969f1847cc6c71503
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Mar 21 10:41:18 2022 +0700
JAMES-3715 Get rid of no longer needed ChannelGroupHandler
---
.../james/protocols/netty/AbstractAsyncServer.java | 4 +--
.../netty/AbstractChannelPipelineFactory.java | 11 ++----
.../AbstractSSLAwareChannelPipelineFactory.java | 9 +++--
.../james/protocols/netty/ChannelGroupHandler.java | 40 ----------------------
.../apache/james/protocols/netty/NettyServer.java | 4 +--
.../apache/james/imapserver/netty/IMAPServer.java | 10 ++----
.../james/imapserver/netty/NettyConstants.java | 1 -
.../lib/netty/AbstractConfigurableAsyncServer.java | 5 ++-
...bstractExecutorAwareChannelPipelineFactory.java | 5 ++-
.../managesieveserver/netty/ManageSieveServer.java | 11 ++----
10 files changed, 19 insertions(+), 81 deletions(-)
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java
index 1e6bdb2..78e05e2 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java
@@ -97,7 +97,7 @@ public abstract class AbstractAsyncServer implements ProtocolServer {
bootstrap.group(bossGroup, workerGroup);
- ChannelInitializer<SocketChannel> factory = createPipelineFactory(channels);
+ ChannelInitializer<SocketChannel> factory = createPipelineFactory();
// Configure the pipeline factory.
bootstrap.childHandler(factory);
@@ -153,7 +153,7 @@ public abstract class AbstractAsyncServer implements ProtocolServer {
/**
* Create ChannelPipelineFactory to use by this Server implementation
*/
- protected abstract ChannelInitializer<SocketChannel> createPipelineFactory(ChannelGroup group);
+ protected abstract ChannelInitializer<SocketChannel> createPipelineFactory();
/**
* Set the read/write timeout for the server. This will throw a {@link IllegalStateException} if the
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
index db4a1bd..601f91a 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
@@ -22,7 +22,6 @@ import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
-import io.netty.channel.group.ChannelGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.stream.ChunkedWriteHandler;
import io.netty.util.concurrent.EventExecutorGroup;
@@ -36,21 +35,18 @@ public abstract class AbstractChannelPipelineFactory<C extends SocketChannel> ex
protected final ConnectionLimitUpstreamHandler connectionLimitHandler;
protected final ConnectionPerIpLimitUpstreamHandler connectionPerIpLimitHandler;
- private final ChannelGroupHandler groupHandler;
private final int timeout;
private final ChannelHandlerFactory frameHandlerFactory;
private final EventExecutorGroup eventExecutorGroup;
- public AbstractChannelPipelineFactory(ChannelGroup channels,
- ChannelHandlerFactory frameHandlerFactory, EventExecutorGroup eventExecutorGroup) {
- this(0, 0, 0, channels, frameHandlerFactory, eventExecutorGroup);
+ public AbstractChannelPipelineFactory(ChannelHandlerFactory frameHandlerFactory, EventExecutorGroup eventExecutorGroup) {
+ this(0, 0, 0, frameHandlerFactory, eventExecutorGroup);
}
- public AbstractChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup channels,
+ public AbstractChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp,
ChannelHandlerFactory frameHandlerFactory, EventExecutorGroup eventExecutorGroup) {
this.connectionLimitHandler = new ConnectionLimitUpstreamHandler(maxConnections);
this.connectionPerIpLimitHandler = new ConnectionPerIpLimitUpstreamHandler(maxConnectsPerIp);
- this.groupHandler = new ChannelGroupHandler(channels);
this.timeout = timeout;
this.frameHandlerFactory = frameHandlerFactory;
this.eventExecutorGroup = eventExecutorGroup;
@@ -61,7 +57,6 @@ public abstract class AbstractChannelPipelineFactory<C extends SocketChannel> ex
protected void initChannel(C channel) throws Exception {
// Create a default pipeline implementation.
ChannelPipeline pipeline = channel.pipeline();
- pipeline.addLast(HandlerConstants.GROUP_HANDLER, groupHandler);
pipeline.addLast(HandlerConstants.CONNECTION_LIMIT_HANDLER, connectionLimitHandler);
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
index f3399c9..2203efd 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
@@ -24,7 +24,6 @@ import org.apache.james.protocols.api.Encryption;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelPipeline;
-import io.netty.channel.group.ChannelGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.ssl.SslHandler;
import io.netty.util.concurrent.EventExecutorGroup;
@@ -39,16 +38,16 @@ public abstract class AbstractSSLAwareChannelPipelineFactory<C extends SocketCha
private Encryption secure;
public AbstractSSLAwareChannelPipelineFactory(int timeout,
- int maxConnections, int maxConnectsPerIp, ChannelGroup group,
+ int maxConnections, int maxConnectsPerIp,
ChannelHandlerFactory frameHandlerFactory,
EventExecutorGroup eventExecutorGroup) {
- super(timeout, maxConnections, maxConnectsPerIp, group, frameHandlerFactory, eventExecutorGroup);
+ super(timeout, maxConnections, maxConnectsPerIp, frameHandlerFactory, eventExecutorGroup);
}
public AbstractSSLAwareChannelPipelineFactory(int timeout,
- int maxConnections, int maxConnectsPerIp, ChannelGroup group, Encryption secure,
+ int maxConnections, int maxConnectsPerIp, Encryption secure,
ChannelHandlerFactory frameHandlerFactory, EventExecutorGroup eventExecutorGroup) {
- this(timeout, maxConnections, maxConnectsPerIp, group, frameHandlerFactory, eventExecutorGroup);
+ this(timeout, maxConnections, maxConnectsPerIp, frameHandlerFactory, eventExecutorGroup);
this.secure = secure;
}
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/ChannelGroupHandler.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/ChannelGroupHandler.java
deleted file mode 100644
index 152f888..0000000
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/ChannelGroupHandler.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-
-package org.apache.james.protocols.netty;
-
-import io.netty.channel.ChannelHandler;
-import io.netty.channel.ChannelInboundHandlerAdapter;
-import io.netty.channel.group.ChannelGroup;
-
-/**
- * Add channels to the channel group after the channel was opened.
- *
- * This handler is thread-safe and thus can be shared across pipelines
- */
-@ChannelHandler.Sharable
-public final class ChannelGroupHandler extends ChannelInboundHandlerAdapter {
- private final ChannelGroup channels;
-
- public ChannelGroupHandler(ChannelGroup channels) {
- this.channels = channels;
- }
-
-
-}
\ No newline at end of file
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
index 82e0e4f..951cdda 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
@@ -29,7 +29,6 @@ import com.google.common.base.Preconditions;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.DefaultEventLoopGroup;
-import io.netty.channel.group.ChannelGroup;
/**
@@ -111,13 +110,12 @@ public class NettyServer extends AbstractAsyncServer {
}
@Override
- protected AbstractChannelPipelineFactory createPipelineFactory(ChannelGroup group) {
+ protected AbstractChannelPipelineFactory createPipelineFactory() {
return new AbstractSSLAwareChannelPipelineFactory(
getTimeout(),
maxCurConnections,
maxCurConnectionsPerIP,
- group,
secure,
getFrameHandlerFactory(),
new DefaultEventLoopGroup(16)) {
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
index f689024..f39c826 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
@@ -36,7 +36,6 @@ import org.apache.james.protocols.api.Encryption;
import org.apache.james.protocols.api.OidcSASLConfiguration;
import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
-import org.apache.james.protocols.netty.ChannelGroupHandler;
import org.apache.james.protocols.netty.ChannelHandlerFactory;
import org.apache.james.protocols.netty.ConnectionLimitUpstreamHandler;
import org.apache.james.protocols.netty.ConnectionPerIpLimitUpstreamHandler;
@@ -51,7 +50,6 @@ import com.google.common.collect.ImmutableSet;
import io.netty.channel.Channel;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.ChannelPipeline;
-import io.netty.channel.group.ChannelGroup;
import io.netty.handler.ssl.SslHandler;
import io.netty.handler.stream.ChunkedWriteHandler;
@@ -206,22 +204,20 @@ public class IMAPServer extends AbstractConfigurableAsyncServer implements ImapC
return "IMAP Service";
}
+
@Override
- protected AbstractChannelPipelineFactory createPipelineFactory(final ChannelGroup group) {
+ protected AbstractChannelPipelineFactory createPipelineFactory() {
- return new AbstractChannelPipelineFactory(group, getFrameHandlerFactory(), getExecutorGroup()) {
+ return new AbstractChannelPipelineFactory(getFrameHandlerFactory(), getExecutorGroup()) {
@Override
protected ChannelInboundHandlerAdapter createHandler() {
return createCoreHandler();
}
- private final ChannelGroupHandler groupHandler = new ChannelGroupHandler(group);
-
@Override
public void initChannel(Channel channel) throws Exception {
ChannelPipeline pipeline = channel.pipeline();
- pipeline.addLast(GROUP_HANDLER, groupHandler);
pipeline.addLast(TIMEOUT_HANDLER, new ImapIdleStateHandler(timeout));
pipeline.addLast(CONNECTION_LIMIT_HANDLER, new ConnectionLimitUpstreamHandler(IMAPServer.this.connectionLimit));
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java
index 68bbd6d..afe1c26 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java
@@ -36,7 +36,6 @@ public interface NettyConstants {
String FRAMER = "framer";
String TIMEOUT_HANDLER = "timeoutHandler";
String CORE_HANDLER = "coreHandler";
- String GROUP_HANDLER = "groupHandler";
String CONNECTION_LIMIT_HANDLER = "connectionLimitHandler";
String CONNECTION_LIMIT_PER_IP_HANDLER = "connectionPerIpLimitHandler";
String CONNECTION_COUNT_HANDLER = "connectionCountHandler";
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
index ec8a20a..1d4bc96 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
@@ -55,7 +55,6 @@ import org.slf4j.LoggerFactory;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.ChannelOption;
-import io.netty.channel.group.ChannelGroup;
import io.netty.util.concurrent.DefaultEventExecutorGroup;
import io.netty.util.concurrent.EventExecutorGroup;
import nl.altindag.ssl.SSLFactory;
@@ -555,8 +554,8 @@ public abstract class AbstractConfigurableAsyncServer extends AbstractAsyncServe
protected abstract ChannelInboundHandlerAdapter createCoreHandler();
@Override
- protected AbstractChannelPipelineFactory createPipelineFactory(ChannelGroup group) {
- return new AbstractExecutorAwareChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP, group,
+ protected AbstractChannelPipelineFactory createPipelineFactory() {
+ return new AbstractExecutorAwareChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP,
getEncryption(), getFrameHandlerFactory(), getExecutorGroup()) {
@Override
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
index 4890f3c..07e55ea 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
@@ -23,7 +23,6 @@ import org.apache.james.protocols.netty.AbstractSSLAwareChannelPipelineFactory;
import org.apache.james.protocols.netty.ChannelHandlerFactory;
import io.netty.channel.ChannelHandler;
-import io.netty.channel.group.ChannelGroup;
import io.netty.util.concurrent.EventExecutorGroup;
/**
@@ -35,9 +34,9 @@ import io.netty.util.concurrent.EventExecutorGroup;
public abstract class AbstractExecutorAwareChannelPipelineFactory extends AbstractSSLAwareChannelPipelineFactory {
public AbstractExecutorAwareChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp,
- ChannelGroup group, Encryption encryption,
+ Encryption encryption,
ChannelHandlerFactory frameHandlerFactory, EventExecutorGroup eventExecutorGroup) {
- super(timeout, maxConnections, maxConnectsPerIp, group, encryption, frameHandlerFactory, eventExecutorGroup);
+ super(timeout, maxConnections, maxConnectsPerIp, encryption, frameHandlerFactory, eventExecutorGroup);
}
/**
diff --git a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
index 294ddc7..75d6b32 100644
--- a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
+++ b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
@@ -27,7 +27,6 @@ import org.apache.james.protocols.api.Encryption;
import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
import org.apache.james.protocols.netty.AllButStartTlsLineChannelHandlerFactory;
-import org.apache.james.protocols.netty.ChannelGroupHandler;
import org.apache.james.protocols.netty.ChannelHandlerFactory;
import org.apache.james.protocols.netty.ConnectionLimitUpstreamHandler;
import org.apache.james.protocols.netty.ConnectionPerIpLimitUpstreamHandler;
@@ -37,7 +36,6 @@ import org.slf4j.LoggerFactory;
import io.netty.channel.Channel;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.ChannelPipeline;
-import io.netty.channel.group.ChannelGroup;
import io.netty.handler.codec.string.StringDecoder;
import io.netty.handler.codec.string.StringEncoder;
import io.netty.handler.ssl.SslHandler;
@@ -51,12 +49,10 @@ public class ManageSieveServer extends AbstractConfigurableAsyncServer implement
static final String SSL_HANDLER = "sslHandler";
static final String FRAMER = "framer";
static final String CORE_HANDLER = "coreHandler";
- static final String GROUP_HANDLER = "groupHandler";
static final String CONNECTION_LIMIT_HANDLER = "connectionLimitHandler";
static final String CONNECTION_LIMIT_PER_IP_HANDLER = "connectionPerIpLimitHandler";
static final String CONNECTION_COUNT_HANDLER = "connectionCountHandler";
static final String CHUNK_WRITE_HANDLER = "chunkWriteHandler";
- static final String EXECUTION_HANDLER = "executionHandler";
private final int maxLineLength;
private final ManageSieveProcessor manageSieveProcessor;
@@ -84,17 +80,15 @@ public class ManageSieveServer extends AbstractConfigurableAsyncServer implement
}
@Override
- protected AbstractChannelPipelineFactory createPipelineFactory(final ChannelGroup group) {
+ protected AbstractChannelPipelineFactory createPipelineFactory() {
- return new AbstractChannelPipelineFactory(group, createFrameHandlerFactory(), getExecutorGroup()) {
+ return new AbstractChannelPipelineFactory(createFrameHandlerFactory(), getExecutorGroup()) {
@Override
protected ChannelInboundHandlerAdapter createHandler() {
return createCoreHandler();
}
- private final ChannelGroupHandler groupHandler = new ChannelGroupHandler(group);
-
@Override
public void initChannel(Channel channel) throws Exception {
ChannelPipeline pipeline = channel.pipeline();
@@ -107,7 +101,6 @@ public class ManageSieveServer extends AbstractConfigurableAsyncServer implement
pipeline.addFirst(SSL_HANDLER, new SslHandler(engine));
}
- pipeline.addLast(GROUP_HANDLER, groupHandler);
pipeline.addLast(CONNECTION_LIMIT_HANDLER, new ConnectionLimitUpstreamHandler(ManageSieveServer.this.connectionLimit));
pipeline.addLast(CONNECTION_LIMIT_PER_IP_HANDLER, new ConnectionPerIpLimitUpstreamHandler(ManageSieveServer.this.connPerIP));
// Add the text line decoder which limit the max line length,
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org