Skip to content

GlobalDispatcher

Defined in: util/global_dispatcher.ts:51

The dispatcher shared across all map instances, see getGlobalDispatcher. Unlike a map's dispatcher it never claims the workers: it builds actors for whichever workers the pool is running, and discards them when the pool terminates those workers.

Extends

  • Evented<GlobalDispatcherEventType>

Methods

broadcast()

Call Signature

broadcast<T extends MessageType>(type: T, data: RequestResponseMessageMap[T][0]): Promise<RequestResponseMessageMap[T][1][]>

Defined in: util/global_dispatcher.ts:143

Broadcast a message to all Workers. The type can be any string, to allow sending messages that are handled by a script that was imported using importScriptInWorkers.

Type Parameters
Type Parameter
T extends MessageType
Parameters
Parameter Type
type T
data RequestResponseMessageMap[T][0]
Returns

Promise<RequestResponseMessageMap[T][1][]>

Call Signature

broadcast<TData = any, TResult = any>(type: string, data: TData): Promise<TResult[]>

Defined in: util/global_dispatcher.ts:144

Broadcast a message to all Workers. The type can be any string, to allow sending messages that are handled by a script that was imported using importScriptInWorkers.

Type Parameters
Type Parameter Default type
TData any
TResult any
Parameters
Parameter Type
type string
data TData
Returns

Promise<TResult[]>


ensureWorkers()

ensureWorkers(): Promise<void>

Defined in: util/global_dispatcher.ts:201

Restarts the workers if they don't answer a ping, for apps that learn of a return to the foreground some other way. Calls made while a check is running share that check.

Returns

Promise<void>


fire()

Call Signature

fire(event: Event<string> | ErrorEvent): this

Defined in: util/evented.ts:156

Calls every listener registered for the event's type.

Parameters
Parameter Type
event Event<string> | ErrorEvent
Returns

this

Inherited from

Evented.fire

Call Signature

fire(type: keyof GlobalDispatcherEventType, properties?: object): this

Defined in: util/evented.ts:162

Compatibility with the (type: string, properties: Object) signature from previous versions. See https://github.com/mapbox/mapbox-gl-js/issues/6522, https://github.com/mapbox/mapbox-gl-draw/issues/766

Parameters
Parameter Type
type keyof GlobalDispatcherEventType
properties? object
Returns

this

Inherited from

Evented.fire


importScript()

importScript(workerUrl: string): Promise<void>

Defined in: util/global_dispatcher.ts:178

See importScriptInWorkers. A url may be broadcast more than once, e.g. when this call is what creates the workers; the worker runs each url only once.

Parameters

Parameter Type
workerUrl string

Returns

Promise<void>


listens()

listens(type: keyof GlobalDispatcherEventType): boolean

Defined in: util/evented.ts:206

Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.

Parameters

Parameter Type Description
type keyof GlobalDispatcherEventType The event type

Returns

boolean

true if there is at least one registered listener for specified event type, false otherwise

Inherited from

Evented.listens


off()

off<T extends keyof GlobalDispatcherEventType>(type: T, listener: (event: GlobalDispatcherEventType[T]) => void): this

Defined in: util/evented.ts:117

Removes a previously registered event listener.

Type Parameters

Type Parameter
T extends keyof GlobalDispatcherEventType

Parameters

Parameter Type Description
type T The event type to remove listeners for.
listener (event: GlobalDispatcherEventType[T]) => void The listener function to remove.

Returns

this

Inherited from

Evented.off


on()

on<T extends keyof GlobalDispatcherEventType>(type: T, listener: (event: GlobalDispatcherEventType[T]) => void): Subscription

Defined in: util/evented.ts:100

Adds a listener to a specified event type.

Type Parameters

Type Parameter
T extends keyof GlobalDispatcherEventType

Parameters

Parameter Type Description
type T The event type to add a listen for.
listener (event: GlobalDispatcherEventType[T]) => void The function to be called when the event is fired. The listener function is called with the data object passed to fire, extended with target and type properties.

Returns

Subscription

Inherited from

Evented.on


once()

Call Signature

once<T extends keyof GlobalDispatcherEventType>(type: T): Promise<GlobalDispatcherEventType[T]>

Defined in: util/evented.ts:132

Adds a listener that will be called only once to a specified event type.

The listener will be called first time the event fires after the listener is registered.

Type Parameters
Type Parameter
T extends keyof GlobalDispatcherEventType
Parameters
Parameter Type Description
type T The event type to listen for.
Returns

Promise<GlobalDispatcherEventType[T]>

a promise that resolves with the event

Inherited from

Evented.once

Call Signature

once<T extends keyof GlobalDispatcherEventType>(type: T, listener: (event: GlobalDispatcherEventType[T]) => void): this

Defined in: util/evented.ts:142

Adds a listener that will be called only once to a specified event type.

The listener will be called first time the event fires after the listener is registered.

Type Parameters
Type Parameter
T extends keyof GlobalDispatcherEventType
Parameters
Parameter Type Description
type T The event type to listen for.
listener (event: GlobalDispatcherEventType[T]) => void The function to be called when the event is fired the first time.
Returns

this

this when a listener is provided

Inherited from

Evented.once


ping()

ping(timeoutMs?: number): Promise<boolean>

Defined in: util/global_dispatcher.ts:218

Pings the workers, resolving false only on silence: any answer, even an error, proves they are alive. Resolves true when no workers exist, since there is nothing to restart.

Parameters

Parameter Type Default value
timeoutMs? number PING_TIMEOUT_MS

Returns

Promise<boolean>


registerMessageHandler()

Call Signature

registerMessageHandler<T extends MessageType>(type: T, handler: MessageHandler<T>): Promise<void>

Defined in: util/global_dispatcher.ts:158

Registers a handler for messages that the workers send to this dispatcher. The type can be any string, to allow handling messages that are sent by a script that was imported using importScriptInWorkers.

Type Parameters
Type Parameter
T extends MessageType
Parameters
Parameter Type
type T
handler MessageHandler<T>
Returns

Promise<void>

Call Signature

registerMessageHandler<TData = any, TResult = any>(type: string, handler: CustomMessageHandler<TData, TResult>): Promise<void>

Defined in: util/global_dispatcher.ts:159

Registers a handler for messages that the workers send to this dispatcher. The type can be any string, to allow handling messages that are sent by a script that was imported using importScriptInWorkers.

Type Parameters
Type Parameter Default type
TData any
TResult any
Parameters
Parameter Type
type string
handler CustomMessageHandler<TData, TResult>
Returns

Promise<void>


setEventedParent()

setEventedParent(parent?: Evented<EventTypeMap>, data?: EventedParentData | (() => EventedParentData)): this

Defined in: util/evented.ts:217

Bubble all events fired by this instance of Evented to this parent instance of Evented.

Parameters

Parameter Type
parent? Evented<EventTypeMap>
data? EventedParentData | (() => EventedParentData)

Returns

this

Inherited from

Evented.setEventedParent


watchWorkers()

watchWorkers(): void

Defined in: util/global_dispatcher.ts:189

Pings the workers on every return to the foreground, restarting them if the browser terminated them while the page was hidden, as iOS does under memory pressure. Browsers fire no event for the termination, so the ping is the only way to notice it. Each map then recovers through the same contract as a lost WebGL context, see Map._handleWorkersRestarted.

Returns

void