Skip to main content

Class: ControlPublisher

Defined in: src/sdk/data/ControlPublisher.ts:72

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.

Extends

Constructors

Constructor

new ControlPublisher(bus, pacer): ControlPublisher

Defined in: src/sdk/data/ControlPublisher.ts:78

Create a ControlPublisher.

Parameters

ParameterTypeDefault 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

Properties

bus

protected readonly bus: EventBus

Defined in: src/sdk/instruments/BasePublishers.ts:10

Inherited from

BasePublisher.bus


pacer

protected readonly pacer: undefined | PublishPacer<ControlEvents>

Defined in: src/sdk/instruments/BasePublishers.ts:13

Inherited from

BasePublisher.pacer


publishActive

protected publishActive: boolean

Defined in: src/sdk/instruments/BasePublishers.ts:12

Inherited from

BasePublisher.publishActive


publisher

protected readonly publisher: Publisher<ControlEvents>

Defined in: src/sdk/instruments/BasePublishers.ts:11

Inherited from

BasePublisher.publisher

Methods

isPublishing()

isPublishing(): boolean

Defined in: src/sdk/instruments/BasePublishers.ts:45

Tells whether or not the publisher is currently active.

Returns

boolean

True if the publisher is active, false otherwise.

Inherited from

BasePublisher.isPublishing


onUpdate()

onUpdate(): void

Defined in: src/sdk/instruments/BasePublishers.ts:52

A callback called when the publisher receives an update cycle.

Returns

void

Inherited from

BasePublisher.onUpdate


publish()

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

Defined in: src/sdk/instruments/BasePublishers.ts:63

Publish a message if publishing is acpive

Type Parameters

Type Parameter
K extends keyof ControlEvents

Parameters

ParameterTypeDefault 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


publishEvent()

publishEvent<K>(event, value): void

Defined in: src/sdk/data/ControlPublisher.ts:87

Publish a control event.

Type Parameters

Type Parameter
K extends keyof ControlEvents

Parameters

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

Returns

void


startPublish()

startPublish(): void

Defined in: src/sdk/data/ControlPublisher.ts:92

debug logger

Returns

void

Overrides

BasePublisher.startPublish


stopPublish()

stopPublish(): void

Defined in: src/sdk/instruments/BasePublishers.ts:37

Stop publishing.

Returns

void

Inherited from

BasePublisher.stopPublish