@api.global/typedsocket 6.3.0 → 7.0.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.
Files changed (35) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts/classes.typedsocket.d.ts +21 -52
  3. package/dist_ts/classes.typedsocket.js +264 -358
  4. package/dist_ts/classes.typedsockettagpolicymanager.d.ts +1 -0
  5. package/dist_ts/classes.typedsockettagpolicymanager.js +26 -2
  6. package/dist_ts/classes.virtualstreammanager.d.ts +268 -0
  7. package/dist_ts/classes.virtualstreammanager.js +2085 -0
  8. package/dist_ts/constants.virtualstream.d.ts +58 -0
  9. package/dist_ts/constants.virtualstream.js +58 -0
  10. package/dist_ts/helpers.virtualstreamcodec.d.ts +14 -0
  11. package/dist_ts/helpers.virtualstreamcodec.js +349 -0
  12. package/dist_ts/index.d.ts +5 -9
  13. package/dist_ts/index.js +3 -6
  14. package/dist_ts/interfaces.diagnostics.d.ts +6 -18
  15. package/dist_ts/interfaces.virtualstream.d.ts +131 -0
  16. package/dist_ts/interfaces.virtualstream.js +2 -0
  17. package/package.json +5 -5
  18. package/readme.hints.md +11 -59
  19. package/readme.md +295 -840
  20. package/dist_ts/classes.nativebyteerror.d.ts +0 -26
  21. package/dist_ts/classes.nativebyteerror.js +0 -51
  22. package/dist_ts/classes.nativebytemanager.d.ts +0 -505
  23. package/dist_ts/classes.nativebytemanager.js +0 -3691
  24. package/dist_ts/constants.nativebytes.d.ts +0 -59
  25. package/dist_ts/constants.nativebytes.js +0 -58
  26. package/dist_ts/constants.nativemessages.d.ts +0 -45
  27. package/dist_ts/constants.nativemessages.js +0 -44
  28. package/dist_ts/helpers.nativebytecodec.d.ts +0 -8
  29. package/dist_ts/helpers.nativebytecodec.js +0 -328
  30. package/dist_ts/helpers.nativemessagecodec.d.ts +0 -6
  31. package/dist_ts/helpers.nativemessagecodec.js +0 -267
  32. package/dist_ts/interfaces.nativebytes.d.ts +0 -187
  33. package/dist_ts/interfaces.nativebytes.js +0 -2
  34. package/dist_ts/interfaces.nativemessages.d.ts +0 -144
  35. package/dist_ts/interfaces.nativemessages.js +0 -2
