You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2011/11/21 11:19:49 UTC
svn commit: r1204430 - in
/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl:
AbstractChannelPipelineFactory.java
AbstractSSLAwareChannelPipelineFactory.java HandlerConstants.java
NettyProtocolTransport.java
Author: norman
Date: Mon Nov 21 10:19:49 2011
New Revision: 1204430
URL: http://svn.apache.org/viewvc?rev=1204430&view=rev
Log:
Add HandlerConstants which holds the keys under which the ChannelHandlers get added to the ChannelPipeline
Added:
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/HandlerConstants.java
Modified:
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractChannelPipelineFactory.java
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractSSLAwareChannelPipelineFactory.java
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java
Modified: james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractChannelPipelineFactory.java
URL: http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractChannelPipelineFactory.java?rev=1204430&r1=1204429&r2=1204430&view=diff
==============================================================================
--- james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractChannelPipelineFactory.java (original)
+++ james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractChannelPipelineFactory.java Mon Nov 21 10:19:49 2011
@@ -42,17 +42,17 @@ public abstract class AbstractChannelPip
private final ConnectionLimitUpstreamHandler connectionLimitHandler;
private final ConnectionPerIpLimitUpstreamHandler connectionPerIpLimitHandler;
private final HashedWheelTimer timer = new HashedWheelTimer();
- private ChannelGroupHandler groupHandler;
- private int timeout;
- private ExecutionHandler eHandler;
+ private final ChannelGroupHandler groupHandler;
+ private final int timeout;
+ private final ExecutionHandler eHandler;
public AbstractChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup channels) {
this(timeout, maxConnections, maxConnectsPerIp, channels, null);
}
public AbstractChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup channels, ExecutionHandler eHandler) {
- connectionLimitHandler = new ConnectionLimitUpstreamHandler(maxConnections);
- connectionPerIpLimitHandler = new ConnectionPerIpLimitUpstreamHandler(maxConnectsPerIp);
- groupHandler = new ChannelGroupHandler(channels);
+ this.connectionLimitHandler = new ConnectionLimitUpstreamHandler(maxConnections);
+ this.connectionPerIpLimitHandler = new ConnectionPerIpLimitUpstreamHandler(maxConnectsPerIp);
+ this.groupHandler = new ChannelGroupHandler(channels);
this.timeout = timeout;
this.eHandler = eHandler;
}
@@ -66,25 +66,25 @@ public abstract class AbstractChannelPip
public ChannelPipeline getPipeline() throws Exception {
// Create a default pipeline implementation.
ChannelPipeline pipeline = pipeline();
- pipeline.addLast("groupHandler", groupHandler);
+ pipeline.addLast(HandlerConstants.GROUP_HANDLER, groupHandler);
- pipeline.addLast("connectionLimit", connectionLimitHandler);
+ pipeline.addLast(HandlerConstants.CONNECTION_LIMIT_HANDLER, connectionLimitHandler);
- pipeline.addLast("connectionPerIpLimit", connectionPerIpLimitHandler);
+ pipeline.addLast(HandlerConstants.CONNECTION_PER_IP_LIMIT_HANDLER, connectionPerIpLimitHandler);
// Add the text line decoder which limit the max line length, don't strip the delimiter and use CRLF as delimiter
- pipeline.addLast("framer", new DelimiterBasedFrameDecoder(MAX_LINE_LENGTH, false, Delimiters.lineDelimiter()));
+ pipeline.addLast(HandlerConstants.FRAMER, new DelimiterBasedFrameDecoder(MAX_LINE_LENGTH, false, Delimiters.lineDelimiter()));
// Add the ChunkedWriteHandler to be able to write ChunkInput
- pipeline.addLast("streamer", new ChunkedWriteHandler());
- pipeline.addLast("timeoutHandler", new TimeoutHandler(timer, timeout));
+ pipeline.addLast(HandlerConstants.CHUNK_HANDLER, new ChunkedWriteHandler());
+ pipeline.addLast(HandlerConstants.TIMEOUT_HANDLER, new TimeoutHandler(timer, timeout));
if (eHandler != null) {
- pipeline.addLast("executionHandler", eHandler);
+ pipeline.addLast(HandlerConstants.EXECUTION_HANDLER, eHandler);
}
- pipeline.addLast("coreHandler", createHandler());
+ pipeline.addLast(HandlerConstants.CORE_HANDLER, createHandler());
return pipeline;
@@ -100,11 +100,9 @@ public abstract class AbstractChannelPip
*/
protected abstract ChannelUpstreamHandler createHandler();
+
@Override
public void releaseExternalResources() {
timer.stop();
}
-
-
-
}
Modified: james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractSSLAwareChannelPipelineFactory.java
URL: http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractSSLAwareChannelPipelineFactory.java?rev=1204430&r1=1204429&r2=1204430&view=diff
==============================================================================
--- james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractSSLAwareChannelPipelineFactory.java (original)
+++ james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/AbstractSSLAwareChannelPipelineFactory.java Mon Nov 21 10:19:49 2011
@@ -68,7 +68,7 @@ public abstract class AbstractSSLAwareCh
if (enabledCipherSuites != null && enabledCipherSuites.length > 0) {
engine.setEnabledCipherSuites(enabledCipherSuites);
}
- pipeline.addFirst("sslHandler", new SslHandler(engine));
+ pipeline.addFirst(HandlerConstants.SSL_HANDLER, new SslHandler(engine));
}
return pipeline;
}
Added: james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/HandlerConstants.java
URL: http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/HandlerConstants.java?rev=1204430&view=auto
==============================================================================
--- james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/HandlerConstants.java (added)
+++ james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/HandlerConstants.java Mon Nov 21 10:19:49 2011
@@ -0,0 +1,50 @@
+/****************************************************************
+ * 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.impl;
+
+import org.jboss.netty.channel.ChannelHandler;
+import org.jboss.netty.channel.ChannelPipeline;
+
+/**
+ * Provide the keys under which the {@link ChannelHandler}'s are stored in the {@link ChannelPipeline}
+ *
+ *
+ */
+public interface HandlerConstants {
+
+ public static final String SSL_HANDLER = "sslHandler";
+
+ public static final String GROUP_HANDLER ="groupHandler";
+
+ public static final String CONNECTION_LIMIT_HANDLER =" connectionLimit";
+
+ public static final String CONNECTION_PER_IP_LIMIT_HANDLER ="connectionPerIpLimit";
+
+ public static final String FRAMER = "framer";
+
+ public static final String EXECUTION_HANDLER = "executionHandler";
+
+ public static final String TIMEOUT_HANDLER = "timeoutHandler";
+
+ public static final String CORE_HANDLER = "coreHandler";
+
+ public static final String CHUNK_HANDLER = "chunkHandler";
+
+
+}
Modified: james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java
URL: http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java?rev=1204430&r1=1204429&r2=1204430&view=diff
==============================================================================
--- james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java (original)
+++ james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java Mon Nov 21 10:19:49 2011
@@ -65,7 +65,7 @@ public class NettyProtocolTransport exte
* @see org.apache.james.protocols.api.ProtocolTransport#isTLSStarted()
*/
public boolean isTLSStarted() {
- return channel.getPipeline().get("sslHandler") != null;
+ return channel.getPipeline().get(SslHandler.class) != null;
}
/**
@@ -113,7 +113,7 @@ public class NettyProtocolTransport exte
channel.setReadable(false);
SslHandler filter = new SslHandler(engine);
filter.getEngine().setUseClientMode(false);
- channel.getPipeline().addFirst("sslHandler", filter);
+ channel.getPipeline().addFirst(HandlerConstants.SSL_HANDLER, filter);
channel.setReadable(true);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org