Question about IohandlerAdapter

2013-06-26 Thread Simo Chiegang, Boris Arthur RD-P8.1
Hi guys,

my question: the method messageReceived(IoSession, Object) in the class 
IoHandlerAdapter executes parallel or sequenciel?

I have a client, who send me a lot of messages and the server processes the 
message in different way. When the server got a message that take a lot of time 
to process, the method messageReceived(IoSession, Object) will  be block? Or 
the handler received parallel the next message?

Best regards
Boris Simo


Confidentiality note:
The information in this email and any attachment may contain confidential and 
proprietary information of Heidelberger Druckmaschinen AG and/or its affiliates 
and may be privileged or otherwise protected from disclosure. If you are not 
the intended recipient, you are hereby notified that any review, reliance or 
distribution by others or forwarding without express permission is strictly 
prohibited and may cause liability. In case you have received this message due 
to an error in transmission, we kindly ask you to notify the sender immediately 
and to delete this email and any attachment from your system.


AW: Question about IohandlerAdapter

2013-06-26 Thread Simo Chiegang, Boris Arthur RD-P8.1
Thanks a lot for the explanation. I better understand now and I can better 
handle my processes.

Best Regards
Boris Simo


-Ursprüngliche Nachricht-
Von: Emmanuel Lécharny [mailto:elecha...@gmail.com]
Gesendet: Mittwoch, 26. Juni 2013 10:35
An: users@mina.apache.org
Betreff: Re: Question about IohandlerAdapter

Le 6/26/13 10:09 AM, Simo Chiegang, Boris Arthur RD-P8.1 a écrit :
 Hi guys,

 my question: the method messageReceived(IoSession, Object) in the class 
 IoHandlerAdapter executes parallel or sequenciel?

Depends.

1) You have many clients (ie, many sessions) the server will process as many 
messageReceived() as it has IoProcessor.
The number of IoProcessor is configurable, and default to number of Core
+1. On a Cure 2 DUO, you will have at least 3 IOProcessor, unless you
change this number when you created the Accessor.

2) You have one client, which sends many requests

2-a) You have no ExecutorFilter in the chain In this case, the handler will 
process ever message sequentially. If it takes a while to process a message, 
all the other will wait.

2-b) You have an ExecurotFilter in the chain This time, each incoming message 
will be processed by a separate threads. You will have to take care of the 
shared resources for this session.


--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com


Confidentiality note:
The information in this email and any attachment may contain confidential and 
proprietary information of Heidelberger Druckmaschinen AG and/or its affiliates 
and may be privileged or otherwise protected from disclosure. If you are not 
the intended recipient, you are hereby notified that any review, reliance or 
distribution by others or forwarding without express permission is strictly 
prohibited and may cause liability. In case you have received this message due 
to an error in transmission, we kindly ask you to notify the sender immediately 
and to delete this email and any attachment from your system.


Re: Question about IohandlerAdapter

2013-06-26 Thread William Jing
Terrific


发自我的 iPhone

在 2013-6-26,16:35,Emmanuel Lécharny elecha...@gmail.com 写道:

 Le 6/26/13 10:09 AM, Simo Chiegang, Boris Arthur RD-P8.1 a écrit :
 Hi guys,
 
 my question: the method messageReceived(IoSession, Object) in the class 
 IoHandlerAdapter executes parallel or sequenciel?
 
 Depends.
 
 1) You have many clients (ie, many sessions)
 the server will process as many messageReceived() as it has IoProcessor.
 The number of IoProcessor is configurable, and default to number of Core
 +1. On a Cure 2 DUO, you will have at least 3 IOProcessor, unless you
 change this number when you created the Accessor.
 
 2) You have one client, which sends many requests
 
 2-a) You have no ExecutorFilter in the chain
 In this case, the handler will process ever message sequentially. If it
 takes a while to process a message, all the other will wait.
 
 2-b) You have an ExecurotFilter in the chain
 This time, each incoming message will be processed by a separate
 threads. You will have to take care of the shared resources for this
 session.
 
 
 -- 
 Regards,
 Cordialement,
 Emmanuel Lécharny
 www.iktek.com