You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by ji...@apache.org on 2004/09/21 06:53:37 UTC

[jira] Created: (DIRSEDA-10) UDP Imeplementation

Message:

  A new issue has been created in JIRA.

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/DIRSEDA-10

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DIRSEDA-10
    Summary: UDP Imeplementation
       Type: Task

     Status: Open
   Priority: Major

    Project: Seda Framework

   Assignee: Alex Karasulu
   Reporter: Trustin Lee

    Created: Mon, 20 Sep 2004 9:53 PM
    Updated: Mon, 20 Sep 2004 9:53 PM

Description:
SEDA framework currently supports TCP/IP only.  Supporting UDP is the primary concern to make it widely usable.  But because of its essential difference with UDP, we have to approach carefully.

Datagram channels does not have notion of connect/disconnect.  DatagramChannel.validOps() does not include OP_ACCEPT, so UDPListenerManager and UDPInputManager should be incorporated, and it is slightly different from current routing process of SEDA.  This difference must be handled smoothly to resolve this issue.

Because there is no explicit connection/disconnection notification, the policy how we should maintin and expire ClientKeys.  Simplistic implementation will have an timeout-based expiration mechanism.  As an alternative, SEDA can give up managing the sessions of UDP events although I'm not sure it is possible.

Any ideas?




---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (DIRSEDA-10) UDP Imeplementation

Posted by ji...@apache.org.
The following comment has been added to this issue:

     Author: Trustin Lee
    Created: Tue, 12 Oct 2004 11:43 PM
       Body:
UDP implementation and TCP implementation differs in its nature; UDP is stateless, so there is no borderline of ListenerManager and InputManager.  Alex and I discussed on creating an abstraction layer to generalize both.

After considering this, I faced the question, 'is an abstraction layer required?'  I think having it or not is not an important problem because we have a frontend which lets users do not care about it.

So I propose arranging packages and classes like this:

org.apache.seda.stages.input
* BindPoint (formely ListenerConfig)
* AcceptionMonitor (formerly ListenerManagerMonitor)
* ReadMonitor (formerly InputManageMonitor)

org.apache.seda.stages.input.tcp
* TcpBindPoint

org.apache.seda.stages.input.tcp
* TcpAcceptor (formerly ListenerManager)
  has an AcceptionMonitor
* TcpReader (formerly InputManager)
  has a Readmonitor

org.apache.seda.stages.input.udp
* UdpReader
  has both AcceptionMonitor and ReadMonitor

Any critics and ideas are welcome!
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/DIRSEDA-10?page=comments#action_53982

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/DIRSEDA-10

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DIRSEDA-10
    Summary: UDP Imeplementation
       Type: Task

     Status: Open
   Priority: Major

    Project: Seda Framework

   Assignee: Alex Karasulu
   Reporter: Trustin Lee

    Created: Mon, 20 Sep 2004 9:53 PM
    Updated: Tue, 12 Oct 2004 11:43 PM

Description:
SEDA framework currently supports TCP/IP only.  Supporting UDP is the primary concern to make it widely usable.  But because of its essential difference with UDP, we have to approach carefully.

Datagram channels does not have notion of connect/disconnect.  DatagramChannel.validOps() does not include OP_ACCEPT, so UDPListenerManager and UDPInputManager should be incorporated, and it is slightly different from current routing process of SEDA.  This difference must be handled smoothly to resolve this issue.

Because there is no explicit connection/disconnection notification, the policy how we should maintin and expire ClientKeys.  Simplistic implementation will have an timeout-based expiration mechanism.  As an alternative, SEDA can give up managing the sessions of UDP events although I'm not sure it is possible.

Any ideas?




---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (DIRSEDA-10) UDP Imeplementation

Posted by ji...@apache.org.
The following comment has been added to this issue:

     Author: Trustin Lee
    Created: Tue, 12 Oct 2004 11:44 PM
       Body:
I forgot to add UdpBindPoint in org.apache.seda.stages.input.udp. :)
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/DIRSEDA-10?page=comments#action_53983

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/DIRSEDA-10

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DIRSEDA-10
    Summary: UDP Imeplementation
       Type: Task

     Status: Open
   Priority: Major

    Project: Seda Framework

   Assignee: Alex Karasulu
   Reporter: Trustin Lee

    Created: Mon, 20 Sep 2004 9:53 PM
    Updated: Tue, 12 Oct 2004 11:44 PM

