Skip to main content

Class: ControlPublisher

A publisher for control interactions. This is meant to handle the events for which there aren't existing HEvents in the sim to allow us to maintain a decoupled, event-driven architecture.

Hierarchy

Constructors

constructor

new ControlPublisher(bus, pacer?): ControlPublisher

Create a ControlPublisher.

Parameters

NameTypeDefault valueDescription
busEventBusundefinedThe EventBus to publish to.
pacerundefined | PublishPacer<ControlEvents>undefinedAn optional pacer to use to control the rate of publishing.

Returns

ControlPublisher

Overrides

BasePublisher.constructor

Defined in

src/sdk/data/ControlPublisher.ts:78

Properties

bus

Protected Readonly bus: EventBus

Inherited from

BasePublisher.bus

Defined in

src/sdk/instruments/BasePublishers.ts:10


pacer

Protected Readonly pacer: undefined | PublishPacer<ControlEvents>

Inherited from

BasePublisher.pacer

Defined in

src/sdk/instruments/BasePublishers.ts:13


publishActive

Protected publishActive: boolean

Inherited from

BasePublisher.publishActive

Defined in

src/sdk/instruments/BasePublishers.ts:12


publisher

Protected Readonly publisher: Publisher<ControlEvents>

Inherited from

BasePublisher.publisher

Defined in

src/sdk/instruments/BasePublishers.ts:11

Methods

isPublishing

isPublishing(): boolean

Tells whether or not the publisher is currently active.

Returns

boolean

True if the publisher is active, false otherwise.

Inherited from

BasePublisher.isPublishing

Defined in

src/sdk/instruments/BasePublishers.ts:45


onUpdate

onUpdate(): void

A callback called when the publisher receives an update cycle.

Returns

void

Inherited from

BasePublisher.onUpdate

Defined in

src/sdk/instruments/BasePublishers.ts:52


publish

publish<K>(topic, data, sync?, isCached?): void

Publish a message if publishing is acpive

Type parameters

NameType
Kextends keyof ControlEvents

Parameters

NameTypeDefault valueDescription
topicKundefinedThe topic key to publish to.
dataControlEvents[K]undefinedThe data type for chosen topic.
syncbooleanfalseWhether or not the event should be synced to other instruments. Defaults to false.
isCachedbooleantrueWhether or not the event should be cached. Defaults to true.

Returns

void

Inherited from

BasePublisher.publish

Defined in

src/sdk/instruments/BasePublishers.ts:63


publishEvent

publishEvent<K>(event, value): void

Publish a control event.

Type parameters

NameType
Kextends keyof ControlEvents

Parameters

NameTypeDescription
eventKThe event from ControlEvents.
valueControlEvents[K]The value of the event.

Returns

void

Defined in

src/sdk/data/ControlPublisher.ts:87


startPublish

startPublish(): void

debug logger

Returns

void

Overrides

BasePublisher.startPublish

Defined in

src/sdk/data/ControlPublisher.ts:92


stopPublish

stopPublish(): void

Stop publishing.

Returns

void

Inherited from

BasePublisher.stopPublish

Defined in

src/sdk/instruments/BasePublishers.ts:37