0%

Book Description

If you're designing software and systems that must be portable, flexible, extensible, predictable, reliable, and affordable, this book and the ACE toolkit will enable you to be more effective in all of these areas. Even after spending over a decade developing ACE and using it to build networked software applications, I find that I've learned a great deal from this book, and I'm confident that you will, too.
--Douglas C. Schmidt, Inventor of ACE, from the Foreword

This book is a must-have for every ACE programmer. For the beginner, it explains step-by-step how to start using ACE. For the more experienced programmer, it explains in detail the features used daily, and is a perfect reference manual. It would have saved me a lot of time if this book had been available some years ago!
--Johnny Willemsen, Senior Software Engineer, Remedy IT, The Netherlands

With a large C++ code base, we rely on ACE to enable a cross-platform client-server framework for data quality and data integration. ACE has improved our design and smoothed over OS idiosyncrasies without sacrificing performance or flexibility. The combination of online reference materials and printed "big picture" guides is indispensable for us, and The ACE Programmer's Guide earns top-shelf status in my office.
--John Lilley, Chief Scientist, DataLever Corporation

In SITA air-ground division, we are one of the major suppliers of communication services to the airline industry. We started using ACE about a year ago and are now moving most of our new communication-related development to it. I can say that using this toolkit can reduce the development and testing time by at least 50% in our type of application.
--Jean Millo, Senior Architect, SITA

The ADAPTIVE Communication Environment (ACE) is an open-source software toolkit created to solve network programming challenges. Written in C++, with the help of 30 core developers and 1,700 contributors, this portable middleware has evolved to encapsulate and augment a wide range of native OS capabilities essential to support performance-driven software systems.

The ACE Programmer's Guide is a practical, hands-on guide to ACE for C++ programmers building networked applications and next-generation middleware. The book first introduces ACE to beginners. It then explains how you can tap design patterns, frameworks, and ACE to produce effective, easily maintained software systems with less time and effort. The book features discussions of programming aids, interprocess communication (IPC) issues, process and thread management, shared memory, the ACE Service Configurator framework, timer management classes, the ACE Naming Service, and more.

The accompanying CD-ROM contains the complete ACE toolkit, including installable kits for Windows, Solaris, and HP-UX; complete reference documentation for all of the ACE classes; and source code for every example in the book.



0201699710B10142003

Table of Contents

  1. Title Page
  2. Copyright Page
  3. Contents
  4. Illustrations
  5. Tables
  6. Foreword
  7. Preface
  8. Part I: ACE Basics
    1. Chapter 1. Introduction to ACE
    2. Chapter 2. How to Build and Use ACE in Your Programs
    3. Chapter 3. Using the ACE Logging Facility
    4. Chapter 4. Collecting Runtime Information
    5. Chapter 5. ACE Containers
  9. Part II: Interprocess Communication
    1. Chapter 6. Basic TCP/IP Socket Use
    2. Chapter 7. Handling Events and Multiple I/O Streams
    3. Chapter 8. Asynchronous I/O and the ACE Proactor Framework
    4. Chapter 9. Other IPC Types
  10. Part III: Process and Thread Management
    1. Chapter 10. Process Management
    2. Chapter 11. Signals
    3. Chapter 12. Basic Multithreaded Programming
    4. Chapter 13. Thread Management
    5. Chapter 14. Thread Safety and Synchronization
    6. Chapter 15. Active Objects
    7. Chapter 16. Thread Pools
  11. Part IV: Advanced ACE
    1. Chapter 17. Shared Memory
    2. Chapter 18. ACE Streams Framework
    3. Chapter 19. ACE Service Configurator Framework
    4. Chapter 20. Timers
    5. Chapter 21. ACE Naming Service
  12. Bibliography
  13. Index
  14. CD-ROM Warranty
  15. Footnotes
    1. Chapter 1
    2. Chapter 3
    3. Chapter 6
    4. Chapter 7
    5. Chapter 8
    6. Chapter 17
    7. Chapter 18
    8. Chapter 21
3.143.228.40