summaryrefslogtreecommitdiff
path: root/examples/Logger/Acceptor-server/server_loggerd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Logger/Acceptor-server/server_loggerd.cpp')
-rw-r--r--examples/Logger/Acceptor-server/server_loggerd.cpp43
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;