C++ network programming
By: Douglas C. Schmidt, Stephen D. Huston.
Contributors: Huston, Stephen D.
Series: The C++ in-depth series; The C++ in-depth series; C++ in-depth series
Publisher: Addison-Wesley
Published: 2002
Place of publication: Boston
Language: eng
Subjects: C++ (Computer program language); Object-oriented programming (Computer science); Computer networks
Other titles: Mastering complexity with ACE and patterns.; Systematic reuse with ACE and frameworks.
Notes: Includes bibliographical references and index.
Table of contents: title: List of Figures
pagenum: ix; title: Foreword
pagenum: xi; title: About This Book
pagenum: xv; label: Chapter 0
title: Design Challenges, Middleware Solutions, and ACE
pagenum: 1; label: 0.1
title: Challenges of Networked Applications
pagenum: 1; label: 0.2
title: Networked Application Design Dimensions
pagenum: 5; label: 0.3
title: Object-Oriented Middleware Solutions
pagenum: 7; label: 0.4
title: An Overview of the ACE Toolkit
pagenum: 12; label: 0.5
title: Example: A Networked Logging Service
pagenum: 17; label: 0.6
title: Summary
pagenum: 19; label: Part I
title: Object-Oriented Network Programming
pagenum: 21; label: Chapter 1
title: Communication Design Dimensions
pagenum: 23; label: 1.1
title: Connectionless versus Connection-Oriented Protocols
pagenum: 23; label: 1.2
title: Synchronous versus Asynchronous Message Exchange
pagenum: 26; label: 1.3
title: Message Passing versus Shared Memory
pagenum: 28; label: 1.4
title: Summary
pagenum: 31; label: Chapter 2
title: An Overview of the Socket API
pagenum: 33; label: 2.1
title: An Overview of Operating System IPC Mechanisms
pagenum: 33; label: 2.2
title: The Socket API
pagenum: 34; label: 2.3
title: Limitations of the Socket API
pagenum: 37; label: 2.4
title: Summary
pagenum: 43; label: Chapter 3
title: The ACE Socket Wrapper Facades
pagenum: 45; label: 3.1
title: Overview
pagenum: 45; label: 3.2
title: The ACE_Addr and ACE_INET_Addr Classes
pagenum: 49; label: 3.3
title: The ACE_IPC_SAP Class
pagenum: 52; label: 3.4
title: The ACE_SOCK Class
pagenum: 54; label: 3.5
title: The ACE_SOCK_Connector Class
pagenum: 56; label: 3.6
title: The ACE_SOCKIO and ACE_SOCK_Stream Classes
pagenum: 60; label: 3.7
title: The ACE_SOCK_Acceptor Class
pagenum: 64; label: 3.8
title: Summary
pagenum: 68; label: Chapter 4
title: Implementing the Networked Logging Service
pagenum: 71; label: 4.1
title: Overview
pagenum: 71; label: 4.2
title: The ACE_Message_Block Class
pagenum: 72; label: 4.3
title: The ACE_InputCDR and ACE_OutputCDR Classes
pagenum: 76; label: 4.4
title: The Initial Logging Server
pagenum: 80; label: 4.5
title: The Client Application
pagenum: 95; label: 4.6
title: Summary
pagenum: 99; label: Part II
title: Concurrent Object-Oriented Network Programming
pagenum: 101; label: Chapter 5
title: Concurrency Design Dimensions
pagenum: 103; label: 5.1
title: Iterative, Concurrent, and Reactive Servers
pagenum: 103; label: 5.2
title: Processes versus Threads
pagenum: 109; label: 5.3
title: Process/Thread Spawning Strategies
pagenum: 112; label: 5.4
title: User, Kernel, and Hybrid Threading Models
pagenum: 114; label: 5.5
title: Time-Shared and Real-Time Scheduling Classes
pagenum: 119; label: 5.6
title: Task- versus Message-Based Architectures
pagenum: 121; label: 5.7
title: Summary
pagenum: 123; label: Chapter 6
title: An Overview of Operating System Concurrency Mechanisms
pagenum: 125; label: 6.1
title: Synchronous Event Demultiplexing
pagenum: 125; label: 6.2
title: Multiprocessing Mechanisms
pagenum: 127; label: 6.3
title: Multithreading Mechanisms
pagenum: 129; label: 6.4
title: Synchronization Mechanisms
pagenum: 130; label: 6.5
title: Limitations with OS Concurrency Mechanisms
pagenum: 135; label: 6.6
title: Summary
pagenum: 137; label: Chapter 7
title: The ACE Synchronous Event Demultiplexing Wrapper Facades
pagenum: 139; label: 7.1
title: Overview
pagenum: 139; label: 7.2
title: The ACE_Handle_Set Class
pagenum: 141; label: 7.3
title: The ACE_Handle_Set_Iterator Class
pagenum: 147; label: 7.4
title: The ACE::select() Methods
pagenum: 151; label: 7.5
title: Summary
pagenum: 157; label: Chapter 8
title: The ACE Process Wrapper Facades
pagenum: 159; label: 8.1
title: Overview
pagenum: 159; label: 8.2
title: The ACE_Process Class
pagenum: 161; label: 8.3
title: The ACE_Process_Options Class
pagenum: 165; label: 8.4
title: The ACE_Process_Manager Class
pagenum: 169; label: 8.5
title: Summary
pagenum: 182; label: Chapter 9
title: The ACE Threading Wrapper Facades
pagenum: 185; label: 9.1
title: Overview
pagenum: 185; label: 9.2
title: The ACE_Thread_Manager Class
pagenum: 187; label: 9.3
title: The ACE_Sched_Params Class
pagenum: 198; label: 9.4
title: The ACE_TSS Class
pagenum: 201; label: 9.5
title: Summary
pagenum: 205; label: Chapter 10
title: The ACE Synchronization Wrapper Facades
pagenum: 207; label: 10.1
title: Overview
pagenum: 207; label: 10.2
title: The ACE_Guard Classes
pagenum: 209; label: 10.3
title: The ACE Mutex Classes
pagenum: 212; label: 10.4
title: The ACE Readers/Writer Lock Classes
pagenum: 218; label: 10.5
title: The ACE Semaphore Classes
pagenum: 222; label: 10.6
title: The ACE Condition Variable Classes
pagenum: 229; label: 10.7
title: Summary
pagenum: 233; label: Appendix A
title: Design Principles for ACE C++ Wrapper Facades
pagenum: 235; label: A.1
title: Overview
pagenum: 235; label: A.2
title: Use Wrapper Facades to Enhance Type Safety
pagenum: 236; label: A.3
title: Simplify for the Common Case
pagenum: 238; label: A.4
title: Use Hierarchies to Enhance Design Clarity and Extensibility
pagenum: 246; label: A.5
title: Hide Platform Differences Whenever Possible
pagenum: 248; label: A.6
title: Optimize for Efficiency
pagenum: 255; label: A.7
title: Summary
pagenum: 257; label: Appendix B
title: The Past, Present, and Future of ACE
pagenum: 259; label: B.1
title: The Evolution of ACE
pagenum: 259; label: B.2
title: The Road Ahead
pagenum: 267; label: B.3
title: Concluding Remarks
pagenum: 268; title: Glossary
pagenum: 269; title: Bibliography
pagenum: 285; title: Index
pagenum: 295