You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by robert burrell donkin <ro...@gmail.com> on 2007/01/24 23:58:10 UTC

MINA and complex (SEDA) scheduling

it's always great to discover that someone's already thought through
and coded a design that was i just feeling towards :-)

my problem is that IMAP is a nasty protocol. to do IMAP well, i need
complex scheduling (integrating messages from other sessions and
protocols and splitting into mailboxes) to control which messages can
execute concurrently and which must be executed in serial.

i was wondering whether MINA supports this out of the box or (if not)
how to hook MINA into complex scheduling.

what's the best approach...?

- robert

Re: MINA and complex (SEDA) scheduling

Posted by Trustin Lee <tr...@gmail.com>.
Hello Robert,

On 1/25/07, robert burrell donkin <ro...@gmail.com> wrote:
>
> it's always great to discover that someone's already thought through
> and coded a design that was i just feeling towards :-)


:)  We always welcome your feedback.  Please don't hesitate to tell us when
you found something weird in MINA.

my problem is that IMAP is a nasty protocol. to do IMAP well, i need
> complex scheduling (integrating messages from other sessions and
> protocols and splitting into mailboxes) to control which messages can
> execute concurrently and which must be executed in serial.


I agree.

i was wondering whether MINA supports this out of the box or (if not)
> how to hook MINA into complex scheduling.


I can't tell you much about that because I don't know how complicated IMAP
is.  About SEDA, you can implement SEDA fairly easily using ExecutorFilter
which adds a thread pool to the connection.  You can add multiple thread
pools with your favorite Executor implementation and implement each
processing phase as an IoFilter between each ExecutorFilter.  The executor
implementation could bounce the request if there are too many queued
requests.

HTH,
Trustin
-- 
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP key fingerprints:
* E167 E6AF E73A CBCE EE41  4A29 544D DE48 FE95 4E7E
* B693 628E 6047 4F8F CFA4  455E 1C62 A7DC 0255 ECA6