コンテンツにスキップ
日本語

Member

このコンテンツはまだ日本語訳がありません。

Defined in: src/cluster/Member.ts:17

Immutable description of a cluster member at a point in time. Member instances are replaced (not mutated) as their status evolves. The version counter is incremented on every status change and acts as a logical clock for gossip merges.

removedAt is set only on tombstone members (status === ‘removed’), via withRemoved. It carries the wall-clock instant at which the tombstone was created and gossips to peers so every node prunes the tombstone at roughly the same wall-clock time — see Cluster.tombstonePruneTick (#75).

new Member(address, status, version, roles?, removedAt?): Member

Defined in: src/cluster/Member.ts:20

NodeAddress

"joining" | "weakly-up" | "up" | "unreachable" | "leaving" | "down" | "removed"

number

Iterable<string> = []

number

Member

readonly address: NodeAddress

Defined in: src/cluster/Member.ts:21


readonly optional removedAt?: number

Defined in: src/cluster/Member.ts:25


readonly roles: ReadonlySet<string>

Defined in: src/cluster/Member.ts:18


readonly status: "joining" | "weakly-up" | "up" | "unreachable" | "leaving" | "down" | "removed"

Defined in: src/cluster/Member.ts:22


readonly version: number

Defined in: src/cluster/Member.ts:23

hasRole(role): boolean

Defined in: src/cluster/Member.ts:30

string

boolean


isReachable(): boolean

Defined in: src/cluster/Member.ts:32

boolean


toData(): MemberData

Defined in: src/cluster/Member.ts:39

MemberData


toString(): string

Defined in: src/cluster/Member.ts:96

string


withRemoved(removedAt): Member

Defined in: src/cluster/Member.ts:92

Transition into the removed tombstone state with a fresh removedAt timestamp. Cluster paths that definitively remove a peer (graceful leave, downing-provider force-down) call this instead of withStatus('removed') so the tombstone carries an age — required for Cluster.tombstonePruneTick to drop expired tombstones cluster-wide (#75).

number

Member


withStatus(status): Member

Defined in: src/cluster/Member.ts:80

"joining" | "weakly-up" | "up" | "unreachable" | "leaving" | "down" | "removed"

Member


static fromData(data): Member

Defined in: src/cluster/Member.ts:64

Rebuild a member from its gossiped form.

status used to be copied through verbatim, which is how an arbitrary string off the wire reached Cluster.emitStatusTransition’s match(...).exhaustive() — thrown from a socket callback, and thrown after the member had been written to the map, so the poisoned entry was re-gossiped to every peer from the node that had just crashed on it (#563). The transport rejects such a frame before it gets here now; this check is what makes the guarantee local to the type it protects.

MemberData

Member