[
https://issues.apache.org/jira/browse/ZOOKEEPER-2755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983759#comment-15983759
]
ASF GitHub Bot commented on ZOOKEEPER-2755:
-------------------------------------------
Github user afine commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/227#discussion_r113325191
--- Diff:
src/java/test/org/apache/zookeeper/test/NettyLocalChannelSuiteBase.java ---
@@ -0,0 +1,136 @@
+/**
+ * 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.zookeeper.test;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+
+import org.apache.zookeeper.ClientCnxnSocketNetty;
+import org.apache.zookeeper.client.ZKClientConfig;
+import org.apache.zookeeper.common.SocketAddressUtils;
+import org.apache.zookeeper.server.NettyServerCnxnFactory;
+import org.apache.zookeeper.server.ServerCnxnFactory;
+import org.jboss.netty.bootstrap.ClientBootstrap;
+import org.jboss.netty.bootstrap.ServerBootstrap;
+import org.jboss.netty.channel.Channel;
+import org.jboss.netty.channel.ChannelFactory;
+import org.jboss.netty.channel.ChannelFuture;
+import org.jboss.netty.channel.ServerChannelFactory;
--- End diff --
unused import
> Allow to subclass ClientCnxnSocketNetty and NettyServerCnxn in order to use
> Netty Local transport
> -------------------------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-2755
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2755
> Project: ZooKeeper
> Issue Type: New Feature
> Components: java client, server
> Affects Versions: 3.5.2
> Reporter: Enrico Olivelli
>
> ClientCnxnSocketNetty and NettyServerCnxn use explicitly InetSocketAddress
> class to work with network addresses.
> We can do a little refactoring to use only SocketAddress and make it possible
> to create subclasses of ClientCnxnSocketNetty and NettyServerCnxn which
> leverage built-in Netty 'local' channels.
> Such Netty local channels do not create real sockets and so allow a simple
> ZooKeeper server + ZooKeeper client to be run on the same JVM without binding
> to real TCP endpoints.
> Usecases:
> Ability to run concurrently on the same machine tests of projects which use
> ZooKeeper (usually in unit tests the server and the client run inside the
> same JVM) without dealing with random ports and in general using less network
> resources
> Run simplified (standalone, all processes in the same JVM) versions of
> applications which need a working ZooKeeper ensemble to run.
> Note:
> Embedding ZooKeeper server + client on the same JVM has many risks and in
> general I think we should encourage users to do so, so I in this patch I will
> not provide official implementations of ClientCnxnSocketNetty and
> NettyServerCnxn. There will be implementations only inside the test packages,
> in order to test that most of the features are working with custom socket
> factories and in particular with the 'LocalAddress' specific subclass of
> SocketAddress.
> Note:
> the 'Local' sockets feature will be available on Netty 4 too
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)