@zlink-systems/stream-connector 0.22.0 → 0.24.0
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/browser/Contracts/Calls/ZlinkStreamCalls.d.ts +1 -3
- package/dist/browser/Contracts/IZlinkStreamConnector.d.ts +10 -24
- package/dist/browser/Contracts/ZlinkStreamActor.d.ts +10 -0
- package/dist/browser/Contracts/ZlinkStreamConnectorOptions.d.ts +1 -11
- package/dist/browser/Contracts/ZlinkStreamEnums.d.ts +2 -16
- package/dist/browser/Contracts/ZlinkStreamModels.d.ts +16 -14
- package/dist/browser/Contracts/index.d.ts +4 -3
- package/dist/browser/Runtime/Calls/ZlinkStreamCallBuilders.d.ts +5 -7
- package/dist/browser/Runtime/Protocol/ZlinkStreamFrameProtocol.d.ts +3 -5
- package/dist/browser/Runtime/Protocol/ZlinkStreamHeaderCodec.d.ts +2 -7
- package/dist/browser/Runtime/ZlinkStreamActors.d.ts +45 -0
- package/dist/browser/Runtime/ZlinkStreamConnector.d.ts +19 -30
- package/dist/browser/Runtime/ZlinkStreamConnectorLifecycle.d.ts +7 -1
- package/dist/browser/Runtime/ZlinkStreamConnectorOptions.d.ts +1 -2
- package/dist/browser/Runtime/ZlinkStreamFrameSender.d.ts +3 -5
- package/dist/browser/Runtime/ZlinkStreamPendingRequests.d.ts +3 -3
- package/dist/browser/Runtime/ZlinkStreamReceiveDispatcher.d.ts +3 -3
- package/dist/browser/Runtime/ZlinkStreamReceivedMessages.d.ts +1 -0
- package/dist/browser/index.global.js +504 -262
- package/dist/browser/index.mjs +504 -262
- package/package.json +2 -2
- package/dist/browser/Runtime/ZlinkFlowContext.d.ts +0 -15
- package/dist/browser/Runtime/ZlinkStreamDiagnosticsLevelCell.d.ts +0 -16
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { ZlinkStreamMetadata } from '../ZlinkStreamMetadata';
|
|
2
|
-
import type { ZlinkStreamEncodedPayload,
|
|
2
|
+
import type { ZlinkStreamEncodedPayload, ZlinkStreamMessage, ZlinkStreamResultOf } from '../ZlinkStreamModels';
|
|
3
3
|
export interface ZlinkStreamSendCall {
|
|
4
4
|
packetName(name: string): ZlinkStreamSendCall;
|
|
5
5
|
metadata(key: string, value: string): ZlinkStreamSendCall;
|
|
6
6
|
metadata(metadata: ZlinkStreamMetadata): ZlinkStreamSendCall;
|
|
7
7
|
compress(): ZlinkStreamSendCall;
|
|
8
|
-
flowFrom(flow: ZlinkStreamFlow): ZlinkStreamSendCall;
|
|
9
8
|
submit(): Promise<void>;
|
|
10
9
|
}
|
|
11
10
|
export interface ZlinkStreamRequestCall {
|
|
@@ -14,7 +13,6 @@ export interface ZlinkStreamRequestCall {
|
|
|
14
13
|
metadata(metadata: ZlinkStreamMetadata): ZlinkStreamRequestCall;
|
|
15
14
|
timeout(timeoutMs: number): ZlinkStreamRequestCall;
|
|
16
15
|
compress(): ZlinkStreamRequestCall;
|
|
17
|
-
flowFrom(flow: ZlinkStreamFlow): ZlinkStreamRequestCall;
|
|
18
16
|
submit<TReply = unknown>(signal?: AbortSignal): Promise<TReply>;
|
|
19
17
|
submitEncoded(signal?: AbortSignal): Promise<ZlinkStreamEncodedPayload>;
|
|
20
18
|
submit(callback: (result: ZlinkStreamResultOf<ZlinkStreamEncodedPayload>) => void): void;
|
|
@@ -1,35 +1,19 @@
|
|
|
1
1
|
import type { Disposable } from './ZlinkStreamInterfaces';
|
|
2
2
|
import type { RequiredZlinkStreamConnectorOptions } from './ZlinkStreamConnectorOptions';
|
|
3
3
|
import type { ZlinkStreamRequestCall, ZlinkStreamSendCall, ZlinkStreamExpectNoneCall, ZlinkStreamSequenceCall, ZlinkStreamWaitCall } from './Calls/ZlinkStreamCalls';
|
|
4
|
-
import type { ZlinkStreamConnectionStateChanged, ZlinkStreamEncodedPayload, ZlinkStreamError, ZlinkStreamMessage } from './ZlinkStreamModels';
|
|
5
|
-
import type { ZlinkStreamCloseReason, ZlinkStreamConnectionState
|
|
4
|
+
import type { ZlinkStreamConnectionStateChanged, ZlinkStreamEncodedPayload, ZlinkStreamError, ZlinkStreamMessage, ZlinkStreamRequestSendingContext, ZlinkStreamReplyReceivedContext } from './ZlinkStreamModels';
|
|
5
|
+
import type { ZlinkStreamCloseReason, ZlinkStreamConnectionState } from './ZlinkStreamEnums';
|
|
6
|
+
import type { ZlinkStreamActor } from './ZlinkStreamActor';
|
|
6
7
|
export interface ZlinkStreamConnector {
|
|
7
8
|
readonly isConnected: boolean;
|
|
8
9
|
readonly state: ZlinkStreamConnectionState;
|
|
9
10
|
readonly closeReason?: ZlinkStreamCloseReason;
|
|
10
11
|
readonly options: RequiredZlinkStreamConnectorOptions;
|
|
11
12
|
readonly pendingDispatchCount: number;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
readonly diagnosticsLevel: ZlinkStreamDiagnosticsLevel;
|
|
17
|
-
/**
|
|
18
|
-
* Changes the diagnostics level at runtime without recreating the
|
|
19
|
-
* connector (spec 26 §4.1, spec stream-connector 32 §13). Applies to
|
|
20
|
-
* processing points that read the level after this call returns; never
|
|
21
|
-
* applied retroactively to frames already built. Rejects unknown values
|
|
22
|
-
* with {@link import('./ZlinkStreamEnums').ZlinkStreamErrorCode.ConfigurationError}.
|
|
23
|
-
*/
|
|
24
|
-
setDiagnosticsLevel(level: ZlinkStreamDiagnosticsLevel): void;
|
|
25
|
-
/**
|
|
26
|
-
* Asynchronous counterpart of {@link setDiagnosticsLevel} (spec
|
|
27
|
-
* stream-connector 32 §13). Both surfaces change the same value, and this
|
|
28
|
-
* one never replaces the synchronous surface: the synchronous call does not
|
|
29
|
-
* wait for a completion, so a caller whose idiom is an awaited completion
|
|
30
|
-
* uses this one instead. Rejects unknown values the same way.
|
|
31
|
-
*/
|
|
32
|
-
setDiagnosticsLevelAsync(level: ZlinkStreamDiagnosticsLevel): Promise<void>;
|
|
13
|
+
readonly actors: readonly ZlinkStreamActor[];
|
|
14
|
+
actor(actorId: string): ZlinkStreamActor | undefined;
|
|
15
|
+
onActorBound(handler: (actor: ZlinkStreamActor, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
16
|
+
onActorUnbound(handler: (actor: ZlinkStreamActor, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
33
17
|
/**
|
|
34
18
|
* Number of packets received under `name` on the current connection (spec
|
|
35
19
|
* stream-connector 32 §10). Counts arrivals, so consuming a message through
|
|
@@ -40,12 +24,14 @@ export interface ZlinkStreamConnector {
|
|
|
40
24
|
onErrorReceived(handler: (error: ZlinkStreamError, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
41
25
|
onDisconnected(handler: (signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
42
26
|
onConnectionStateChanged(handler: (change: ZlinkStreamConnectionStateChanged, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
27
|
+
onRequestSending(handler: (context: ZlinkStreamRequestSendingContext) => void): Disposable;
|
|
28
|
+
onReplyReceived(handler: (context: ZlinkStreamReplyReceivedContext, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
43
29
|
connect(signal?: AbortSignal): Promise<void>;
|
|
44
30
|
close(signal?: AbortSignal): Promise<void>;
|
|
45
31
|
dispatch(signal?: AbortSignal): Promise<void>;
|
|
46
32
|
send(payload: unknown, messageType?: Function): ZlinkStreamSendCall;
|
|
47
33
|
request(payload: unknown, messageType?: Function): ZlinkStreamRequestCall;
|
|
48
|
-
on<TPayload = ZlinkStreamEncodedPayload>(
|
|
34
|
+
on<TPayload = ZlinkStreamEncodedPayload>(nameOrType: string | Function, handler: (message: ZlinkStreamMessage<TPayload>, signal?: AbortSignal) => Promise<void> | void, messageType?: Function): Disposable;
|
|
49
35
|
/**
|
|
50
36
|
* Wait surfaces (spec stream-connector 32 §10.1). Each takes the packet name
|
|
51
37
|
* the caller states explicitly, or the payload constructor the options'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Disposable } from './ZlinkStreamInterfaces';
|
|
2
|
+
import type { ZlinkStreamRequestCall, ZlinkStreamSendCall } from './Calls/ZlinkStreamCalls';
|
|
3
|
+
import type { ZlinkStreamEncodedPayload, ZlinkStreamMessage } from './ZlinkStreamModels';
|
|
4
|
+
export interface ZlinkStreamActor {
|
|
5
|
+
readonly actorId: string;
|
|
6
|
+
readonly isBound: boolean;
|
|
7
|
+
send(payload: unknown, messageType?: Function): ZlinkStreamSendCall;
|
|
8
|
+
request(payload: unknown, messageType?: Function): ZlinkStreamRequestCall;
|
|
9
|
+
on<TPayload = ZlinkStreamEncodedPayload>(nameOrType: string | Function, handler: (message: ZlinkStreamMessage<TPayload>, signal?: AbortSignal) => Promise<void> | void, messageType?: Function): Disposable;
|
|
10
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ZlinkStreamCompression,
|
|
1
|
+
import type { ZlinkStreamCompression, ZlinkStreamDispatchMode, ZlinkStreamTransport } from './ZlinkStreamEnums';
|
|
2
2
|
import type { ZlinkStreamEncodedPayload } from './ZlinkStreamModels';
|
|
3
3
|
export interface ZlinkStreamConnectorOptions {
|
|
4
4
|
readonly endpoint: string;
|
|
@@ -16,15 +16,6 @@ export interface ZlinkStreamConnectorOptions {
|
|
|
16
16
|
readonly compression?: ZlinkStreamCompression;
|
|
17
17
|
readonly compressionCodec?: ZlinkStreamCompressionCodec;
|
|
18
18
|
readonly nameResolver?: ZlinkStreamPacketNameResolver;
|
|
19
|
-
/**
|
|
20
|
-
* Initial diagnostics level (spec 26 §4); defaults to
|
|
21
|
-
* {@link ZlinkStreamDiagnosticsLevel.Errors}, which preserves the current
|
|
22
|
-
* wire behavior. `Off` suppresses all observation-only flow handling
|
|
23
|
-
* (spec 27 §4). This is only the level at construction time — spec 26
|
|
24
|
-
* §4.1 / spec stream-connector 32 §13 require runtime read/write, provided
|
|
25
|
-
* by `ZlinkStreamConnector.diagnosticsLevel` / `setDiagnosticsLevel(...)`.
|
|
26
|
-
*/
|
|
27
|
-
readonly diagnosticsLevel?: ZlinkStreamDiagnosticsLevel;
|
|
28
19
|
}
|
|
29
20
|
export interface ZlinkStreamHeartbeatOptions {
|
|
30
21
|
readonly enabled?: boolean;
|
|
@@ -77,5 +68,4 @@ export interface RequiredZlinkStreamConnectorOptions {
|
|
|
77
68
|
readonly nameResolver: ZlinkStreamPacketNameResolver;
|
|
78
69
|
readonly transportFactory: ZlinkStreamTransportFactory;
|
|
79
70
|
readonly codec?: ZlinkStreamPayloadCodec;
|
|
80
|
-
readonly diagnosticsLevel: ZlinkStreamDiagnosticsLevel;
|
|
81
71
|
}
|
|
@@ -11,20 +11,6 @@ export declare enum ZlinkStreamDispatchMode {
|
|
|
11
11
|
Manual = "manual",
|
|
12
12
|
Immediate = "immediate"
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Connector diagnostics level (spec 26 §4). `Errors` is the default and
|
|
16
|
-
* preserves the connector's established wire behavior (outbound frames carry
|
|
17
|
-
* the flow pair). `Off` applies spec 27 §4: no flow id is generated or
|
|
18
|
-
* attached to outbound frames (header flag 0x10 stays clear), inbound flow
|
|
19
|
-
* fields are neither validated nor installed into received messages
|
|
20
|
-
* (structural length checks are kept), and no trace-only work runs.
|
|
21
|
-
*/
|
|
22
|
-
export declare enum ZlinkStreamDiagnosticsLevel {
|
|
23
|
-
Off = "off",
|
|
24
|
-
Errors = "errors",
|
|
25
|
-
Normal = "normal",
|
|
26
|
-
Detailed = "detailed"
|
|
27
|
-
}
|
|
28
14
|
export declare enum ZlinkStreamMessageKind {
|
|
29
15
|
Send = 1,
|
|
30
16
|
Request = 2,
|
|
@@ -38,9 +24,9 @@ export declare enum ZlinkStreamHeaderFlags {
|
|
|
38
24
|
HasMetadata = 2,
|
|
39
25
|
PayloadCompressed = 4,
|
|
40
26
|
HasCorrelationId = 8,
|
|
41
|
-
HasFlowId = 16
|
|
27
|
+
HasFlowId = 16,
|
|
28
|
+
HasActorSlot = 32
|
|
42
29
|
}
|
|
43
|
-
export type ZlinkFlowOrigin = 'Inbound' | 'Timer' | 'Application' | 'Lifecycle';
|
|
44
30
|
export type ZlinkStreamCloseReason = 'ClientClose' | 'IdleTimeout' | 'HeartbeatTimeout' | 'ServerDrain' | 'ProtocolError' | 'TransportError';
|
|
45
31
|
export declare enum ZlinkStreamErrorCode {
|
|
46
32
|
Disconnected = "disconnected",
|
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
import type { ZlinkStreamCodec, ZlinkStreamConnectionState, ZlinkStreamErrorCode, ZlinkStreamHeaderFlags, ZlinkStreamMessageKind
|
|
1
|
+
import type { ZlinkStreamCodec, ZlinkStreamConnectionState, ZlinkStreamErrorCode, ZlinkStreamHeaderFlags, ZlinkStreamMessageKind } from './ZlinkStreamEnums';
|
|
2
2
|
import type { ZlinkStreamMetadata } from './ZlinkStreamMetadata';
|
|
3
3
|
export interface ZlinkStreamEncodedPayload {
|
|
4
4
|
readonly codec: ZlinkStreamCodec;
|
|
5
5
|
readonly payload: Uint8Array;
|
|
6
6
|
readonly messageType?: Function;
|
|
7
7
|
}
|
|
8
|
-
export interface ZlinkStreamFlow {
|
|
9
|
-
readonly flowId: string;
|
|
10
|
-
readonly flowOrigin: ZlinkFlowOrigin;
|
|
11
|
-
}
|
|
12
8
|
export interface ZlinkStreamMessage<TPayload = unknown> {
|
|
13
9
|
readonly name: string;
|
|
14
10
|
readonly metadata: ZlinkStreamMetadata;
|
|
15
11
|
readonly payload: TPayload;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
readonly actorId?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ZlinkStreamRequestSendingContext {
|
|
15
|
+
readonly requestPacketName: string;
|
|
16
|
+
readonly actorId?: string;
|
|
17
|
+
setMetadata(key: string, value: string): void;
|
|
18
|
+
}
|
|
19
|
+
export interface ZlinkStreamReplyReceivedContext {
|
|
20
|
+
readonly requestPacketName: string;
|
|
21
|
+
readonly actorId?: string;
|
|
22
|
+
readonly succeeded: boolean;
|
|
23
|
+
readonly reply?: ZlinkStreamMessage<ZlinkStreamEncodedPayload>;
|
|
24
|
+
readonly error?: ZlinkStreamError;
|
|
25
|
+
readonly elapsed: number;
|
|
23
26
|
}
|
|
24
27
|
export interface ZlinkStreamHeader {
|
|
25
28
|
readonly kind: ZlinkStreamMessageKind;
|
|
@@ -29,8 +32,7 @@ export interface ZlinkStreamHeader {
|
|
|
29
32
|
readonly name: string;
|
|
30
33
|
readonly metadata: ZlinkStreamMetadata;
|
|
31
34
|
readonly correlationId?: string;
|
|
32
|
-
readonly
|
|
33
|
-
readonly flowOrigin?: ZlinkFlowOrigin;
|
|
35
|
+
readonly actorSlot?: number;
|
|
34
36
|
}
|
|
35
37
|
export interface ZlinkStreamError {
|
|
36
38
|
readonly code: ZlinkStreamErrorCode;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { ZlinkStreamTransport, ZlinkStreamCodec, ZlinkStreamCompression,
|
|
2
|
-
export type {
|
|
1
|
+
export { ZlinkStreamTransport, ZlinkStreamCodec, ZlinkStreamCompression, ZlinkStreamDispatchMode, ZlinkStreamMessageKind, ZlinkStreamHeaderFlags, ZlinkStreamErrorCode, ZlinkStreamConnectionState } from './ZlinkStreamEnums';
|
|
2
|
+
export type { ZlinkStreamCloseReason } from './ZlinkStreamEnums';
|
|
3
3
|
export * from './ZlinkStreamConnectorOptions';
|
|
4
4
|
export * from './ZlinkStreamInterfaces';
|
|
5
5
|
export * from './ZlinkStreamMetadata';
|
|
6
|
-
export type { ZlinkStreamEncodedPayload,
|
|
6
|
+
export type { ZlinkStreamEncodedPayload, ZlinkStreamMessage, ZlinkStreamRequestSendingContext, ZlinkStreamReplyReceivedContext, ZlinkStreamError, ZlinkStreamConnectionStateChanged, ZlinkStreamResult, ZlinkStreamResultOf } from './ZlinkStreamModels';
|
|
7
7
|
export { ZlinkStreamException } from './ZlinkStreamModels';
|
|
8
8
|
export * from './ZlinkStreamJsonCodec';
|
|
9
9
|
export * from './IZlinkStreamConnector';
|
|
10
|
+
export * from './ZlinkStreamActor';
|
|
10
11
|
export * from './Calls/ZlinkStreamCalls';
|
|
@@ -1,33 +1,31 @@
|
|
|
1
|
-
import { RequiredZlinkStreamConnectorOptions, ZlinkStreamEncodedPayload,
|
|
1
|
+
import { RequiredZlinkStreamConnectorOptions, ZlinkStreamEncodedPayload, ZlinkStreamMessage, ZlinkStreamMessageKind, ZlinkStreamMetadata, type ZlinkStreamRequestCall, type ZlinkStreamResultOf, type ZlinkStreamSendCall, type ZlinkStreamWaitCall } from '../../Contracts';
|
|
2
2
|
interface ZlinkStreamConnectorSubmitter {
|
|
3
3
|
readonly options: RequiredZlinkStreamConnectorOptions;
|
|
4
|
-
sendEncoded(kind: ZlinkStreamMessageKind, name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, signal?: AbortSignal,
|
|
5
|
-
requestEncoded(name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, timeoutMs: number, signal?: AbortSignal,
|
|
4
|
+
sendEncoded(kind: ZlinkStreamMessageKind, name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, signal?: AbortSignal, correlationId?: string, actorSlot?: number): Promise<void>;
|
|
5
|
+
requestEncoded(name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, timeoutMs: number, signal?: AbortSignal, actorSlot?: number): Promise<ZlinkStreamEncodedPayload>;
|
|
6
6
|
waitForMessage<TPayload>(name: string, timeoutMs: number, predicate: (message: ZlinkStreamMessage<TPayload>) => boolean, signal?: AbortSignal): Promise<ZlinkStreamMessage<TPayload> | undefined>;
|
|
7
7
|
}
|
|
8
8
|
export declare class ZlinkStreamSendBuilder implements ZlinkStreamSendCall {
|
|
9
9
|
private readonly connector;
|
|
10
10
|
private readonly payload;
|
|
11
11
|
private readonly state;
|
|
12
|
-
constructor(connector: ZlinkStreamConnectorSubmitter, name: string | undefined, payload: ZlinkStreamEncodedPayload);
|
|
12
|
+
constructor(connector: ZlinkStreamConnectorSubmitter, name: string | undefined, payload: ZlinkStreamEncodedPayload, actorSlot?: number, validateActor?: () => void);
|
|
13
13
|
packetName(name: string): this;
|
|
14
14
|
metadata(key: string, value: string): this;
|
|
15
15
|
metadata(metadata: ZlinkStreamMetadata): this;
|
|
16
16
|
compress(): this;
|
|
17
|
-
flowFrom(flow: ZlinkStreamFlow): this;
|
|
18
17
|
submit(signal?: AbortSignal): Promise<void>;
|
|
19
18
|
}
|
|
20
19
|
export declare class ZlinkStreamRequestBuilder implements ZlinkStreamRequestCall {
|
|
21
20
|
private readonly connector;
|
|
22
21
|
private readonly payload;
|
|
23
22
|
private readonly state;
|
|
24
|
-
constructor(connector: ZlinkStreamConnectorSubmitter, name: string | undefined, payload: ZlinkStreamEncodedPayload);
|
|
23
|
+
constructor(connector: ZlinkStreamConnectorSubmitter, name: string | undefined, payload: ZlinkStreamEncodedPayload, actorSlot?: number, validateActor?: () => void);
|
|
25
24
|
packetName(name: string): this;
|
|
26
25
|
metadata(key: string, value: string): this;
|
|
27
26
|
metadata(metadata: ZlinkStreamMetadata): this;
|
|
28
27
|
timeout(timeoutMs: number): this;
|
|
29
28
|
compress(): this;
|
|
30
|
-
flowFrom(flow: ZlinkStreamFlow): this;
|
|
31
29
|
submit<TReply = unknown>(signal?: AbortSignal): Promise<TReply>;
|
|
32
30
|
submit(callback: (result: ZlinkStreamResultOf<ZlinkStreamEncodedPayload>) => void): void;
|
|
33
31
|
submitEncoded(signal?: AbortSignal): Promise<ZlinkStreamEncodedPayload>;
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import type { RequiredZlinkStreamConnectorOptions, ZlinkStreamEncodedPayload, ZlinkStreamMetadata } from '../../Contracts';
|
|
2
2
|
import { ZlinkStreamMessageKind } from '../../Contracts';
|
|
3
3
|
import type { ZlinkStreamHeader } from '../../Contracts/ZlinkStreamModels';
|
|
4
|
-
import type { ZlinkFlowOrigin } from '../../Contracts';
|
|
5
4
|
export declare const ZLINK_STREAM_HEARTBEAT_PING = "$zlink.heartbeat.ping";
|
|
6
5
|
export declare const ZLINK_STREAM_HEARTBEAT_PONG = "$zlink.heartbeat.pong";
|
|
7
6
|
export declare class ZlinkStreamFrameProtocol {
|
|
8
7
|
private readonly options;
|
|
9
8
|
constructor(options: RequiredZlinkStreamConnectorOptions);
|
|
10
|
-
encode(kind: ZlinkStreamMessageKind, name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, correlationId?: string,
|
|
9
|
+
encode(kind: ZlinkStreamMessageKind, name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, correlationId?: string, actorSlot?: number): Uint8Array;
|
|
11
10
|
encodeControl(name: string, payload?: Uint8Array<ArrayBuffer>): Uint8Array;
|
|
12
|
-
decode(frameBytes: Uint8Array
|
|
11
|
+
decode(frameBytes: Uint8Array): {
|
|
13
12
|
readonly header: ZlinkStreamHeader;
|
|
14
13
|
readonly payload: Uint8Array;
|
|
15
14
|
};
|
|
16
|
-
|
|
17
|
-
decodeFrames(chunk: Uint8Array, flowEnabled?: boolean): readonly {
|
|
15
|
+
decodeFrames(chunk: Uint8Array): readonly {
|
|
18
16
|
readonly header: ZlinkStreamHeader;
|
|
19
17
|
readonly payload: Uint8Array;
|
|
20
18
|
}[];
|
|
@@ -2,11 +2,6 @@ import { ZlinkStreamCodec, ZlinkStreamMessageKind, ZlinkStreamMetadata } from '.
|
|
|
2
2
|
import type { ZlinkStreamHeader } from '../../Contracts/ZlinkStreamModels';
|
|
3
3
|
export declare class ZlinkStreamHeaderCodec {
|
|
4
4
|
static encode(header: ZlinkStreamHeader): Uint8Array;
|
|
5
|
-
|
|
6
|
-
* `includeFlow=false` (diagnostics Off, spec 27 §4) skips reading and
|
|
7
|
-
* validating the inbound flow fields while the structural length checks in
|
|
8
|
-
* the wire decoder are preserved.
|
|
9
|
-
*/
|
|
10
|
-
static decode(header: Uint8Array, includeFlow?: boolean): ZlinkStreamHeader;
|
|
5
|
+
static decode(header: Uint8Array): ZlinkStreamHeader;
|
|
11
6
|
}
|
|
12
|
-
export declare function buildHeader(kind: ZlinkStreamMessageKind, name: string, codec: ZlinkStreamCodec, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, correlationId?: string,
|
|
7
|
+
export declare function buildHeader(kind: ZlinkStreamMessageKind, name: string, codec: ZlinkStreamCodec, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, correlationId?: string, actorSlot?: number): ZlinkStreamHeader;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Disposable, ZlinkStreamActor, ZlinkStreamEncodedPayload, ZlinkStreamMessage, ZlinkStreamRequestCall, ZlinkStreamSendCall } from '../Contracts';
|
|
2
|
+
import type { ZlinkStreamReceivedMessages } from './ZlinkStreamReceivedMessages';
|
|
3
|
+
import type { ZlinkStreamConnectorEvents } from './ZlinkStreamConnectorEvents';
|
|
4
|
+
export declare const zlinkStreamActorBinding: unique symbol;
|
|
5
|
+
interface ActorConnector {
|
|
6
|
+
sendForActor(actor: DefaultZlinkStreamActor, payload: unknown, messageType?: Function): ZlinkStreamSendCall;
|
|
7
|
+
requestForActor(actor: DefaultZlinkStreamActor, payload: unknown, messageType?: Function): ZlinkStreamRequestCall;
|
|
8
|
+
onActorMessage<TPayload>(actor: DefaultZlinkStreamActor, nameOrType: string | Function, handler: (message: ZlinkStreamMessage<TPayload>, signal?: AbortSignal) => Promise<void> | void, messageType?: Function): Disposable;
|
|
9
|
+
}
|
|
10
|
+
export declare class DefaultZlinkStreamActor implements ZlinkStreamActor {
|
|
11
|
+
private readonly connector;
|
|
12
|
+
readonly actorId: string;
|
|
13
|
+
readonly slot: number;
|
|
14
|
+
private bound;
|
|
15
|
+
constructor(connector: ActorConnector, actorId: string, slot: number);
|
|
16
|
+
get isBound(): boolean;
|
|
17
|
+
send(payload: unknown, messageType?: Function): ZlinkStreamSendCall;
|
|
18
|
+
request(payload: unknown, messageType?: Function): ZlinkStreamRequestCall;
|
|
19
|
+
on<TPayload = ZlinkStreamEncodedPayload>(nameOrType: string | Function, handler: (message: ZlinkStreamMessage<TPayload>, signal?: AbortSignal) => Promise<void> | void, messageType?: Function): Disposable;
|
|
20
|
+
ensureBound(): void;
|
|
21
|
+
close(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare class ZlinkStreamActors {
|
|
24
|
+
private readonly connector;
|
|
25
|
+
private readonly receivedMessages;
|
|
26
|
+
private readonly events;
|
|
27
|
+
private readonly bySlot;
|
|
28
|
+
private readonly byId;
|
|
29
|
+
private readonly issued;
|
|
30
|
+
private readonly boundHandlers;
|
|
31
|
+
private readonly unboundHandlers;
|
|
32
|
+
constructor(connector: ActorConnector, receivedMessages: ZlinkStreamReceivedMessages, events: ZlinkStreamConnectorEvents);
|
|
33
|
+
get snapshot(): readonly ZlinkStreamActor[];
|
|
34
|
+
find(actorId: string): ZlinkStreamActor | undefined;
|
|
35
|
+
onBound(handler: (actor: ZlinkStreamActor, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
36
|
+
onUnbound(handler: (actor: ZlinkStreamActor, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
37
|
+
processControl(name: string, payload: Uint8Array, signal?: AbortSignal): boolean;
|
|
38
|
+
resolve(slot: number): DefaultZlinkStreamActor;
|
|
39
|
+
closeAll(signal?: AbortSignal): void;
|
|
40
|
+
private bind;
|
|
41
|
+
private unbind;
|
|
42
|
+
private queue;
|
|
43
|
+
private invoke;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Disposable, RequiredZlinkStreamConnectorOptions, ZlinkStreamConnectionState, ZlinkStreamConnectionStateChanged, ZlinkStreamConnector, ZlinkStreamConnectorOptions,
|
|
1
|
+
import { Disposable, RequiredZlinkStreamConnectorOptions, ZlinkStreamConnectionState, ZlinkStreamConnectionStateChanged, ZlinkStreamConnector, ZlinkStreamConnectorOptions, ZlinkStreamEncodedPayload, ZlinkStreamError, ZlinkStreamExpectNoneCall, ZlinkStreamMessage, ZlinkStreamRequestSendingContext, ZlinkStreamReplyReceivedContext, ZlinkStreamMessageKind, ZlinkStreamMetadata, ZlinkStreamRequestCall, ZlinkStreamActor, ZlinkStreamSendCall, ZlinkStreamSequenceCall, ZlinkStreamWaitCall } from '../Contracts';
|
|
2
|
+
import { DefaultZlinkStreamActor } from './ZlinkStreamActors';
|
|
2
3
|
export declare class DefaultZlinkStreamConnector implements ZlinkStreamConnector {
|
|
3
4
|
static readonly heartbeatPingName = "$zlink.heartbeat.ping";
|
|
4
5
|
static readonly heartbeatPongName = "$zlink.heartbeat.pong";
|
|
@@ -9,13 +10,19 @@ export declare class DefaultZlinkStreamConnector implements ZlinkStreamConnector
|
|
|
9
10
|
private readonly pendingRequests;
|
|
10
11
|
private readonly frameSender;
|
|
11
12
|
private readonly receiveDispatcher;
|
|
12
|
-
private readonly
|
|
13
|
+
private readonly requestSendingHandlers;
|
|
14
|
+
private readonly replyReceivedHandlers;
|
|
15
|
+
private readonly boundActors;
|
|
13
16
|
readonly options: RequiredZlinkStreamConnectorOptions;
|
|
14
17
|
constructor(options: ZlinkStreamConnectorOptions);
|
|
15
18
|
get isConnected(): boolean;
|
|
16
19
|
get closeReason(): import("..").ZlinkStreamCloseReason | undefined;
|
|
17
20
|
get state(): ZlinkStreamConnectionState;
|
|
18
21
|
get pendingDispatchCount(): number;
|
|
22
|
+
get actors(): readonly ZlinkStreamActor[];
|
|
23
|
+
actor(actorId: string): ZlinkStreamActor | undefined;
|
|
24
|
+
onActorBound(handler: (actor: ZlinkStreamActor, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
25
|
+
onActorUnbound(handler: (actor: ZlinkStreamActor, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
19
26
|
/**
|
|
20
27
|
* Spec stream-connector 32 §10: how many packets carrying `name` arrived on
|
|
21
28
|
* the current connection. Arrivals are what is counted, so a message a
|
|
@@ -24,39 +31,20 @@ export declare class DefaultZlinkStreamConnector implements ZlinkStreamConnector
|
|
|
24
31
|
* the count to 0, a reconnect included.
|
|
25
32
|
*/
|
|
26
33
|
receivedCount(name: string): number;
|
|
27
|
-
/**
|
|
28
|
-
* Current diagnostics level (spec 26 §4.1, spec stream-connector 32 §13).
|
|
29
|
-
* Reflects the level set by the most recent {@link setDiagnosticsLevel}
|
|
30
|
-
* call, or the construction-time option (default
|
|
31
|
-
* {@link ZlinkStreamDiagnosticsLevel.Errors}) if it was never changed.
|
|
32
|
-
*/
|
|
33
|
-
get diagnosticsLevel(): ZlinkStreamDiagnosticsLevel;
|
|
34
|
-
/**
|
|
35
|
-
* Changes the diagnostics level in place without recreating the connector
|
|
36
|
-
* (spec 26 §4.1, spec stream-connector 32 §13). The change is an atomic
|
|
37
|
-
* state update: it applies to processing points that read the level after
|
|
38
|
-
* this call returns and is never applied retroactively to frames already
|
|
39
|
-
* built. Rejects unknown values with {@link ZlinkStreamErrorCode.ConfigurationError}.
|
|
40
|
-
* Spec stream-connector 32 §13: this surface changes the value without
|
|
41
|
-
* waiting for anything; it is not a blocking call over the asynchronous pair,
|
|
42
|
-
* which a receive callback would otherwise make wait for its own completion.
|
|
43
|
-
*/
|
|
44
|
-
setDiagnosticsLevel(level: ZlinkStreamDiagnosticsLevel): void;
|
|
45
|
-
/**
|
|
46
|
-
* Asynchronous counterpart of {@link setDiagnosticsLevel} (spec
|
|
47
|
-
* stream-connector 32 §13). It changes the same value; awaiting it is how a
|
|
48
|
-
* caller observes the change, and it never replaces the synchronous surface.
|
|
49
|
-
*/
|
|
50
|
-
setDiagnosticsLevelAsync(level: ZlinkStreamDiagnosticsLevel): Promise<void>;
|
|
51
34
|
onErrorReceived(handler: (error: ZlinkStreamError, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
52
35
|
onDisconnected(handler: (signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
53
36
|
onConnectionStateChanged(handler: (change: ZlinkStreamConnectionStateChanged, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
37
|
+
onRequestSending(handler: (context: ZlinkStreamRequestSendingContext) => void): Disposable;
|
|
38
|
+
onReplyReceived(handler: (context: ZlinkStreamReplyReceivedContext, signal?: AbortSignal) => Promise<void> | void): Disposable;
|
|
54
39
|
connect(signal?: AbortSignal): Promise<void>;
|
|
55
40
|
close(signal?: AbortSignal): Promise<void>;
|
|
56
41
|
dispatch(signal?: AbortSignal): Promise<void>;
|
|
57
42
|
send(payload: unknown, messageType?: Function): ZlinkStreamSendCall;
|
|
58
43
|
request(payload: unknown, messageType?: Function): ZlinkStreamRequestCall;
|
|
59
|
-
on<TPayload = ZlinkStreamEncodedPayload>(
|
|
44
|
+
on<TPayload = ZlinkStreamEncodedPayload>(nameOrType: string | Function, handler: (message: ZlinkStreamMessage<TPayload>, signal?: AbortSignal) => Promise<void> | void, messageType?: Function): Disposable;
|
|
45
|
+
sendForActor(actor: DefaultZlinkStreamActor, payload: unknown, messageType?: Function): ZlinkStreamSendCall;
|
|
46
|
+
requestForActor(actor: DefaultZlinkStreamActor, payload: unknown, messageType?: Function): ZlinkStreamRequestCall;
|
|
47
|
+
onActorMessage<TPayload>(actor: DefaultZlinkStreamActor, nameOrType: string | Function, handler: (message: ZlinkStreamMessage<TPayload>, signal?: AbortSignal) => Promise<void> | void, messageType?: Function): Disposable;
|
|
60
48
|
waitFor<TPayload = ZlinkStreamEncodedPayload>(nameOrType: string | Function): ZlinkStreamWaitCall<TPayload>;
|
|
61
49
|
expectNone<TPayload = ZlinkStreamEncodedPayload>(nameOrType: string | Function): ZlinkStreamExpectNoneCall<TPayload>;
|
|
62
50
|
waitForSequence<TPayload = ZlinkStreamEncodedPayload>(nameOrType: string | Function): ZlinkStreamSequenceCall<TPayload>;
|
|
@@ -83,12 +71,13 @@ export declare class DefaultZlinkStreamConnector implements ZlinkStreamConnector
|
|
|
83
71
|
private encodePayload;
|
|
84
72
|
private decodePayload;
|
|
85
73
|
private decodeWaitPayload;
|
|
86
|
-
sendEncoded(kind: ZlinkStreamMessageKind, name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, signal?: AbortSignal,
|
|
74
|
+
sendEncoded(kind: ZlinkStreamMessageKind, name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, signal?: AbortSignal, correlationId?: string, actorSlot?: number): Promise<void>;
|
|
87
75
|
/**
|
|
88
76
|
* Per-connector monotonic correlation id (hex). The client generates it on each request
|
|
89
|
-
* and the server echoes it back on the reply
|
|
77
|
+
* and the server echoes it back on the reply.
|
|
90
78
|
*/
|
|
91
79
|
private nextCorrelationId;
|
|
92
|
-
requestEncoded(name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, timeoutMs: number, signal?: AbortSignal,
|
|
80
|
+
requestEncoded(name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, timeoutMs: number, signal?: AbortSignal, actorSlot?: number): Promise<ZlinkStreamEncodedPayload>;
|
|
81
|
+
private publishReplyReceived;
|
|
93
82
|
private resolveNameOrDefault;
|
|
94
83
|
}
|
|
@@ -6,12 +6,14 @@ import type { ZlinkStreamFrameSender } from './ZlinkStreamFrameSender';
|
|
|
6
6
|
import type { ZlinkStreamPendingRequests } from './ZlinkStreamPendingRequests';
|
|
7
7
|
import type { ZlinkStreamReceiveDispatcher } from './ZlinkStreamReceiveDispatcher';
|
|
8
8
|
import type { ZlinkStreamReceivedMessages } from './ZlinkStreamReceivedMessages';
|
|
9
|
+
import type { ZlinkStreamActors } from './ZlinkStreamActors';
|
|
9
10
|
export declare class ZlinkStreamConnectorLifecycle {
|
|
10
11
|
private readonly options;
|
|
11
12
|
private readonly pendingRequests;
|
|
12
13
|
private readonly frameSender;
|
|
13
14
|
private readonly receiveDispatcher;
|
|
14
15
|
private readonly receivedMessages;
|
|
16
|
+
private readonly actors;
|
|
15
17
|
private readonly events;
|
|
16
18
|
private receiveLoopAbort;
|
|
17
19
|
private receiveLoopSleeping;
|
|
@@ -30,7 +32,7 @@ export declare class ZlinkStreamConnectorLifecycle {
|
|
|
30
32
|
private disconnectedPublished;
|
|
31
33
|
private closeReasonValue?;
|
|
32
34
|
private lateConnectCleanupError;
|
|
33
|
-
constructor(options: RequiredZlinkStreamConnectorOptions, pendingRequests: ZlinkStreamPendingRequests, frameSender: ZlinkStreamFrameSender, receiveDispatcher: ZlinkStreamReceiveDispatcher, receivedMessages: ZlinkStreamReceivedMessages, events: ZlinkStreamConnectorEvents);
|
|
35
|
+
constructor(options: RequiredZlinkStreamConnectorOptions, pendingRequests: ZlinkStreamPendingRequests, frameSender: ZlinkStreamFrameSender, receiveDispatcher: ZlinkStreamReceiveDispatcher, receivedMessages: ZlinkStreamReceivedMessages, actors: ZlinkStreamActors, events: ZlinkStreamConnectorEvents);
|
|
34
36
|
get isConnected(): boolean;
|
|
35
37
|
get state(): ZlinkStreamConnectionState;
|
|
36
38
|
get closeReason(): ZlinkStreamCloseReason | undefined;
|
|
@@ -102,5 +104,9 @@ export declare class ZlinkStreamConnectorLifecycle {
|
|
|
102
104
|
* reporting the same failure a second time on the error surface.
|
|
103
105
|
*/
|
|
104
106
|
private publishDisconnectedWithoutWaiting;
|
|
107
|
+
private queueDisconnected;
|
|
108
|
+
private queueState;
|
|
105
109
|
private setState;
|
|
110
|
+
private transitionState;
|
|
111
|
+
private publishStateChange;
|
|
106
112
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequiredZlinkStreamConnectorOptions, ZlinkStreamConnectorOptions,
|
|
1
|
+
import { RequiredZlinkStreamConnectorOptions, ZlinkStreamConnectorOptions, ZlinkStreamPacketNameResolver } from '../Contracts';
|
|
2
2
|
export declare function normalizeOptions(options: ZlinkStreamConnectorOptions, defaultTransportFactory: RequiredZlinkStreamConnectorOptions['transportFactory']): RequiredZlinkStreamConnectorOptions;
|
|
3
3
|
/**
|
|
4
4
|
* Spec stream-connector 32 §5 and the TypeScript projection §4: a payload type
|
|
@@ -14,4 +14,3 @@ export declare function normalizeOptions(options: ZlinkStreamConnectorOptions, d
|
|
|
14
14
|
* bundle keeps class names.
|
|
15
15
|
*/
|
|
16
16
|
export declare const defaultPacketNameResolver: ZlinkStreamPacketNameResolver;
|
|
17
|
-
export declare function validateDiagnosticsLevel(level: ZlinkStreamDiagnosticsLevel | undefined): void;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import type { ZlinkStreamConnection, ZlinkStreamEncodedPayload,
|
|
1
|
+
import type { ZlinkStreamConnection, ZlinkStreamEncodedPayload, ZlinkStreamMetadata, ZlinkStreamMessageKind } from '../Contracts';
|
|
2
2
|
import type { ZlinkStreamFrameProtocol } from './Protocol/ZlinkStreamFrameProtocol';
|
|
3
|
-
import type { ZlinkFlowContext } from './ZlinkFlowContext';
|
|
4
3
|
export declare class ZlinkStreamFrameSender {
|
|
5
4
|
private readonly protocol;
|
|
6
|
-
private readonly flowContext;
|
|
7
5
|
private readonly pendingWrites;
|
|
8
|
-
constructor(protocol: ZlinkStreamFrameProtocol
|
|
9
|
-
send(connection: ZlinkStreamConnection, kind: ZlinkStreamMessageKind, name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, signal?: AbortSignal, correlationId?: string,
|
|
6
|
+
constructor(protocol: ZlinkStreamFrameProtocol);
|
|
7
|
+
send(connection: ZlinkStreamConnection, kind: ZlinkStreamMessageKind, name: string, payload: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata, compress: boolean, requestSeq: bigint | undefined, signal?: AbortSignal, correlationId?: string, actorSlot?: number): Promise<void>;
|
|
10
8
|
sendControl(connection: ZlinkStreamConnection, name: string, signal?: AbortSignal): Promise<void>;
|
|
11
9
|
drain(signal?: AbortSignal): Promise<void>;
|
|
12
10
|
private write;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ZlinkStreamEncodedPayload, ZlinkStreamError } from '../Contracts';
|
|
1
|
+
import { ZlinkStreamEncodedPayload, ZlinkStreamError, ZlinkStreamMessage, ZlinkStreamMetadata } from '../Contracts';
|
|
2
2
|
export interface PendingZlinkStreamRequest {
|
|
3
3
|
readonly requestSeq: bigint;
|
|
4
|
-
readonly promise: Promise<ZlinkStreamEncodedPayload
|
|
4
|
+
readonly promise: Promise<ZlinkStreamMessage<ZlinkStreamEncodedPayload>>;
|
|
5
5
|
}
|
|
6
6
|
export declare class ZlinkStreamPendingRequests {
|
|
7
7
|
private nextRequestSeq;
|
|
8
8
|
private readonly active;
|
|
9
9
|
get count(): number;
|
|
10
10
|
create(packetName: string, timeoutMs: number): PendingZlinkStreamRequest;
|
|
11
|
-
resolve(requestSeq: bigint, value: ZlinkStreamEncodedPayload): boolean;
|
|
11
|
+
resolve(requestSeq: bigint, value: ZlinkStreamEncodedPayload, metadata: ZlinkStreamMetadata): boolean;
|
|
12
12
|
reject(requestSeq: bigint, error: ZlinkStreamError): boolean;
|
|
13
13
|
cancel(requestSeq: bigint): void;
|
|
14
14
|
failAll(error: ZlinkStreamError): void;
|
|
@@ -4,8 +4,8 @@ import type { ZlinkStreamConnectorEvents } from './ZlinkStreamConnectorEvents';
|
|
|
4
4
|
import type { ZlinkStreamFrameSender } from './ZlinkStreamFrameSender';
|
|
5
5
|
import type { ZlinkStreamPendingRequests } from './ZlinkStreamPendingRequests';
|
|
6
6
|
import type { ZlinkStreamReceivedMessages } from './ZlinkStreamReceivedMessages';
|
|
7
|
-
import type { ZlinkFlowContext } from './ZlinkFlowContext';
|
|
8
7
|
import type { ZlinkStreamCloseReason } from '../Contracts';
|
|
8
|
+
import { type ZlinkStreamActors } from './ZlinkStreamActors';
|
|
9
9
|
export interface ZlinkStreamReceiveResult {
|
|
10
10
|
readonly available: boolean;
|
|
11
11
|
readonly inbound: boolean;
|
|
@@ -16,9 +16,9 @@ export declare class ZlinkStreamReceiveDispatcher {
|
|
|
16
16
|
private readonly receivedMessages;
|
|
17
17
|
private readonly frameSender;
|
|
18
18
|
private readonly events;
|
|
19
|
-
private readonly
|
|
19
|
+
private readonly actors;
|
|
20
20
|
private readonly serverClosing?;
|
|
21
|
-
constructor(protocol: ZlinkStreamFrameProtocol, pendingRequests: ZlinkStreamPendingRequests, receivedMessages: ZlinkStreamReceivedMessages, frameSender: ZlinkStreamFrameSender, events: ZlinkStreamConnectorEvents,
|
|
21
|
+
constructor(protocol: ZlinkStreamFrameProtocol, pendingRequests: ZlinkStreamPendingRequests, receivedMessages: ZlinkStreamReceivedMessages, frameSender: ZlinkStreamFrameSender, events: ZlinkStreamConnectorEvents, actors: ZlinkStreamActors, serverClosing?: ((reason: ZlinkStreamCloseReason) => Promise<void>) | undefined);
|
|
22
22
|
/**
|
|
23
23
|
* @param isCurrent Tells whether the connection this batch was read from is
|
|
24
24
|
* still the connector's connection. It is asked again at the head of every
|
|
@@ -74,6 +74,7 @@ export declare class ZlinkStreamReceivedMessages {
|
|
|
74
74
|
*/
|
|
75
75
|
connectionEnded(): void;
|
|
76
76
|
enqueue(message: ZlinkStreamMessage<ZlinkStreamEncodedPayload>, signal?: AbortSignal): void;
|
|
77
|
+
enqueueCallback(callback: () => Promise<void> | void): void;
|
|
77
78
|
/**
|
|
78
79
|
* Runs the registered handlers the receive path left queued. `Manual` calls
|
|
79
80
|
* this from `dispatch`; `Immediate` has already drained on arrival.
|