summaryrefslogtreecommitdiff
path: root/examples/C++NPv1
diff options
context:
space:
mode:
Diffstat (limited to 'examples/C++NPv1')
-rw-r--r--examples/C++NPv1/Iterative_Logging_Server.cpp17
-rw-r--r--examples/C++NPv1/Iterative_Logging_Server.dsp91
-rw-r--r--examples/C++NPv1/Iterative_Logging_Server.h62
-rw-r--r--examples/C++NPv1/Logging_Client.cpp150
-rw-r--r--examples/C++NPv1/Logging_Client.dsp71
-rw-r--r--examples/C++NPv1/Logging_Handler.cpp128
-rw-r--r--examples/C++NPv1/Logging_Handler.h53
-rw-r--r--examples/C++NPv1/Logging_Server.cpp72
-rw-r--r--examples/C++NPv1/Logging_Server.h42
-rw-r--r--examples/C++NPv1/Makefile416
-rw-r--r--examples/C++NPv1/Makefile.Iterative_Logging_Server38
-rw-r--r--examples/C++NPv1/Makefile.Logging_Client38
-rw-r--r--examples/C++NPv1/Makefile.Process_Per_Connection_Logging_Server40
-rw-r--r--examples/C++NPv1/Makefile.RT_Thread_Per_Connection_Logging_Server40
-rw-r--r--examples/C++NPv1/Makefile.Reactive_Logging_Server38
-rw-r--r--examples/C++NPv1/Makefile.Reactive_Logging_Server_Ex38
-rw-r--r--examples/C++NPv1/Makefile.Thread_Per_Connection_Logging_Server40
-rw-r--r--examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp178
-rw-r--r--examples/C++NPv1/Process_Per_Connection_Logging_Server.dsp91
-rw-r--r--examples/C++NPv1/Process_Per_Connection_Logging_Server.h53
-rw-r--r--examples/C++NPv1/Process_Per_Connection_Logging_Server.mak40
-rw-r--r--examples/C++NPv1/README73
-rw-r--r--examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp138
-rw-r--r--examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.dsp91
-rw-r--r--examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.h22
-rw-r--r--examples/C++NPv1/Reactive_Logging_Server.cpp17
-rw-r--r--examples/C++NPv1/Reactive_Logging_Server.dsp83
-rw-r--r--examples/C++NPv1/Reactive_Logging_Server.h78
-rw-r--r--examples/C++NPv1/Reactive_Logging_Server_Ex.cpp36
-rw-r--r--examples/C++NPv1/Reactive_Logging_Server_Ex.dsp91
-rw-r--r--examples/C++NPv1/Reactive_Logging_Server_Ex.h94
-rw-r--r--examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp99
-rw-r--r--examples/C++NPv1/Thread_Per_Connection_Logging_Server.dsp91
-rw-r--r--examples/C++NPv1/Thread_Per_Connection_Logging_Server.h49
-rw-r--r--examples/C++NPv1/examples.dsw101
35 files changed, 0 insertions, 2799 deletions
diff --git a/examples/C++NPv1/Iterative_Logging_Server.cpp b/examples/C++NPv1/Iterative_Logging_Server.cpp
deleted file mode 100644
index f4c28f08da7..00000000000
--- a/examples/C++NPv1/Iterative_Logging_Server.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/Log_Msg.h"
-#include "Iterative_Logging_Server.h"
-
-int main (int argc, char *argv[])
-{
- Iterative_Logging_Server server;
-
- if (server.run (argc, argv) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "server.run()"), 1);
- return 0;
-}
diff --git a/examples/C++NPv1/Iterative_Logging_Server.dsp b/examples/C++NPv1/Iterative_Logging_Server.dsp
deleted file mode 100644
index 84a78603b99..00000000000
--- a/examples/C++NPv1/Iterative_Logging_Server.dsp
+++ /dev/null
@@ -1,91 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Iterative_Logging_Server" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Iterative_Logging_Server - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Iterative_Logging_Server.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Iterative_Logging_Server.mak" CFG="Iterative_Logging_Server - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Iterative_Logging_Server - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Iterative_Logging_Server___Win32_Debug"
-# PROP BASE Intermediate_Dir "Iterative_Logging_Server___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Iterative_Logging_Server/Debug"
-# PROP Intermediate_Dir "Iterative_Logging_Server/Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../ace"
-# Begin Target
-
-# Name "Iterative_Logging_Server - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Iterative_Logging_Server.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Iterative_Logging_Server.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/C++NPv1/Iterative_Logging_Server.h b/examples/C++NPv1/Iterative_Logging_Server.h
deleted file mode 100644
index c58edc16ecb..00000000000
--- a/examples/C++NPv1/Iterative_Logging_Server.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#ifndef _ITERATIVE_LOGGING_SERVER_H
-#define _ITERATIVE_LOGGING_SERVER_H
-
-#include "ace/FILE_IO.h"
-#include "ace/INET_Addr.h"
-#include "ace/Log_Msg.h"
-
-#include "Logging_Handler.h"
-#include "Logging_Server.h"
-
-class ACE_SOCK_Stream;
-
-class Iterative_Logging_Server : public Logging_Server
-{
-protected:
- ACE_FILE_IO log_file_;
- Logging_Handler logging_handler_;
-
-public:
- Iterative_Logging_Server () : logging_handler_ (log_file_) {}
-
- virtual ~Iterative_Logging_Server () { log_file_.close (); }
-
- Logging_Handler &logging_handler () { return logging_handler_; }
-
-protected:
- // Override inherited open() from Logging_Server
- virtual int open (u_short port) {
- if (make_log_file (log_file_) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "make_log_file()"), -1);
- return Logging_Server::open (port);
- }
-
- virtual int handle_connections () {
- ACE_INET_Addr logging_peer_addr;
-
- if (acceptor ().accept (logging_handler_.peer (),
- &logging_peer_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "acceptor.accept()"), -1);
-
- ACE_DEBUG ((LM_DEBUG, "Accepted connection from %s\n",
- logging_peer_addr.get_host_name ()));
- return 0;
- }
-
- virtual int handle_data (ACE_SOCK_Stream *) {
- while (logging_handler_.log_record () != -1)
- continue;
-
- logging_handler_.close (); // Close the socket handle.
- return 0;
- }
-
-};
-
-#endif /* _ITERATIVE_LOGGING_SERVER_H */
diff --git a/examples/C++NPv1/Logging_Client.cpp b/examples/C++NPv1/Logging_Client.cpp
deleted file mode 100644
index d30946fe7ff..00000000000
--- a/examples/C++NPv1/Logging_Client.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/OS.h"
-#include "ace/CDR_Stream.h"
-#include "ace/INET_Addr.h"
-#include "ace/SOCK_Connector.h"
-#include "ace/SOCK_Stream.h"
-#include "ace/Log_Msg.h"
-#include "ace/Log_Record.h"
-#include "ace/streams.h"
-
-#if defined (ACE_WIN32) && (!defined (ACE_HAS_STANDARD_CPP_LIBRARY) || \
- (ACE_HAS_STANDARD_CPP_LIBRARY == 0))
-# include <stdio.h>
-#else
-# include <string>
-#endif
-
-int operator<< (ACE_OutputCDR &cdr, const ACE_Log_Record &log_record)
-{
- size_t msglen = log_record.msg_data_len ();
- // The ACE_Log_Record::msg_data () function is non-const, since it
- // returns a non-const pointer to internal class members. Since we
- // know that no members are modified here, we can safely const_cast
- // the log_record parameter without violating the interface
- // contract.
- ACE_Log_Record &nonconst_record = (ACE_const_cast (ACE_Log_Record&,
- log_record));
- // Insert each field from <log_record> into the output CDR stream.
- cdr << ACE_CDR::Long (log_record.type ());
- cdr << ACE_CDR::Long (log_record.pid ());
- cdr << ACE_CDR::Long (log_record.time_stamp ().sec ());
- cdr << ACE_CDR::Long (log_record.time_stamp ().usec ());
- cdr << ACE_CDR::ULong (msglen);
- cdr.write_char_array (nonconst_record.msg_data (), msglen);
- return cdr.good_bit ();
-}
-
-
-class Logging_Client {
-private:
- ACE_SOCK_Stream logging_peer_;
-
-public:
- ACE_SOCK_Stream &peer () { return logging_peer_; }
-
- int send (const ACE_Log_Record &log_record) {
- // Serialize the log record using a CDR stream, allocate
- // enough space for the complete <ACE_Log_Record>.
- const size_t max_payload_size =
- 4 // type()
- + 8 // timestamp
- + 4 // process id
- + 4 // data length
- + ACE_Log_Record::MAXLOGMSGLEN // data
- + ACE_CDR::MAX_ALIGNMENT; // padding;
-
- // Insert contents of <log_record> into payload stream.
- ACE_OutputCDR payload (max_payload_size);
- payload << log_record;
-
- // Get the number of bytes used by the CDR stream.
- ACE_CDR::ULong length = payload.total_length ();
-
- // Send a header so the receiver can determine the byte
- // order and size of the incoming CDR stream.
- ACE_OutputCDR header (ACE_CDR::MAX_ALIGNMENT + 8);
- header << ACE_OutputCDR::from_boolean (ACE_CDR_BYTE_ORDER);
-
- // Store the size of the payload that follows
- header << ACE_CDR::ULong (length);
- // Use an iovec to send both buffer and payload simultaneously.
- iovec iov[2];
- iov[0].iov_base = header.begin ()->rd_ptr ();
- iov[0].iov_len = 8;
- iov[1].iov_base = payload.begin ()->rd_ptr ();
- iov[1].iov_len = length;
-
- // Send header and payload efficiently using "gather-write".
- return logging_peer_.sendv_n (iov, 2);
- }
-
- ~Logging_Client () { logging_peer_.close (); }
-};
-
-
-int main (int argc, char *argv[])
-{
- u_short logger_port = argc > 1 ? atoi (argv[1]) : 0;
- const char *logger_host =
- argc > 2 ? argv[2] : ACE_DEFAULT_SERVER_HOST;
- int result;
-
- ACE_INET_Addr server_addr;
-
- if (logger_port != 0)
- result = server_addr.set (logger_port, logger_host);
- else
- result = server_addr.set ("ace_logger", logger_host);
- if (result == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "lookup %s, %p\n",
- logger_port == 0 ? "ace_logger" : argv[1],
- logger_host), 1);
-
- ACE_SOCK_Connector connector;
- Logging_Client logging_client;
-
- if (connector.connect (logging_client.peer (), server_addr) < 0)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "connect()"), 1);
-
-#if defined (ACE_WIN32) && (!defined (ACE_HAS_STANDARD_CPP_LIBRARY) || \
- (ACE_HAS_STANDARD_CPP_LIBRARY == 0))
- for (;;) {
- char user_input[ACE_Log_Record::MAXLOGMSGLEN];
- if (!gets (user_input))
- break;
-
- ACE_Time_Value now (ACE_OS::gettimeofday ());
- ACE_Log_Record log_record (LM_INFO, now, ACE_OS::getpid ());
- log_record.msg_data (user_input);
- if (logging_client.send (log_record) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n", "logging_client.send()"), 1);
- }
-#else
-
- // Limit the number of characters read on each record
- cin.width (ACE_Log_Record::MAXLOGMSGLEN);
-
- for (;;) {
- std::string user_input;
- std::getline (cin, user_input, '\n');
-
- if (!cin || cin.eof ()) break;
-
- ACE_Time_Value now (ACE_OS::gettimeofday ());
- ACE_Log_Record log_record (LM_INFO, now, ACE_OS::getpid ());
- log_record.msg_data (user_input.c_str ());
- if (logging_client.send (log_record) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n", "logging_client.send()"), 1);
- }
-#endif
-
- return 0; // Logging_Client destructor closes TCP connection.
-}
diff --git a/examples/C++NPv1/Logging_Client.dsp b/examples/C++NPv1/Logging_Client.dsp
deleted file mode 100644
index 9085115469c..00000000000
--- a/examples/C++NPv1/Logging_Client.dsp
+++ /dev/null
@@ -1,71 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Logging_Client" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Logging_Client - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Logging_Client.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Logging_Client.mak" CFG="Logging_Client - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Logging_Client - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Logging_Client/Debug"
-# PROP Intermediate_Dir "Logging_Client/Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../ace"
-# Begin Target
-
-# Name "Logging_Client - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Logging_Client.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/C++NPv1/Logging_Handler.cpp b/examples/C++NPv1/Logging_Handler.cpp
deleted file mode 100644
index ee5b25160ac..00000000000
--- a/examples/C++NPv1/Logging_Handler.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/ACE.h"
-#include "ace/CDR_Stream.h"
-#include "ace/INET_Addr.h"
-#include "ace/Log_Record.h"
-#include "ace/Message_Block.h"
-
-#include "Logging_Handler.h"
-
-
-int operator>> (ACE_InputCDR &cdr, ACE_Log_Record &log_record)
-{
- ACE_CDR::Long type;
- ACE_CDR::Long pid;
- ACE_CDR::Long sec, usec;
- ACE_CDR::ULong buffer_len;
-
- // Extract each field from input CDR stream into <log_record>.
- if ((cdr >> type) && (cdr >> pid) && (cdr >> sec) && (cdr >> usec)
- && (cdr >> buffer_len)) {
- ACE_TCHAR log_msg[ACE_Log_Record::MAXLOGMSGLEN+1];
- log_record.type (type);
- log_record.pid (pid);
- log_record.time_stamp (ACE_Time_Value (sec, usec));
- cdr.read_char_array (log_msg, buffer_len);
- log_msg[buffer_len] = '\0';
- log_record.msg_data (log_msg);
- }
- return cdr.good_bit ();
-}
-
-
-int Logging_Handler::recv_log_record (ACE_Message_Block *&mblk)
-{
- // Put <logging_peer>'s hostname in new message block.
- ACE_INET_Addr peer_addr;
- logging_peer_.get_remote_addr (peer_addr);
- mblk = new ACE_Message_Block (MAXHOSTNAMELEN + 1);
- peer_addr.get_host_name (mblk->wr_ptr (), MAXHOSTNAMELEN);
- mblk->wr_ptr (strlen (mblk->wr_ptr ()) + 1); // Go past name
-
- // Allocate a message block for the payload; initially at least
- // large enough to hold the header, but needs some room for
- // alignment.
- ACE_Message_Block *payload =
- new ACE_Message_Block (ACE_DEFAULT_CDR_BUFSIZE);
- // Align the Message Block for a CDR stream
- ACE_CDR::mb_align (payload);
- if (logging_peer_.recv_n (payload->wr_ptr (), 8) == 8) {
- payload->wr_ptr (8); // Reflect addition of 8 bytes
-
- // Create a CDR stream to parse the 8-byte header.
- ACE_InputCDR cdr (payload);
-
- // Extract the byte-order and use helper methods to
- // disambiguate octet, booleans, and chars.
- ACE_CDR::Boolean byte_order;
- cdr >> ACE_InputCDR::to_boolean (byte_order);
-
- // Set the byte-order on the stream...
- cdr.reset_byte_order (byte_order);
-
- // Extract the length
- ACE_CDR::ULong length;
- cdr >> length;
-
- // Ensure there's sufficient room for log record payload.
- ACE_CDR::grow (payload, 8 + ACE_CDR::MAX_ALIGNMENT + length);
-
- // Use <recv_n> to obtain the contents.
- if (logging_peer_.recv_n (payload->wr_ptr (), length) > 0) {
- payload->wr_ptr (length); // Reflect additional bytes
- // Chain the payload to mblk via the contination field.
- mblk->cont (payload);
- return length;
- }
- }
- // Error cases end up here, so we need to release the memory to
- // prevent a leak.
- payload->release ();
- payload = 0;
- mblk->release ();
- mblk = 0;
- return -1;
-}
-
-
-int Logging_Handler::write_log_record (ACE_Message_Block *mblk)
-{
- // Peer hostname is in the <mblk> and the log record data
- // is in its continuation.
- if (log_file_.send_n (mblk) == -1)
- return -1;
- if (ACE::debug ()) {
- // Build a CDR stream from the log record data.
- ACE_InputCDR cdr (mblk->cont ());
- ACE_CDR::Boolean byte_order;
- ACE_CDR::ULong length;
- // Extract the byte-order and length, ending up at the start
- // of the log record itself. Use the byte order to properly
- // set the CDR stream for extracting the contents.
- cdr >> ACE_InputCDR::to_boolean (byte_order);
- cdr.reset_byte_order (byte_order);
- cdr >> length;
- ACE_Log_Record log_record;
- cdr >> log_record; // Finally extract the <ACE_log_record>.
- log_record.print (mblk->rd_ptr (), 1, cerr);
- }
- return mblk->total_length ();
-}
-
-
-int Logging_Handler::log_record ()
-{
- ACE_Message_Block *mblk = 0;
- if (recv_log_record (mblk) == -1)
- return -1;
- else {
- int result = write_log_record (mblk);
- mblk->release (); // Free up the contents.
- return result == -1 ? -1 : 0;
- }
-}
diff --git a/examples/C++NPv1/Logging_Handler.h b/examples/C++NPv1/Logging_Handler.h
deleted file mode 100644
index 80de5ebac51..00000000000
--- a/examples/C++NPv1/Logging_Handler.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#ifndef _LOGGING_HANDLER_H
-#define _LOGGING_HANDLER_H
-
-#include "ace/FILE_IO.h"
-#include "ace/SOCK_Stream.h"
-
-class ACE_Message_Block;
-
-class Logging_Handler
-{
-protected:
- ACE_FILE_IO &log_file_; // Reference to a log file.
-
- ACE_SOCK_Stream logging_peer_; // Connected to the client.
-
-public:
- // Initialization and termination methods.
- Logging_Handler (ACE_FILE_IO &log_file): log_file_ (log_file) {}
- Logging_Handler (ACE_FILE_IO &log_file,
- ACE_HANDLE handle): log_file_ (log_file)
- { logging_peer_.set_handle (handle); }
- Logging_Handler (ACE_FILE_IO &log_file,
- const ACE_SOCK_Stream &logging_peer)
- : log_file_ (log_file), logging_peer_ (logging_peer) {}
- int close () { return logging_peer_.close (); }
-
- // Receive one log record from a connected client. Returns
- // length of record on success and <mblk> contains the
- // hostname, <mblk->cont()> contains the log record header
- // (the byte order and the length) and the data. Returns -1 on
- // failure or connection close.
- int recv_log_record (ACE_Message_Block *&log_record);
-
- // Write one record to the log file. The <mblk> contains the
- // hostname and the <mblk->cont> contains the log record.
- // Returns length of record written on success, or -1 on failure.
- int write_log_record (ACE_Message_Block *log_record);
-
- // Log one record by calling <recv_log_record> and
- // <write_log_record>. Returns 0 on success and -1 on failure.
- int log_record ();
-
- // Accessor method.
- ACE_SOCK_Stream &peer () { return logging_peer_; }
-};
-
-#endif /* _LOGGING_HANDLER_H */
diff --git a/examples/C++NPv1/Logging_Server.cpp b/examples/C++NPv1/Logging_Server.cpp
deleted file mode 100644
index ec4317a6d97..00000000000
--- a/examples/C++NPv1/Logging_Server.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/FILE_Addr.h"
-#include "ace/FILE_Connector.h"
-#include "ace/FILE_IO.h"
-#include "ace/INET_Addr.h"
-#include "ace/SOCK_Stream.h"
-#include "Logging_Server.h"
-
-int Logging_Server::run (int argc, char *argv[])
-{
- if (open (argc > 1 ? atoi (argv[1]) : 0) == -1)
- return -1;
-
- for (;;) {
- if (wait_for_multiple_events () == -1)
- return -1;
- if (handle_connections () == -1)
- return -1;
- if (handle_data () == -1)
- return -1;
- }
-
- return 0;
-}
-
-
-int Logging_Server::open (u_short logger_port)
-{
- ACE_INET_Addr server_addr;
- int result;
-
- if (logger_port != 0)
- result = server_addr.set (logger_port,
- (ACE_UINT32) INADDR_ANY);
- else
- result = server_addr.set ("ace_logger",
- (ACE_UINT32) INADDR_ANY);
- if (result == -1) return -1;
-
- // Start listening, enable reuse of listen address for quick restarts.
- return acceptor_.open (server_addr, 1);
-}
-
-
-int Logging_Server::make_log_file (ACE_FILE_IO &logging_file,
- ACE_SOCK_Stream *logging_peer)
-{
- char filename[MAXHOSTNAMELEN + sizeof (".log")];
-
- if (logging_peer != 0) { // Use client's hostname as log file name.
- ACE_INET_Addr logging_peer_addr;
- logging_peer->get_remote_addr (logging_peer_addr);
- logging_peer_addr.get_host_name (filename, MAXHOSTNAMELEN);
- strcat (filename, ".log");
- }
- else
- strcpy (filename, "logging_server.log");
-
- ACE_FILE_Connector connector;
- return connector.connect (logging_file,
- ACE_FILE_Addr (filename),
- 0, // No timeout.
- ACE_Addr::sap_any, // Ignored.
- 0, // Don't try to reuse the addr.
- O_RDWR|O_CREAT|O_APPEND,
- ACE_DEFAULT_FILE_PERMS);
-}
diff --git a/examples/C++NPv1/Logging_Server.h b/examples/C++NPv1/Logging_Server.h
deleted file mode 100644
index 1fd03bac775..00000000000
--- a/examples/C++NPv1/Logging_Server.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#ifndef _LOGGING_SERVER_H
-#define _LOGGING_SERVER_H
-
-#include "ace/FILE_IO.h"
-#include "ace/SOCK_Acceptor.h"
-
-class ACE_SOCK_Stream;
-
-class Logging_Server
-{
-public:
- // Template Method that runs logging server's event loop.
- virtual int run (int argc, char *argv[]);
-
-protected:
- // The following four methods are ``hooks'' that can be
- // overridden by subclasses.
- virtual int open (u_short port = 0);
- virtual int wait_for_multiple_events () { return 0; }
- virtual int handle_connections () = 0;
- virtual int handle_data (ACE_SOCK_Stream * = 0) = 0;
-
- // The following helper method can be used by the hook methods.
- int make_log_file (ACE_FILE_IO &, ACE_SOCK_Stream * = 0);
-
- // Close the socket endpoint.
- virtual ~Logging_Server () { acceptor_.close (); }
-
- // Accessor.
- ACE_SOCK_Acceptor &acceptor () { return acceptor_; }
-
-private:
- ACE_SOCK_Acceptor acceptor_; // Socket acceptor endpoint.
-};
-
-#endif /* _LOGGING_SERVER_H */
diff --git a/examples/C++NPv1/Makefile b/examples/C++NPv1/Makefile
deleted file mode 100644
index 19357b76dea..00000000000
--- a/examples/C++NPv1/Makefile
+++ /dev/null
@@ -1,416 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the example programs in "C++ Network Programming,
-# Vol. 1, Resolving Complexity Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-MAKEFILE=Makefile
-
-MKLIST = Makefile.Iterative_Logging_Server \
- Makefile.Logging_Client \
- Makefile.Process_Per_Connection_Logging_Server \
- Makefile.Reactive_Logging_Server \
- Makefile.Reactive_Logging_Server_Ex \
- Makefile.RT_Thread_Per_Connection_Logging_Server \
- Makefile.Thread_Per_Connection_Logging_Server
-
-## Ensure that Makefiles in MKLIST are executed in sequence during a
-## parallel build because we share some files between multiple libraries.
-.NOTPARALLEL:
-
-## Makefile.Reactive_Logging_Server_Ex.mkfile is a dummy target which will cause
-## $(MAKE) -f Makefile.Reactive_Logging_Server_Ex to be invoked
-%.mkfile: %
- @echo $(MAKE) -f $< $(MKFILE_TARGET)
- @$(MAKE) -f $< $(MKFILE_TARGET)
-
-# This rule invokes make again with the list of .mkfile targets as a
-# parameter. For example, if the all target is being made, make is invoked
-# as follows:
-#
-# make -f Makefile MKFILE_TARGET=all Makefile.Reactive_Logging_Server_Ex
-
-all clean depend realclean:
-ifneq ($(MKLIST),)
- @echo $(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
- @$(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
-endif
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-.obj/Thread_Per_Connection_Logging_Server.o .obj/Thread_Per_Connection_Logging_Server.so .shobj/Thread_Per_Connection_Logging_Server.o .shobj/Thread_Per_Connection_Logging_Server.so: \
- Thread_Per_Connection_Logging_Server.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/Global_Macros.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- $(ACE_ROOT)/ace/FILE_IO.h \
- $(ACE_ROOT)/ace/FILE.h $(ACE_ROOT)/ace/IO_SAP.h \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/Time_Value.inl \
- $(ACE_ROOT)/ace/Default_Constants.h \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/IO_SAP.i \
- $(ACE_ROOT)/ace/FILE_Addr.h \
- $(ACE_ROOT)/ace/Addr.h $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/FILE_Addr.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/String_Base.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/String_Base_Const.h \
- $(ACE_ROOT)/ace/String_Base.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/String_Base.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Synch.h $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Malloc_Allocator.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.i \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Node.h $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/FILE.i \
- $(ACE_ROOT)/ace/FILE_IO.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Exit.h \
- $(ACE_ROOT)/ace/Thread_Control.h \
- $(ACE_ROOT)/ace/Thread_Control.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Framework_Component.h \
- $(ACE_ROOT)/ace/Framework_Component.inl \
- $(ACE_ROOT)/ace/Framework_Component_T.h \
- $(ACE_ROOT)/ace/Framework_Component_T.inl \
- $(ACE_ROOT)/ace/Framework_Component_T.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- Thread_Per_Connection_Logging_Server.h \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i Logging_Server.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i Logging_Handler.h
-
-.obj/Logging_Handler.o .obj/Logging_Handler.so .shobj/Logging_Handler.o .shobj/Logging_Handler.so: Logging_Handler.cpp $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/pre.h $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/Time_Value.inl \
- $(ACE_ROOT)/ace/Default_Constants.h \
- $(ACE_ROOT)/ace/Global_Macros.h \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/CDR_Stream.h \
- $(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/CDR_Base.inl \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/String_Base.h \
- $(ACE_ROOT)/ace/String_Base_Const.h \
- $(ACE_ROOT)/ace/String_Base.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/String_Base.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Synch.h $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Malloc_Allocator.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.i \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Node.h $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/CDR_Stream.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/Addr.h $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Record.i Logging_Handler.h \
- $(ACE_ROOT)/ace/FILE_IO.h \
- $(ACE_ROOT)/ace/FILE.h $(ACE_ROOT)/ace/IO_SAP.h \
- $(ACE_ROOT)/ace/IO_SAP.i \
- $(ACE_ROOT)/ace/FILE_Addr.h \
- $(ACE_ROOT)/ace/FILE_Addr.i \
- $(ACE_ROOT)/ace/FILE.i \
- $(ACE_ROOT)/ace/FILE_IO.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i
-
-.obj/Logging_Server.o .obj/Logging_Server.so .shobj/Logging_Server.o .shobj/Logging_Server.so: Logging_Server.cpp \
- $(ACE_ROOT)/ace/FILE_Addr.h \
- $(ACE_ROOT)/ace/pre.h $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/Time_Value.inl \
- $(ACE_ROOT)/ace/Default_Constants.h \
- $(ACE_ROOT)/ace/Global_Macros.h \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/FILE_Addr.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/String_Base.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/String_Base_Const.h \
- $(ACE_ROOT)/ace/String_Base.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/String_Base.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Synch.h $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Malloc_Allocator.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.i \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Node.h $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/FILE_Connector.h \
- $(ACE_ROOT)/ace/FILE_IO.h \
- $(ACE_ROOT)/ace/FILE.h $(ACE_ROOT)/ace/IO_SAP.h \
- $(ACE_ROOT)/ace/IO_SAP.i $(ACE_ROOT)/ace/FILE.i \
- $(ACE_ROOT)/ace/FILE_IO.i \
- $(ACE_ROOT)/ace/FILE_Connector.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i Logging_Server.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/C++NPv1/Makefile.Iterative_Logging_Server b/examples/C++NPv1/Makefile.Iterative_Logging_Server
deleted file mode 100644
index 357b92a31dd..00000000000
--- a/examples/C++NPv1/Makefile.Iterative_Logging_Server
+++ /dev/null
@@ -1,38 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the iterative logging server example program in
-# "C++ Network Programming, Vol. 1, Resolving Complexity
-# Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = Iterative_Logging_Server
-
-FILES = Iterative_Logging_Server Logging_Server Logging_Handler
-
-SRC = $(addsuffix .cpp,$(FILES))
-OBJ = $(addsuffix .o,$(FILES))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
diff --git a/examples/C++NPv1/Makefile.Logging_Client b/examples/C++NPv1/Makefile.Logging_Client
deleted file mode 100644
index 2f635114283..00000000000
--- a/examples/C++NPv1/Makefile.Logging_Client
+++ /dev/null
@@ -1,38 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the logging client example program in "C++
-# Network Programming, Vol. 1, Resolving Complexity
-# Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = Logging_Client
-
-FILES = Logging_Client
-
-SRC = $(addsuffix .cpp,$(FILES))
-OBJ = $(addsuffix .o,$(FILES))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
diff --git a/examples/C++NPv1/Makefile.Process_Per_Connection_Logging_Server b/examples/C++NPv1/Makefile.Process_Per_Connection_Logging_Server
deleted file mode 100644
index 9bacc6d5a09..00000000000
--- a/examples/C++NPv1/Makefile.Process_Per_Connection_Logging_Server
+++ /dev/null
@@ -1,40 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the Process-Per-Connection logging server example
-# program in "C++ Network Programming, Vol. 1, Resolving Complexity
-# Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = Process_Per_Connection_Logging_Server
-
-FILES = Process_Per_Connection_Logging_Server \
- Logging_Handler \
- Logging_Server
-
-SRC = $(addsuffix .cpp,$(FILES))
-OBJ = $(addsuffix .o,$(FILES))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
diff --git a/examples/C++NPv1/Makefile.RT_Thread_Per_Connection_Logging_Server b/examples/C++NPv1/Makefile.RT_Thread_Per_Connection_Logging_Server
deleted file mode 100644
index 86e064dcdc3..00000000000
--- a/examples/C++NPv1/Makefile.RT_Thread_Per_Connection_Logging_Server
+++ /dev/null
@@ -1,40 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the real-time Thread-Per-Connection logging server
-# example program in "C++ Network Programming, Vol. 1, Resolving
-# Complexity Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = RT_Thread_Per_Connection_Logging_Server
-
-FILES = RT_Thread_Per_Connection_Logging_Server \
- Logging_Handler \
- Logging_Server
-
-SRC = $(addsuffix .cpp,$(FILES))
-OBJ = $(addsuffix .o,$(FILES))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
diff --git a/examples/C++NPv1/Makefile.Reactive_Logging_Server b/examples/C++NPv1/Makefile.Reactive_Logging_Server
deleted file mode 100644
index 0a2f801e2d7..00000000000
--- a/examples/C++NPv1/Makefile.Reactive_Logging_Server
+++ /dev/null
@@ -1,38 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the reactive logging server example program in
-# "C++ Network Programming, Vol. 1, Resolving Complexity
-# Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = Reactive_Logging_Server
-
-FILES = Reactive_Logging_Server Logging_Server Logging_Handler
-
-SRC = $(addsuffix .cpp,$(FILES))
-OBJ = $(addsuffix .o,$(FILES))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
diff --git a/examples/C++NPv1/Makefile.Reactive_Logging_Server_Ex b/examples/C++NPv1/Makefile.Reactive_Logging_Server_Ex
deleted file mode 100644
index 3d4a845f13d..00000000000
--- a/examples/C++NPv1/Makefile.Reactive_Logging_Server_Ex
+++ /dev/null
@@ -1,38 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the extended reactive logging server example program
-# in "C++ Network Programming, Vol. 1, Resolving Complexity
-# Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = Reactive_Logging_Server_Ex
-
-FILES = Reactive_Logging_Server_Ex Logging_Server Logging_Handler
-
-SRC = $(addsuffix .cpp,$(FILES))
-OBJ = $(addsuffix .o,$(FILES))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
diff --git a/examples/C++NPv1/Makefile.Thread_Per_Connection_Logging_Server b/examples/C++NPv1/Makefile.Thread_Per_Connection_Logging_Server
deleted file mode 100644
index 919baa4c5bd..00000000000
--- a/examples/C++NPv1/Makefile.Thread_Per_Connection_Logging_Server
+++ /dev/null
@@ -1,40 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the Thread-Per-Connection logging server example
-# program in "C++ Network Programming, Vol. 1, Resolving Complexity
-# Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = Thread_Per_Connection_Logging_Server
-
-FILES = Thread_Per_Connection_Logging_Server \
- Logging_Handler \
- Logging_Server
-
-SRC = $(addsuffix .cpp,$(FILES))
-OBJ = $(addsuffix .o,$(FILES))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
diff --git a/examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp b/examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp
deleted file mode 100644
index 419aaf6c0b1..00000000000
--- a/examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/Log_Msg.h"
-#include "ace/Process_Manager.h"
-#include "ace/Signal.h"
-
-#include "Process_Per_Connection_Logging_Server.h"
-#include "Logging_Handler.h"
-
-#include <errno.h>
-
-namespace {
- extern "C" void sigterm_handler (int /* signum */) { /* No-op. */ }
-}
-
-
-Logging_Process::Logging_Process (const char *prog_name,
- const ACE_SOCK_Stream &logging_peer)
- : logging_peer_ (logging_peer.get_handle ())
-{
- strcpy (prog_name_, prog_name);
-}
-
-// Set up the process options here. If the decision to do a fork
-// a no exec on POSIX needs to be changed, this is the only place
-// that needs to change (omit the creation_flags() call).
-// We request that the logging client's socket handle be passed
-// to the child process. The internals of ACE_Process insure that
-// it gets put on the command line if starting a new program image,
-// and that if it needed to be duplicated to accomplish that (such
-// as on Win32) it will get properly closed.
-// The process_name () call sets the program to run and is also used
-// for the fork() call on POSIX.
-// avoid_zombies has a real affect only on POSIX; it's harmless on Win32.
-// Setting the NO_EXEC creation flag is what prevents the exec() on
-// POSIX. It has no affect on Win32.
-int
-Logging_Process::prepare (ACE_Process_Options &options)
-{
- if (options.pass_handle (logging_peer_.get_handle ()) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "pass_handle"), -1);
- options.command_line ("%s", prog_name_);
- options.avoid_zombies (1);
- options.creation_flags (ACE_Process_Options::NO_EXEC);
- return 0;
-}
-
-// Just delete the process object. If any handles needed to be
-// duplicated to be passed to the child, they'll get closed now
-// by the ACE_Process destructor.
-void
-Logging_Process::unmanage ()
-{
- delete this;
-}
-
-
-int
-Process_Per_Connection_Logging_Server::handle_connections ()
-{
- ACE_SOCK_Stream logging_peer;
-
- // Block until a client connects.
- if (acceptor ().accept (logging_peer) == -1)
- return -1;
-
- Logging_Process *logger =
- new Logging_Process (prog_name_, logging_peer);
- ACE_Process_Options options;
- pid_t pid;
- pid = ACE_Process_Manager::instance ()->spawn (logger,
- options);
- // If we came back with pid 0 from the spawn(), this is a
- // POSIX fork system - we are in the child process. Handle the
- // logging records, then exit.
- if (pid == 0) {
- acceptor().close ();
- handle_data (&logging_peer);
- delete logger;
- ACE_OS::exit (0);
- }
- logging_peer.close ();
- if (pid == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "spawn()"), -1);
-
- // See if there are any child processes that have
- // exited - reap their status and clean up handles held
- // open while the child executed.
- ACE_Process_Manager::instance ()->wait (0,
- ACE_Time_Value::zero);
- return 0;
-}
-
-int
-Process_Per_Connection_Logging_Server::handle_data (ACE_SOCK_Stream *client)
-{
- // Disable non-blocking mode.
- client->disable (ACE_NONBLOCK);
- ACE_FILE_IO log_file;
- make_log_file (log_file, client);
- Logging_Handler logging_handler (log_file, *client);
-
- while (logging_handler.log_record () != -1)
- continue;
-
- log_file.close ();
- return 0;
-}
-
-
-int
-Process_Per_Connection_Logging_Server::run (int argc, char *argv[])
-{
- strncpy (prog_name_, argv[0], MAXPATHLEN);
- prog_name_[MAXPATHLEN] = '\0'; // Ensure NUL-termination.
- // If there are 2 command line arguments after prog_name_, this
- // is a spawned worker process. Else run as the master.
- if (argc == 3)
- return run_worker (argc, argv); // Only on Win32.
- else
- return run_master (argc, argv);
-}
-
-int
-Process_Per_Connection_Logging_Server::run_master (int argc, char *argv[])
-{
- u_short logger_port = 0;
- if (argc == 2)
- logger_port = atoi (argv[1]);
- if (open (logger_port) == -1)
- return -1;
-
- for (;;)
- if (handle_connections () == -1)
- return -1;
-
- return 0;
-}
-
-int
-Process_Per_Connection_Logging_Server::run_worker (int, char *argv[])
-{
- int client_handle_i = atoi (argv[2]);
- // Some compilers don't like reinterpret_casting an int to an int, so
- // only do reinterpret_cast on Windows.
-#if defined (ACE_WIN32)
- ACE_HANDLE client_handle =
- ACE_reinterpret_cast (ACE_HANDLE, client_handle_i);
-#else
- ACE_HANDLE client_handle =
- ACE_static_cast (ACE_HANDLE, client_handle_i);
-#endif /* ACE_WIN32 */
- ACE_SOCK_Stream client (client_handle);
-
- handle_data (&client);
- client.close ();
- return 0;
-}
-
-
-int main (int argc, char *argv[])
-{
- // Register to receive the <SIGTERM> signal.
- ACE_Sig_Action sa ((ACE_SignalHandler)sigterm_handler,
- SIGTERM);
-
- Process_Per_Connection_Logging_Server server;
-
- if (server.run (argc, argv) == -1 && errno != EINTR)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "server.run()"), 1);
-
- // Barrier synchronization.
- return ACE_Process_Manager::instance ()->wait ();
-}
diff --git a/examples/C++NPv1/Process_Per_Connection_Logging_Server.dsp b/examples/C++NPv1/Process_Per_Connection_Logging_Server.dsp
deleted file mode 100644
index 09c95b6564f..00000000000
--- a/examples/C++NPv1/Process_Per_Connection_Logging_Server.dsp
+++ /dev/null
@@ -1,91 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Process_Per_Connection_Logging_Server" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Process_Per_Connection_Logging_Server - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Process_Per_Connection_Logging_Server.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Process_Per_Connection_Logging_Server.mak" CFG="Process_Per_Connection_Logging_Server - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Process_Per_Connection_Logging_Server - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Process_Per_Connection_Logging_Server___Win32_Debug"
-# PROP BASE Intermediate_Dir "Process_Per_Connection_Logging_Server___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Process_Per_Connection_Logging_Server/Debug"
-# PROP Intermediate_Dir "Process_Per_Connection_Logging_Server/Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../ace"
-# Begin Target
-
-# Name "Process_Per_Connection_Logging_Server - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Process_Per_Connection_Logging_Server.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Process_Per_Connection_Logging_Server.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/C++NPv1/Process_Per_Connection_Logging_Server.h b/examples/C++NPv1/Process_Per_Connection_Logging_Server.h
deleted file mode 100644
index 4d64d764bfd..00000000000
--- a/examples/C++NPv1/Process_Per_Connection_Logging_Server.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#ifndef _PROCESS_PER_CONNECTION_LOGGING_SERVER_H
-#define _PROCESS_PER_CONNECTION_LOGGING_SERVER_H
-
-#include "ace/INET_Addr.h"
-#include "ace/Log_Record.h"
-#include "ace/Process.h"
-#include "ace/Process_Manager.h"
-#include "ace/SOCK_Acceptor.h"
-#include "ace/SOCK_Stream.h"
-#include "ace/Signal.h"
-#include "Logging_Server.h"
-
-class Logging_Process : public ACE_Process
-{
-public:
- Logging_Process (const char *prog_name,
- const ACE_SOCK_Stream &logging_peer);
-
- virtual int prepare (ACE_Process_Options &options);
- virtual void unmanage ();
-
-private:
- Logging_Process (); // Force desired constructor to be used.
-
- char prog_name_[MAXPATHLEN + 1];
- ACE_SOCK_Stream logging_peer_;
-};
-
-
-class Process_Per_Connection_Logging_Server : public Logging_Server
-{
-protected:
- char prog_name_[MAXPATHLEN + 1];
-
-protected:
- virtual int handle_connections ();
- virtual int handle_data (ACE_SOCK_Stream *client = 0);
-
- int run_master (int argc, char *argv[]);
- int run_worker (int argc, char *argv[]);
-
-public:
- virtual int run (int argc, char *argv[]);
-
-};
-
-#endif /* _PROCESS_PER_CONNECTION_LOGGING_SERVER_H */
diff --git a/examples/C++NPv1/Process_Per_Connection_Logging_Server.mak b/examples/C++NPv1/Process_Per_Connection_Logging_Server.mak
deleted file mode 100644
index 9bacc6d5a09..00000000000
--- a/examples/C++NPv1/Process_Per_Connection_Logging_Server.mak
+++ /dev/null
@@ -1,40 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the Process-Per-Connection logging server example
-# program in "C++ Network Programming, Vol. 1, Resolving Complexity
-# Using Patterns and ACE"
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = Process_Per_Connection_Logging_Server
-
-FILES = Process_Per_Connection_Logging_Server \
- Logging_Handler \
- Logging_Server
-
-SRC = $(addsuffix .cpp,$(FILES))
-OBJ = $(addsuffix .o,$(FILES))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
diff --git a/examples/C++NPv1/README b/examples/C++NPv1/README
deleted file mode 100644
index 747fa24ecfc..00000000000
--- a/examples/C++NPv1/README
+++ /dev/null
@@ -1,73 +0,0 @@
-(This is file $Id$)
-
-The files in this directory contain the source code from the book
-``C++ Network Programming: Mastering Complexity Using ACE and
-Patterns'' (C++NPv1) by Douglas C. Schmidt and Stephen D. Huston
-(Addison-Wesley 2001, ISBN 0-201-60464-7).
-
-We have compiled and run these files on the following platforms:
-
- Sun Solaris 8 on SPARC using Sun Forte 6.
- Redhat Linux 7.1 using g++ 2.96.
- Microsoft Windows 2000 using Microsoft Visual C++ 6.
-
-You must have the ACE_ROOT environment variable set correctly to build
-these examples. ACE_ROOT must refer to the top-level ACE_wrappers
-directory. Please see $ACE_ROOT/ACE-INSTALL.html for instructions on
-how to build the ACE toolkit.
-
-Mapping Source Files to Book Chapters
--------------------------------------
-
-The files in this directory map to the chapters in C++NPv1 as follows:
-
-Chapter 4 Logging_Client.h
- Logging_Client.cpp
- Logging_Handler.h
- Logging_Handler.cpp
- Iterative_Logging_Server.h
- Iterative_Logging_Server.cpp
-
-Chapter 7 Reactive_Logging_Server.h
- Reactive_Logging_Server.cpp
- Reactive_Logging_Server_Ex.h
- Reactive_Logging_Server_Ex.cpp
-
-Chapter 8 Process_Per_Connection_Logging_Server.h
- Process_Per_Connection_Logging_Server.cpp
-
-Chapter 9 Thread_Per_Connection_Logging_Server.h
- Thread_Per_Connection_Logging_Server.cpp
- RT_Thread_Per_Connection_Logging_Server.h
- RT_Thread_Per_Connection_Logging_Server.cpp
-
-Microsoft Visual C++ users:
----------------------------
-
-The examples.dsw file is a Microsoft Visual C++ workspace file that
-contains projects for the individual programs. You can either build
-them separately, or use the Batch Build command to build multiple
-projects at once.
-
-All other users:
-----------------
-
-Assuming that your system is configured correctly, you should be able
-to type
-
-% make
-
-to compile all of the programs, and
-
-% make clean
-
-to remove all the files that were generated during compilation.
-
-There are also individual Makefiles for each separate example program.
-These makefiles have a ".mak" suffix. For example, Logging_Client.mak
-is the makefile for the Logging_Client program.
-
-All of the files in these directories are copyright Addison Wesley,
-and they come with absolutely no warranty whatsoever. Permission is
-hereby granted to use these programs for educational or commercial
-purposes.
diff --git a/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp b/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp
deleted file mode 100644
index 0be97237952..00000000000
--- a/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/Auto_Ptr.h"
-#include "ace/FILE_IO.h"
-#include "ace/Log_Msg.h"
-#include "ace/Sched_Params.h"
-#include "ace/Signal.h"
-#include "ace/Thread_Manager.h"
-
-#include "RT_Thread_Per_Connection_Logging_Server.h"
-#include "Logging_Handler.h"
-
-#include <errno.h>
-
-namespace {
- extern "C" void sigterm_handler (int /* signum */) { /* No-op. */ }
-}
-
-
-int
-RT_Thread_Per_Connection_Logging_Server::open (u_short port)
-{
- ACE_Sched_Params fifo_sched_params
- (ACE_SCHED_FIFO,
- ACE_Sched_Params::priority_min (ACE_SCHED_FIFO),
- ACE_SCOPE_PROCESS);
-
- if (ACE_OS::sched_params (fifo_sched_params) != 0) {
- if (errno == EPERM || errno == ENOTSUP)
- ACE_DEBUG ((LM_DEBUG,
- "Warning: user's not superuser, so "
- "we're running in time-shared class\n"));
- else
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n", "ACE_OS::sched_params()"), -1);
- }
- // Initialize the parent classes.
- return Thread_Per_Connection_Logging_Server::open (port);
-}
-
-
-int
-RT_Thread_Per_Connection_Logging_Server::handle_data (ACE_SOCK_Stream *client)
-{
- int prio =
- ACE_Sched_Params::next_priority
- (ACE_SCHED_FIFO,
- ACE_Sched_Params::priority_min (ACE_SCHED_FIFO),
- ACE_SCOPE_THREAD);
- ACE_OS::thr_setprio (prio);
- return Thread_Per_Connection_Logging_Server::handle_data (client);
-}
-
-
-// For simplicity, the Thread_Per_Connection_Logging_Server methods
-// are duplicated here.
-
-ACE_THR_FUNC_RETURN Thread_Per_Connection_Logging_Server::run_svc (void *arg)
-{
- auto_ptr<Thread_Args> thread_args (ACE_static_cast (Thread_Args *, arg));
-
- thread_args->this_->handle_data (&thread_args->logging_peer_);
- thread_args->logging_peer_.close ();
- return 0; // Return value is ignored
-}
-
-
-int
-Thread_Per_Connection_Logging_Server::handle_connections ()
-{
- auto_ptr<Thread_Args> thread_args (new Thread_Args (this));
-
- if (acceptor ().accept (thread_args->logging_peer_) == -1)
- return -1;
- if (ACE_Thread_Manager::instance ()->spawn (
- // Pointer to function entry point.
- Thread_Per_Connection_Logging_Server::run_svc,
- // <run_svc> parameter.
- ACE_static_cast (void *, thread_args.get ()),
- THR_DETACHED | THR_SCOPE_SYSTEM) == -1)
- return -1;
- thread_args.release (); // Spawned thread now owns memory
- return 0;
-}
-
-
-int
-Thread_Per_Connection_Logging_Server::handle_data (ACE_SOCK_Stream *client)
-{
- ACE_FILE_IO log_file;
- // Client's hostname is logfile name.
- make_log_file (log_file, client);
-
- // Place the connection into blocking mode since this
- // thread isn't doing anything except handling this client.
- client->disable (ACE_NONBLOCK);
-
- Logging_Handler logging_handler (log_file, *client);
-
- // Keep handling log records until client closes connection
- // or this thread is asked to cancel itself.
- ACE_Thread_Manager *mgr = ACE_Thread_Manager::instance ();
- ACE_thread_t me = ACE_Thread::self ();
- while (!mgr->testcancel (me) &&
- logging_handler.log_record () != -1)
- continue;
-
- log_file.close ();
- return 0;
-}
-
-
-int main (int argc, char *argv[])
-{
- // Register to receive the <SIGTERM> signal.
- ACE_Sig_Action sa ((ACE_SignalHandler) sigterm_handler,
- SIGTERM);
-
- RT_Thread_Per_Connection_Logging_Server server;
-
- if (server.run (argc, argv) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "server.run()"), 1);
-
- // Cooperative thread cancellation and barrier synchronization.
- ACE_Thread_Manager::instance ()->cancel_all ();
- return ACE_Thread_Manager::instance ()->wait ();
-}
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class auto_ptr<Thread_Per_Connection_Logging_Server::Thread_Args>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate auto_ptr<Thread_Per_Connection_Logging_Server::Thread_Args>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.dsp b/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.dsp
deleted file mode 100644
index 703ab8f4972..00000000000
--- a/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.dsp
+++ /dev/null
@@ -1,91 +0,0 @@
-# Microsoft Developer Studio Project File - Name="RT_Thread_Per_Connection_Logging_Server" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=RT_Thread_Per_Connection_Logging_Server - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "RT_Thread_Per_Connection_Logging_Server.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "RT_Thread_Per_Connection_Logging_Server.mak" CFG="RT_Thread_Per_Connection_Logging_Server - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "RT_Thread_Per_Connection_Logging_Server - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "RT_Thread_Per_Connection_Logging_Server___Win32_Debug"
-# PROP BASE Intermediate_Dir "RT_Thread_Per_Connection_Logging_Server___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "RT_Thread_Per_Connection_Logging_Server/Debug"
-# PROP Intermediate_Dir "RT_Thread_Per_Connection_Logging_Server/Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../ace"
-# Begin Target
-
-# Name "RT_Thread_Per_Connection_Logging_Server - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RT_Thread_Per_Connection_Logging_Server.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RT_Thread_Per_Connection_Logging_Server.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.h b/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.h
deleted file mode 100644
index 828a0e61a03..00000000000
--- a/examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#ifndef _RT_THREAD_PER_CONNECTION_LOGGING_SERVER_H
-#define _RT_THREAD_PER_CONNECTION_LOGGING_SERVER_H
-
-#include "ace/SOCK_Stream.h"
-#include "Logging_Server.h"
-#include "Thread_Per_Connection_Logging_Server.h"
-
-class RT_Thread_Per_Connection_Logging_Server :
- public Thread_Per_Connection_Logging_Server
-{
-protected:
- virtual int open (u_short port);
- virtual int handle_data (ACE_SOCK_Stream * = 0);
-};
-
-#endif /* _RT_THREAD_PER_CONNECTION_LOGGING_SERVER_H */
diff --git a/examples/C++NPv1/Reactive_Logging_Server.cpp b/examples/C++NPv1/Reactive_Logging_Server.cpp
deleted file mode 100644
index 39d2c6b51be..00000000000
--- a/examples/C++NPv1/Reactive_Logging_Server.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/Log_Msg.h"
-#include "Reactive_Logging_Server.h"
-
-int main (int argc, char *argv[])
-{
- Reactive_Logging_Server server;
-
- if (server.run (argc, argv) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "server.run()"), 1);
- return 0;
-}
diff --git a/examples/C++NPv1/Reactive_Logging_Server.dsp b/examples/C++NPv1/Reactive_Logging_Server.dsp
deleted file mode 100644
index 3ea2ee54ff7..00000000000
--- a/examples/C++NPv1/Reactive_Logging_Server.dsp
+++ /dev/null
@@ -1,83 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Reactive_Logging_Server" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Reactive_Logging_Server - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Reactive_Logging_Server.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Reactive_Logging_Server.mak" CFG="Reactive_Logging_Server - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Reactive_Logging_Server - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Reactive_Logging_Server___Win32_Debug"
-# PROP BASE Intermediate_Dir "Reactive_Logging_Server___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Reactive_Logging_Server/Debug"
-# PROP Intermediate_Dir "Reactive_Logging_Server/Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../ace"
-# Begin Target
-
-# Name "Reactive_Logging_Server - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Reactive_Logging_Server.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Reactive_Logging_Server.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/C++NPv1/Reactive_Logging_Server.h b/examples/C++NPv1/Reactive_Logging_Server.h
deleted file mode 100644
index 89a51473a78..00000000000
--- a/examples/C++NPv1/Reactive_Logging_Server.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#ifndef _REACTIVE_LOGGING_SERVER_H
-#define _REACTIVE_LOGGING_SERVER_H
-
-#include "ace/INET_Addr.h"
-#include "ace/SOCK_Acceptor.h"
-#include "ace/SOCK_Stream.h"
-#include "ace/Log_Record.h"
-#include "ace/Handle_Set.h"
-#include "Iterative_Logging_Server.h"
-
-class Reactive_Logging_Server : public Iterative_Logging_Server
-{
-protected:
- // Keep track of the acceptor socket handle and all the
- // connected stream socket handles.
- ACE_Handle_Set master_handle_set_;
-
- // Keep track of handles marked as active by <select>.
- ACE_Handle_Set active_handles_;
-
- virtual int open (u_short logger_port) {
- Iterative_Logging_Server::open (logger_port);
- master_handle_set_.set_bit (acceptor ().get_handle ());
- acceptor ().enable (ACE_NONBLOCK);
- return 0;
- }
-
- virtual int wait_for_multiple_events () {
- active_handles_ = master_handle_set_;
- int width = (int)active_handles_.max_set () + 1;
- if (select (width,
- active_handles_.fdset (),
- 0, // no write_fds
- 0, // no except_fds
- 0) == -1) // no timeout
- return -1;
- active_handles_.sync
- ((ACE_HANDLE) ((int) active_handles_.max_set () + 1));
- return 0;
- }
-
- virtual int handle_connections () {
- if (active_handles_.is_set (acceptor ().get_handle ())) {
- while (acceptor ().accept (logging_handler ().peer ()) == 0)
- master_handle_set_.set_bit
- (logging_handler ().peer ().get_handle ());
-
- // Remove acceptor handle from further consideration.
- active_handles_.clr_bit (acceptor ().get_handle ());
- }
- return 0;
- }
-
- virtual int handle_data (ACE_SOCK_Stream *) {
- ACE_Handle_Set_Iterator peer_iterator (active_handles_);
-
- for (ACE_HANDLE handle;
- (handle = peer_iterator ()) != ACE_INVALID_HANDLE;
- ) {
- logging_handler ().peer ().set_handle (handle);
- if (logging_handler ().log_record () == -1) {
- // Handle connection shutdown or comm failure.
- master_handle_set_.clr_bit (handle);
- logging_handler ().close ();
- }
- }
- return 0;
- }
-
-};
-
-#endif /* _REACTIVE_LOGGING_SERVER_H */
diff --git a/examples/C++NPv1/Reactive_Logging_Server_Ex.cpp b/examples/C++NPv1/Reactive_Logging_Server_Ex.cpp
deleted file mode 100644
index 8999d7a9651..00000000000
--- a/examples/C++NPv1/Reactive_Logging_Server_Ex.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/Functor.h"
-#include "ace/Log_Msg.h"
-
-#include "Reactive_Logging_Server_Ex.h"
-
-int main (int argc, char *argv[])
-{
- Reactive_Logging_Server_Ex server;
-
- if (server.run (argc, argv) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "server.run()"), 1);
- return 0;
-}
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Hash_Map_Entry<ACE_HANDLE, ACE_FILE_IO *>;
-template class ACE_Hash_Map_Manager<ACE_HANDLE, ACE_FILE_IO *, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Manager_Ex<ACE_HANDLE, ACE_FILE_IO *, ACE_Hash<ACE_HANDLE>, ACE_Equal_To<ACE_HANDLE>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator_Base_Ex<ACE_HANDLE, ACE_FILE_IO *, ACE_Hash<ACE_HANDLE>, ACE_Equal_To<ACE_HANDLE>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator_Ex<ACE_HANDLE, ACE_FILE_IO *, ACE_Hash<ACE_HANDLE>, ACE_Equal_To<ACE_HANDLE>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_HANDLE, ACE_FILE_IO *, ACE_Hash<ACE_HANDLE>, ACE_Equal_To<ACE_HANDLE>, ACE_Null_Mutex>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Hash_Map_Entry<ACE_HANDLE, ACE_FILE_IO *>
-#pragma instantiate ACE_Hash_Map_Manager<ACE_HANDLE, ACE_FILE_IO *, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_HANDLE, ACE_FILE_IO *, ACE_Hash<ACE_HANDLE>, ACE_Equal_To<ACE_HANDLE>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_HANDLE, ACE_FILE_IO *, ACE_Hash<ACE_HANDLE>, ACE_Equal_To<ACE_HANDLE>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_HANDLE, ACE_FILE_IO *, ACE_Hash<ACE_HANDLE>, ACE_Equal_To<ACE_HANDLE>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_HANDLE, ACE_FILE_IO *, ACE_Hash<ACE_HANDLE>, ACE_Equal_To<ACE_HANDLE>, ACE_Null_Mutex>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/C++NPv1/Reactive_Logging_Server_Ex.dsp b/examples/C++NPv1/Reactive_Logging_Server_Ex.dsp
deleted file mode 100644
index 18b5f486e8f..00000000000
--- a/examples/C++NPv1/Reactive_Logging_Server_Ex.dsp
+++ /dev/null
@@ -1,91 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Reactive_Logging_Server_Ex" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Reactive_Logging_Server_Ex - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Reactive_Logging_Server_Ex.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Reactive_Logging_Server_Ex.mak" CFG="Reactive_Logging_Server_Ex - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Reactive_Logging_Server_Ex - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Reactive_Logging_Server_Ex___Win32_Debug"
-# PROP BASE Intermediate_Dir "Reactive_Logging_Server_Ex___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Reactive_Logging_Server_Ex/Debug"
-# PROP Intermediate_Dir "Reactive_Logging_Server_Ex/Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../ace"
-# Begin Target
-
-# Name "Reactive_Logging_Server_Ex - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Reactive_Logging_Server_Ex.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Reactive_Logging_Server_Ex.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/C++NPv1/Reactive_Logging_Server_Ex.h b/examples/C++NPv1/Reactive_Logging_Server_Ex.h
deleted file mode 100644
index 371190f8f75..00000000000
--- a/examples/C++NPv1/Reactive_Logging_Server_Ex.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#ifndef _REACTIVE_LOGGING_SERVER_EX_H
-#define _REACTIVE_LOGGING_SERVER_EX_H
-
-#include "ace/ACE.h"
-#include "ace/FILE_IO.h"
-#include "ace/Handle_Set.h"
-#include "ace/Hash_Map_Manager.h"
-#include "ace/INET_Addr.h"
-#include "ace/Log_Record.h"
-#include "ace/SOCK_Acceptor.h"
-#include "ace/SOCK_Stream.h"
-#include "ace/Synch.h"
-#include "Logging_Server.h"
-#include "Logging_Handler.h"
-
-typedef ACE_Hash_Map_Manager<ACE_HANDLE,
- ACE_FILE_IO *,
- ACE_Null_Mutex> LOG_MAP;
-
-class Reactive_Logging_Server_Ex : public Logging_Server
-{
-protected:
- // Associate an active handle to an <ACE_FILE_IO> pointer.
- LOG_MAP log_map_;
-
- // Keep track of acceptor socket and all the connected
- // stream socket handles.
- ACE_Handle_Set master_handle_set_;
-
- // Keep track of read handles marked as active by <select>.
- ACE_Handle_Set active_read_handles_;
-
- virtual int open (u_short port) {
- Logging_Server::open (port);
- master_handle_set_.set_bit (acceptor ().get_handle ());
- acceptor ().enable (ACE_NONBLOCK);
- return 0;
- }
-
- virtual int wait_for_multiple_events () {
- active_read_handles_ = master_handle_set_;
- int width = (int) active_read_handles_.max_set () + 1;
-
- return ACE::select (width, active_read_handles_);
- }
-
- virtual int handle_connections () {
- ACE_SOCK_Stream logging_peer;
-
- while (acceptor ().accept (logging_peer) != -1) {
- ACE_FILE_IO *log_file = new ACE_FILE_IO;
-
- // Use the client's hostname as the logfile name.
- make_log_file (*log_file, &logging_peer);
-
- // Add the new <logging_peer>'s handle to the map and
- // to the set of handles we <select> for input.
- log_map_.bind (logging_peer.get_handle (), log_file);
- master_handle_set_.set_bit (logging_peer.get_handle ());
- }
- active_read_handles_.clr_bit (acceptor ().get_handle ());
- return 0;
- }
-
- virtual int handle_data (ACE_SOCK_Stream *) {
- ACE_Handle_Set_Iterator peer_iterator (active_read_handles_);
-
- for (ACE_HANDLE handle;
- (handle = peer_iterator ()) != ACE_INVALID_HANDLE;
- ) {
- ACE_FILE_IO *log_file;
- log_map_.find (handle, log_file);
- Logging_Handler logging_handler (*log_file, handle);
-
- if (logging_handler.log_record () == -1) {
- logging_handler.close ();
- master_handle_set_.clr_bit (handle);
- log_map_.unbind (handle);
- log_file->close ();
- delete log_file;
- }
- }
- return 0;
- }
-
-};
-
-#endif /* _REACTIVE_LOGGING_SERVER_EX_H */
diff --git a/examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp b/examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp
deleted file mode 100644
index ec4389110f0..00000000000
--- a/examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#include "ace/Auto_Ptr.h"
-#include "ace/FILE_IO.h"
-#include "ace/Log_Msg.h"
-#include "ace/Signal.h"
-#include "ace/Thread_Manager.h"
-
-#include "Thread_Per_Connection_Logging_Server.h"
-#include "Logging_Handler.h"
-
-#include <errno.h>
-
-namespace {
- extern "C" void sigterm_handler (int /* signum */) { /* No-op. */ }
-}
-
-
-ACE_THR_FUNC_RETURN Thread_Per_Connection_Logging_Server::run_svc (void *arg)
-{
- auto_ptr<Thread_Args> thread_args (ACE_static_cast (Thread_Args *, arg));
-
- thread_args->this_->handle_data (&thread_args->logging_peer_);
- thread_args->logging_peer_.close ();
- return 0; // Return value is ignored
-}
-
-
-int
-Thread_Per_Connection_Logging_Server::handle_connections ()
-{
- auto_ptr<Thread_Args> thread_args (new Thread_Args (this));
-
- if (acceptor ().accept (thread_args->logging_peer_) == -1)
- return -1;
- if (ACE_Thread_Manager::instance ()->spawn (
- // Pointer to function entry point.
- Thread_Per_Connection_Logging_Server::run_svc,
- // <run_svc> parameter.
- ACE_static_cast (void *, thread_args.get ()),
- THR_DETACHED | THR_SCOPE_SYSTEM) == -1)
- return -1;
- thread_args.release (); // Spawned thread now owns memory
- return 0;
-}
-
-
-int
-Thread_Per_Connection_Logging_Server::handle_data (ACE_SOCK_Stream *client)
-{
- ACE_FILE_IO log_file;
- // Client's hostname is logfile name.
- make_log_file (log_file, client);
-
- // Place the connection into blocking mode since this
- // thread isn't doing anything except handling this client.
- client->disable (ACE_NONBLOCK);
-
- Logging_Handler logging_handler (log_file, *client);
-
- // Keep handling log records until client closes connection
- // or this thread is asked to cancel itself.
- ACE_Thread_Manager *mgr = ACE_Thread_Manager::instance ();
- ACE_thread_t me = ACE_Thread::self ();
- while (!mgr->testcancel (me) &&
- logging_handler.log_record () != -1)
- continue;
-
- log_file.close ();
- return 0;
-}
-
-
-int main (int argc, char *argv[])
-{
- // Register to receive the <SIGTERM> signal.
- ACE_Sig_Action sa ((ACE_SignalHandler) sigterm_handler,
- SIGTERM);
-
- Thread_Per_Connection_Logging_Server server;
-
- if (server.run (argc, argv) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "server.run()"), 1);
-
- // Cooperative thread cancellation and barrier synchronization.
- ACE_Thread_Manager::instance ()->cancel_all ();
- return ACE_Thread_Manager::instance ()->wait ();
-}
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class auto_ptr<Thread_Per_Connection_Logging_Server::Thread_Args>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate auto_ptr<Thread_Per_Connection_Logging_Server::Thread_Args>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/C++NPv1/Thread_Per_Connection_Logging_Server.dsp b/examples/C++NPv1/Thread_Per_Connection_Logging_Server.dsp
deleted file mode 100644
index 7e44bce30c4..00000000000
--- a/examples/C++NPv1/Thread_Per_Connection_Logging_Server.dsp
+++ /dev/null
@@ -1,91 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Thread_Per_Connection_Logging_Server" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Thread_Per_Connection_Logging_Server - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Thread_Per_Connection_Logging_Server.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Thread_Per_Connection_Logging_Server.mak" CFG="Thread_Per_Connection_Logging_Server - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Thread_Per_Connection_Logging_Server - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Thread_Per_Connection_Logging_Server___Win32_Debug"
-# PROP BASE Intermediate_Dir "Thread_Per_Connection_Logging_Server___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Thread_Per_Connection_Logging_Server/Debug"
-# PROP Intermediate_Dir "Thread_Per_Connection_Logging_Server/Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../ace"
-# Begin Target
-
-# Name "Thread_Per_Connection_Logging_Server - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Thread_Per_Connection_Logging_Server.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Logging_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Logging_Server.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Thread_Per_Connection_Logging_Server.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/C++NPv1/Thread_Per_Connection_Logging_Server.h b/examples/C++NPv1/Thread_Per_Connection_Logging_Server.h
deleted file mode 100644
index edf3651cf46..00000000000
--- a/examples/C++NPv1/Thread_Per_Connection_Logging_Server.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-** $Id$
-**
-** Copyright 2001 Addison Wesley. All Rights Reserved.
-*/
-
-#ifndef _THREAD_PER_CONNECTION_LOGGING_SERVER_H
-#define _THREAD_PER_CONNECTION_LOGGING_SERVER_H
-
-#include "ace/SOCK_Stream.h"
-#include "Logging_Server.h"
-
-class Thread_Per_Connection_Logging_Server : public Logging_Server
-{
-private:
- struct Thread_Args {
- Thread_Args (Thread_Per_Connection_Logging_Server *lsp) : this_ (lsp) {}
-
- Thread_Per_Connection_Logging_Server *this_;
- ACE_SOCK_Stream logging_peer_;
- };
-
- // Passed as a parameter to <ACE_Thread_Manager::spawn>.
- static ACE_THR_FUNC_RETURN run_svc (void *arg);
-
-protected:
- virtual int handle_connections ();
- virtual int handle_data (ACE_SOCK_Stream * = 0);
-
-public:
- // Template Method that runs logging server's event loop. Need to
- // reimplement this here because the threads spawned from handle_connections
- // call handle_data; therefore, this method must not.
- virtual int run (int argc, char *argv[]) {
- if (open (argc > 1 ? atoi (argv[1]) : 0) == -1)
- return -1;
-
- for (;;) {
- if (wait_for_multiple_events () == -1)
- return -1;
- if (handle_connections () == -1)
- return -1;
- }
-
- return 0;
- }
-};
-
-#endif /* _THREAD_PER_CONNECTION_LOGGING_SERVER_H */
diff --git a/examples/C++NPv1/examples.dsw b/examples/C++NPv1/examples.dsw
deleted file mode 100644
index 178eaca42bc..00000000000
--- a/examples/C++NPv1/examples.dsw
+++ /dev/null
@@ -1,101 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "Iterative_Logging_Server"=".\Iterative_Logging_Server.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Logging_Client"=".\Logging_Client.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Process_Per_Connection_Logging_Server"=".\Process_Per_Connection_Logging_Server.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "RT_Thread_Per_Connection_Logging_Server"=".\RT_Thread_Per_Connection_Logging_Server.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Reactive_Logging_Server"=".\Reactive_Logging_Server.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Reactive_Logging_Server_Ex"=".\Reactive_Logging_Server_Ex.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Thread_Per_Connection_Logging_Server"=".\Thread_Per_Connection_Logging_Server.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-