Thanks for the idea, sounds good. I did something a bit different. I used the 
same pattern as the demuxingIoFilter by implementing a strategy factory 
IoFilter which delegates processing to the appropriate "IoFilter" (a custom 
class with a method called handle(message) in my case! :.) according to the 
received message type. So far, it works pretty well. I guess that instead of 
delegating the processing to a single custom filter according to type, I could 
delegate to a chain of filters according to type! Maybe as a further 
enhancement...

Thanks again,


Simon 
-----Original Message-----
From: "이희승 (Trustin Lee) [mailto:[EMAIL PROTECTED] 
Sent: April-20-08 1:27 AM
To: [email protected]
Subject: Re: DemuxingIoHandler and IoHandlerChain

Hi Simon,

I am sorry for being late.  Was distracted by many things. :)

For now we don't provide such a feature due to its implementation complexity 
and possible confusion.

What do you think about inserting four custom filters?

msg - transform a1 - transform b1 - transform a2 - transform b2 - transform 3

You could program the transforming filters to ignore messages which is not 
relevant to it.  For example, 'transform a1' and 'transform a2'
could ignore the message type B and just forward them to the next filter.  How 
does it sound?

HTH,

Simon Trudeau wrote:
> I am trying to forward a message to a specific filter or handler 
> (witch ever, I don't really mind at the moment) according to the message type.
> How should I be doing that using mina. Currently I am using a 
> DemuxingProtocolCodecFactory to decode my received messages and it 
> does the job perfectly. I would like to add a second level of 
> processing (transform my messages again) according to the message type 
> which would output a common message result type, which would then be 
> processed. I know my explanations are not clear :.) My first tought 
> would have been to use a DemuxingIoHandler and an IoHandlerChain but I 
> don't know how to hook a DemuxingIoHandler to an IoHandlerChain since 
> the IoHandlerChain doesn't take IoHandler but IoHandlerCommands. Would 
> any of you have an idea?
>  
> Thanks,
>  
> Simon
>  
> Here's a diagram of my situation:
>  
>         
>         /transform b1 - transform b2\
> msg -                                         - transform 3
>         \transform a1 - transform a2/
> 

--
Trustin Lee - Principal Software Engineer, JBoss, Red Hat
--
what we call human nature is actually human habit
--
http://gleamynode.net/

Reply via email to