Description:
SEDA framework currently supports TCP/IP only.  Supporting UDP is the primary concern to make it widely usable.  But because of its essential difference with UDP, we have to approach carefully.

Datagram channels does not have notion of connect/disconnect.  DatagramChannel.validOps() does not include OP_ACCEPT, so UDPListenerManager and UDPInputManager should be incorporated, and it is slightly different from current routing process of SEDA.  This difference must be handled smoothly to resolve this issue.

Because there is no explicit connection/disconnection notification, the policy how we should maintin and expire ClientKeys.  Simplistic implementation will have an timeout-based expiration mechanism.  As an alternative, SEDA can give up managing the sessions of UDP events although I'm not sure it is possible.

Any ideas?




---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (DIRSEDA-10) UDP Imeplementation

Posted by ji...@apache.org.
The following comment has been added to this issue:

     Author: Alex Karasulu
    Created: Tue, 21 Sep 2004 8:10 AM
       Body:
Good points! I knew we would hit a wall here since ClientKey is for state management and TCP is stateful.  UDP is stateless so it was a matter of time.  Perhaps we should do an IRC session and then come back and update this JIRA.  WDYT?  I'll be online tonight really late to talk.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/DIRSEDA-10?page=comments#action_53281

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/DIRSEDA-10

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DIRSEDA-10
    Summary: UDP Imeplementation
       Type: Task

     Status: Open
   Priority: Major

    Project: Seda Framework

   Assignee: Alex Karasulu
   Reporter: Trustin Lee

    Created: Mon, 20 Sep 2004 9:53 PM
    Updated: Tue, 21 Sep 2004 8:10 AM

Description:
SEDA framework currently supports TCP/IP only.  Supporting UDP is the primary concern to make it widely usable.  But because of its essential difference with UDP, we have to approach carefully.

Datagram channels does not have notion of connect/disconnect.  DatagramChannel.validOps() does not include OP_ACCEPT, so UDPListenerManager and UDPInputManager should be incorporated, and it is slightly different from current routing process of SEDA.  This difference must be handled smoothly to resolve this issue.

Because there is no explicit connection/disconnection notification, the policy how we should maintin and expire ClientKeys.  Simplistic implementation will have an timeout-based expiration mechanism.  As an alternative, SEDA can give up managing the sessions of UDP events although I'm not sure it is possible.

Any ideas?




---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Closed: (DIRSEDA-10) UDP Imeplementation

Posted by ji...@apache.org.
Message:

   The following issue has been closed.

   Resolver: Trustin Lee
       Date: Sat, 23 Oct 2004 8:59 PM

Implementation is basically done, I'll test this fixing DIRSEDA-4
---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/DIRSEDA-10

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DIRSEDA-10
    Summary: UDP Imeplementation
       Type: Task

     Status: Closed
   Priority: Major
 Resolution: FIXED

    Project: Seda Framework

   Assignee: Trustin Lee
   Reporter: Trustin Lee

    Created: Mon, 20 Sep 2004 9:53 PM
    Updated: Sat, 23 Oct 2004 8:59 PM

Description:
SEDA framework currently supports TCP/IP only.  Supporting UDP is the primary concern to make it widely usable.  But because of its essential difference with UDP, we have to approach carefully.

Datagram channels does not have notion of connect/disconnect.  DatagramChannel.validOps() does not include OP_ACCEPT, so UDPListenerManager and UDPInputManager should be incorporated, and it is slightly different from current routing process of SEDA.  This difference must be handled smoothly to resolve this issue.

Because there is no explicit connection/disconnection notification, the policy how we should maintin and expire ClientKeys.  Simplistic implementation will have an timeout-based expiration mechanism.  As an alternative, SEDA can give up managing the sessions of UDP events although I'm not sure it is possible.

Any ideas?




---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (DIRSEDA-10) UDP Imeplementation

Posted by ji...@apache.org.
The following comment has been added to this issue:

     Author: Trustin Lee
    Created: Sat, 23 Oct 2004 8:58 PM
       Body:
UDP implementation is bsically done, but we need some test cases for this.  I'll do this resolving DIRSEDA-4.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/DIRSEDA-10?page=comments#action_54537

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/DIRSEDA-10

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DIRSEDA-10
    Summary: UDP Imeplementation
       Type: Task

     Status: Open
   Priority: Major

    Project: Seda Framework

   Assignee: Trustin Lee
   Reporter: Trustin Lee

    Created: Mon, 20 Sep 2004 9:53 PM
    Updated: Sat, 23 Oct 2004 8:58 PM

