diff options
Diffstat (limited to 'examples/Logger/Acceptor-server/server_loggerd.cpp')
-rw-r--r-- | examples/Logger/Acceptor-server/server_loggerd.cpp | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/examples/Logger/Acceptor-server/server_loggerd.cpp b/examples/Logger/Acceptor-server/server_loggerd.cpp index e36866352c0..bc9e179878f 100644 --- a/examples/Logger/Acceptor-server/server_loggerd.cpp +++ b/examples/Logger/Acceptor-server/server_loggerd.cpp @@ -13,12 +13,23 @@ #include "ace/Singleton.h" #include "ace/streams.h" -#include "server_loggerd.h" - ACE_RCSID(Acceptor_server, server_loggerd, "$Id$") // ---------------------------------------- +class Options +{ + // = TITLE + // Keeps track of the options. +public: + void parse_args (int argc, char *argv[]); + u_short port (void); + +private: + u_short port_; + // Port number; +}; + // Return the port number. u_short @@ -63,6 +74,34 @@ QUIT_HANDLER; // ---------------------------------------- +class Logging_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> +// = TITLE +// Receive client message from the remote clients. +// +// = DESCRIPTION +// This class demonstrates how to receive messages from remote +// clients using the notification mechanisms in the +// <ACE_Reactor>. In addition, it also illustrates how to +// utilize the <ACE_Reactor> timer mechanisms, as well. +{ +public: + // = Initialization and termination methods. + Logging_Handler (void); + + // = Hooks for opening and closing handlers. + virtual int open (void *); + +protected: + // = Demultiplexing hooks. + virtual int handle_input (ACE_HANDLE); + virtual int handle_timeout (const ACE_Time_Value &tv, + const void *arg); + +private: + char peer_name_[MAXHOSTNAMELEN + 1]; + // Host we are connected to. +}; + // Specialize a Logging Acceptor. typedef ACE_Acceptor <Logging_Handler, ACE_SOCK_ACCEPTOR> Logging_Acceptor; |