directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Trustin Lee <trus...@gmail.com>
Subject Re: [mina] How to delay reading and writing when using Mina
Date Thu, 09 Jun 2005 07:29:19 GMT
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/

Mime
View raw message