I still can't configure out this issue. Anyone can help me? Thanks a lot.

2007/4/27, mat <[EMAIL PROTECTED]>:

Actually I did the same way by following mina SumUp example. If the server
is used for different protocol(single protocol), it is very portable and I
only need to figure the setup file to use the protocol on the fly. However,
my GW has multiple protocols. I can't figure out how to implement my decoder
classes since in FirstMessageDecoder I don't know what type protocol it is
unless I decode the head of my message.


2007/4/26, Roman Magarshak <[EMAIL PROTECTED]>:
>
> Not quite.
> main:
> IoAcceptor acceptor = new SocketAcceptor();
> SocketAcceptorConfig cfg = new SocketAcceptorConfig();
> DemuxingProtocolCodecFactory dpcf=new DemuxingProtocolCodecFactory();
> dpcf.register(FirstMessageEncoder.class);
> dpcf.register(SecondMessageEncoder.class);
> cfg.getFilterChain().addLast("codec",new ProtocolCodecFilter( dpcf) );
>
> the Demuxing is done by by MINA
>
>
>
> On Thu, 2007-04-26 at 00:44 +0800, mat wrote:
> > OK. Let me give you a little bit more details and see if you can help
> me
> > out.
> > I had a GW server which have to encode and decode 2 differents
> > protocols(listening on one port). Now I implemented a protocol codec
> filter
> > to encode and decode extends AbstractMessageDecoder. However, in
> decodeBody
> > and encodeBody functions. I still HAVE to use IF ELSE to judge which
> > protocols according to heads of my protocols. I really can't figure
> out how
> > WITHOUT doing this.
> >
> >
> > 2007/4/25, Yogs <[EMAIL PROTECTED] >:
> > >
> > >
> > > Yes Trustin is right, I am talking about
> DemuxingProtocolCodecFactory
> > >
> > > You can pass an extra byte for message type and create a message
> object,
> > > decoder, encoder,handler per message type.
> > > This will completely remove IF ELSE or SWITCH in your codec.
> > >
> > > It creates a lot of classes but its better than IF ELSE or SWITCH.
> This
> > > makes code maintainable. because in my blocking server
> implementation, i
> > > had
> > > a dedicated serving thread on server and in its run method I had a
> SWITCH
> > > with multiple CASES. And the run method is now 2K lines of code, and
> I
> > > find
> > > it difficult to maintain and difficult to add new message type in
> the
> > > system.
> > >
> > > So now in my non blocking implementation using MINA, I have Massage
> > > Object,
> > > Message Encoder, Message Decoder, and Message Handler per message
> type. So
> > > I
> > > have added total 60 new classes, for my 15 different types of
> messages.
> > >
> > > Does this make sense Trustin ? Is this the correct way to use MINA's
>
> > > DemuxingProtocolCodecFactory?
> > >
> > > Thanks in Advance
> > >
> > > Regards,
> > > Yogs
> > >
> > >
> > >
> > >
> > > mat-29 wrote:
> > > >
> > > > In my case, i have to use IF ELSE to judge which protocol, right?
> > > >
> > > > 2007/4/25, Trustin Lee <[EMAIL PROTECTED]>:
> > > >>
> > > >> On 4/25/07, mat <[EMAIL PROTECTED]> wrote:
> > > >> > Really? However my server is listening on one port. How
> > > messageDecoder
> > > >> class
> > > >> > knows different type of messages? Can you explain? Thanks.
> > > >>
> > > >> It seems like Yogs is talking about creating multiple
> MessageDecoder
> > > >> classes?  You can register multiple MessageDecoders and
> > > >> MessageEncoders to DemuxingProtocolCodecFactory.
> > > >>
> > > >> HTH,
> > > >> Trustin
> > > >> --
> > > >> what we call human nature is actually human habit
> > > >> --
> > > >> http://gleamynode.net/
> > > >> --
> > > >> PGP Key ID: 0x0255ECA6
> > > >>
> > > >
> > > >
> > >
> > > --
> > > View this message in context:
> > >
> 
http://www.nabble.com/How-can-I-configure-multiple-decoders-in-MINA--tf3561571.html#a10183671
> > > Sent from the mina dev mailing list archive at 
Nabble.com<http://nabble.com/>
> .
> > >
> > >
> --
> Thank you in advance
>        Roman.
>
> 
***********************************************************************************
> This email message and any attachments thereto are intended only for use
> by the addressee(s) named above, and may contain legally privileged and/or
> confidential information. If the reader of this message is not the intended
> recipient, or the employee or agent responsible to deliver it to the
> intended recipient, you are hereby notified that any dissemination,
> distribution or copying of this communication is strictly prohibited. If you
> have received this communication in error, please immediately notify the
> [EMAIL PROTECTED] and destroy the original message.
>
> 
***********************************************************************************
>


Reply via email to