The Cogent IPC layer is a generalization of QNX 4's send/receive/reply IPC layer. Cogent IPC has many benefits that allow users to easily code what would be complex systems in C. Some of these services are:
Network-wide name registration service
DataHub exceptions and echos
true asynchronous messages
pseudo asynchronous messages
synchronous messages
QNX 4 IPC messages
Task started notification
Task death notification
automatic handling of receive/reply for Cogent IPC messages
remote procedure calls
To use the Cogent IPC layer, two services optionally provided to the Gamma developer are required: nserve and qserve. These services are run as programs on the same CPU or network as Gamma.
The nserve command is the Cascade NameServer module. Although similar to the QNX 4 nameloc program in concept, this name database has some differences that make it worth using.
The nserve module is run on every node requiring name services. Every nserve module is updated on an event-basis, rather than on a timed basis as QNX 4's nameloc is, and therefore discrepancies between multiple nserve's on a network are rare.
The qserve program is the asynchronous queue manager for Cogent IPC;. Queues are used in Cogent IPC to implement asynchronous communication channels between two programs. The qserve module is run on every node requiring Cogent queue services.