@actuallab/rpc 12.2.21 → 12.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +352 -225
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +74 -20
- package/dist/index.d.ts +74 -20
- package/dist/index.js +351 -224
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -192,9 +192,18 @@ declare abstract class RpcSerializationFormat {
|
|
|
192
192
|
createEncoder(): Encoder | undefined;
|
|
193
193
|
/** Create a reusable binary decoder for this format. Returns undefined for text formats. */
|
|
194
194
|
createDecoder(): Decoder | undefined;
|
|
195
|
-
|
|
196
|
-
static
|
|
195
|
+
static SystemJsonV5: RpcSerializationFormat;
|
|
196
|
+
static SystemJsonV5NP: RpcSerializationFormat;
|
|
197
|
+
static NewtonsoftJsonV5: RpcSerializationFormat;
|
|
198
|
+
static NewtonsoftJsonV5NP: RpcSerializationFormat;
|
|
199
|
+
static MessagePackV6: RpcSerializationFormat;
|
|
200
|
+
static MemoryPackV6: RpcSerializationFormat;
|
|
201
|
+
static MessagePackV6C: RpcSerializationFormat;
|
|
202
|
+
static MemoryPackV6C: RpcSerializationFormat;
|
|
203
|
+
static All: readonly RpcSerializationFormat[];
|
|
204
|
+
/** Convenience shortcut for RpcSerializationFormatResolver.Default.get(key). */
|
|
197
205
|
static get(key: string): RpcSerializationFormat;
|
|
206
|
+
/** Convenience shortcut for RpcSerializationFormatResolver.Default.tryGet(key). */
|
|
198
207
|
static tryGet(key: string): RpcSerializationFormat | undefined;
|
|
199
208
|
}
|
|
200
209
|
/**
|
|
@@ -242,6 +251,20 @@ declare class RpcMessagePackCompactSerializationFormat extends RpcSerializationF
|
|
|
242
251
|
createEncoder(): Encoder;
|
|
243
252
|
createDecoder(): Decoder;
|
|
244
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Resolves RpcSerializationFormat instances by key, with a configurable default.
|
|
256
|
+
* Mirrors .NET RpcSerializationFormatResolver.
|
|
257
|
+
*/
|
|
258
|
+
declare class RpcSerializationFormatResolver {
|
|
259
|
+
static DefaultFormats: readonly RpcSerializationFormat[];
|
|
260
|
+
static Default: RpcSerializationFormatResolver;
|
|
261
|
+
readonly defaultFormatKey: string;
|
|
262
|
+
readonly formats: ReadonlyMap<string, RpcSerializationFormat>;
|
|
263
|
+
get defaultFormat(): RpcSerializationFormat;
|
|
264
|
+
constructor(defaultFormatKey: string, formats?: Iterable<RpcSerializationFormat>);
|
|
265
|
+
get(key: string): RpcSerializationFormat;
|
|
266
|
+
tryGet(key: string): RpcSerializationFormat | undefined;
|
|
267
|
+
}
|
|
245
268
|
|
|
246
269
|
/** Abstract WebSocket interface — works with both browser WebSocket and Node.js ws. */
|
|
247
270
|
interface WebSocketLike {
|
|
@@ -574,12 +597,6 @@ declare class RpcSharedObjectTracker {
|
|
|
574
597
|
disconnectAll(): void;
|
|
575
598
|
}
|
|
576
599
|
|
|
577
|
-
/**
|
|
578
|
-
* Default serialization format for RpcClientPeer connections.
|
|
579
|
-
* TS uses plain JSON.stringify without polymorphic type wrapping,
|
|
580
|
-
* so "json5np" (System.Text.Json, no polymorphism) is the correct match.
|
|
581
|
-
*/
|
|
582
|
-
declare const DEFAULT_SERIALIZATION_FORMAT = "json5np";
|
|
583
600
|
/** WebSocket close code sent by the server when the client's serialization format is unsupported. */
|
|
584
601
|
declare const RPC_CLOSE_CODE_UNSUPPORTED_FORMAT = 4001;
|
|
585
602
|
/** Builds the WebSocket connection URL for an RpcClientPeer. */
|
|
@@ -717,29 +734,44 @@ interface RpcStreamRef {
|
|
|
717
734
|
readonly allowReconnect: boolean;
|
|
718
735
|
readonly isRealTime: boolean;
|
|
719
736
|
}
|
|
737
|
+
/** Configuration options for creating a local (origin-side) RpcStream. */
|
|
738
|
+
interface RpcStreamOptions<T> {
|
|
739
|
+
ackPeriod?: number;
|
|
740
|
+
ackAdvance?: number;
|
|
741
|
+
allowReconnect?: boolean;
|
|
742
|
+
isRealTime?: boolean;
|
|
743
|
+
canSkipTo?: (item: T) => boolean;
|
|
744
|
+
}
|
|
720
745
|
/**
|
|
721
746
|
* Parses a stream reference string of the form "{hostId},{localId},{ackPeriod},{ackAdvance}".
|
|
722
747
|
* Returns null if the value is not a valid stream reference.
|
|
723
748
|
*/
|
|
724
749
|
declare function parseStreamRef(value: unknown): RpcStreamRef | null;
|
|
725
750
|
/**
|
|
726
|
-
*
|
|
727
|
-
* ($sys.I, $sys.B, $sys.End) and implements AsyncIterable<T> for for-await-of consumption.
|
|
751
|
+
* Dual-mode RPC stream — works as both local (origin-side) and remote (target-side).
|
|
728
752
|
*
|
|
729
|
-
*
|
|
730
|
-
*
|
|
731
|
-
*
|
|
732
|
-
*
|
|
733
|
-
*
|
|
734
|
-
*
|
|
753
|
+
* **Local mode**: wraps an AsyncIterable and carries streaming configuration
|
|
754
|
+
* (IsRealTime, CanSkipTo, etc.). Created by service methods and sent to the
|
|
755
|
+
* remote peer via RpcStreamSender.
|
|
756
|
+
*
|
|
757
|
+
* **Remote mode**: consumes items sent by the server via system calls
|
|
758
|
+
* ($sys.I, $sys.B, $sys.End) and implements AsyncIterable for for-await-of consumption.
|
|
759
|
+
*
|
|
760
|
+
* This mirrors the .NET RpcStream<T> design where the same type serves both roles.
|
|
735
761
|
*/
|
|
736
762
|
declare class RpcStream<T> implements AsyncIterable<T>, IRpcObject {
|
|
737
763
|
readonly id: RpcObjectId;
|
|
738
|
-
readonly kind:
|
|
764
|
+
readonly kind: RpcObjectKind;
|
|
739
765
|
readonly allowReconnect: boolean;
|
|
740
|
-
readonly
|
|
766
|
+
readonly isRealTime: boolean;
|
|
767
|
+
readonly canSkipTo: (item: T) => boolean;
|
|
741
768
|
readonly ackPeriod: number;
|
|
742
769
|
readonly ackAdvance: number;
|
|
770
|
+
readonly localSource?: AsyncIterable<T>;
|
|
771
|
+
readonly peer: RpcPeer;
|
|
772
|
+
private _sender?;
|
|
773
|
+
private _toRefValue?;
|
|
774
|
+
private _whenSent?;
|
|
743
775
|
private _buffer;
|
|
744
776
|
private _nextExpectedIndex;
|
|
745
777
|
private _consumerWaiting;
|
|
@@ -749,7 +781,27 @@ declare class RpcStream<T> implements AsyncIterable<T>, IRpcObject {
|
|
|
749
781
|
private _started;
|
|
750
782
|
private _iterating;
|
|
751
783
|
private _ackSentUpTo;
|
|
784
|
+
/** Create a local (origin-side) stream wrapping an async iterable with optional configuration. */
|
|
785
|
+
constructor(source: AsyncIterable<T>, options?: RpcStreamOptions<T>);
|
|
786
|
+
/** Create a remote (target-side) stream from a parsed stream reference and peer. */
|
|
752
787
|
constructor(ref: RpcStreamRef, peer: RpcPeer);
|
|
788
|
+
/**
|
|
789
|
+
* For local streams: resolves when the sender finishes pumping (after `toRef()` was called).
|
|
790
|
+
* Rejects if the source throws. Throws if `toRef()` hasn't been called yet.
|
|
791
|
+
*/
|
|
792
|
+
get whenSent(): Promise<void>;
|
|
793
|
+
/**
|
|
794
|
+
* For local streams: bind to a peer, create and register an `RpcStreamSender`,
|
|
795
|
+
* start pumping items from the local source in the background, and return the
|
|
796
|
+
* stream reference.
|
|
797
|
+
*
|
|
798
|
+
* For binary peers the ref is a MessagePack-compatible object
|
|
799
|
+
* (`{ SerializedId, AckPeriod, AckAdvance, AllowReconnect }`);
|
|
800
|
+
* for text peers it is a comma-separated string.
|
|
801
|
+
*
|
|
802
|
+
* Can only be called once per stream.
|
|
803
|
+
*/
|
|
804
|
+
toRef(peer: RpcPeer): unknown;
|
|
753
805
|
/** Called by system call handler when a single item arrives ($sys.I). */
|
|
754
806
|
onItem(index: number, item: T): void;
|
|
755
807
|
/** Called by system call handler when a batch arrives ($sys.B). */
|
|
@@ -787,6 +839,7 @@ declare function resolveStreamRefs(value: unknown, peer: RpcPeer): unknown;
|
|
|
787
839
|
* - Client sends AckEnd to acknowledge completion
|
|
788
840
|
*/
|
|
789
841
|
declare class RpcStreamSender<T> implements IRpcObject {
|
|
842
|
+
private static readonly _emptyGuid;
|
|
790
843
|
readonly id: RpcObjectId;
|
|
791
844
|
readonly kind: 0;
|
|
792
845
|
readonly allowReconnect: boolean;
|
|
@@ -800,11 +853,12 @@ declare class RpcStreamSender<T> implements IRpcObject {
|
|
|
800
853
|
private _started;
|
|
801
854
|
private _lastAckedIndex;
|
|
802
855
|
private _ackWaiting;
|
|
856
|
+
private _resetRequested;
|
|
803
857
|
constructor(peer: RpcPeer, ackPeriod?: number, ackAdvance?: number, allowReconnect?: boolean, isRealTime?: boolean, canSkipTo?: (item: T) => boolean);
|
|
804
858
|
/** Returns the stream reference string for the $sys.Ok response. */
|
|
805
859
|
toRef(): string;
|
|
806
860
|
/** Called by system call handler when $sys.Ack is received from the client. */
|
|
807
|
-
onAck(nextIndex: number,
|
|
861
|
+
onAck(nextIndex: number, hostId: string): void;
|
|
808
862
|
/** Called by system call handler when $sys.AckEnd is received from the client. */
|
|
809
863
|
onAckEnd(_hostId: string): void;
|
|
810
864
|
/** Send a single item to the client. */
|
|
@@ -913,4 +967,4 @@ declare function xxh3_64str(input: string, seed?: bigint): bigint;
|
|
|
913
967
|
*/
|
|
914
968
|
declare function computeMethodHash(methodName: string): number;
|
|
915
969
|
|
|
916
|
-
export { ARG_DELIMITER,
|
|
970
|
+
export { ARG_DELIMITER, ENVELOPE_DELIMITER, FRAME_DELIMITER, type IRpcObject, type MethodMeta, RPC_CLOSE_CODE_UNSUPPORTED_FORMAT, type RemoteHandshake, type RpcCallOptions, RpcCallTypeId, RpcClientPeer, RpcClientPeerReconnectDelayer, type RpcConnection, type RpcConnectionUrlResolver, type RpcDeserializedMessage, type RpcDispatchContext, RpcHub, RpcInboundCall, RpcInboundCallTracker, RpcJsonSerializationFormat, type RpcMessage, RpcMessageChannelConnection, RpcMessagePackCompactSerializationFormat, RpcMessagePackSerializationFormat, type RpcMethodDef, type RpcMethodDefInput, RpcMethodRegistry, type RpcObjectId, RpcObjectKind, RpcOutboundCall, RpcOutboundCallTracker, RpcPeer, RpcPeerConnectionKind, type RpcPeerState, RpcPeerStateKind, RpcPeerStateMonitor, type RpcReceivedMessage, RpcRemoteObjectTracker, RpcSerializationFormat, RpcSerializationFormatResolver, RpcServerPeer, type RpcServiceDef, RpcServiceHost, type RpcServiceImpl, RpcSharedObjectTracker, RpcStream, type RpcStreamOptions, type RpcStreamRef, RpcStreamSender, RpcSystemCallHandler, RpcSystemCallSender, RpcSystemCalls, RpcType, RpcWebSocketConnection, type RpcWireData, type ServiceMeta, type WebSocketLike, type WebSocketServer, WebSocketState, computeMethodHash, createBinaryEncoder, createMessageChannelPair, createRpcClient, defaultBinaryDecoder, defaultBinaryEncoder, defaultConnectionUrlResolver, defineRpcService, deserializeBinaryMessage, deserializeCompactBinaryMessage, deserializeMessage, getMethodsMeta, getServiceMeta, getStateDescription, isConnected, likelyConnected, parseStreamRef, resolveStreamRefs, rpcMethod, rpcService, serializeBinaryFrame, serializeBinaryMessage, serializeCompactBinaryMessage, serializeFrame, serializeMessage, splitBinaryFrame, splitCompactBinaryFrame, splitFrame, wireMethodName, xxh3_64, xxh3_64str };
|
package/dist/index.d.ts
CHANGED
|
@@ -192,9 +192,18 @@ declare abstract class RpcSerializationFormat {
|
|
|
192
192
|
createEncoder(): Encoder | undefined;
|
|
193
193
|
/** Create a reusable binary decoder for this format. Returns undefined for text formats. */
|
|
194
194
|
createDecoder(): Decoder | undefined;
|
|
195
|
-
|
|
196
|
-
static
|
|
195
|
+
static SystemJsonV5: RpcSerializationFormat;
|
|
196
|
+
static SystemJsonV5NP: RpcSerializationFormat;
|
|
197
|
+
static NewtonsoftJsonV5: RpcSerializationFormat;
|
|
198
|
+
static NewtonsoftJsonV5NP: RpcSerializationFormat;
|
|
199
|
+
static MessagePackV6: RpcSerializationFormat;
|
|
200
|
+
static MemoryPackV6: RpcSerializationFormat;
|
|
201
|
+
static MessagePackV6C: RpcSerializationFormat;
|
|
202
|
+
static MemoryPackV6C: RpcSerializationFormat;
|
|
203
|
+
static All: readonly RpcSerializationFormat[];
|
|
204
|
+
/** Convenience shortcut for RpcSerializationFormatResolver.Default.get(key). */
|
|
197
205
|
static get(key: string): RpcSerializationFormat;
|
|
206
|
+
/** Convenience shortcut for RpcSerializationFormatResolver.Default.tryGet(key). */
|
|
198
207
|
static tryGet(key: string): RpcSerializationFormat | undefined;
|
|
199
208
|
}
|
|
200
209
|
/**
|
|
@@ -242,6 +251,20 @@ declare class RpcMessagePackCompactSerializationFormat extends RpcSerializationF
|
|
|
242
251
|
createEncoder(): Encoder;
|
|
243
252
|
createDecoder(): Decoder;
|
|
244
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Resolves RpcSerializationFormat instances by key, with a configurable default.
|
|
256
|
+
* Mirrors .NET RpcSerializationFormatResolver.
|
|
257
|
+
*/
|
|
258
|
+
declare class RpcSerializationFormatResolver {
|
|
259
|
+
static DefaultFormats: readonly RpcSerializationFormat[];
|
|
260
|
+
static Default: RpcSerializationFormatResolver;
|
|
261
|
+
readonly defaultFormatKey: string;
|
|
262
|
+
readonly formats: ReadonlyMap<string, RpcSerializationFormat>;
|
|
263
|
+
get defaultFormat(): RpcSerializationFormat;
|
|
264
|
+
constructor(defaultFormatKey: string, formats?: Iterable<RpcSerializationFormat>);
|
|
265
|
+
get(key: string): RpcSerializationFormat;
|
|
266
|
+
tryGet(key: string): RpcSerializationFormat | undefined;
|
|
267
|
+
}
|
|
245
268
|
|
|
246
269
|
/** Abstract WebSocket interface — works with both browser WebSocket and Node.js ws. */
|
|
247
270
|
interface WebSocketLike {
|
|
@@ -574,12 +597,6 @@ declare class RpcSharedObjectTracker {
|
|
|
574
597
|
disconnectAll(): void;
|
|
575
598
|
}
|
|
576
599
|
|
|
577
|
-
/**
|
|
578
|
-
* Default serialization format for RpcClientPeer connections.
|
|
579
|
-
* TS uses plain JSON.stringify without polymorphic type wrapping,
|
|
580
|
-
* so "json5np" (System.Text.Json, no polymorphism) is the correct match.
|
|
581
|
-
*/
|
|
582
|
-
declare const DEFAULT_SERIALIZATION_FORMAT = "json5np";
|
|
583
600
|
/** WebSocket close code sent by the server when the client's serialization format is unsupported. */
|
|
584
601
|
declare const RPC_CLOSE_CODE_UNSUPPORTED_FORMAT = 4001;
|
|
585
602
|
/** Builds the WebSocket connection URL for an RpcClientPeer. */
|
|
@@ -717,29 +734,44 @@ interface RpcStreamRef {
|
|
|
717
734
|
readonly allowReconnect: boolean;
|
|
718
735
|
readonly isRealTime: boolean;
|
|
719
736
|
}
|
|
737
|
+
/** Configuration options for creating a local (origin-side) RpcStream. */
|
|
738
|
+
interface RpcStreamOptions<T> {
|
|
739
|
+
ackPeriod?: number;
|
|
740
|
+
ackAdvance?: number;
|
|
741
|
+
allowReconnect?: boolean;
|
|
742
|
+
isRealTime?: boolean;
|
|
743
|
+
canSkipTo?: (item: T) => boolean;
|
|
744
|
+
}
|
|
720
745
|
/**
|
|
721
746
|
* Parses a stream reference string of the form "{hostId},{localId},{ackPeriod},{ackAdvance}".
|
|
722
747
|
* Returns null if the value is not a valid stream reference.
|
|
723
748
|
*/
|
|
724
749
|
declare function parseStreamRef(value: unknown): RpcStreamRef | null;
|
|
725
750
|
/**
|
|
726
|
-
*
|
|
727
|
-
* ($sys.I, $sys.B, $sys.End) and implements AsyncIterable<T> for for-await-of consumption.
|
|
751
|
+
* Dual-mode RPC stream — works as both local (origin-side) and remote (target-side).
|
|
728
752
|
*
|
|
729
|
-
*
|
|
730
|
-
*
|
|
731
|
-
*
|
|
732
|
-
*
|
|
733
|
-
*
|
|
734
|
-
*
|
|
753
|
+
* **Local mode**: wraps an AsyncIterable and carries streaming configuration
|
|
754
|
+
* (IsRealTime, CanSkipTo, etc.). Created by service methods and sent to the
|
|
755
|
+
* remote peer via RpcStreamSender.
|
|
756
|
+
*
|
|
757
|
+
* **Remote mode**: consumes items sent by the server via system calls
|
|
758
|
+
* ($sys.I, $sys.B, $sys.End) and implements AsyncIterable for for-await-of consumption.
|
|
759
|
+
*
|
|
760
|
+
* This mirrors the .NET RpcStream<T> design where the same type serves both roles.
|
|
735
761
|
*/
|
|
736
762
|
declare class RpcStream<T> implements AsyncIterable<T>, IRpcObject {
|
|
737
763
|
readonly id: RpcObjectId;
|
|
738
|
-
readonly kind:
|
|
764
|
+
readonly kind: RpcObjectKind;
|
|
739
765
|
readonly allowReconnect: boolean;
|
|
740
|
-
readonly
|
|
766
|
+
readonly isRealTime: boolean;
|
|
767
|
+
readonly canSkipTo: (item: T) => boolean;
|
|
741
768
|
readonly ackPeriod: number;
|
|
742
769
|
readonly ackAdvance: number;
|
|
770
|
+
readonly localSource?: AsyncIterable<T>;
|
|
771
|
+
readonly peer: RpcPeer;
|
|
772
|
+
private _sender?;
|
|
773
|
+
private _toRefValue?;
|
|
774
|
+
private _whenSent?;
|
|
743
775
|
private _buffer;
|
|
744
776
|
private _nextExpectedIndex;
|
|
745
777
|
private _consumerWaiting;
|
|
@@ -749,7 +781,27 @@ declare class RpcStream<T> implements AsyncIterable<T>, IRpcObject {
|
|
|
749
781
|
private _started;
|
|
750
782
|
private _iterating;
|
|
751
783
|
private _ackSentUpTo;
|
|
784
|
+
/** Create a local (origin-side) stream wrapping an async iterable with optional configuration. */
|
|
785
|
+
constructor(source: AsyncIterable<T>, options?: RpcStreamOptions<T>);
|
|
786
|
+
/** Create a remote (target-side) stream from a parsed stream reference and peer. */
|
|
752
787
|
constructor(ref: RpcStreamRef, peer: RpcPeer);
|
|
788
|
+
/**
|
|
789
|
+
* For local streams: resolves when the sender finishes pumping (after `toRef()` was called).
|
|
790
|
+
* Rejects if the source throws. Throws if `toRef()` hasn't been called yet.
|
|
791
|
+
*/
|
|
792
|
+
get whenSent(): Promise<void>;
|
|
793
|
+
/**
|
|
794
|
+
* For local streams: bind to a peer, create and register an `RpcStreamSender`,
|
|
795
|
+
* start pumping items from the local source in the background, and return the
|
|
796
|
+
* stream reference.
|
|
797
|
+
*
|
|
798
|
+
* For binary peers the ref is a MessagePack-compatible object
|
|
799
|
+
* (`{ SerializedId, AckPeriod, AckAdvance, AllowReconnect }`);
|
|
800
|
+
* for text peers it is a comma-separated string.
|
|
801
|
+
*
|
|
802
|
+
* Can only be called once per stream.
|
|
803
|
+
*/
|
|
804
|
+
toRef(peer: RpcPeer): unknown;
|
|
753
805
|
/** Called by system call handler when a single item arrives ($sys.I). */
|
|
754
806
|
onItem(index: number, item: T): void;
|
|
755
807
|
/** Called by system call handler when a batch arrives ($sys.B). */
|
|
@@ -787,6 +839,7 @@ declare function resolveStreamRefs(value: unknown, peer: RpcPeer): unknown;
|
|
|
787
839
|
* - Client sends AckEnd to acknowledge completion
|
|
788
840
|
*/
|
|
789
841
|
declare class RpcStreamSender<T> implements IRpcObject {
|
|
842
|
+
private static readonly _emptyGuid;
|
|
790
843
|
readonly id: RpcObjectId;
|
|
791
844
|
readonly kind: 0;
|
|
792
845
|
readonly allowReconnect: boolean;
|
|
@@ -800,11 +853,12 @@ declare class RpcStreamSender<T> implements IRpcObject {
|
|
|
800
853
|
private _started;
|
|
801
854
|
private _lastAckedIndex;
|
|
802
855
|
private _ackWaiting;
|
|
856
|
+
private _resetRequested;
|
|
803
857
|
constructor(peer: RpcPeer, ackPeriod?: number, ackAdvance?: number, allowReconnect?: boolean, isRealTime?: boolean, canSkipTo?: (item: T) => boolean);
|
|
804
858
|
/** Returns the stream reference string for the $sys.Ok response. */
|
|
805
859
|
toRef(): string;
|
|
806
860
|
/** Called by system call handler when $sys.Ack is received from the client. */
|
|
807
|
-
onAck(nextIndex: number,
|
|
861
|
+
onAck(nextIndex: number, hostId: string): void;
|
|
808
862
|
/** Called by system call handler when $sys.AckEnd is received from the client. */
|
|
809
863
|
onAckEnd(_hostId: string): void;
|
|
810
864
|
/** Send a single item to the client. */
|
|
@@ -913,4 +967,4 @@ declare function xxh3_64str(input: string, seed?: bigint): bigint;
|
|
|
913
967
|
*/
|
|
914
968
|
declare function computeMethodHash(methodName: string): number;
|
|
915
969
|
|
|
916
|
-
export { ARG_DELIMITER,
|
|
970
|
+
export { ARG_DELIMITER, ENVELOPE_DELIMITER, FRAME_DELIMITER, type IRpcObject, type MethodMeta, RPC_CLOSE_CODE_UNSUPPORTED_FORMAT, type RemoteHandshake, type RpcCallOptions, RpcCallTypeId, RpcClientPeer, RpcClientPeerReconnectDelayer, type RpcConnection, type RpcConnectionUrlResolver, type RpcDeserializedMessage, type RpcDispatchContext, RpcHub, RpcInboundCall, RpcInboundCallTracker, RpcJsonSerializationFormat, type RpcMessage, RpcMessageChannelConnection, RpcMessagePackCompactSerializationFormat, RpcMessagePackSerializationFormat, type RpcMethodDef, type RpcMethodDefInput, RpcMethodRegistry, type RpcObjectId, RpcObjectKind, RpcOutboundCall, RpcOutboundCallTracker, RpcPeer, RpcPeerConnectionKind, type RpcPeerState, RpcPeerStateKind, RpcPeerStateMonitor, type RpcReceivedMessage, RpcRemoteObjectTracker, RpcSerializationFormat, RpcSerializationFormatResolver, RpcServerPeer, type RpcServiceDef, RpcServiceHost, type RpcServiceImpl, RpcSharedObjectTracker, RpcStream, type RpcStreamOptions, type RpcStreamRef, RpcStreamSender, RpcSystemCallHandler, RpcSystemCallSender, RpcSystemCalls, RpcType, RpcWebSocketConnection, type RpcWireData, type ServiceMeta, type WebSocketLike, type WebSocketServer, WebSocketState, computeMethodHash, createBinaryEncoder, createMessageChannelPair, createRpcClient, defaultBinaryDecoder, defaultBinaryEncoder, defaultConnectionUrlResolver, defineRpcService, deserializeBinaryMessage, deserializeCompactBinaryMessage, deserializeMessage, getMethodsMeta, getServiceMeta, getStateDescription, isConnected, likelyConnected, parseStreamRef, resolveStreamRefs, rpcMethod, rpcService, serializeBinaryFrame, serializeBinaryMessage, serializeCompactBinaryMessage, serializeFrame, serializeMessage, splitBinaryFrame, splitCompactBinaryFrame, splitFrame, wireMethodName, xxh3_64, xxh3_64str };
|