libqb  0.16.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IPC Overview

Client IPC API.

Overview
libqb provides a generically reusable very high performance shared memory IPC sytem 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 recogmended. It is tuned for very high performance.
Client API
See Also
qbipcc.h
Server API
Server IPC API.
See Also
qbipcs.h