summaryrefslogtreecommitdiff
path: root/netsvcs/lib/Server_Logging_Handler.h
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1997-05-21 06:40:20 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1997-05-21 06:40:20 +0000
commit2e55e5de064f8f830f9500b3b763f4d835108eb5 (patch)
tree7fd742e4c8d992d2c1045cb34f62139883bfab9e /netsvcs/lib/Server_Logging_Handler.h
parenta9ed61b14817cf00e94082614b98422836664aa3 (diff)
downloadATCD-2e55e5de064f8f830f9500b3b763f4d835108eb5.tar.gz
*** empty log message ***
Diffstat (limited to 'netsvcs/lib/Server_Logging_Handler.h')
-rw-r--r--netsvcs/lib/Server_Logging_Handler.h176
1 files changed, 39 insertions, 137 deletions
diff --git a/netsvcs/lib/Server_Logging_Handler.h b/netsvcs/lib/Server_Logging_Handler.h
index 4f61190cdf8..91a473caf40 100644
--- a/netsvcs/lib/Server_Logging_Handler.h
+++ b/netsvcs/lib/Server_Logging_Handler.h
@@ -1,156 +1,58 @@
-/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ace
-//
-// = FILENAME
-// Server_Logging_Handler.h
-//
-// = AUTHOR
-// Doug Schmidt
-//
-// ============================================================================
-
#if !defined (ACE_SERVER_LOGGING_HANDLER_H)
#define ACE_SERVER_LOGGING_HANDLER_H
-#include "ace/Synch.h"
-#include "ace/TLI_Acceptor.h"
-#include "ace/SOCK_Acceptor.h"
-#include "ace/Acceptor.h"
-
-template <ACE_PEER_STREAM_1, class COUNTER, ACE_SYNCH_1>
-class ACE_Server_Logging_Handler : public ACE_Svc_Handler<ACE_PEER_STREAM_2, ACE_SYNCH_2>
-{
- // = TITLE
- // Product object created by an <ACE_Server_Logging_Acceptor>. An
- // <ACE_Server_Logging_Handler> receives, frames, and processes logging
- // records.
- //
- // = DESCRIPTION
- // Defines the classes that perform server logging daemon
- // functionality.
-public:
- ACE_Server_Logging_Handler (ACE_Thread_Manager * = 0);
- // Constructor.
-
- virtual int open (void * = 0);
- // Hook called by <Server_Logging_Acceptor> when connection is
- // established.
-
- virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE);
- // Process remote logging records.
-
-protected:
- int handle_logging_record (void);
- // Receive the logging record from a client.
-
-#if !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES)
- static COUNTER request_count_;
- // Count the number of logging records that arrive.
-#endif /* ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES */
-
- char host_name_[MAXHOSTNAMELEN + 1];
- // Name of the host we are connected to.
-
- ACE_SYNCH_MUTEX_T *lock_;
- // Reference to the lock used to serialize output.
-};
-
-#if !defined (ACE_HAS_TLI)
-#define LOGGING_PEER_ACCEPTOR ACE_SOCK_ACCEPTOR
-#define LOGGING_PEER_STREAM ACE_SOCK_STREAM
-#else /* use sockets */
-#define LOGGING_PEER_ACCEPTOR ACE_TLI_ACCEPTOR
-#define LOGGING_PEER_STREAM ACE_TLI_STREAM
-#endif /* ACE_HAS_TLI */
-
-typedef ACE_Server_Logging_Handler<LOGGING_PEER_STREAM, u_long, ACE_NULL_SYNCH>
- SERVER_LOGGING_HANDLER;
+#include "Log_Message_Receiver.h"
+#include "Server_Logging_Handler_T.h"
-class ACE_Server_Logging_Acceptor : public ACE_Strategy_Acceptor<SERVER_LOGGING_HANDLER, LOGGING_PEER_ACCEPTOR>
- // = TITLE
- // This class implements the ACE single-threaded logging service.
- //
- // = DESCRIPTION
- // This class contains the service-specific methods that can't
- // easily be factored into the <ACE_Strategy_Acceptor>.
-{
-public:
- virtual int init (int argc, char *argv[]);
- // Dynamic linking hook.
+// Type based log message receivers.
+typedef Static_Log_Message_Receiver<ACE_NULL_SYNCH> Null_Synch_Static_Receiver;
+typedef Static_Log_Message_Receiver<ACE_LOGGER_SYNCH> Synch_Static_Receiver;
-protected:
- int parse_args (int argc, char *argv[]);
- // Parse svc.conf arguments.
+typedef ACE_Server_Logging_Handler<Null_Synch_Static_Receiver> Null_Synch_Logging_Handler_Static_Receiver;
-private:
- ACE_Schedule_All_Reactive_Strategy<SERVER_LOGGING_HANDLER> scheduling_strategy_;
- // The scheduling strategy is designed for Reactive services.
-};
+typedef ACE_Server_Logging_Handler<Synch_Static_Receiver> Synch_Logging_Handler_Static_Receiver;
+typedef ACE_Thr_Server_Logging_Handler<Synch_Static_Receiver> Synch_Thr_Logging_Handler_Static_Receiver;
-#if !defined (ACE_HAS_THREADS)
-typedef u_long COUNTER;
-#define ACE_LOGGER_SYNCH ACE_NULL_SYNCH
-#else
-typedef ACE_Atomic_Op <ACE_Thread_Mutex, u_long> COUNTER;
-#define ACE_LOGGER_SYNCH ACE_MT_SYNCH
-#endif /* ACE_HAS_THREADS */
+typedef ACE_Server_Logging_Acceptor_T<Null_Synch_Logging_Handler_Static_Receiver,
+ Null_Synch_Static_Receiver,
+ ACE_Schedule_All_Reactive_Strategy<Null_Synch_Logging_Handler_Static_Receiver> >
+ Null_Synch_Logging_Handler_Static_Receiver_Acceptor;
-class ACE_Svc_Export ACE_Thr_Server_Logging_Handler : public ACE_Server_Logging_Handler<LOGGING_PEER_STREAM, COUNTER, ACE_LOGGER_SYNCH>
- // = TITLE
- // Product object created by a <ACE_Thr_Server_Logging_Acceptor>. An
- // <ACE_Thr_Server_Logging_Handler> receives, frames, and processes
- // logging records.
- //
- // = DESCRIPTION
- // Each client is handled in its own separate thread.
-{
-public:
- ACE_Thr_Server_Logging_Handler (ACE_Thread_Manager * = 0,
- ACE_SYNCH_MUTEX * = 0);
+typedef ACE_Server_Logging_Acceptor_T<Synch_Logging_Handler_Static_Receiver,
+ Synch_Static_Receiver,
+ ACE_Schedule_All_Reactive_Strategy<Synch_Logging_Handler_Static_Receiver> >
+ Synch_Logging_Handler_Static_Receiver_Acceptor;
- virtual int open (void * = 0);
- // Override activation definition in the ACE_Svc_Handler class (will
- // spawn a new thread if we've got threads).
+typedef ACE_Server_Logging_Acceptor_T<Synch_Thr_Logging_Handler_Static_Receiver,
+ Synch_Static_Receiver,
+ ACE_Schedule_All_Threaded_Strategy<Synch_Thr_Logging_Handler_Static_Receiver> >
+ Synch_Thr_Logging_Handler_Static_Receiver_Acceptor;
- virtual int svc (void);
- // Process remote logging records.
-};
+// Instance based log message receivers
+typedef Log_Message_Receiver<ACE_LOGGER_SYNCH> Synch_Receiver;
-class ACE_Thr_Server_Logging_Acceptor : public ACE_Strategy_Acceptor<ACE_Thr_Server_Logging_Handler, LOGGING_PEER_ACCEPTOR>
- // = TITLE
- // This class implements the ACE multi-threaded logging service.
- //
- // = DESCRIPTION
- // This class contains the service-specific methods that can't
- // easily be factored into the <ACE_Strategy_Acceptor>.
-{
-public:
- virtual int init (int argc, char *argv[]);
- // Dynamic linking hook.
+typedef ACE_Server_Logging_Handler<Synch_Receiver> Synch_Logging_Handler_Receiver;
+typedef ACE_Thr_Server_Logging_Handler<Synch_Receiver> Synch_Thr_Logging_Handler_Receiver;
+
+typedef ACE_Server_Logging_Acceptor_T<Synch_Logging_Handler_Receiver,
+ Synch_Receiver,
+ ACE_Schedule_All_Reactive_Strategy<Synch_Logging_Handler_Receiver> >
+ Synch_Logging_Handler_Receiver_Acceptor;
- int parse_args (int argc, char *argv[]);
- // Parse svc.conf arguments.
+typedef ACE_Server_Logging_Acceptor_T<Synch_Thr_Logging_Handler_Receiver,
+ Synch_Receiver,
+ ACE_Schedule_All_Threaded_Strategy<Synch_Thr_Logging_Handler_Receiver> >
+ Synch_Thr_Logging_Handler_Receiver_Acceptor;
- virtual int make_svc_handler (ACE_Thr_Server_Logging_Handler *&);
- // Factory that creates a new <SERVER_LOGGING_HANDLER>. We need to
- // specialize this since the <lock_> held by this Acceptor must be
- // passed into the <SERVER_LOGGING_HANDLER>.
+// Define external acceptors
+typedef Null_Synch_Logging_Handler_Static_Receiver_Acceptor ACE_Server_Logging_Acceptor;
+typedef Synch_Thr_Logging_Handler_Static_Receiver_Acceptor ACE_Thr_Server_Logging_Acceptor;
-private:
- ACE_SYNCH_MUTEX lock_;
- // Lock used to serialize output by the various
- // <ACE_Server_Logging_Handler>'s.
+//typedef Synch_Logging_Handler_Receiver_Acceptor ACE_Server_Logging_Acceptor;
+//typedef Synch_Thr_Logging_Handler_Receiver_Acceptor ACE_Thr_Server_Logging_Acceptor;
- ACE_Schedule_All_Threaded_Strategy<ACE_Thr_Server_Logging_Handler> scheduling_strategy_;
- // The scheduling strategy is designed for multi-threaded services.
-};
ACE_SVC_FACTORY_DECLARE (ACE_Server_Logging_Acceptor)
ACE_SVC_FACTORY_DECLARE (ACE_Thr_Server_Logging_Acceptor)
-#endif /* ACE_SERVER_LOGGING_HANDLER_H */
+#endif