EdgeAIG's picture
download
raw
1.38 kB
/**
* The `SingletonAddress` module models the runtime address assigned to a cluster
* singleton registration. The address pairs the singleton `name` with the
* `ShardId` selected from that name and its shard group, giving sharding one
* stable value for registration events, equality, hashing, and local singleton
* fiber tracking.
*
* @since 4.0.0
*/
import * as Equal from "../../Equal.js";
import * as Hash from "../../Hash.js";
import * as Schema from "../../Schema.js";
import { ShardId } from "./ShardId.js";
const TypeId = "~effect/cluster/SingletonAddress";
/**
* Represents the unique address of an singleton within the cluster.
*
* @category address
* @since 4.0.0
*/
export class SingletonAddress extends /*#__PURE__*/Schema.Class(TypeId)({
shardId: ShardId,
name: Schema.String
}) {
/**
* Marks this value as a cluster singleton address for runtime guards.
*
* @since 4.0.0
*/
[TypeId] = TypeId;
/**
* Computes a structural hash from the singleton name and shard id.
*
* @since 4.0.0
*/
[Hash.symbol]() {
return Hash.string(`${this.name}:${this.shardId.toString()}`);
}
/**
* Compares singleton addresses by name and shard id.
*
* @since 4.0.0
*/
[Equal.symbol](that) {
return this.name === that.name && Equal.equals(this.shardId, that.shardId);
}
}
//# sourceMappingURL=SingletonAddress.js.map

Xet Storage Details

Size:
1.38 kB
·
Xet hash:
de373bbacff3aff77015159d06d3fe4b288f6ed279747a2bfb29c33bf2ca0937

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.