IPC Overview

Overview
libqb provides a generically reusable very high performance shared memory IPC system for client and service applications. It supports many features including:
  • Multiple transport implementations
    1. Shared memory implementation for very high performance.
    2. Unix sockets
  • A synchronous request/response channel and asynchronous response channel per ipc connection.
  • User defined private data per IPC connection.
  • Ability to call a function per service on ipc connection and disconnection.
  • Authenticated IPC connection with ability for developer to define which UIDs and GIDs are valid at connection time.
  • Fully abstracted poll system so that any poll library may be used.
  • User defined selector for determining the proper function to call per service and id.
Security
The ipc system uses default operating system security mechanics to ensure ipc connections are validated. A callback used with qb_ipcs_create() is called for every new ipc connection with the parameters of UID and GID. The callback then determines if the UID and GID are authenticated for communication.
Performance
For performance, QB_IPC_SHM (shared memory) is recommended. It is tuned for very high performance.
Client API
Client IPC API.
See also:
qbipcc.h
Server API
Server IPC API.
See also:
qbipcs.h
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 18 Mar 2016 for libqb by  doxygen 1.6.1