IPC SAP C++ Wrappers for Efficient, Portable, and Flexible Network Programming

نویسنده

  • Douglas C. Schmidt
چکیده

This paper describes object-oriented (OO) techniques for encapsulating OS interprocess communication (IPC) mechanisms with C++ wrappers. The paper focuses on the C++ wrappers provided by the IPC SAP components in the ACE framework [2]. ACE is a collection of reusable C++ class libraries and OO framework components that simplify the development of portable, high-performance and real-time communication software. IPC SAP is a component in ACE that provides a family of OO network programming interfaces to encapsulate the Socket interface [3], the System V transport layer interface (TLI) [4], SVR4 STREAM pipes [5], UNIX FIFOs [6], and Windows NT named pipes [7]. The C++ wrappers in IPC SAP shield developers and applications from non-portable details of native OS local and remote IPC mechanisms. The IPC mechanisms encapsulated by IPC SAP include standard connection-oriented and connectionless protocols, such as TCP, UDP, and IPX/SPX, available in UNIX/POSIX, Win32, and real-time operating systems. IPC SAP utilizes OO techniques and C++ features to provide a rich set of components that simplify the development of efficient, portable, and flexible communication software. This paper is organized as follows: Section 2 outlines the levels of abstraction for programming communication software; Section 3 describes existing network programming interfaces; Section 4 outlines their limitations; Section 5 presents the OO design and implementation of IPC SAP and explains how it overcomes limitations with existing network programming interfaces; Section 6 examines the OO design of the C++ wrappers for Sockets, TLI, STREAM pipes, and FIFOs in detail; Section 7 illustrates several examples that use IPC SAP to implement a client/server streaming application; Section 8 discusses the principles the guided the design of IPC SAP; and Section 9 summarizes the advantages and disadvantages of using C++ to develop OO wrappers for native OS interfaces.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

IPC SAP A Family of Object-Oriented Interfaces for Local and Remote Interprocess Communication

This is part of a series that describes techniques for encapsulating existing operating system (OS) interprocess communication (IPC) mechanisms within object-oriented C++ wrappers. This paper focuses on the IPC SAP (“InterProcess Communication Service Access Point”) C++ class categories. IPC SAP provides applications with a family of object-oriented service access points that encapsulate standa...

متن کامل

The Reactor An Object-Oriented Wrapper for Event-Driven Port Monitoring and Service Demultiplexing (Part 1 of 2)

This is part one of the third article in a series that describes techniques for encapsulating existing operating system (OS) interprocess communication (IPC) services within objectoriented (OO) C++ wrappers. The first article explains the main principles and motivations for OO wrappers [1], which simplify the development of correct, concise, portable, and efficient applications. The second arti...

متن کامل

Systems Programming with C++ Wrappers Encapsulating Interprocess Communication Mechanisms with Object-Oriented Interfaces

This article is the first in a series that describes techniques for encapsulating operating system (OS) interprocess communication (IPC) mechanisms within object-oriented (OO) C++ wrappers. These OS mechanisms include support for both local-host IPC (such as semaphores; message queues; shared memory; memory-mapped files; named, unnamed, and STREAM pipes; and BSD UNIX-domain sockets) and network...

متن کامل

A Flexible Integrated Forward/ Reverse Logistics Model with Random Path-based Memetic Algorithm

Due to business and environmental issues, the efficient design of an integrated forward/reverse logistics network has recently attracted more attention from researchers. The significance of transportation cost and customer satisfaction spurs an interest in developing a flexible network design model with different delivery paths. This paper proposes a flexible mixed-integer programming model to ...

متن کامل

Flexible Scheduling of Active Distribution Networks for Market Participation with Considering DGs Availability

The availability of sufficient and economic online capacity to support the network while encountering disturbances and failures leading to supply and demand imbalance has a crucial role in today distribution networks with high share of Distributed Energy Resources (DERs), especially Renewable Energy Resources (RESs). This paper proposes a two-stage decision making framework for the Distribution...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998