Updated: April 19, 2023 |
#include <pips/pips.h>
#define PIPS_GUID_INITIALIZER { .value = { 0 } }
Static initializer for the nil PiPS GUID
This macro initializes a GUID to all zeros and hence, can be used on the right of the assignment operator.
const pips_guid_t pips_guid_nil
Constant for the nil GUID
This global constant defines a GUID composed entirely of zeros. This can be used in comparison or copy operations.
#include <pips/publication.h>
#define PIPS_SUBSCRIBE 0x1
The publication will be used to receive topic updates (i.e., it's a subscriber)
#define PIPS_PUBLISH 0x2
The publication will be used to publish topic updates (i.e., it's a publisher)
#define PIPS_EXCL 0x4
The publication will be exclusive, meaning only publishers and subscribers with the same key can exchange data
#define PIPS_OWNER 0x8
The subscriber will be an owner of the associated topic, meaning the subscriber will receive any broadcasted samples. This flag is effective only when PIPS_EXCL is also set.
#define PIPS_PUBSUB (PIPS_PUBLISH|PIPS_SUBSCRIBE)
The publication will publish and subscribe to updates
#define PIPS_PEER (PIPS_EXCL|PIPS_PUBSUB)
The publication will have a peer-to-peer connection
#define PIPS_UNICAST (PIPS_EXCL|PIPS_PUBLISH)
The publication will use unicast messaging, where messages are targetted to specific subscribers
#define PIPS_SERVER (PIPS_PEER|PIPS_OWNER)
The publication will manage a peer-to-peer connection that can receive untargetted messages
#include <pips/multimap.h>
#define PIPS_MULTIMAP_INITIALIZER { .num_items = 0, .first = NULL }
Static initializer for the multimap type
This macro initializes the given pips_multimap_t instance as an empty container.