* 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.
* 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)
* Arbitary "periods" can occur between accepting/reading and writing to the Session objects.
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.
* 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.
* 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.
* MINA can do client style connections as well as server style connections
* MINA code can have multiple outstanding "client connections" with a "selector" thread that can "tell" when they have become readable?
* Multiple SocketConnectors would be the way to do this?
what we call human nature is actually human habit