PPS objects

PPS uses an object-based system; that is, a system with objects whose properties a publisher can modify. Clients that subscribe to an object receive updates when that object changes—when the publisher has modified it.

PPS objects exist as files with attributes in a special PPS filesystem. By default, PPS objects appear under /pps. You can:

PPS directories can include special objects, such as .all and .notify, which applications can open to facilitate subscription behavior.

When PPS creates, deletes, or truncates an object (a file or a directory), it places a notification string into the queue of any subscriber or publisher that has open either that object or the .all special object for the directory with the modified object. This file can be open in either full or delta mode.

PPS supports pathname open options, and objects and attribute qualifiers. PPS uses pathname open options to apply open options on the file descriptor used to open an object. Object and attribute qualifiers set specific actions to take with an object or attribute; for example, make an object non-persistent, or delete an attribute.

Pathname open options
PPS objects support an extended syntax on the pathnames used to open them. Open options are added as suffixes to the pathname, following a question mark ("?"). That is, the PPS service uses any data that follows a question mark in a pathname to apply open options on the file descriptor used to access the object. Multiple options are separated by question marks.
Object and attribute qualifiers
You can set qualifiers to read() and write() calls by starting a line containing an object or attribute name with an opening square bracket, followed by a list of single-letter or single-numeral qualifiers and terminated by a closing square bracket.