EdgeAIG/opencode / .opencode /node_modules /effect /src /unstable /cluster /ShardingRegistrationEvent.ts
EdgeAIG's picture
download
raw
1.9 kB
/**
* The `ShardingRegistrationEvent` module models the live notifications emitted
* by `Sharding` when the local runner registers an entity handler or singleton.
* Consumers can use these events to wait for registrations during startup,
* inspect which capabilities a runner made available, or assert registration
* behavior in tests.
*
* @since 4.0.0
*/
import * as Data from "../../Data.ts"
import type { Entity } from "./Entity.ts"
import type { SingletonAddress } from "./SingletonAddress.ts"
/**
* Represents events that can occur when a runner registers entities or singletons.
*
* @category models
* @since 4.0.0
*/
export type ShardingRegistrationEvent =
| EntityRegistered
| SingletonRegistered
/**
* Represents an event that occurs when a new entity is registered with a runner.
*
* @category models
* @since 4.0.0
*/
export interface EntityRegistered {
readonly _tag: "EntityRegistered"
readonly entity: Entity<any, any>
}
/**
* Represents an event that occurs when a new singleton is registered with a
* runner.
*
* @category models
* @since 4.0.0
*/
export interface SingletonRegistered {
readonly _tag: "SingletonRegistered"
readonly address: SingletonAddress
}
/**
* Constructors and matchers for sharding registration events.
*
* @category pattern matching
* @since 4.0.0
*/
export const {
/**
* Pattern matches on a sharding registration event and dispatches to the
* matching variant handler.
*
* @category pattern matching
* @since 4.0.0
*/
$match: match,
/**
* Creates an event for an entity registered by the local runner.
*
* @category constructors
* @since 4.0.0
*/
EntityRegistered,
/**
* Creates an event for a singleton registered by the local runner.
*
* @category constructors
* @since 4.0.0
*/
SingletonRegistered
} = Data.taggedEnum<ShardingRegistrationEvent>()

Xet Storage Details

Size:
1.9 kB
·
Xet hash:
4a54f021ad2a3214e99163bae0adb63afa87e9336a012531df3e59c141cfd532

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