Description:
SEDA framework currently supports TCP/IP only.  Supporting UDP is the primary concern to make it widely usable.  But because of its essential difference with UDP, we have to approach carefully.

Datagram channels does not have notion of connect/disconnect.  DatagramChannel.validOps() does not include OP_ACCEPT, so UDPListenerManager and UDPInputManager should be incorporated, and it is slightly different from current routing process of SEDA.  This difference must be handled smoothly to resolve this issue.

Because there is no explicit connection/disconnection notification, the policy how we should maintin and expire ClientKeys.  Simplistic implementation will have an timeout-based expiration mechanism.  As an alternative, SEDA can give up managing the sessions of UDP events although I'm not sure it is possible.

Any ideas?




---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (DIRSEDA-10) UDP Imeplementation

Posted by ji...@apache.org.
The following comment has been added to this issue:

     Author: Trustin Lee
    Created: Sat, 25 Sep 2004 10:48 PM
       Body:
I'm implementing UDPListenerManager and I encountered a few problems:

1. ClientKey.<init> pre-generates clientId as a string and it can cause performance degradation for UDP impl because ClientKey is instantiated everytime UDPListenerManager receives a datagram packet.  The solution could be:

- making clientId as an integer
- providing ClientKeyCache with LRU maps (I prefer this)

2. ClientKey accepts only Socket in the constructor, and this cannot be applicable to DatagramChannels, so it should be changed to accept Channels (possibly SelectableChannel).  But we also have to consider intra-VM pipe which does not have any NIO channels.

So it is supposed for us to revamp ClientKey now. :)  I'll think about this and add more comments to this issue.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/DIRSEDA-10?page=comments#action_53414

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/DIRSEDA-10

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DIRSEDA-10
    Summary: UDP Imeplementation
       Type: Task

     Status: Open
   Priority: Major

    Project: Seda Framework

   Assignee: Alex Karasulu
   Reporter: Trustin Lee

    Created: Mon, 20 Sep 2004 9:53 PM
    Updated: Sat, 25 Sep 2004 10:48 PM

Description:
SEDA framework currently supports TCP/IP only.  Supporting UDP is the primary concern to make it widely usable.  But because of its essential difference with UDP, we have to approach carefully.

Datagram channels does not have notion of connect/disconnect.  DatagramChannel.validOps() does not include OP_ACCEPT, so UDPListenerManager and UDPInputManager should be incorporated, and it is slightly different from current routing process of SEDA.  This difference must be handled smoothly to resolve this issue.

Because there is no explicit connection/disconnection notification, the policy how we should maintin and expire ClientKeys.  Simplistic implementation will have an timeout-based expiration mechanism.  As an alternative, SEDA can give up managing the sessions of UDP events although I'm not sure it is possible.

Any ideas?




---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (DIRSEDA-10) UDP Imeplementation

Posted by ji...@apache.org.
Message:

   The following issue has been re-assigned.

   Assignee: Trustin Lee (mailto:trustin@gmail.com)
---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/DIRSEDA-10

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DIRSEDA-10
    Summary: UDP Imeplementation
       Type: Task

     Status: Open
   Priority: Major

    Project: Seda Framework

   Assignee: Trustin Lee
   Reporter: Trustin Lee

    Created: Mon, 20 Sep 2004 9:53 PM
    Updated: Sat, 23 Oct 2004 12:51 PM

Description:
SEDA framework currently supports TCP/IP only.  Supporting UDP is the primary concern to make it widely usable.  But because of its essential difference with UDP, we have to approach carefully.

Datagram channels does not have notion of connect/disconnect.  DatagramChannel.validOps() does not include OP_ACCEPT, so UDPListenerManager and UDPInputManager should be incorporated, and it is slightly different from current routing process of SEDA.  This difference must be handled smoothly to resolve this issue.

Because there is no explicit connection/disconnection notification, the policy how we should maintin and expire ClientKeys.  Simplistic implementation will have an timeout-based expiration mechanism.  As an alternative, SEDA can give up managing the sessions of UDP events although I'm not sure it is possible.

Any ideas?




---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira