[ https://issues.apache.org/jira/browse/ZOOKEEPER-2755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983755#comment-15983755 ]
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_r113306599 --- Diff: src/java/main/org/apache/zookeeper/server/ConnectionBean.java --- @@ -21,15 +21,18 @@ import java.net.Inet6Address; import java.net.InetAddress; import java.net.InetSocketAddress; +import java.net.SocketAddress; import java.util.Arrays; import javax.management.ObjectName; +import org.apache.zookeeper.common.SocketAddressUtils; import org.apache.zookeeper.common.Time; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.zookeeper.jmx.MBeanRegistry; import org.apache.zookeeper.jmx.ZKMBeanInfo; +import org.jboss.netty.channel.local.LocalAddress; --- 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)