@@ -1,26 +0,0 @@
1
- export declare class NativeByteError extends Error {
2
- readonly code: string;
3
- constructor(messageArg: string, code: string, optionsArg?: ErrorOptions);
4
- }
5
- export declare class NativeByteProtocolError extends NativeByteError {
6
- constructor(messageArg: string, optionsArg?: ErrorOptions);
7
- }
8
- export declare class NativeByteCapabilityError extends NativeByteError {
9
- constructor(messageArg?: string, optionsArg?: ErrorOptions);
10
- }
11
- export declare class NativeByteStreamClosedError extends NativeByteError {
12
- constructor(messageArg?: string, optionsArg?: ErrorOptions);
13
- }
14
- export declare class NativeMessageError extends Error {
15
- readonly code: string;
16
- constructor(messageArg: string, code: string, optionsArg?: ErrorOptions);
17
- }
18
- export declare class NativeMessageProtocolError extends NativeMessageError {
19
- constructor(messageArg: string, optionsArg?: ErrorOptions);
20
- }
21
- export declare class NativeMessageCapabilityError extends NativeMessageError {
22
- constructor(messageArg?: string, optionsArg?: ErrorOptions);
23
- }
24
- export declare class NativeMessageChannelClosedError extends NativeMessageError {
25
- constructor(messageArg?: string, optionsArg?: ErrorOptions);
26
- }
@@ -1,51 +0,0 @@
1
- export class NativeByteError extends Error {
2
- constructor(messageArg, code, optionsArg) {
3
- super(messageArg, optionsArg);
4
- this.code = code;
5
- this.name = 'NativeByteError';
6
- }
7
- }
8
- export class NativeByteProtocolError extends NativeByteError {
9
- constructor(messageArg, optionsArg) {
10
- super(messageArg, 'NATIVE_BYTE_PROTOCOL_ERROR', optionsArg);
11
- this.name = 'NativeByteProtocolError';
12
- }
13
- }
14
- export class NativeByteCapabilityError extends NativeByteError {
15
- constructor(messageArg = 'native-byte-v1 is unavailable', optionsArg) {
16
- super(messageArg, 'NATIVE_BYTE_CAPABILITY_UNAVAILABLE', optionsArg);
17
- this.name = 'NativeByteCapabilityError';
18
- }
19
- }
20
- export class NativeByteStreamClosedError extends NativeByteError {
21
- constructor(messageArg = 'Native byte stream is closed', optionsArg) {
22
- super(messageArg, 'NATIVE_BYTE_STREAM_CLOSED', optionsArg);
23
- this.name = 'NativeByteStreamClosedError';
24
- }
25
- }
26
- export class NativeMessageError extends Error {
27
- constructor(messageArg, code, optionsArg) {
28
- super(messageArg, optionsArg);
29
- this.code = code;
30
- this.name = 'NativeMessageError';
31
- }
32
- }
33
- export class NativeMessageProtocolError extends NativeMessageError {
34
- constructor(messageArg, optionsArg) {
35
- super(messageArg, 'NATIVE_MESSAGE_PROTOCOL_ERROR', optionsArg);
36
- this.name = 'NativeMessageProtocolError';
37
- }
38
- }
39
- export class NativeMessageCapabilityError extends NativeMessageError {
40
- constructor(messageArg = 'native-message-v1 is unavailable', optionsArg) {
41
- super(messageArg, 'NATIVE_MESSAGE_CAPABILITY_UNAVAILABLE', optionsArg);
42
- this.name = 'NativeMessageCapabilityError';
43
- }
44
- }
45
- export class NativeMessageChannelClosedError extends NativeMessageError {
46
- constructor(messageArg = 'Native message channel is closed', optionsArg) {
47
- super(messageArg, 'NATIVE_MESSAGE_CHANNEL_CLOSED', optionsArg);
48
- this.name = 'NativeMessageChannelClosedError';
49
- }
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5uYXRpdmVieXRlZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLm5hdGl2ZWJ5dGVlcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxLQUFLO0lBQ3hDLFlBQ0UsVUFBa0IsRUFDRixJQUFZLEVBQzVCLFVBQXlCO1FBRXpCLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFIZCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBSTVCLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQWU7SUFDMUQsWUFBWSxVQUFrQixFQUFFLFVBQXlCO1FBQ3ZELEtBQUssQ0FBQyxVQUFVLEVBQUUsNEJBQTRCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksR0FBRyx5QkFBeUIsQ0FBQztJQUN4QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZUFBZTtJQUM1RCxZQUFZLFVBQVUsR0FBRywrQkFBK0IsRUFBRSxVQUF5QjtRQUNqRixLQUFLLENBQUMsVUFBVSxFQUFFLG9DQUFvQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxJQUFJLEdBQUcsMkJBQTJCLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGVBQWU7SUFDOUQsWUFBWSxVQUFVLEdBQUcsOEJBQThCLEVBQUUsVUFBeUI7UUFDaEYsS0FBSyxDQUFDLFVBQVUsRUFBRSwyQkFBMkIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLDZCQUE2QixDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxLQUFLO0lBQzNDLFlBQ0UsVUFBa0IsRUFDRixJQUFZLEVBQzVCLFVBQXlCO1FBRXpCLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFIZCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBSTVCLElBQUksQ0FBQyxJQUFJLEdBQUcsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtCQUFrQjtJQUNoRSxZQUFZLFVBQWtCLEVBQUUsVUFBeUI7UUFDdkQsS0FBSyxDQUFDLFVBQVUsRUFBRSwrQkFBK0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxrQkFBa0I7SUFDbEUsWUFBWSxVQUFVLEdBQUcsa0NBQWtDLEVBQUUsVUFBeUI7UUFDcEYsS0FBSyxDQUFDLFVBQVUsRUFBRSx1Q0FBdUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsSUFBSSxHQUFHLDhCQUE4QixDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxrQkFBa0I7SUFDckUsWUFBWSxVQUFVLEdBQUcsa0NBQWtDLEVBQUUsVUFBeUI7UUFDcEYsS0FBSyxDQUFDLFVBQVUsRUFBRSwrQkFBK0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLGlDQUFpQyxDQUFDO0lBQ2hELENBQUM7Q0FDRiJ9
@@ -1,505 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- import { NativeByteStreamClosedError, NativeMessageChannelClosedError } from './classes.nativebyteerror.js';
3
- import type { INativeByteCapabilityStatus, INativeByteCreateReceiveGrantOptions, INativeByteDescriptor, INativeByteOpenSenderOptions, INativeByteReceipt, INativeByteReceiveGrant, INativeByteRuntime, INativeByteStats, TNativeByteCapabilityMode, TNativeByteConnectionBinding, TNativeByteRevalidate } from './interfaces.nativebytes.js';
4
- import type { INativeMessageCapabilityStatus, INativeMessageCreateReceiveGrantOptions, INativeMessageDescriptor, INativeMessageOpenSenderOptions, INativeMessageReceiveGrant, INativeMessageReceiver, INativeMessageSender, INativeMessageStats, TNativeMessageCapabilityMode, TNativeMessageRevalidate } from './interfaces.nativemessages.js';
5
- import type { TNativeByteDiagnosticEvent } from './interfaces.diagnostics.js';
6
- type TNativeStreamTransport = plugins.typedrequestInterfaces.INativeStreamTransport;
7
- type TNativeStreamEndpoint = plugins.typedrequestInterfaces.INativeStreamTransportEndpoint;
8
- type TSha256Hasher = ReturnType<typeof plugins.smarthash.createSha256Hasher>;
9
- interface IDeferred<T> {
10
- readonly promise: Promise<T>;
11
- readonly settled: boolean;
12
- resolve(valueArg: T): void;
13
- reject(errorArg: unknown): void;
14
- }
15
- interface IOutboundFrame {
16
- readonly bytes: Uint8Array<ArrayBuffer>;
17
- readonly streamId: string;
18
- readonly protocol: 'nativeByte' | 'nativeMessage';
19
- readonly producer?: IProducerState;
20
- readonly payloadBytes: number;
21
- readonly settlement: IDeferred<void>;
22
- accountingReleased: boolean;
23
- timer?: unknown;
24
- }
25
- interface INativeMessageCompleted {
26
- readonly sequence: number;
27
- readonly payload: Uint8Array<ArrayBuffer>;
28
- }
29
- interface INativeMessageReassembly {
30
- readonly sequence: number;
31
- readonly totalLength: number;
32
- readonly payload: Uint8Array<ArrayBuffer>;
33
- nextOffset: number;
34
- }
35
- interface INativeMessageTombstone {
36
- readonly channelId: string;
37
- readonly expiresAt: number;
38
- readonly retainedBytes: number;
39
- }
40
- interface IProducerAdmission {
41
- readonly payload: Uint8Array;
42
- remainingPayloadBytes: number;
43
- sourceAccountingOwned: boolean;
44
- pendingOperationOwned: boolean;
45
- }
46
- interface ITombstone {
47
- readonly streamId: string;
48
- readonly expiresAt: number;
49
- readonly confirmedFin: boolean;
50
- readonly byteLength: number;
51
- readonly sha256: string;
52
- readonly finAck?: Uint8Array<ArrayBuffer>;
53
- readonly retainedBytes: number;
54
- }
55
- type TConsumerStatus = 'grant' | 'validating-open' | 'open' | 'fin-validated' | 'awaiting-confirmation' | 'closed';
56
- type TProducerStatus = 'opening' | 'open' | 'finishing' | 'closed';
57
- type TConsumerTerminalOperation = {
58
- readonly kind: 'confirm';
59
- readonly promise: Promise<INativeByteReceipt>;
60
- } | {
61
- readonly kind: 'reject';
62
- readonly promise: Promise<void>;
63
- };
64
- interface IConsumerState {
65
- readonly role: 'consumer';
66
- readonly connection: IConnectionState;
67
- readonly descriptor: INativeByteDescriptor;
68
- readonly revalidate: TNativeByteRevalidate;
69
- readonly principalId: string;
70
- readonly revisions: {
71
- readonly credentialRevision: string;
72
- readonly configRevision: string;
73
- readonly bindingRevision: string;
74
- };
75
- readonly endpoint: NativeByteReceiver;
76
- readonly completion: IDeferred<INativeByteReceipt>;
77
- readonly opened: IDeferred<NativeByteReceiver>;
78
- readonly closedSignal: IDeferred<never>;
79
- readonly revalidationControllers: Set<AbortController>;
80
- readonly authorityMetadataBytes: number;
81
- readonly receiveQueue: Array<Uint8Array | undefined>;
82
- receiveQueueHead: number;
83
- readonly receiveWaiters: Set<IDeferred<void>>;
84
- readonly hasher: TSha256Hasher;
85
- status: TConsumerStatus;
86
- consumerReadActive: boolean;
87
- timer?: unknown;
88
- nextSequence: number;
89
- receivedOffset: number;
90
- consumedOffset: number;
91
- receiveLimitOffset: number;
92
- windowReservationBytes: number;
93
- queuedPayloadBytes: number;
94
- terminalOperation?: TConsumerTerminalOperation;
95
- finalSha256?: string;
96
- closeError?: NativeByteStreamClosedError;
97
- }
98
- interface IProducerState {
99
- readonly role: 'producer';
100
- readonly connection: IConnectionState;
101
- readonly descriptor: INativeByteDescriptor;
102
- readonly endpoint: NativeByteSender;
103
- readonly completion: IDeferred<INativeByteReceipt>;
104
- readonly opened: IDeferred<NativeByteSender>;
105
- readonly closedSignal: IDeferred<never>;
106
- readonly windowWaiters: Set<IDeferred<void>>;
107
- readonly hasher: TSha256Hasher;
108
- status: TProducerStatus;
109
- operationTail: Promise<void>;
110
- terminalRequested: boolean;
111
- terminalPromise?: Promise<void>;
112
- openTimer?: unknown;
113
- idleTimer?: unknown;
114
- ackTimer?: unknown;
115
- finAckTimer?: unknown;
116
- nextSequence: number;
117
- sentOffset: number;
118
- admittedOffset: number;
119
- acknowledgedOffset: number;
120
- receiveLimitOffset: number;
121
- queuedPayloadBytes: number;
122
- finalSha256?: string;
123
- closeError?: NativeByteStreamClosedError;
124
- }
125
- type TStreamState = IConsumerState | IProducerState;
126
- type TNativeMessageReceiverStatus = 'grant' | 'validating-open' | 'open' | 'closing' | 'closed';
127
- type TNativeMessageSenderStatus = 'opening' | 'open' | 'closing' | 'closed';
128
- interface INativeMessageReceiverState {
129
- readonly role: 'messageReceiver';
130
- readonly connection: IConnectionState;
131
- readonly descriptor: INativeMessageDescriptor;
132
- readonly revalidate: TNativeMessageRevalidate;
133
- readonly principalId: string;
134
- readonly revisions: {
135
- readonly credentialRevision: string;
136
- readonly configRevision: string;
137
- readonly bindingRevision: string;
138
- };
139
- readonly authorityMetadataBytes: number;
140
- readonly endpoint: NativeMessageReceiver;
141
- readonly opened: IDeferred<NativeMessageReceiver>;
142
- readonly completion: IDeferred<void>;
143
- readonly closedSignal: IDeferred<never>;
144
- readonly receiveWaiters: Set<IDeferred<void>>;
145
- readonly revalidationControllers: Set<AbortController>;
146
- status: TNativeMessageReceiverStatus;
147
- receiveActive: boolean;
148
- nextSequence: number;
149
- acceptedMaxMessageBytes: number;
150
- reassembly?: INativeMessageReassembly;
151
- completed?: INativeMessageCompleted;
152
- remoteClosed: boolean;
153
- timer?: unknown;
154
- closeError?: NativeMessageChannelClosedError;
155
- }
156
- interface INativeMessageSenderState {
157
- readonly role: 'messageSender';
158
- readonly connection: IConnectionState;
159
- readonly descriptor: INativeMessageDescriptor;
160
- readonly endpoint: NativeMessageSender;
161
- readonly opened: IDeferred<NativeMessageSender>;
162
- readonly completion: IDeferred<void>;
163
- readonly closedSignal: IDeferred<never>;
164
- status: TNativeMessageSenderStatus;
165
- acceptedMaxMessageBytes: number;
166
- operationTail: Promise<void>;
167
- nextSequence: number;
168
- pendingMessages: number;
169
- pendingMessageBytes: number;
170
- terminalRequested: boolean;
171
- closePromise?: Promise<void>;
172
- awaitingAck?: {
173
- readonly sequence: number;
174
- readonly deferred: IDeferred<void>;
175
- };
176
- openTimer?: unknown;
177
- progressTimer?: unknown;
178
- closeTimer?: unknown;
179
- closeError?: NativeMessageChannelClosedError;
180
- }
181
- type TNativeMessageChannelState = INativeMessageReceiverState | INativeMessageSenderState;
182
- interface IConnectionState {
183
- readonly binding: TNativeByteConnectionBinding;
184
- readonly transport: NativeByteConnectionTransport;
185
- readonly grants: Map<string, IConsumerState>;
186
- readonly streams: Map<string, TStreamState>;
187
- readonly tombstones: Map<string, ITombstone>;
188
- readonly messageGrants: Map<string, INativeMessageReceiverState>;
189
- readonly messageChannels: Map<string, TNativeMessageChannelState>;
190
- readonly messageTombstones: Map<string, INativeMessageTombstone>;
191
- readonly rawQueue: Uint8Array[];
192
- readonly controlQueue: IOutboundFrame[];
193
- readonly dataQueue: IOutboundFrame[];
194
- serverInflightFrame?: IOutboundFrame;
195
- serverInflightTransportFrame?: Extract<plugins.TWebSocketOutboundRawFrame, {
196
- type: 'binary';
197
- }>;
198
- readonly revalidationControllers: Set<AbortController>;
199
- negotiated: boolean;
200
- nativeEnabled: boolean;
201
- messageNegotiated: boolean;
202
- nativeMessageEnabled: boolean;
203
- closed: boolean;
204
- processingRaw: boolean;
205
- rawQueueBytes: number;
206
- processingRawBytes: number;
207
- queuedPayloadBytes: number;
208
- nativeMessageQueuedPayloadBytes: number;
209
- authorityMetadataBytes: number;
210
- tombstoneBytes: number;
211
- receiveWindowReservedBytes: number;
212
- pendingProducerDataOperations: number;
213
- retainedRevalidations: number;
214
- serverWakeOutstanding: boolean;
215
- clientTurnScheduled: boolean;
216
- clientBackpressureTimer?: unknown;
217
- negotiationTimer?: unknown;
218
- nativeMessageNegotiationTimer?: unknown;
219
- }
220
- export declare class NativeByteReceiver implements TNativeStreamEndpoint {
221
- private readonly manager;
222
- private readonly state;
223
- readonly protocol: "native-byte-v1";
224
- readonly direction: "receive";
225
- readonly readable: ReadableStream<Uint8Array>;
226
- private manifestInternal;
227
- constructor(manager: NativeByteManager, state: IConsumerState);
228
- get closed(): Promise<void>;
229
- get manifest(): plugins.typedrequestInterfaces.INativeByteStreamManifest;
230
- get completion(): Promise<INativeByteReceipt>;
231
- sendData(_dataArg: Uint8Array): Promise<void>;
232
- fetchData(): Promise<Uint8Array>;
233
- readFromWebstream(_readableStreamArg: ReadableStream<Uint8Array>): Promise<void>;
234
- writeToWebstream(writableStreamArg: WritableStream<Uint8Array>): Promise<void>;
235
- close(_sendClosingBitArg?: boolean): Promise<void>;
236
- abort(reasonArg?: unknown): Promise<void>;
237
- reject(reasonArg?: unknown): Promise<void>;
238
- confirmDurable(): Promise<INativeByteReceipt>;
239
- }
240
- export declare class NativeByteSender implements TNativeStreamEndpoint {
241
- private readonly manager;
242
- private readonly state;
243
- readonly protocol: "native-byte-v1";
244
- readonly direction: "send";
245
- readonly writable: WritableStream<Uint8Array>;
246
- private manifestInternal;
247
- constructor(manager: NativeByteManager, state: IProducerState);
248
- get closed(): Promise<void>;
249
- get manifest(): plugins.typedrequestInterfaces.INativeByteStreamManifest;
250
- get completion(): Promise<INativeByteReceipt>;
251
- sendData(dataArg: Uint8Array): Promise<void>;
252
- fetchData(): Promise<Uint8Array>;
253
- readFromWebstream(readableStreamArg: ReadableStream<Uint8Array>, closeAfterReadingArg?: boolean): Promise<void>;
254
- writeToWebstream(_writableStreamArg: WritableStream<Uint8Array>): Promise<void>;
255
- close(_sendClosingBitArg?: boolean): Promise<void>;
256
- abort(reasonArg?: unknown): Promise<void>;
257
- }
258
- export declare class NativeMessageReceiver implements INativeMessageReceiver {
259
- private readonly manager;
260
- private readonly state;
261
- constructor(manager: NativeByteManager, state: INativeMessageReceiverState);
262
- get closed(): Promise<void>;
263
- receive(): Promise<Uint8Array | undefined>;
264
- reject(reasonArg?: unknown): Promise<void>;
265
- }
266
- export declare class NativeMessageSender implements INativeMessageSender {
267
- private readonly manager;
268
- private readonly state;
269
- constructor(manager: NativeByteManager, state: INativeMessageSenderState);
270
- get closed(): Promise<void>;
271
- send(messageArg: Uint8Array): Promise<void>;
272
- close(): Promise<void>;
273
- }
274
- export declare class NativeMessageFacade {
275
- #private;
276
- constructor(managerArg: NativeByteManager);
277
- createReceiveGrant(optionsArg: INativeMessageCreateReceiveGrantOptions): INativeMessageReceiveGrant;
278
- openSender(descriptorArg: INativeMessageDescriptor, optionsArg?: INativeMessageOpenSenderOptions): Promise<INativeMessageSender>;
279
- getCapability(targetArg?: {
280
- readonly peer: plugins.IWebSocketPeer;
281
- } | plugins.IWebSocketPeer): INativeMessageCapabilityStatus;
282
- getStats(targetArg?: {
283
- readonly peer: plugins.IWebSocketPeer;
284
- } | plugins.IWebSocketPeer): INativeMessageStats;
285
- normalizeMaxMessageBytes(valueArg: unknown): number;
286
- }
287
- declare class NativeByteConnectionTransport implements TNativeStreamTransport {
288
- private readonly manager;
289
- private readonly connection;
290
- constructor(manager: NativeByteManager, connection: IConnectionState);
291
- get capabilities(): readonly ['native-byte-v1'] | readonly [];
292
- requireCapability(requirementArg: plugins.typedrequestInterfaces.INativeStreamCapabilityRequirement): void;
293
- registerNativeStream(): plugins.typedrequestInterfaces.INativeStreamTransportRegistration;
294
- openNativeStream(descriptorArg: plugins.typedrequestInterfaces.TNativeStreamDescriptor): Promise<TNativeStreamEndpoint>;
295
- }
296
- export interface INativeByteManagerOptions {
297
- readonly side: 'client' | 'server';
298
- readonly capabilityMode?: TNativeByteCapabilityMode;
299
- readonly nativeMessageCapabilityMode?: TNativeMessageCapabilityMode;
300
- readonly runtime?: INativeByteRuntime;
301
- /** Structured close/rejection diagnostics; must not throw, errors are swallowed. */
302
- readonly onDiagnostic?: (eventArg: TNativeByteDiagnosticEvent) => void;
303
- }
304
- export declare class NativeByteManager {
305
- readonly webSocketTransportOwner: plugins.IWebSocketTransportOwner;
306
- readonly messages: NativeMessageFacade;
307
- private readonly side;
308
- private readonly capabilityMode;
309
- private readonly nativeMessageCapabilityMode;
310
- private readonly runtime;
311
- private readonly onDiagnostic?;
312
- private readonly clientNativeStreamTransport;
313
- private readonly serverConnections;
314
- private readonly serverSettlementConnections;
315
- private readonly serverAccountingConnections;
316
- private currentClientConnection;
317
- private serverAttached;
318
- private retainedRevalidations;
319
- private readonly retainedRevalidationsByPrincipal;
320
- constructor(optionsArg: INativeByteManagerOptions);
321
- attachServer(): void;
322
- detachServer(): void;
323
- bindClientConnection(webSocketArg: WebSocket, generationArg: number): void;
324
- unbindClientConnection(webSocketArg: WebSocket, generationArg: number, reasonArg?: unknown): void;
325
- enqueueClientRawFrame(webSocketArg: WebSocket, generationArg: number, dataArg: ArrayBuffer | ArrayBufferView): void;
326
- getClientNegotiationAdvertisement(): {
327
- protocolMajor: 6;
328
- capabilities: readonly ['native-byte-v1'] | readonly [];
329
- };
330
- completeClientNegotiation(webSocketArg: WebSocket, generationArg: number, responseArg: {
331
- protocolMajor: number;
332
- capabilities: readonly string[];
333
- required?: boolean;
334
- }): void;
335
- failOptionalClientNegotiation(webSocketArg: WebSocket, generationArg: number): void;
336
- negotiateServerPeer(peerArg: plugins.IWebSocketPeer, requestArg: {
337
- protocolMajor: number;
338
- capabilities: readonly string[];
339
- }): {
340
- protocolMajor: 6;
341
- capabilities: readonly ['native-byte-v1'] | readonly [];
342
- required: boolean;
343
- };
344
- getClientNativeMessageNegotiationAdvertisement(): {
345
- protocolMajor: 1;
346
- capabilities: readonly ['native-message-v1'] | readonly [];
347
- };
348
- completeClientNativeMessageNegotiation(webSocketArg: WebSocket, generationArg: number, responseArg: {
349
- protocolMajor: number;
350
- capabilities: readonly string[];
351
- required?: boolean;
352
- }): void;
353
- failOptionalClientNativeMessageNegotiation(webSocketArg: WebSocket, generationArg: number): void;
354
- negotiateServerNativeMessages(peerArg: plugins.IWebSocketPeer, requestArg: {
355
- protocolMajor: number;
356
- capabilities: readonly string[];
357
- }): {
358
- protocolMajor: 1;
359
- capabilities: readonly ['native-message-v1'] | readonly [];
360
- required: boolean;
361
- };
362
- connectionHasNativeMessageCapability(connectionArg: IConnectionState): boolean;
363
- getClientNativeStreamTransport(): TNativeStreamTransport | undefined;
364
- getServerNativeStreamTransport(peerArg: plugins.IWebSocketPeer): TNativeStreamTransport | undefined;
365
- connectionHasCapability(connectionArg: IConnectionState): boolean;
366
- createReceiveGrant(optionsArg: INativeByteCreateReceiveGrantOptions): INativeByteReceiveGrant;
367
- normalizeManifest(manifestArg: plugins.typedrequestInterfaces.INativeByteStreamManifest): plugins.typedrequestInterfaces.INativeByteStreamManifest;
368
- createReceiveRegistration(optionsArg: INativeByteCreateReceiveGrantOptions): plugins.typedrequestInterfaces.INativeByteStreamTransportRegistration;
369
- openSender(descriptorArg: INativeByteDescriptor, optionsArg?: INativeByteOpenSenderOptions): Promise<NativeByteSender>;
370
- getCapability(targetArg?: {
371
- readonly peer: plugins.IWebSocketPeer;
372
- } | plugins.IWebSocketPeer): INativeByteCapabilityStatus;
373
- getStats(targetArg?: {
374
- readonly peer: plugins.IWebSocketPeer;
375
- } | plugins.IWebSocketPeer): INativeByteStats;
376
- createNativeMessageReceiveGrant(optionsArg: INativeMessageCreateReceiveGrantOptions): INativeMessageReceiveGrant;
377
- openNativeMessageSender(descriptorArg: INativeMessageDescriptor, optionsArg?: INativeMessageOpenSenderOptions): Promise<NativeMessageSender>;
378
- getNativeMessageCapability(targetArg?: {
379
- readonly peer: plugins.IWebSocketPeer;
380
- } | plugins.IWebSocketPeer): INativeMessageCapabilityStatus;
381
- getNativeMessageStats(targetArg?: {
382
- readonly peer: plugins.IWebSocketPeer;
383
- } | plugins.IWebSocketPeer): INativeMessageStats;
384
- registerGenericNativeStream(connectionArg: IConnectionState): plugins.typedrequestInterfaces.INativeStreamTransportRegistration;
385
- openSenderOnConnection(connectionArg: IConnectionState, descriptorArg: plugins.typedrequestInterfaces.TNativeStreamDescriptor): Promise<NativeByteSender>;
386
- enqueueProducerData(stateArg: IProducerState, dataArg: Uint8Array): Promise<void>;
387
- closeProducer(stateArg: IProducerState): Promise<void>;
388
- private admitProducerData;
389
- private releaseProducerAdmission;
390
- sendProducerData(stateArg: IProducerState, admissionArg: IProducerAdmission): Promise<void>;
391
- finishProducer(stateArg: IProducerState): Promise<void>;
392
- abortProducer(stateArg: IProducerState, reasonArg?: unknown): Promise<void>;
393
- sendNativeMessage(stateArg: INativeMessageSenderState, messageArg: Uint8Array): Promise<void>;
394
- private admitNativeMessage;
395
- private sendNativeMessageAdmission;
396
- private releaseNativeMessageAdmission;
397
- closeNativeMessageSender(stateArg: INativeMessageSenderState): Promise<void>;
398
- private finishNativeMessageSender;
399
- receiveNativeMessage(stateArg: INativeMessageReceiverState): Promise<Uint8Array | undefined>;
400
- rejectNativeMessageReceiver(stateArg: INativeMessageReceiverState, reasonArg?: unknown): Promise<void>;
401
- private refreshNativeMessageSenderProgressTimer;
402
- private refreshNativeMessageReceiverProgressTimer;
403
- private getConsumerQueueLength;
404
- consumeReceiverData(stateArg: IConsumerState): Promise<Uint8Array | undefined>;
405
- private consumeReceiverDataOnce;
406
- getConsumerCloseError(stateArg: IConsumerState, messageArg?: string): NativeByteStreamClosedError;
407
- confirmConsumerDurable(stateArg: IConsumerState): Promise<INativeByteReceipt>;
408
- private confirmConsumerDurableOnce;
409
- rejectConsumer(stateArg: IConsumerState, reasonArg?: unknown): Promise<void>;
410
- private rejectConsumerOnce;
411
- private createConnection;
412
- private bindServerPeer;
413
- private unbindServerPeer;
414
- private enqueueServerRawFrame;
415
- private enqueueRawFrame;
416
- private processRawQueue;
417
- private handleFrame;
418
- private handleNativeMessageFrame;
419
- private handleNativeMessageOpen;
420
- private handleNativeMessageOpenAck;
421
- private handleNativeMessageFragment;
422
- private handleNativeMessageAck;
423
- private handleNativeMessageClose;
424
- private handleNativeMessageCloseAck;
425
- private handleNativeMessageReset;
426
- private handleOpen;
427
- private handleOpenAck;
428
- private handleData;
429
- private handleAck;
430
- private handleFin;
431
- private handleFinAck;
432
- private handleReset;
433
- private createReceiveGrantOnConnection;
434
- private validateDescriptor;
435
- private validateNativeMessageDescriptor;
436
- private resolveNativeMessageConnection;
437
- private requireNativeMessageCapability;
438
- private reserveNativeMessageChannelSlot;
439
- private resolveConnection;
440
- private resolveConnectionForInspection;
441
- private requireConnectionCapability;
442
- private reserveStreamSlot;
443
- private normalizePrincipalId;
444
- private normalizeAuthorityRevision;
445
- private getServerConnectionCount;
446
- private getServerNativeByteStreamCount;
447
- private getServerAggregateSlotCount;
448
- private getServerRetainedBytes;
449
- private getServerReceiveReservationBytes;
450
- private assertServerRetainedByteCapacity;
451
- private assertServerReceiveReservationCapacity;
452
- private maybeReleaseServerAccountingConnection;
453
- private revalidateNativeMessageReceiver;
454
- private getNativeMessageRevalidationResetCode;
455
- private assertNativeMessageReceiverOwned;
456
- private assertNativeMessageSenderOpen;
457
- private wakeNativeMessageReceiveWaiters;
458
- private failNativeMessageChannelProtocol;
459
- private failNativeMessageSender;
460
- private failNativeMessageReceiver;
461
- private cleanupNativeMessageSender;
462
- private cleanupNativeMessageReceiver;
463
- private tryAddNativeMessageTombstone;
464
- private addNativeMessageTombstone;
465
- private pruneNativeMessageTombstones;
466
- private deleteNativeMessageTombstone;
467
- private revalidateConsumer;
468
- private getRevalidationResetCode;
469
- private assertConsumerOwned;
470
- private assertProducerOpen;
471
- private waitForProducerWindow;
472
- private wakeProducerWindowWaiters;
473
- private wakeConsumerReceiveWaiters;
474
- private refreshProducerIdleTimer;
475
- private refreshProducerAckTimer;
476
- private refreshConsumerIdleTimer;
477
- private enterAwaitingConfirmation;
478
- private clearProducerProgressTimers;
479
- private failStreamProtocol;
480
- private failProducer;
481
- private failConsumer;
482
- private cleanupProducer;
483
- private cleanupConsumer;
484
- private tryAddCleanupTombstone;
485
- private addTombstone;
486
- private pruneTombstones;
487
- private deleteTombstone;
488
- private sendReset;
489
- private sendNativeMessageReset;
490
- private enqueueNativeMessageFrame;
491
- private enqueueFrame;
492
- private enqueueEncodedFrame;
493
- private wakeOutbound;
494
- private runClientOutboundTurn;
495
- private pullServerBinaryFrame;
496
- private settleServerOutboundFrame;
497
- private settleOutboundFrame;
498
- private releaseOutboundQueueBytes;
499
- private releaseProducerPayloadAccounting;
500
- private removeQueuedFramesForStream;
501
- private emitDiagnostic;
502
- private closeConnection;
503
- private failConnection;
504
- }
505
- export {};