ah!  Nice diagrams!  Sorry I didn't look just at the JIRA...


Yang Paulex wrote:
Sorry for the confusion I caused, I DID write it in txt, about the "red", I
didn't mean the color of text, but the color of classes in the class diagram
I attached:). I thought I should add the attachment link to this JIRA
comments. Sorry for that.

2006/1/19, Geir Magnusson Jr <[EMAIL PROTECTED]>:


Paulex Yang (JIRA) wrote:
    [
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.
"red"?  I assume that you did this in HTML?

Please, no HTML - it's hard for people to read who don't use
HTML-enabled mail readers....  I for example, can't see it...

geir

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



--
Paulex Yang
China Software Development Labotary
IBM

Reply via email to