[Ace-users] [ace-users] ACE_Event_Handler :: handle_output() humble question

Pavel Shevaev pacha.shevaev at gmail.com
Sat Oct 27 04:03:27 CDT 2007


Hi folks! I'm new to this list and first of all I'd like to thank all
ACE developers for their hard work.

Probably this list is not a proper place for such question(please tell
me if so) but I had no idea where to ask.

In short, I have the ClientAcceptor and ClientHandler classes derived
from ACE_Event_Handler and registered in reactor: ClientAcceptor
accepts new connections, creates ClientHandler and registers it in
reactor too.

ClientHandler class has handle_input(..) overridden and in this method
it extracts message objects from the socket and puts them into the
input queue. This part works just fine ;)

Each ClientHandler also has its own output queue of messages. This
queue is filled by some application logic which processes input
messages and reacts to them.

The question is what is the best way to send notification to each
ClientHandler to send a portion of its output messages in the queue?
Is it ok to use handle_output() for very this purpose?

Am I right in my thinking this is the proper way to trigger each
ClientsHandler's handle_input(..)?

 for(;;)
 {
    reactor->handle_events();
    reactor->notify(NULL, ACE_Event_Handler::WRITE_MASK);
 }

Maybe this problem has a more elegant solution I'm not aware of,
please tell me ;)

Thanks in advance!

-- 
Best regards, Pavel



More information about the Ace-users mailing list