Class

ShardClientUtil

Mounted as client.shard inside a ShardingManager child process.

Constructor

new ShardClientUtil(client: ShardClientUtilOptions['client'])
client
ShardClientUtilOptions['client']

Properties

NameTypeDescription
countread-onlynumber
idread-onlynumberProcess id within the manager (first shard id of this slice).
idsread-onlynumber[]

Methods

.broadcastEval(fn, options?)

fn: (client: ShardClientUtilOptions["client"], context?: unknown) => T | Promise<T>, options?: { context?: unknown; }Promise<T[]>

Evaluate fn on every shard process (including this one via parent fan-out). Captured closure variables are NOT available — pass them via context.

await client.shard.broadcastEval(fn);

.notifyReady()

void

Signal the parent that this child is ready (call after client.login).

client.shard.notifyReady();

.requestSpawnToken(shardId)

shardId: numberPromise<void>

Request a spawn/identify token from the parent manager before connecting shards. Required so children share the host IP identify budget.

await client.shard.requestSpawnToken(shardId);

.respawn(options?)

options?: { delay?: number; }Promise<void>

await client.shard.respawn();

.send(data)

data: unknownvoid

client.shard.send(data);