Skip to content

PersistentAI API Documentation / @persistentai/fireflow-types / MultiChannel

Class: MultiChannel<T>

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:17

Type Parameters

T

T

Constructors

Constructor

new MultiChannel<T>(): MultiChannel<T>

Returns

MultiChannel<T>

Methods

_checkTickets()

_checkTickets(): void

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:153

Internal

Returns

void


[asyncIterator]()

[asyncIterator](): AsyncIterableIterator<T>

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:101

Returns

AsyncIterableIterator<T>


clone()

clone(): MultiChannel<T>

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:131

Returns

MultiChannel<T>


close()

close(): void

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:79

Returns

void


getBuffer()

getBuffer(): T[]

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:120

Returns

T[]


getError()

getError(): Error | null

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:97

Returns

Error | null


getSubscriberCount()

getSubscriberCount(): number

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:112

Returns

number


isChannelClosed()

isChannelClosed(): boolean

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:116

Returns

boolean


removeSubscriber()

removeSubscriber(subscriber): void

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:107

Parameters

subscriber

Subscriber<T>

Returns

void


send()

send(value): void

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:30

Parameters

value

T

Returns

void


sendAsync()

sendAsync(value): Promise<void>

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:50

Send a value and wait for ALL subscribers to finish processing it. "Finished processing" = subscriber called next() again (next iteration started).

Use this when the producer and consumer both make DBOS calls in the same workflow — ensures deterministic function_id interleaving on replay.

If no subscribers exist, resolves immediately. If channel is closed while waiting, resolves immediately.

Parameters

value

T

Returns

Promise<void>


sendBatch()

sendBatch(values): void

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:69

Parameters

values

T[]

Returns

void


serialize()

serialize(): unknown

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:124

Returns

unknown


setError()

setError(error): void

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:93

Parameters

error

Error

Returns

void


deserialize()

static deserialize(value): MultiChannel<any>

Defined in: packages/fireflow-types/src/utils/multi-channel.ts:140

Parameters

value

unknown

Returns

MultiChannel<any>

Licensed under BUSL-1.1