(This is file $Id: README 44626 2002-04-28 15:47:14Z schmidt $)

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.
