[ http://issues.apache.org/jira/browse/HARMONY-27?page=comments#action_12363230 ]
Paulex Yang commented on HARMONY-27: ------------------------------------ my proposed solution: 1. Refactor the java.net Currently, the Harmony's socket structur is as below(red means API classes, others are package private). I will attach the diagram to Jira. I proposed to refactor to three packages like this: java.net: for sure includes All API classes, and includes them only public class Socket public class ServerSocket public abstract class SocketImpl public class DatagramSocket public class MulticastSocket extends DatagramSocket public abstract class DatagramSocketImpl org.apache.harmony.net: all implementation classes with a factory public class SocketImplProvider class PlainSocketImpl extends SocketImpl class PlainSocketImpl2 extends PlainSocketImpl class PlainServerSocketImpl extends PlainSocketImpl class PlainDatagramSocketImpl extends DatagramSocketImpl class PlainMulticastSocketImpl extends PlainDatagramSocketImpl some relevant small classes(Socks4Message, GenericIPMreq) org.apache.platform: currently, this package includes native file system and memory management interface, so it is a good place to include the native network interface, the INetworkSystem will encapsulate all JNI interfaces. public interface INetworkSystem public class OSNetworkSystem implements INetworkSystem 2. Implement java.nio Now it is ready to implement NIO network channels based on it: java.nio: public abstract class SocketChannel public abstract class ServerSocketChannel public abstract class DatagramSocketChannel class SocketChannelImpl class ServerSocketImpl class DatagramSocketChannelImpl class SocketAdapter class ServerSocketAdapter class DatagramSocketAdapter I will attach the result diagram into JIRA, too 3. Modulize them According to the current Harmony modulization, propose to modify the modulization as follows: luni exports: java.net, org.apache.harmony.net, org.apache.harmony.platform(move from nio to luni, and export it) nio exports: java.nio > The network related channels in java.nio.channels are not implemented > --------------------------------------------------------------------- > > Key: HARMONY-27 > URL: http://issues.apache.org/jira/browse/HARMONY-27 > Project: Harmony > Type: Bug > Components: Classlib > Reporter: Paulex Yang > Assignee: Geir Magnusson Jr > > The following classes defined by Java Spec 5.0 in java.nio.channels are not > included in the class library code > public abstarct class java.nio.channels.DatagramChannel > public abstract class java.nio.channels.ServerSocketChannel > public abstract class java.nio.channels.SocketChannel -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
