lotus

previous page: 9.6) Object-Oriented Technology ftp: 54 MindFrame for Windows
  
page up: Object-Oriented Technology FAQ
  
next page: 9.6) Object-Oriented Technology ftp: 56 Teaching Intro to OO Slides, T. Budd

9.6) Object-Oriented Technology ftp: 55 ACE Lib, C++ Networking




Description

This article is from the Object-Oriented Technology FAQ, by Bob Hathaway rjh@geodesic.com with numerous contributions by others.

9.6) Object-Oriented Technology ftp: 55 ACE Lib, C++ Networking

From: schmidt@liege.ics.uci.edu (Douglas C. Schmidt)
Subject: Re: C++ and Semaphores
Date: 22 Nov 1993 19:27:00 -0800

THE "ADAPTIVE COMMUNICATION ENVIRONMENT" (ACE) LIBRARY:

A Collection of C++ Network Programming Components
--------------------------------------------------

The ACE library is available for anonymous ftp from the
ics.uci.edu (128.195.1.1) host in the gnu/C++_wrappers.tar.Z file
(approximately .4 meg compressed). This release contains contains the
source code, documentation, and example test drivers for a number of
C++ wrapper libraries and higher-level network programming foundation
classes developed as part of the ADAPTIVE transport system project at
the University of California, Irvine.

. The C++ wrappers encapsulate many of the user-level BSD and
System V Release 4 IPC facilities such as sockets, TLI,
select and poll, named pipes and STREAM pipes, the mmap
family of memory-mapped file commands, System V IPC (i.e.,
shared memory, semaphores, message queues), and explicit
dynamic linking (e.g., dlopen/dlsym/dlclose) using
type-secure, object-oriented interfaces.

. The higher-level network programming foundation classes
integrate and enhance the lower-level C++ wrappers to
support the configuration of concurrent network daemons
composed of monolithic and/or stackable services

Many of the C++ wrappers and higher-level components have been
described in issues of the C++ Report, as well as in the proceedings
of (1) the 2nd Annual C++ World conference held in Dallas, Texas in
October, 1993, (2) the 11th Annual Sun Users Group Conference held in
San Jose, CA in December, 1993, and (3) the 2nd International Workshop
on Configurable Distributed Systems held at CMU in Pittsburgh, PA in
March, 1994. A relatively complete set of documentation and extensive
examples are included in the release. A mailing list is available for
discussing bug fixes, enhancements, and porting issues regarding ACE.
Please send mail to ace-users-request@ics.uci.edu if you'd like to
become part of the mailing list.

CONTENTS OF THE RELEASE

The following subdirectories are included in this release:

. apps -- complete applications written using the ACE wrappers
. bin -- utility programs for building this release such as g++dep
. build -- a separate subdirectory that keeps links into the main
source tree in order to facilitate multi-platform
build-schemes
. include -- symbolic links to the include files for the release
. lib -- object archive libraries for each C++ wrapper library
. libsrc -- the source code for the following C++ wrappers:
ASX -- higher-level C++ network programming foundation classes
Get_Opt -- a C++ version of the UNIX getopt utility
IPC_SAP -- wrapper for BSD sockets
IPC_SAP_FIFO -- wrapper for FIFOS (named pipes)
IPC_SAP_SPIPE -- wrapper for SVR4 STREAM pipes and connld
Log_Msg -- library API for a local/remote logging facility
Mem_Map -- wrapper for BSD mmap() memory mapped files
Message_Queues -- wrapper for SysV message queues
Reactor -- wrapper for select() and poll()
Semaphores -- wrapper for SysV semaphores
Server_Daemon -- a wrapper for dynamically linking
Shared_Memory -- wrapper for SysV shared memory
Shared_Malloc -- wrapper for SysV/BSD shared mallocs
TLI_SAP -- wrapper for SVR4 TLI
. tests -- programs that illustrate how to use the various wrappers

Please refer to the INSTALL file for information on how to
build and test the ACE wrappers. The BIBLIOGRAPHY file contains
information on where to obtain articles that describe the ACE wrappers
and the ADAPTIVE system in more detail.

Also, please note that there is a companion tar file called
C++_wrappers_doc.tar.Z, which is approximately 1.5 Meg compressed.
This file is in the same ftp/gnu directory as the source code
distribution. In this file is the following:

. doc -- LaTeX documentation (in both latex and .ps format)
. papers -- postscript versions of various papers describing ACE

COPYRIGHT INFORMATION

You are free to do anything you like with this code. However,
you may not do anything to this code that will prevent it from being
distributed freely in its original form (such as copyrighting it,
etc.). Moreover, if you have any improvements, suggestions, and or
comments, I'd like to hear about it! It would be great to see this
distributed evolve into a comprehensive, robust, and well-documented
C++ class library that would be freely available to everyone.
Natually, I am not responsible for any problems caused by using these
C++ wrappers.

Thanks,

Douglas C. Schmidt
(schmidt@ics.uci.edu)
Department of Information and Computer Science
University of California, Irvine
Irvine, CA 92717
Work #: (714) 856-4105
FAX #: (714) 856-4056

ACKNOWLEDGEMENTS

Special thanks to Paul Stephenson for devising the recursive
Makefile scheme that underlies this distribution. Also thanks to Olaf
Kruger for explaining how to instantiate templates for shared
libraries on SunOS 4.
--
Douglas C. Schmidt
Department of Information and Computer Science
University of California, Irvine
Irvine, CA 92717. Work #: (714) 856-4105; FAX #: (714) 856-4056

 

Continue to:













TOP
previous page: 9.6) Object-Oriented Technology ftp: 54 MindFrame for Windows
  
page up: Object-Oriented Technology FAQ
  
next page: 9.6) Object-Oriented Technology ftp: 56 Teaching Intro to OO Slides, T. Budd