Hi Brad,

2005/6/9, Brad Baker bbakerman@gmail.com:
<snip/>
 
MINA doesn't have any traffic control support for now, so you can't stop MINA from reading from socket and firing messageReceived event.  It is a known issue and we are going to fix it in 0.9 stream.
 
Assumptions:
=============
*  The use of 2 ThreadPoolFilters (the IO one and the Protocol one) will enabled a level of "asynchronisity" to allow for "asynch" servicing of requests.
 
I didn't get it what you mean.  Could you explain more?

* The "MINA" process can "listen" on more than 1 port at a time (one for client request communication and one for "MINA process to outside process" communication)
 
Yes, it can.

* Arbitary "periods" can occur between accepting/reading and writing to the Session objects.
 
No, as I told you above.

Second Mini Design
================
* The MINA process could do the same sort thing as above but acting as a client instead of a server.  eg the "outside prcocess" could ask for a client connection to be made to some other system.  The MINA process would "call out" as a client and then "store" the outbound Session somewhere.
 
MINA provides 'Connectors' which makes it possible to be used for developing client applications.

* Multiple outbound "client calls" could be made with one or more "selector" threads looking for potential replies, never waiting long for any given reply.  if it gets a reply message, it would read the data and store it.
 
Yes, you can.  And you can specify timeout using Session.setIdleTime().
 

* The "outside process" would periodically ask for "replies" (using a magic key assigned earlier) in which case any replies found with that key would be returned.
 
You can use java.util.Timer or Quartz to send periodic messages, and you can also use idleTime feature instead though it is not that accurate.

Assumptions:
=============
* MINA can do client style connections as well as server style connections
 
True.

* MINA code can have multiple outstanding "client connections" with a "selector" thread that can "tell" when they have become readable?
 
Yes, of course. :)

* Multiple SocketConnectors would be the way to do this?
 
You can do the same thing with single SocketConnector. :)

Trustin
--
what we call human nature is actually human habit
--
http://gleamynode.net/