Cindy(http://cindy.sourceforge.net) is another project which do the same
thing like MINA. I think mina developers can benefit from it more or less.
Though it's less feature than MINA, I prefer its user-interface which
style is more simple than MINA.
1. The package arrangement of Cindy is more clear. I think MINA should
better put core Class in org.apache.mina rather than create another
org.apache.mina.common so that a beginer can not get lost in package layer.
Another reason is I hate long package name:)
2. The naming of class is better in Cindy, I think. Someone wants to
use some facility of MINA not only to realize a protocol, but
also implement service logic. Fore example, maybe some programmer wants to
use IoSession not only to hold an I/O state, but also for a business
session. But lots of class in mina starts with "IO" which make me feel
unnatural. Another example is IoFuture can also be use without I/O with the
same reason. and so on...
3. IoFuture.join() is use for waitting the result of a asynchronous request
in mina, while Cindy use Future.complete(). I think complete() is better,
because it illuminate the function on the view of user, while join()
illuminate the function on the view of thread.

I think MINA is useful to realize high-concurrency server in telecom or
online-game domain, if it's not limit itself in protocol realizing.
It's easy to achieve the goal if MINA add some feature
like stage/action/task after Handler to separate the long service logic in
lots of segments

Reply via email to