| /** | |
| * 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.