A Publisher is a producer of data on a Domain. It uses the DomainParticipants to gain access to the Domain and is created using it. That is, the Publisher passes down the Domain from its parent class DomainParticipant. A Publisher allows the DataWriters associated with it to share the same behaviour, for example:

To use the default settings:

dds_entity_t publisher = dds_create_publisher (participant, NULL, NULL);

To supply your own settings:

dds_qos_t *qos = dds_create_qos ();
dds_listener_t *listener = dds_create_listener(NULL);
dds_lset_publication_matched(listener, publication_matched);
dds_entity_t publisher = dds_create_spublisher (participant, qos, listener);


Any DataWriters created using pub inherit the qos and listener functionality as set through it.