Apache Directory Project - [jira] Commented: (DIRMINA-120) Callbacks for IoFutures

This is Interesting: Free IT Magazines  
Home > Archive > Apache Directory Project > November 2005 > [jira] Commented: (DIRMINA-120) Callbacks for IoFutures





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author [jira] Commented: (DIRMINA-120) Callbacks for IoFutures
dave irving (JIRA)

2005-11-12, 7:45 am

[ http://issues.apache.org/jira/brows...action_12357484 ]

dave irving commented on DIRMINA-120:
-------------------------------------

What I thought was something like this:

1) Add a "Callback" interface to IoFuture, and a "setCallback" method. This allows the result of any IoFuture to be obtained "callback style" (So I can do my write callbacks... yeah!!).

2) Add a "ConnectListener" interface to ConnectFuture. This is more specific, and has the methods you mention above. Add a "setConnectListener" method to ConnectFuture.

3) Internally, a private adapter class adapts ConnectListeners to Callbacks. So when you do a setConnectListener, it creates a CallbackAdapter and sets it as the futures callback.

This means that ConnectFuture can still have a more specific callback interface (succeeded / failed), but we can still get callbacks for any other type of future.

I'm going to attach the two associated files now....

WDYT?

> Callbacks for IoFutures
> -----------------------
>
> Key: DIRMINA-120
> URL: http://issues.apache.org/jira/browse/DIRMINA-120
> Project: Directory MINA
> Type: Improvement
> Reporter: Trustin Lee
> Assignee: Trustin Lee
> Fix For: 0.9


>
> IoFuture provides only blocking-way ('join' method) for user to find out the result of an I/O request. It would be great if users can specify a callback:
> ConnectFuture future = connector.connect(...);
> future.setCallback( new ConnectFuture.Callback() {
> public void connectionEstablished( IoSession session ) {
> }
> public void connectionFailed( Throwable cause ) {
> }
> } );
> There can be a race condition if the connection process ends before a user calls setCallback() method, but we can resolve this carefully so users don't notice any issue.


--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secur...nistrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com