Class: Publisher

vortexdds~Publisher()

Represents a DDS publisher.

A publisher typically owns one or more Writer instances created via the Publisher.createWriter() method.

Class instances are created by the Participant.createPublisher() method.

You typically create a Publisher because you require quality-of-service parameters not available on the 'default publisher'. Frequently, you wall want to specify a QoS.partition policy so that non-default partitions are used by the contained Writer instances.

Note that DDS resources and memory consumed by DDS entities cannot be automatically reclaimed by the NodeJS engine. Once your application is finished with an Entity, you must call delete() to release these DDS resources.

Constructor

new Publisher()

Internal use only. Use Participant.createPublisher()

Extends:
See:

Extends

Members

qos :module:vortexdds.QoS

The existing QoS policies for the entity.

Type:
Overrides:

Methods

createStatusCondition(maskopt) → {module:vortexdds.StatusCondition}

Creates a StatusCondition for use in wait set.

Omitting the mask value results in all entity-appropriate status conditions being enabled.

Note that DDS resources and memory consumed by conditions cannot be automatically reclaimed by the NodeJS engine. Conditions are automatically deleted when the parent entity is deleted. Otherwise, when your application is finished with a Condition, you may call Condition.delete() to release these DDS resources.

Parameters:
Name Type Attributes Default Description
mask module:vortexdds.StatusMask <optional>
null

mask of StatusMask values of interest

Overrides:
Throws:

if the status mask is invalid

Type
module:vortexdds.DDSError
Returns:
Type
module:vortexdds.StatusCondition

createWriter(topic, qosopt, listeneropt) → {module:vortexdds.Writer}

Creates a Reader for a topic on the 'default publisher' of the participant.

Similar to Participant.createWriter() except that a Writer created based in QoS properties of this publisher.

The writer belongs to the publisher from which it is created, and is automatically deleted when the participant is deleted.

Note that DDS resources and memory consumed by DDS entities cannot be automatically reclaimed by the NodeJS engine. Once your application is finished with an Entity, you must call delete() to release these DDS resources.

Parameters:
Name Type Attributes Default Description
topic module:vortexdds.Topic

the topic to which data will be written

qos module:vortexdds.QoS <optional>
QoS.writerDefault()

quality-of-service policies for the writer.

If no argument is provided, then QoS.writerDefault() is used, whereas passing in a null value results in the topic's qos to be used.

listener module:vortexdds~WriterListener <optional>
null

an object defining listener callbacks for the writer

Throws:

if the writer cannot be created

Type
module:vortexdds.DDSError
Returns:

the Writer instance

Type
module:vortexdds.Writer

delete() → {external:Promise}

Releases the DDS resources associated with the entity and all its 'child' entities.

In some cases, releasing DDS resources can take several seconds. This methods returns a Promise that enables you to do processing after all the resources have been released.

Overrides:
Returns:
Type
external:Promise

statusChanges() → {module:vortexdds.StatusMask}

Return the DDS communication statuses that have changed since this method was last called.

Overrides:
Returns:

a mask of statuses that have changed

Type
module:vortexdds.StatusMask