Service
此内容尚不支持你的语言。
Defined in: Contract.ts:20
RPC types stay inside the descriptor; Graft supplies its dynamic activation context.
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
R |
never |
ClientR |
never |
Properties
Section titled “Properties”readonly group: Pick<RpcGroup.RpcGroup<Rpc.Any>, "requests">;Defined in: Contract.ts:22
readonly key: Key<unknown, unknown>;Defined in: Contract.ts:21
publish
Section titled “publish”readonly publish: (port: { clientProtocol: (endpoint: string) => { codecFor: CodecFor; run: (clientId: number, f: (data: FromServerEncoded) => Effect<void>) => Effect<never>; send: (clientId: number, request: FromClientEncoded, transferables?: readonly Transferable[]) => Effect<void, RpcClientError>; supportsAck: boolean; supportsTransferables: boolean; };}) => Effect<void, ServiceConflict, Scope | Graft | ClientR>;Defined in: Contract.ts:26
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
port |
{ clientProtocol: (endpoint: string) => { codecFor: CodecFor; run: (clientId: number, f: (data: FromServerEncoded) => Effect<void>) => Effect<never>; send: (clientId: number, request: FromClientEncoded, transferables?: readonly Transferable[]) => Effect<void, RpcClientError>; supportsAck: boolean; supportsTransferables: boolean; }; } |
port.clientProtocol |
(endpoint: string) => { codecFor: CodecFor; run: (clientId: number, f: (data: FromServerEncoded) => Effect<void>) => Effect<never>; send: (clientId: number, request: FromClientEncoded, transferables?: readonly Transferable[]) => Effect<void, RpcClientError>; supportsAck: boolean; supportsTransferables: boolean; } |
Returns
Section titled “Returns”Effect<void, ServiceConflict, Scope | Graft | ClientR>
readonly serve: (port: { serverProtocol: (endpoint: string) => { clientIds: Effect<ReadonlySet<number>>; codecFor: CodecFor; disconnects: Dequeue<number>; end: (clientId: number) => Effect<void>; initialMessage: Effect<Option<unknown>>; run: (f: (clientId: number, data: FromClientEncoded) => Effect<void>) => Effect<never>; send: (clientId: number, response: FromServerEncoded, transferables?: readonly Transferable[]) => Effect<void>; supportsAck: boolean; supportsNotifications: boolean; supportsSpanPropagation: boolean; supportsTransferables: boolean; };}) => Effect<never, never, R>;Defined in: Contract.ts:23
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
port |
{ serverProtocol: (endpoint: string) => { clientIds: Effect<ReadonlySet<number>>; codecFor: CodecFor; disconnects: Dequeue<number>; end: (clientId: number) => Effect<void>; initialMessage: Effect<Option<unknown>>; run: (f: (clientId: number, data: FromClientEncoded) => Effect<void>) => Effect<never>; send: (clientId: number, response: FromServerEncoded, transferables?: readonly Transferable[]) => Effect<void>; supportsAck: boolean; supportsNotifications: boolean; supportsSpanPropagation: boolean; supportsTransferables: boolean; }; } |
port.serverProtocol |
(endpoint: string) => { clientIds: Effect<ReadonlySet<number>>; codecFor: CodecFor; disconnects: Dequeue<number>; end: (clientId: number) => Effect<void>; initialMessage: Effect<Option<unknown>>; run: (f: (clientId: number, data: FromClientEncoded) => Effect<void>) => Effect<never>; send: (clientId: number, response: FromServerEncoded, transferables?: readonly Transferable[]) => Effect<void>; supportsAck: boolean; supportsNotifications: boolean; supportsSpanPropagation: boolean; supportsTransferables: boolean; } |
Returns
Section titled “Returns”Effect<never, never, R>