@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.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.typedsocket.d.ts +21 -52
- package/dist_ts/classes.typedsocket.js +264 -358
- package/dist_ts/classes.typedsockettagpolicymanager.d.ts +1 -0
- package/dist_ts/classes.typedsockettagpolicymanager.js +26 -2
- package/dist_ts/classes.virtualstreammanager.d.ts +268 -0
- package/dist_ts/classes.virtualstreammanager.js +2085 -0
- package/dist_ts/constants.virtualstream.d.ts +58 -0
- package/dist_ts/constants.virtualstream.js +58 -0
- package/dist_ts/helpers.virtualstreamcodec.d.ts +14 -0
- package/dist_ts/helpers.virtualstreamcodec.js +349 -0
- package/dist_ts/index.d.ts +5 -9
- package/dist_ts/index.js +3 -6
- package/dist_ts/interfaces.diagnostics.d.ts +6 -18
- package/dist_ts/interfaces.virtualstream.d.ts +131 -0
- package/dist_ts/interfaces.virtualstream.js +2 -0
- package/package.json +5 -5
- package/readme.hints.md +11 -59
- package/readme.md +295 -840
- package/dist_ts/classes.nativebyteerror.d.ts +0 -26
- package/dist_ts/classes.nativebyteerror.js +0 -51
- package/dist_ts/classes.nativebytemanager.d.ts +0 -505
- package/dist_ts/classes.nativebytemanager.js +0 -3691
- package/dist_ts/constants.nativebytes.d.ts +0 -59
- package/dist_ts/constants.nativebytes.js +0 -58
- package/dist_ts/constants.nativemessages.d.ts +0 -45
- package/dist_ts/constants.nativemessages.js +0 -44
- package/dist_ts/helpers.nativebytecodec.d.ts +0 -8
- package/dist_ts/helpers.nativebytecodec.js +0 -328
- package/dist_ts/helpers.nativemessagecodec.d.ts +0 -6
- package/dist_ts/helpers.nativemessagecodec.js +0 -267
- package/dist_ts/interfaces.nativebytes.d.ts +0 -187
- package/dist_ts/interfaces.nativebytes.js +0 -2
- package/dist_ts/interfaces.nativemessages.d.ts +0 -144
- package/dist_ts/interfaces.nativemessages.js +0 -2
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export declare const TYPEDSOCKET_PACKAGE_MAJOR: 7;
|
|
2
|
+
export declare const TYPEDSOCKET_VERSION_METHOD: "__typedsocket_checkVersion";
|
|
3
|
+
export declare const VIRTUAL_STREAM_PROTOCOL: "virtual-stream-v1";
|
|
4
|
+
export declare const VIRTUAL_STREAM_FRAME_MAGIC: "TSV1";
|
|
5
|
+
export declare const VIRTUAL_STREAM_FRAME_TYPES: {
|
|
6
|
+
readonly OPEN: 1;
|
|
7
|
+
readonly OPEN_ACK: 2;
|
|
8
|
+
readonly CHUNK: 3;
|
|
9
|
+
readonly CHUNK_ACK: 4;
|
|
10
|
+
readonly FIN: 5;
|
|
11
|
+
readonly ACCEPT: 6;
|
|
12
|
+
readonly RESET: 7;
|
|
13
|
+
};
|
|
14
|
+
export declare const VIRTUAL_STREAM_RESET_CODES: {
|
|
15
|
+
readonly PROTOCOL_ERROR: 1;
|
|
16
|
+
readonly CAPABILITY_REJECTED: 2;
|
|
17
|
+
readonly RESOURCE_LIMIT: 3;
|
|
18
|
+
readonly TIMEOUT: 4;
|
|
19
|
+
readonly ABORTED: 5;
|
|
20
|
+
readonly INTEGRITY_ERROR: 6;
|
|
21
|
+
readonly AUTHORITY_REVOKED: 7;
|
|
22
|
+
readonly REJECTED: 8;
|
|
23
|
+
};
|
|
24
|
+
export declare const VIRTUAL_STREAM_MAX_FRAME_BYTES: number;
|
|
25
|
+
export declare const VIRTUAL_STREAM_COMMON_HEADER_BYTES = 32;
|
|
26
|
+
export declare const VIRTUAL_STREAM_OPEN_HEADER_BYTES = 96;
|
|
27
|
+
export declare const VIRTUAL_STREAM_CHUNK_HEADER_BYTES = 40;
|
|
28
|
+
export declare const VIRTUAL_STREAM_FIN_HEADER_BYTES = 40;
|
|
29
|
+
export declare const VIRTUAL_STREAM_ACCEPT_HEADER_BYTES = 48;
|
|
30
|
+
export declare const VIRTUAL_STREAM_RESET_FIXED_HEADER_BYTES = 40;
|
|
31
|
+
export declare const VIRTUAL_STREAM_MAX_FRAGMENT_PAYLOAD_BYTES: number;
|
|
32
|
+
export declare const VIRTUAL_STREAM_MAX_LOGICAL_CHUNK_BYTES: number;
|
|
33
|
+
export declare const VIRTUAL_STREAM_MAX_CONTENT_TYPE_BYTES = 255;
|
|
34
|
+
export declare const VIRTUAL_STREAM_MAX_RESET_REASON_BYTES = 256;
|
|
35
|
+
export declare const VIRTUAL_STREAM_MAX_STREAM_BYTES: number;
|
|
36
|
+
export declare const VIRTUAL_STREAM_MAX_STREAMS_PER_CONNECTION = 32;
|
|
37
|
+
export declare const VIRTUAL_STREAM_MAX_STREAMS_PER_SERVER = 1024;
|
|
38
|
+
export declare const VIRTUAL_STREAM_MAX_CONNECTIONS_PER_SERVER = 1024;
|
|
39
|
+
export declare const VIRTUAL_STREAM_MAX_QUEUED_CHUNKS_PER_STREAM = 8;
|
|
40
|
+
export declare const VIRTUAL_STREAM_MAX_QUEUED_CHUNKS_PER_CONNECTION = 64;
|
|
41
|
+
export declare const VIRTUAL_STREAM_MAX_QUEUED_BYTES_PER_STREAM: number;
|
|
42
|
+
export declare const VIRTUAL_STREAM_MAX_QUEUED_BYTES_PER_CONNECTION: number;
|
|
43
|
+
export declare const VIRTUAL_STREAM_MAX_RAW_QUEUE_FRAMES = 64;
|
|
44
|
+
export declare const VIRTUAL_STREAM_MAX_RAW_QUEUE_BYTES: number;
|
|
45
|
+
export declare const VIRTUAL_STREAM_MAX_OUTBOUND_FRAMES_PER_CONNECTION = 128;
|
|
46
|
+
export declare const VIRTUAL_STREAM_MAX_ARRIVAL_STAMPS_PER_CONNECTION = 512;
|
|
47
|
+
export declare const VIRTUAL_STREAM_MAX_ARRIVAL_STAMP_BYTES_PER_CONNECTION: number;
|
|
48
|
+
export declare const VIRTUAL_STREAM_MAX_CORRELATION_ID_BYTES = 256;
|
|
49
|
+
export declare const VIRTUAL_STREAM_MAX_REVALIDATIONS_PER_CONNECTION = 4;
|
|
50
|
+
export declare const VIRTUAL_STREAM_MAX_REVALIDATIONS_PER_SERVER = 128;
|
|
51
|
+
export declare const VIRTUAL_STREAM_MAX_TOMBSTONES_PER_CONNECTION = 64;
|
|
52
|
+
export declare const VIRTUAL_STREAM_MAX_RETAINED_BYTES_PER_SERVER: number;
|
|
53
|
+
export declare const TYPEDSOCKET_HANDSHAKE_TIMEOUT_MS = 10000;
|
|
54
|
+
export declare const VIRTUAL_STREAM_CAPABILITY_TIMEOUT_MS = 10000;
|
|
55
|
+
export declare const VIRTUAL_STREAM_PROGRESS_TIMEOUT_MS = 30000;
|
|
56
|
+
export declare const VIRTUAL_STREAM_REVALIDATION_TIMEOUT_MS = 5000;
|
|
57
|
+
export declare const VIRTUAL_STREAM_TOMBSTONE_RETENTION_MS = 60000;
|
|
58
|
+
export type TVirtualStreamFrameType = (typeof VIRTUAL_STREAM_FRAME_TYPES)[keyof typeof VIRTUAL_STREAM_FRAME_TYPES];
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export const TYPEDSOCKET_PACKAGE_MAJOR = 7;
|
|
2
|
+
export const TYPEDSOCKET_VERSION_METHOD = '__typedsocket_checkVersion';
|
|
3
|
+
export const VIRTUAL_STREAM_PROTOCOL = 'virtual-stream-v1';
|
|
4
|
+
export const VIRTUAL_STREAM_FRAME_MAGIC = 'TSV1';
|
|
5
|
+
export const VIRTUAL_STREAM_FRAME_TYPES = {
|
|
6
|
+
OPEN: 1,
|
|
7
|
+
OPEN_ACK: 2,
|
|
8
|
+
CHUNK: 3,
|
|
9
|
+
CHUNK_ACK: 4,
|
|
10
|
+
FIN: 5,
|
|
11
|
+
ACCEPT: 6,
|
|
12
|
+
RESET: 7,
|
|
13
|
+
};
|
|
14
|
+
export const VIRTUAL_STREAM_RESET_CODES = {
|
|
15
|
+
PROTOCOL_ERROR: 1,
|
|
16
|
+
CAPABILITY_REJECTED: 2,
|
|
17
|
+
RESOURCE_LIMIT: 3,
|
|
18
|
+
TIMEOUT: 4,
|
|
19
|
+
ABORTED: 5,
|
|
20
|
+
INTEGRITY_ERROR: 6,
|
|
21
|
+
AUTHORITY_REVOKED: 7,
|
|
22
|
+
REJECTED: 8,
|
|
23
|
+
};
|
|
24
|
+
export const VIRTUAL_STREAM_MAX_FRAME_BYTES = 32 * 1024;
|
|
25
|
+
export const VIRTUAL_STREAM_COMMON_HEADER_BYTES = 32;
|
|
26
|
+
export const VIRTUAL_STREAM_OPEN_HEADER_BYTES = 96;
|
|
27
|
+
export const VIRTUAL_STREAM_CHUNK_HEADER_BYTES = 40;
|
|
28
|
+
export const VIRTUAL_STREAM_FIN_HEADER_BYTES = 40;
|
|
29
|
+
export const VIRTUAL_STREAM_ACCEPT_HEADER_BYTES = 48;
|
|
30
|
+
export const VIRTUAL_STREAM_RESET_FIXED_HEADER_BYTES = 40;
|
|
31
|
+
export const VIRTUAL_STREAM_MAX_FRAGMENT_PAYLOAD_BYTES = VIRTUAL_STREAM_MAX_FRAME_BYTES - VIRTUAL_STREAM_CHUNK_HEADER_BYTES;
|
|
32
|
+
export const VIRTUAL_STREAM_MAX_LOGICAL_CHUNK_BYTES = 4 * 1024 * 1024;
|
|
33
|
+
export const VIRTUAL_STREAM_MAX_CONTENT_TYPE_BYTES = 255;
|
|
34
|
+
export const VIRTUAL_STREAM_MAX_RESET_REASON_BYTES = 256;
|
|
35
|
+
export const VIRTUAL_STREAM_MAX_STREAM_BYTES = Number.MAX_SAFE_INTEGER;
|
|
36
|
+
export const VIRTUAL_STREAM_MAX_STREAMS_PER_CONNECTION = 32;
|
|
37
|
+
export const VIRTUAL_STREAM_MAX_STREAMS_PER_SERVER = 1024;
|
|
38
|
+
export const VIRTUAL_STREAM_MAX_CONNECTIONS_PER_SERVER = 1024;
|
|
39
|
+
export const VIRTUAL_STREAM_MAX_QUEUED_CHUNKS_PER_STREAM = 8;
|
|
40
|
+
export const VIRTUAL_STREAM_MAX_QUEUED_CHUNKS_PER_CONNECTION = 64;
|
|
41
|
+
export const VIRTUAL_STREAM_MAX_QUEUED_BYTES_PER_STREAM = 8 * 1024 * 1024;
|
|
42
|
+
export const VIRTUAL_STREAM_MAX_QUEUED_BYTES_PER_CONNECTION = 16 * 1024 * 1024;
|
|
43
|
+
export const VIRTUAL_STREAM_MAX_RAW_QUEUE_FRAMES = 64;
|
|
44
|
+
export const VIRTUAL_STREAM_MAX_RAW_QUEUE_BYTES = 2 * 1024 * 1024;
|
|
45
|
+
export const VIRTUAL_STREAM_MAX_OUTBOUND_FRAMES_PER_CONNECTION = 128;
|
|
46
|
+
export const VIRTUAL_STREAM_MAX_ARRIVAL_STAMPS_PER_CONNECTION = 512;
|
|
47
|
+
export const VIRTUAL_STREAM_MAX_ARRIVAL_STAMP_BYTES_PER_CONNECTION = 32 * 1024 * 1024;
|
|
48
|
+
export const VIRTUAL_STREAM_MAX_CORRELATION_ID_BYTES = 256;
|
|
49
|
+
export const VIRTUAL_STREAM_MAX_REVALIDATIONS_PER_CONNECTION = 4;
|
|
50
|
+
export const VIRTUAL_STREAM_MAX_REVALIDATIONS_PER_SERVER = 128;
|
|
51
|
+
export const VIRTUAL_STREAM_MAX_TOMBSTONES_PER_CONNECTION = 64;
|
|
52
|
+
export const VIRTUAL_STREAM_MAX_RETAINED_BYTES_PER_SERVER = 64 * 1024 * 1024;
|
|
53
|
+
export const TYPEDSOCKET_HANDSHAKE_TIMEOUT_MS = 10_000;
|
|
54
|
+
export const VIRTUAL_STREAM_CAPABILITY_TIMEOUT_MS = 10_000;
|
|
55
|
+
export const VIRTUAL_STREAM_PROGRESS_TIMEOUT_MS = 30_000;
|
|
56
|
+
export const VIRTUAL_STREAM_REVALIDATION_TIMEOUT_MS = 5_000;
|
|
57
|
+
export const VIRTUAL_STREAM_TOMBSTONE_RETENTION_MS = 60_000;
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLnZpcnR1YWxzdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jb25zdGFudHMudmlydHVhbHN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFVLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsNEJBQXFDLENBQUM7QUFDaEYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsbUJBQTRCLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsTUFBZSxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLElBQUksRUFBRSxDQUFDO0lBQ1AsUUFBUSxFQUFFLENBQUM7SUFDWCxLQUFLLEVBQUUsQ0FBQztJQUNSLFNBQVMsRUFBRSxDQUFDO0lBQ1osR0FBRyxFQUFFLENBQUM7SUFDTixNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxDQUFDO0NBQ0EsQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLG1CQUFtQixFQUFFLENBQUM7SUFDdEIsY0FBYyxFQUFFLENBQUM7SUFDakIsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsQ0FBQztJQUNWLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLGlCQUFpQixFQUFFLENBQUM7SUFDcEIsUUFBUSxFQUFFLENBQUM7Q0FDSCxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxFQUFFLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsRUFBRSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLEVBQUUsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxFQUFFLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsRUFBRSxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLEVBQUUsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FDcEQsOEJBQThCLEdBQUcsaUNBQWlDLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFDdEUsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsR0FBRyxDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLEdBQUcsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0seUNBQXlDLEdBQUcsRUFBRSxDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLElBQUksQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxJQUFJLENBQUM7QUFDOUQsTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQUcsQ0FBQyxDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLCtDQUErQyxHQUFHLEVBQUUsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUMxRSxNQUFNLENBQUMsTUFBTSw4Q0FBOEMsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUMvRSxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxFQUFFLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFDbEUsTUFBTSxDQUFDLE1BQU0saURBQWlELEdBQUcsR0FBRyxDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLGdEQUFnRCxHQUFHLEdBQUcsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSxxREFBcUQsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUN0RixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxHQUFHLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sK0NBQStDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHLEdBQUcsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSw0Q0FBNEMsR0FBRyxFQUFFLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sNENBQTRDLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsTUFBTSxDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLE1BQU0sQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxNQUFNLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsS0FBSyxDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLE1BQU0sQ0FBQyJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import type { ITypedSocketVirtualStreamDescriptor, TVirtualStreamFrame } from './interfaces.virtualstream.js';
|
|
3
|
+
export declare class VirtualStreamProtocolError extends Error {
|
|
4
|
+
constructor(messageArg: string, optionsArg?: ErrorOptions);
|
|
5
|
+
}
|
|
6
|
+
export declare function copyVirtualStreamBytes(bytesArg: Uint8Array): Uint8Array<ArrayBuffer>;
|
|
7
|
+
export declare function normalizeVirtualStreamId(valueArg: unknown): string;
|
|
8
|
+
export declare function normalizeVirtualStreamCapability(valueArg: unknown): string;
|
|
9
|
+
export declare function normalizeVirtualStreamContentType(valueArg: unknown): string | undefined;
|
|
10
|
+
export declare function normalizeVirtualStreamIntegrity(valueArg: unknown): plugins.typedrequestInterfaces.IVirtualStreamIntegrity | undefined;
|
|
11
|
+
export declare function createVirtualStreamDescriptorDigest(descriptorArg: Pick<ITypedSocketVirtualStreamDescriptor, 'protocol' | 'streamId' | 'creatorDirection' | 'contentType' | 'integrity'>): string;
|
|
12
|
+
export declare function getVirtualStreamFrameByteLength(frameArg: TVirtualStreamFrame): number;
|
|
13
|
+
export declare function encodeVirtualStreamFrame(frameArg: TVirtualStreamFrame): Uint8Array<ArrayBuffer>;
|
|
14
|
+
export declare function decodeVirtualStreamFrame(bytesArg: Uint8Array): TVirtualStreamFrame;
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import { VIRTUAL_STREAM_ACCEPT_HEADER_BYTES, VIRTUAL_STREAM_CHUNK_HEADER_BYTES, VIRTUAL_STREAM_COMMON_HEADER_BYTES, VIRTUAL_STREAM_FIN_HEADER_BYTES, VIRTUAL_STREAM_FRAME_MAGIC, VIRTUAL_STREAM_FRAME_TYPES, VIRTUAL_STREAM_MAX_CONTENT_TYPE_BYTES, VIRTUAL_STREAM_MAX_FRAGMENT_PAYLOAD_BYTES, VIRTUAL_STREAM_MAX_FRAME_BYTES, VIRTUAL_STREAM_MAX_LOGICAL_CHUNK_BYTES, VIRTUAL_STREAM_MAX_RESET_REASON_BYTES, VIRTUAL_STREAM_MAX_STREAM_BYTES, VIRTUAL_STREAM_OPEN_HEADER_BYTES, VIRTUAL_STREAM_RESET_FIXED_HEADER_BYTES, } from './constants.virtualstream.js';
|
|
3
|
+
const textEncoder = new TextEncoder();
|
|
4
|
+
const fatalTextDecoder = new TextDecoder('utf-8', { fatal: true });
|
|
5
|
+
const streamIdPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
|
6
|
+
const capabilityPattern = /^[0-9a-f]{64}$/;
|
|
7
|
+
const digestPattern = /^sha256:[0-9a-f]{64}$/;
|
|
8
|
+
const controlCharacterPattern = /[\u0000-\u001f\u007f]/;
|
|
9
|
+
export class VirtualStreamProtocolError extends Error {
|
|
10
|
+
constructor(messageArg, optionsArg) {
|
|
11
|
+
super(messageArg, optionsArg);
|
|
12
|
+
this.name = 'VirtualStreamProtocolError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export function copyVirtualStreamBytes(bytesArg) {
|
|
16
|
+
const copy = new Uint8Array(new ArrayBuffer(bytesArg.byteLength));
|
|
17
|
+
copy.set(bytesArg);
|
|
18
|
+
return copy;
|
|
19
|
+
}
|
|
20
|
+
function bytesToHex(bytesArg) {
|
|
21
|
+
let result = '';
|
|
22
|
+
for (const byte of bytesArg)
|
|
23
|
+
result += byte.toString(16).padStart(2, '0');
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
function hexToBytes(valueArg) {
|
|
27
|
+
const bytes = new Uint8Array(valueArg.length / 2);
|
|
28
|
+
for (let index = 0; index < bytes.length; index++) {
|
|
29
|
+
bytes[index] = Number.parseInt(valueArg.slice(index * 2, index * 2 + 2), 16);
|
|
30
|
+
}
|
|
31
|
+
return bytes;
|
|
32
|
+
}
|
|
33
|
+
export function normalizeVirtualStreamId(valueArg) {
|
|
34
|
+
if (typeof valueArg !== 'string' || !streamIdPattern.test(valueArg)) {
|
|
35
|
+
throw new VirtualStreamProtocolError('streamId must be a canonical lowercase 128-bit UUID');
|
|
36
|
+
}
|
|
37
|
+
return valueArg;
|
|
38
|
+
}
|
|
39
|
+
export function normalizeVirtualStreamCapability(valueArg) {
|
|
40
|
+
if (typeof valueArg !== 'string' || !capabilityPattern.test(valueArg)) {
|
|
41
|
+
throw new VirtualStreamProtocolError('capability must be 256 bits of lowercase hexadecimal');
|
|
42
|
+
}
|
|
43
|
+
return valueArg;
|
|
44
|
+
}
|
|
45
|
+
export function normalizeVirtualStreamContentType(valueArg) {
|
|
46
|
+
if (valueArg === undefined)
|
|
47
|
+
return undefined;
|
|
48
|
+
if (typeof valueArg !== 'string'
|
|
49
|
+
|| valueArg.length === 0
|
|
50
|
+
|| valueArg !== valueArg.trim()
|
|
51
|
+
|| valueArg !== valueArg.normalize('NFC')
|
|
52
|
+
|| controlCharacterPattern.test(valueArg)
|
|
53
|
+
|| textEncoder.encode(valueArg).byteLength > VIRTUAL_STREAM_MAX_CONTENT_TYPE_BYTES) {
|
|
54
|
+
throw new VirtualStreamProtocolError(`contentType must be a nonempty normalized string of at most ${VIRTUAL_STREAM_MAX_CONTENT_TYPE_BYTES} UTF-8 bytes`);
|
|
55
|
+
}
|
|
56
|
+
return valueArg;
|
|
57
|
+
}
|
|
58
|
+
export function normalizeVirtualStreamIntegrity(valueArg) {
|
|
59
|
+
if (valueArg === undefined)
|
|
60
|
+
return undefined;
|
|
61
|
+
if (!valueArg
|
|
62
|
+
|| typeof valueArg !== 'object'
|
|
63
|
+
|| Array.isArray(valueArg)
|
|
64
|
+
|| (Object.getPrototypeOf(valueArg) !== Object.prototype
|
|
65
|
+
&& Object.getPrototypeOf(valueArg) !== null)) {
|
|
66
|
+
throw new VirtualStreamProtocolError('integrity must be an object');
|
|
67
|
+
}
|
|
68
|
+
const ownKeys = Reflect.ownKeys(valueArg);
|
|
69
|
+
const readOwnData = (keyArg) => {
|
|
70
|
+
const property = Object.getOwnPropertyDescriptor(valueArg, keyArg);
|
|
71
|
+
return property && property.enumerable && 'value' in property
|
|
72
|
+
? property.value
|
|
73
|
+
: undefined;
|
|
74
|
+
};
|
|
75
|
+
const algorithm = readOwnData('algorithm');
|
|
76
|
+
const byteLength = readOwnData('byteLength');
|
|
77
|
+
const digest = readOwnData('digest');
|
|
78
|
+
if (ownKeys.length !== 3
|
|
79
|
+
|| algorithm !== 'sha256'
|
|
80
|
+
|| !Number.isSafeInteger(byteLength)
|
|
81
|
+
|| byteLength < 0
|
|
82
|
+
|| byteLength > VIRTUAL_STREAM_MAX_STREAM_BYTES
|
|
83
|
+
|| typeof digest !== 'string'
|
|
84
|
+
|| !digestPattern.test(digest)) {
|
|
85
|
+
throw new VirtualStreamProtocolError('integrity must contain exact SHA-256 byteLength and digest');
|
|
86
|
+
}
|
|
87
|
+
return Object.freeze({
|
|
88
|
+
algorithm: 'sha256',
|
|
89
|
+
byteLength: byteLength,
|
|
90
|
+
digest,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function streamIdToBytes(streamIdArg) {
|
|
94
|
+
return hexToBytes(normalizeVirtualStreamId(streamIdArg).replaceAll('-', ''));
|
|
95
|
+
}
|
|
96
|
+
function bytesToStreamId(bytesArg) {
|
|
97
|
+
const hex = bytesToHex(bytesArg);
|
|
98
|
+
return normalizeVirtualStreamId(`${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`);
|
|
99
|
+
}
|
|
100
|
+
function assertUint32(valueArg, nameArg) {
|
|
101
|
+
if (typeof valueArg !== 'number'
|
|
102
|
+
|| !Number.isSafeInteger(valueArg)
|
|
103
|
+
|| valueArg < 0
|
|
104
|
+
|| valueArg > 0xffffffff) {
|
|
105
|
+
throw new VirtualStreamProtocolError(`${nameArg} must be an unsigned 32-bit integer`);
|
|
106
|
+
}
|
|
107
|
+
return valueArg;
|
|
108
|
+
}
|
|
109
|
+
function assertSafeByteLength(valueArg, nameArg) {
|
|
110
|
+
if (typeof valueArg !== 'number'
|
|
111
|
+
|| !Number.isSafeInteger(valueArg)
|
|
112
|
+
|| valueArg < 0
|
|
113
|
+
|| valueArg > VIRTUAL_STREAM_MAX_STREAM_BYTES) {
|
|
114
|
+
throw new VirtualStreamProtocolError(`${nameArg} must be a non-negative safe integer`);
|
|
115
|
+
}
|
|
116
|
+
return valueArg;
|
|
117
|
+
}
|
|
118
|
+
function createHeader(typeArg, streamIdArg, headerLengthArg, payloadLengthArg, sequenceArg = 0) {
|
|
119
|
+
if (headerLengthArg + payloadLengthArg > VIRTUAL_STREAM_MAX_FRAME_BYTES) {
|
|
120
|
+
throw new VirtualStreamProtocolError('virtual-stream-v1 frame exceeds the package limit');
|
|
121
|
+
}
|
|
122
|
+
const bytes = new Uint8Array(headerLengthArg + payloadLengthArg);
|
|
123
|
+
bytes.set(textEncoder.encode(VIRTUAL_STREAM_FRAME_MAGIC), 0);
|
|
124
|
+
bytes.set(streamIdToBytes(streamIdArg), 8);
|
|
125
|
+
const view = new DataView(bytes.buffer);
|
|
126
|
+
view.setUint8(4, typeArg);
|
|
127
|
+
view.setUint8(5, 0);
|
|
128
|
+
view.setUint16(6, headerLengthArg, false);
|
|
129
|
+
view.setUint32(24, assertUint32(sequenceArg, 'sequence'), false);
|
|
130
|
+
view.setUint32(28, assertUint32(payloadLengthArg, 'payloadLength'), false);
|
|
131
|
+
return { bytes, view };
|
|
132
|
+
}
|
|
133
|
+
function writeSafeUint64(viewArg, offsetArg, valueArg, nameArg) {
|
|
134
|
+
viewArg.setBigUint64(offsetArg, BigInt(assertSafeByteLength(valueArg, nameArg)), false);
|
|
135
|
+
}
|
|
136
|
+
function readSafeUint64(viewArg, offsetArg, nameArg) {
|
|
137
|
+
const value = viewArg.getBigUint64(offsetArg, false);
|
|
138
|
+
if (value > BigInt(VIRTUAL_STREAM_MAX_STREAM_BYTES)) {
|
|
139
|
+
throw new VirtualStreamProtocolError(`${nameArg} exceeds the safe integer range`);
|
|
140
|
+
}
|
|
141
|
+
return Number(value);
|
|
142
|
+
}
|
|
143
|
+
export function createVirtualStreamDescriptorDigest(descriptorArg) {
|
|
144
|
+
const canonical = JSON.stringify({
|
|
145
|
+
protocol: descriptorArg.protocol,
|
|
146
|
+
streamId: descriptorArg.streamId,
|
|
147
|
+
creatorDirection: descriptorArg.creatorDirection,
|
|
148
|
+
contentType: descriptorArg.contentType ?? null,
|
|
149
|
+
integrity: descriptorArg.integrity ?? null,
|
|
150
|
+
});
|
|
151
|
+
return `sha256:${plugins.smarthash.createSha256Hasher().update(textEncoder.encode(canonical)).digest()}`;
|
|
152
|
+
}
|
|
153
|
+
export function getVirtualStreamFrameByteLength(frameArg) {
|
|
154
|
+
switch (frameArg.type) {
|
|
155
|
+
case VIRTUAL_STREAM_FRAME_TYPES.OPEN:
|
|
156
|
+
return VIRTUAL_STREAM_OPEN_HEADER_BYTES;
|
|
157
|
+
case VIRTUAL_STREAM_FRAME_TYPES.OPEN_ACK:
|
|
158
|
+
case VIRTUAL_STREAM_FRAME_TYPES.CHUNK_ACK:
|
|
159
|
+
return VIRTUAL_STREAM_COMMON_HEADER_BYTES;
|
|
160
|
+
case VIRTUAL_STREAM_FRAME_TYPES.CHUNK:
|
|
161
|
+
return VIRTUAL_STREAM_CHUNK_HEADER_BYTES + frameArg.payload.byteLength;
|
|
162
|
+
case VIRTUAL_STREAM_FRAME_TYPES.FIN:
|
|
163
|
+
return VIRTUAL_STREAM_FIN_HEADER_BYTES;
|
|
164
|
+
case VIRTUAL_STREAM_FRAME_TYPES.ACCEPT:
|
|
165
|
+
return VIRTUAL_STREAM_ACCEPT_HEADER_BYTES;
|
|
166
|
+
case VIRTUAL_STREAM_FRAME_TYPES.RESET:
|
|
167
|
+
return VIRTUAL_STREAM_RESET_FIXED_HEADER_BYTES + textEncoder.encode(frameArg.reason).byteLength;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
export function encodeVirtualStreamFrame(frameArg) {
|
|
171
|
+
switch (frameArg.type) {
|
|
172
|
+
case VIRTUAL_STREAM_FRAME_TYPES.OPEN: {
|
|
173
|
+
const { bytes } = createHeader(frameArg.type, frameArg.streamId, VIRTUAL_STREAM_OPEN_HEADER_BYTES, 0);
|
|
174
|
+
bytes.set(hexToBytes(normalizeVirtualStreamCapability(frameArg.capability)), 32);
|
|
175
|
+
if (!digestPattern.test(frameArg.descriptorDigest)) {
|
|
176
|
+
throw new VirtualStreamProtocolError('descriptorDigest is invalid');
|
|
177
|
+
}
|
|
178
|
+
bytes.set(hexToBytes(frameArg.descriptorDigest.slice('sha256:'.length)), 64);
|
|
179
|
+
return bytes;
|
|
180
|
+
}
|
|
181
|
+
case VIRTUAL_STREAM_FRAME_TYPES.OPEN_ACK:
|
|
182
|
+
case VIRTUAL_STREAM_FRAME_TYPES.CHUNK_ACK: {
|
|
183
|
+
return createHeader(frameArg.type, frameArg.streamId, VIRTUAL_STREAM_COMMON_HEADER_BYTES, 0, frameArg.type === VIRTUAL_STREAM_FRAME_TYPES.CHUNK_ACK ? frameArg.sequence : 0).bytes;
|
|
184
|
+
}
|
|
185
|
+
case VIRTUAL_STREAM_FRAME_TYPES.CHUNK: {
|
|
186
|
+
if (!(frameArg.payload instanceof Uint8Array)) {
|
|
187
|
+
throw new VirtualStreamProtocolError('CHUNK payload must be a Uint8Array');
|
|
188
|
+
}
|
|
189
|
+
if (frameArg.payload.byteLength > VIRTUAL_STREAM_MAX_FRAGMENT_PAYLOAD_BYTES) {
|
|
190
|
+
throw new VirtualStreamProtocolError('CHUNK fragment exceeds the package limit');
|
|
191
|
+
}
|
|
192
|
+
const totalLength = assertSafeByteLength(frameArg.totalLength, 'totalLength');
|
|
193
|
+
const fragmentOffset = assertSafeByteLength(frameArg.fragmentOffset, 'fragmentOffset');
|
|
194
|
+
if (totalLength > VIRTUAL_STREAM_MAX_LOGICAL_CHUNK_BYTES
|
|
195
|
+
|| fragmentOffset + frameArg.payload.byteLength > totalLength
|
|
196
|
+
|| (totalLength === 0 && (fragmentOffset !== 0 || frameArg.payload.byteLength !== 0))
|
|
197
|
+
|| (totalLength > 0 && frameArg.payload.byteLength === 0)) {
|
|
198
|
+
throw new VirtualStreamProtocolError('CHUNK fragment metadata is invalid');
|
|
199
|
+
}
|
|
200
|
+
const { bytes, view } = createHeader(frameArg.type, frameArg.streamId, VIRTUAL_STREAM_CHUNK_HEADER_BYTES, frameArg.payload.byteLength, frameArg.sequence);
|
|
201
|
+
view.setUint32(32, totalLength, false);
|
|
202
|
+
view.setUint32(36, fragmentOffset, false);
|
|
203
|
+
bytes.set(frameArg.payload, VIRTUAL_STREAM_CHUNK_HEADER_BYTES);
|
|
204
|
+
return bytes;
|
|
205
|
+
}
|
|
206
|
+
case VIRTUAL_STREAM_FRAME_TYPES.FIN: {
|
|
207
|
+
const { bytes, view } = createHeader(frameArg.type, frameArg.streamId, VIRTUAL_STREAM_FIN_HEADER_BYTES, 0, frameArg.chunkCount);
|
|
208
|
+
writeSafeUint64(view, 32, frameArg.byteLength, 'byteLength');
|
|
209
|
+
return bytes;
|
|
210
|
+
}
|
|
211
|
+
case VIRTUAL_STREAM_FRAME_TYPES.ACCEPT: {
|
|
212
|
+
const { bytes, view } = createHeader(frameArg.type, frameArg.streamId, VIRTUAL_STREAM_ACCEPT_HEADER_BYTES, 0, frameArg.chunkCount);
|
|
213
|
+
writeSafeUint64(view, 32, frameArg.byteLength, 'byteLength');
|
|
214
|
+
view.setUint8(40, frameArg.integrityVerified ? 1 : 0);
|
|
215
|
+
return bytes;
|
|
216
|
+
}
|
|
217
|
+
case VIRTUAL_STREAM_FRAME_TYPES.RESET: {
|
|
218
|
+
if (!Number.isSafeInteger(frameArg.code) || frameArg.code <= 0 || frameArg.code > 0xffff) {
|
|
219
|
+
throw new VirtualStreamProtocolError('RESET code must be a nonzero unsigned 16-bit integer');
|
|
220
|
+
}
|
|
221
|
+
if (typeof frameArg.reason !== 'string') {
|
|
222
|
+
throw new VirtualStreamProtocolError('RESET reason must be a string');
|
|
223
|
+
}
|
|
224
|
+
const reasonBytes = textEncoder.encode(frameArg.reason);
|
|
225
|
+
if (reasonBytes.byteLength > VIRTUAL_STREAM_MAX_RESET_REASON_BYTES) {
|
|
226
|
+
throw new VirtualStreamProtocolError('RESET reason exceeds the package limit');
|
|
227
|
+
}
|
|
228
|
+
const headerLength = VIRTUAL_STREAM_RESET_FIXED_HEADER_BYTES + reasonBytes.byteLength;
|
|
229
|
+
const { bytes, view } = createHeader(frameArg.type, frameArg.streamId, headerLength, 0);
|
|
230
|
+
view.setUint16(32, frameArg.code, false);
|
|
231
|
+
view.setUint16(34, reasonBytes.byteLength, false);
|
|
232
|
+
bytes.set(reasonBytes, VIRTUAL_STREAM_RESET_FIXED_HEADER_BYTES);
|
|
233
|
+
return bytes;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
function decodeUtf8(bytesArg) {
|
|
238
|
+
try {
|
|
239
|
+
return fatalTextDecoder.decode(bytesArg);
|
|
240
|
+
}
|
|
241
|
+
catch (errorArg) {
|
|
242
|
+
throw new VirtualStreamProtocolError('frame text must contain valid UTF-8', { cause: errorArg });
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
export function decodeVirtualStreamFrame(bytesArg) {
|
|
246
|
+
if (!(bytesArg instanceof Uint8Array)
|
|
247
|
+
|| bytesArg.byteLength < VIRTUAL_STREAM_COMMON_HEADER_BYTES
|
|
248
|
+
|| bytesArg.byteLength > VIRTUAL_STREAM_MAX_FRAME_BYTES) {
|
|
249
|
+
throw new VirtualStreamProtocolError('frame length is outside virtual-stream-v1 bounds');
|
|
250
|
+
}
|
|
251
|
+
if (decodeUtf8(bytesArg.subarray(0, 4)) !== VIRTUAL_STREAM_FRAME_MAGIC) {
|
|
252
|
+
throw new VirtualStreamProtocolError('frame magic is not TSV1');
|
|
253
|
+
}
|
|
254
|
+
const view = new DataView(bytesArg.buffer, bytesArg.byteOffset, bytesArg.byteLength);
|
|
255
|
+
const type = view.getUint8(4);
|
|
256
|
+
const headerLength = view.getUint16(6, false);
|
|
257
|
+
const sequence = view.getUint32(24, false);
|
|
258
|
+
const payloadLength = view.getUint32(28, false);
|
|
259
|
+
if (view.getUint8(5) !== 0
|
|
260
|
+
|| headerLength < VIRTUAL_STREAM_COMMON_HEADER_BYTES
|
|
261
|
+
|| headerLength + payloadLength !== bytesArg.byteLength) {
|
|
262
|
+
throw new VirtualStreamProtocolError('frame header or length fields are invalid');
|
|
263
|
+
}
|
|
264
|
+
const streamId = bytesToStreamId(bytesArg.subarray(8, 24));
|
|
265
|
+
switch (type) {
|
|
266
|
+
case VIRTUAL_STREAM_FRAME_TYPES.OPEN:
|
|
267
|
+
if (headerLength !== VIRTUAL_STREAM_OPEN_HEADER_BYTES || payloadLength !== 0 || sequence !== 0) {
|
|
268
|
+
throw new VirtualStreamProtocolError('OPEN frame shape is invalid');
|
|
269
|
+
}
|
|
270
|
+
return {
|
|
271
|
+
type,
|
|
272
|
+
streamId,
|
|
273
|
+
capability: normalizeVirtualStreamCapability(bytesToHex(bytesArg.subarray(32, 64))),
|
|
274
|
+
descriptorDigest: `sha256:${bytesToHex(bytesArg.subarray(64, 96))}`,
|
|
275
|
+
};
|
|
276
|
+
case VIRTUAL_STREAM_FRAME_TYPES.OPEN_ACK:
|
|
277
|
+
if (headerLength !== VIRTUAL_STREAM_COMMON_HEADER_BYTES || payloadLength !== 0 || sequence !== 0) {
|
|
278
|
+
throw new VirtualStreamProtocolError('OPEN_ACK frame shape is invalid');
|
|
279
|
+
}
|
|
280
|
+
return { type, streamId };
|
|
281
|
+
case VIRTUAL_STREAM_FRAME_TYPES.CHUNK: {
|
|
282
|
+
if (headerLength !== VIRTUAL_STREAM_CHUNK_HEADER_BYTES) {
|
|
283
|
+
throw new VirtualStreamProtocolError('CHUNK header length is invalid');
|
|
284
|
+
}
|
|
285
|
+
const totalLength = view.getUint32(32, false);
|
|
286
|
+
const fragmentOffset = view.getUint32(36, false);
|
|
287
|
+
if (totalLength > VIRTUAL_STREAM_MAX_LOGICAL_CHUNK_BYTES
|
|
288
|
+
|| payloadLength > VIRTUAL_STREAM_MAX_FRAGMENT_PAYLOAD_BYTES
|
|
289
|
+
|| fragmentOffset + payloadLength > totalLength
|
|
290
|
+
|| (totalLength === 0 && (fragmentOffset !== 0 || payloadLength !== 0))
|
|
291
|
+
|| (totalLength > 0 && payloadLength === 0)) {
|
|
292
|
+
throw new VirtualStreamProtocolError('CHUNK fragment metadata is invalid');
|
|
293
|
+
}
|
|
294
|
+
return {
|
|
295
|
+
type,
|
|
296
|
+
streamId,
|
|
297
|
+
sequence,
|
|
298
|
+
totalLength,
|
|
299
|
+
fragmentOffset,
|
|
300
|
+
payload: bytesArg.subarray(headerLength),
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
case VIRTUAL_STREAM_FRAME_TYPES.CHUNK_ACK:
|
|
304
|
+
if (headerLength !== VIRTUAL_STREAM_COMMON_HEADER_BYTES || payloadLength !== 0) {
|
|
305
|
+
throw new VirtualStreamProtocolError('CHUNK_ACK frame shape is invalid');
|
|
306
|
+
}
|
|
307
|
+
return { type, streamId, sequence };
|
|
308
|
+
case VIRTUAL_STREAM_FRAME_TYPES.FIN:
|
|
309
|
+
if (headerLength !== VIRTUAL_STREAM_FIN_HEADER_BYTES || payloadLength !== 0) {
|
|
310
|
+
throw new VirtualStreamProtocolError('FIN frame shape is invalid');
|
|
311
|
+
}
|
|
312
|
+
return { type, streamId, chunkCount: sequence, byteLength: readSafeUint64(view, 32, 'byteLength') };
|
|
313
|
+
case VIRTUAL_STREAM_FRAME_TYPES.ACCEPT: {
|
|
314
|
+
if (headerLength !== VIRTUAL_STREAM_ACCEPT_HEADER_BYTES
|
|
315
|
+
|| payloadLength !== 0
|
|
316
|
+
|| view.getUint8(40) > 1
|
|
317
|
+
|| bytesArg.subarray(41, 48).some((valueArg) => valueArg !== 0)) {
|
|
318
|
+
throw new VirtualStreamProtocolError('ACCEPT frame shape is invalid');
|
|
319
|
+
}
|
|
320
|
+
return {
|
|
321
|
+
type,
|
|
322
|
+
streamId,
|
|
323
|
+
chunkCount: sequence,
|
|
324
|
+
byteLength: readSafeUint64(view, 32, 'byteLength'),
|
|
325
|
+
integrityVerified: view.getUint8(40) === 1,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
case VIRTUAL_STREAM_FRAME_TYPES.RESET: {
|
|
329
|
+
const reasonLength = view.getUint16(34, false);
|
|
330
|
+
if (headerLength !== VIRTUAL_STREAM_RESET_FIXED_HEADER_BYTES + reasonLength
|
|
331
|
+
|| payloadLength !== 0
|
|
332
|
+
|| sequence !== 0
|
|
333
|
+
|| view.getUint16(32, false) === 0
|
|
334
|
+
|| view.getUint32(36, false) !== 0
|
|
335
|
+
|| reasonLength > VIRTUAL_STREAM_MAX_RESET_REASON_BYTES) {
|
|
336
|
+
throw new VirtualStreamProtocolError('RESET frame shape is invalid');
|
|
337
|
+
}
|
|
338
|
+
return {
|
|
339
|
+
type,
|
|
340
|
+
streamId,
|
|
341
|
+
code: view.getUint16(32, false),
|
|
342
|
+
reason: decodeUtf8(bytesArg.subarray(VIRTUAL_STREAM_RESET_FIXED_HEADER_BYTES)),
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
default:
|
|
346
|
+
throw new VirtualStreamProtocolError(`unknown virtual-stream-v1 frame type ${type}`);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy52aXJ0dWFsc3RyZWFtY29kZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9oZWxwZXJzLnZpcnR1YWxzdHJlYW1jb2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsK0JBQStCLEVBQy9CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIscUNBQXFDLEVBQ3JDLHlDQUF5QyxFQUN6Qyw4QkFBOEIsRUFDOUIsc0NBQXNDLEVBQ3RDLHFDQUFxQyxFQUNyQywrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxHQUN4QyxNQUFNLDhCQUE4QixDQUFDO0FBTXRDLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7QUFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNuRSxNQUFNLGVBQWUsR0FBRyxnRUFBZ0UsQ0FBQztBQUN6RixNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO0FBQzNDLE1BQU0sYUFBYSxHQUFHLHVCQUF1QixDQUFDO0FBQzlDLE1BQU0sdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7QUFFeEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLEtBQUs7SUFDbkQsWUFBWSxVQUFrQixFQUFFLFVBQXlCO1FBQ3ZELEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyw0QkFBNEIsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsUUFBb0I7SUFDekQsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxRQUFvQjtJQUN0QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDaEIsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRO1FBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsUUFBZ0I7SUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ2xELEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsUUFBaUI7SUFDeEQsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDcEUsTUFBTSxJQUFJLDBCQUEwQixDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDLENBQUMsUUFBaUI7SUFDaEUsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN0RSxNQUFNLElBQUksMEJBQTBCLENBQUMsc0RBQXNELENBQUMsQ0FBQztJQUMvRixDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxRQUFpQjtJQUNqRSxJQUFJLFFBQVEsS0FBSyxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDN0MsSUFDRSxPQUFPLFFBQVEsS0FBSyxRQUFRO1dBQ3pCLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztXQUNyQixRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRTtXQUM1QixRQUFRLEtBQUssUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7V0FDdEMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztXQUN0QyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsR0FBRyxxQ0FBcUMsRUFDbEYsQ0FBQztRQUNELE1BQU0sSUFBSSwwQkFBMEIsQ0FDbEMsK0RBQStELHFDQUFxQyxjQUFjLENBQ25ILENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSwrQkFBK0IsQ0FDN0MsUUFBaUI7SUFFakIsSUFBSSxRQUFRLEtBQUssU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQzdDLElBQ0UsQ0FBQyxRQUFRO1dBQ04sT0FBTyxRQUFRLEtBQUssUUFBUTtXQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztXQUN2QixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxDQUFDLFNBQVM7ZUFDbkQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsRUFDOUMsQ0FBQztRQUNELE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBYyxFQUFXLEVBQUU7UUFDOUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuRSxPQUFPLFFBQVEsSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLE9BQU8sSUFBSSxRQUFRO1lBQzNELENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSztZQUNoQixDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUMsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0MsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLElBQ0UsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO1dBQ2pCLFNBQVMsS0FBSyxRQUFRO1dBQ3RCLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7V0FDaEMsVUFBcUIsR0FBRyxDQUFDO1dBQ3pCLFVBQXFCLEdBQUcsK0JBQStCO1dBQ3hELE9BQU8sTUFBTSxLQUFLLFFBQVE7V0FDMUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUM5QixDQUFDO1FBQ0QsTUFBTSxJQUFJLDBCQUEwQixDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNuQixTQUFTLEVBQUUsUUFBaUI7UUFDNUIsVUFBVSxFQUFFLFVBQW9CO1FBQ2hDLE1BQU07S0FDUCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsV0FBbUI7SUFDMUMsT0FBTyxVQUFVLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxRQUFvQjtJQUMzQyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsT0FBTyx3QkFBd0IsQ0FDN0IsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ3BHLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsUUFBaUIsRUFBRSxPQUFlO0lBQ3RELElBQ0UsT0FBTyxRQUFRLEtBQUssUUFBUTtXQUN6QixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1dBQy9CLFFBQVEsR0FBRyxDQUFDO1dBQ1osUUFBUSxHQUFHLFVBQVUsRUFDeEIsQ0FBQztRQUNELE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyxHQUFHLE9BQU8scUNBQXFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsUUFBaUIsRUFBRSxPQUFlO0lBQzlELElBQ0UsT0FBTyxRQUFRLEtBQUssUUFBUTtXQUN6QixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1dBQy9CLFFBQVEsR0FBRyxDQUFDO1dBQ1osUUFBUSxHQUFHLCtCQUErQixFQUM3QyxDQUFDO1FBQ0QsTUFBTSxJQUFJLDBCQUEwQixDQUFDLEdBQUcsT0FBTyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUyxZQUFZLENBQ25CLE9BQWUsRUFDZixXQUFtQixFQUNuQixlQUF1QixFQUN2QixnQkFBd0IsRUFDeEIsV0FBVyxHQUFHLENBQUM7SUFFZixJQUFJLGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyw4QkFBOEIsRUFBRSxDQUFDO1FBQ3hFLE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RCxLQUFLLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDekIsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUN0QixPQUFpQixFQUNqQixTQUFpQixFQUNqQixRQUFpQixFQUNqQixPQUFlO0lBRWYsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzFGLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUFpQixFQUFFLFNBQWlCLEVBQUUsT0FBZTtJQUMzRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRCxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDO1FBQ3BELE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyxHQUFHLE9BQU8saUNBQWlDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxtQ0FBbUMsQ0FDakQsYUFHQztJQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDL0IsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO1FBQ2hDLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUTtRQUNoQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsZ0JBQWdCO1FBQ2hELFdBQVcsRUFBRSxhQUFhLENBQUMsV0FBVyxJQUFJLElBQUk7UUFDOUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxTQUFTLElBQUksSUFBSTtLQUMzQyxDQUFDLENBQUM7SUFDSCxPQUFPLFVBQVUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUMzRyxDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUFDLFFBQTZCO0lBQzNFLFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLEtBQUssMEJBQTBCLENBQUMsSUFBSTtZQUNsQyxPQUFPLGdDQUFnQyxDQUFDO1FBQzFDLEtBQUssMEJBQTBCLENBQUMsUUFBUSxDQUFDO1FBQ3pDLEtBQUssMEJBQTBCLENBQUMsU0FBUztZQUN2QyxPQUFPLGtDQUFrQyxDQUFDO1FBQzVDLEtBQUssMEJBQTBCLENBQUMsS0FBSztZQUNuQyxPQUFPLGlDQUFpQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3pFLEtBQUssMEJBQTBCLENBQUMsR0FBRztZQUNqQyxPQUFPLCtCQUErQixDQUFDO1FBQ3pDLEtBQUssMEJBQTBCLENBQUMsTUFBTTtZQUNwQyxPQUFPLGtDQUFrQyxDQUFDO1FBQzVDLEtBQUssMEJBQTBCLENBQUMsS0FBSztZQUNuQyxPQUFPLHVDQUF1QyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNwRyxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsUUFBNkI7SUFFN0IsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsS0FBSywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLGdDQUFnQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ25ELE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7WUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELEtBQUssMEJBQTBCLENBQUMsUUFBUSxDQUFDO1FBQ3pDLEtBQUssMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUMxQyxPQUFPLFlBQVksQ0FDakIsUUFBUSxDQUFDLElBQUksRUFDYixRQUFRLENBQUMsUUFBUSxFQUNqQixrQ0FBa0MsRUFDbEMsQ0FBQyxFQUNELFFBQVEsQ0FBQyxJQUFJLEtBQUssMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQy9FLENBQUMsS0FBSyxDQUFDO1FBQ1YsQ0FBQztRQUNELEtBQUssMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxZQUFZLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQzdFLENBQUM7WUFDRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLHlDQUF5QyxFQUFFLENBQUM7Z0JBQzVFLE1BQU0sSUFBSSwwQkFBMEIsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1lBQ25GLENBQUM7WUFDRCxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzlFLE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUN2RixJQUNFLFdBQVcsR0FBRyxzQ0FBc0M7bUJBQ2pELGNBQWMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxXQUFXO21CQUMxRCxDQUFDLFdBQVcsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQyxDQUFDO21CQUNsRixDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLEVBQ3pELENBQUM7Z0JBQ0QsTUFBTSxJQUFJLDBCQUEwQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7WUFDN0UsQ0FBQztZQUNELE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUNsQyxRQUFRLENBQUMsSUFBSSxFQUNiLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLGlDQUFpQyxFQUNqQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFDM0IsUUFBUSxDQUFDLFFBQVEsQ0FDbEIsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGlDQUFpQyxDQUFDLENBQUM7WUFDL0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsS0FBSywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUNsQyxRQUFRLENBQUMsSUFBSSxFQUNiLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLCtCQUErQixFQUMvQixDQUFDLEVBQ0QsUUFBUSxDQUFDLFVBQVUsQ0FDcEIsQ0FBQztZQUNGLGVBQWUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDN0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsS0FBSywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUNsQyxRQUFRLENBQUMsSUFBSSxFQUNiLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLGtDQUFrQyxFQUNsQyxDQUFDLEVBQ0QsUUFBUSxDQUFDLFVBQVUsQ0FDcEIsQ0FBQztZQUNGLGVBQWUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELEtBQUssMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQztnQkFDekYsTUFBTSxJQUFJLDBCQUEwQixDQUFDLHNEQUFzRCxDQUFDLENBQUM7WUFDL0YsQ0FBQztZQUNELElBQUksT0FBTyxRQUFRLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN4QyxNQUFNLElBQUksMEJBQTBCLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEQsSUFBSSxXQUFXLENBQUMsVUFBVSxHQUFHLHFDQUFxQyxFQUFFLENBQUM7Z0JBQ25FLE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ2pGLENBQUM7WUFDRCxNQUFNLFlBQVksR0FBRyx1Q0FBdUMsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQ3RGLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLHVDQUF1QyxDQUFDLENBQUM7WUFDaEUsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxRQUFvQjtJQUN0QyxJQUFJLENBQUM7UUFDSCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQUMsT0FBTyxRQUFRLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksMEJBQTBCLENBQUMscUNBQXFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxRQUFvQjtJQUMzRCxJQUNFLENBQUMsQ0FBQyxRQUFRLFlBQVksVUFBVSxDQUFDO1dBQzlCLFFBQVEsQ0FBQyxVQUFVLEdBQUcsa0NBQWtDO1dBQ3hELFFBQVEsQ0FBQyxVQUFVLEdBQUcsOEJBQThCLEVBQ3ZELENBQUM7UUFDRCxNQUFNLElBQUksMEJBQTBCLENBQUMsa0RBQWtELENBQUMsQ0FBQztJQUMzRixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSywwQkFBMEIsRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEQsSUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7V0FDbkIsWUFBWSxHQUFHLGtDQUFrQztXQUNqRCxZQUFZLEdBQUcsYUFBYSxLQUFLLFFBQVEsQ0FBQyxVQUFVLEVBQ3ZELENBQUM7UUFDRCxNQUFNLElBQUksMEJBQTBCLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssMEJBQTBCLENBQUMsSUFBSTtZQUNsQyxJQUFJLFlBQVksS0FBSyxnQ0FBZ0MsSUFBSSxhQUFhLEtBQUssQ0FBQyxJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDL0YsTUFBTSxJQUFJLDBCQUEwQixDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDdEUsQ0FBQztZQUNELE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixRQUFRO2dCQUNSLFVBQVUsRUFBRSxnQ0FBZ0MsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkYsZ0JBQWdCLEVBQUUsVUFBVSxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTthQUNwRSxDQUFDO1FBQ0osS0FBSywwQkFBMEIsQ0FBQyxRQUFRO1lBQ3RDLElBQUksWUFBWSxLQUFLLGtDQUFrQyxJQUFJLGFBQWEsS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqRyxNQUFNLElBQUksMEJBQTBCLENBQUMsaUNBQWlDLENBQUMsQ0FBQztZQUMxRSxDQUFDO1lBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUM1QixLQUFLLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEMsSUFBSSxZQUFZLEtBQUssaUNBQWlDLEVBQUUsQ0FBQztnQkFDdkQsTUFBTSxJQUFJLDBCQUEwQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDekUsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2pELElBQ0UsV0FBVyxHQUFHLHNDQUFzQzttQkFDakQsYUFBYSxHQUFHLHlDQUF5QzttQkFDekQsY0FBYyxHQUFHLGFBQWEsR0FBRyxXQUFXO21CQUM1QyxDQUFDLFdBQVcsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEtBQUssQ0FBQyxJQUFJLGFBQWEsS0FBSyxDQUFDLENBQUMsQ0FBQzttQkFDcEUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLGFBQWEsS0FBSyxDQUFDLENBQUMsRUFDM0MsQ0FBQztnQkFDRCxNQUFNLElBQUksMEJBQTBCLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUM3RSxDQUFDO1lBQ0QsT0FBTztnQkFDTCxJQUFJO2dCQUNKLFFBQVE7Z0JBQ1IsUUFBUTtnQkFDUixXQUFXO2dCQUNYLGNBQWM7Z0JBQ2QsT0FBTyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQ3pDLENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSywwQkFBMEIsQ0FBQyxTQUFTO1lBQ3ZDLElBQUksWUFBWSxLQUFLLGtDQUFrQyxJQUFJLGFBQWEsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDL0UsTUFBTSxJQUFJLDBCQUEwQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDM0UsQ0FBQztZQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLEtBQUssMEJBQTBCLENBQUMsR0FBRztZQUNqQyxJQUFJLFlBQVksS0FBSywrQkFBK0IsSUFBSSxhQUFhLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzVFLE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ3RHLEtBQUssMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUNFLFlBQVksS0FBSyxrQ0FBa0M7bUJBQ2hELGFBQWEsS0FBSyxDQUFDO21CQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7bUJBQ3JCLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxFQUMvRCxDQUFDO2dCQUNELE1BQU0sSUFBSSwwQkFBMEIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7WUFDRCxPQUFPO2dCQUNMLElBQUk7Z0JBQ0osUUFBUTtnQkFDUixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsVUFBVSxFQUFFLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksQ0FBQztnQkFDbEQsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2FBQzNDLENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9DLElBQ0UsWUFBWSxLQUFLLHVDQUF1QyxHQUFHLFlBQVk7bUJBQ3BFLGFBQWEsS0FBSyxDQUFDO21CQUNuQixRQUFRLEtBQUssQ0FBQzttQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO21CQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO21CQUMvQixZQUFZLEdBQUcscUNBQXFDLEVBQ3ZELENBQUM7Z0JBQ0QsTUFBTSxJQUFJLDBCQUEwQixDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDdkUsQ0FBQztZQUNELE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixRQUFRO2dCQUNSLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUM7Z0JBQy9CLE1BQU0sRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2FBQy9FLENBQUM7UUFDSixDQUFDO1FBQ0Q7WUFDRSxNQUFNLElBQUksMEJBQTBCLENBQUMsd0NBQXdDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQztBQUNILENBQUMifQ==
|
package/dist_ts/index.d.ts
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
export * from './classes.typedsocket.js';
|
|
2
|
-
export {
|
|
3
|
-
export type {
|
|
4
|
-
export
|
|
5
|
-
export {
|
|
6
|
-
export type { INativeByteManagerOptions } from './classes.nativebytemanager.js';
|
|
7
|
-
export { NATIVE_MESSAGE_PROTOCOL, NATIVE_MESSAGE_PROTOCOL_MAJOR, NATIVE_MESSAGE_MAX_FRAME_BYTES, NATIVE_MESSAGE_MAX_FRAGMENT_PAYLOAD_BYTES, NATIVE_MESSAGE_MAX_LOGICAL_MESSAGE_BYTES, NATIVE_MESSAGE_DEFAULT_MAX_LOGICAL_MESSAGE_BYTES, NATIVE_MESSAGE_MAX_PENDING_MESSAGES_PER_CHANNEL, NATIVE_MESSAGE_MAX_PENDING_BYTES_PER_CHANNEL, NATIVE_MESSAGE_MAX_CHANNELS_PER_CONNECTION, NATIVE_MESSAGE_MAX_TOMBSTONES_PER_CONNECTION, NATIVE_MESSAGE_NEGOTIATION_TIMEOUT_MS, NATIVE_MESSAGE_OPEN_TIMEOUT_MS, NATIVE_MESSAGE_PROGRESS_TIMEOUT_MS, NATIVE_MESSAGE_TOMBSTONE_RETENTION_MS, } from './constants.nativemessages.js';
|
|
8
|
-
export type { TNativeMessageCapabilityMode, TNativeMessageAuthorizationOperation, INativeMessageDescriptorTransport, INativeMessageDescriptor, TNativeMessageRevalidationDescriptor, INativeMessageAuthorizationContext, INativeMessageAuthorizationBinding, INativeMessageAuthorizationAdapter, INativeMessageRevalidationContext, TNativeMessageRevalidate, INativeMessageCreateReceiveGrantOptions, INativeMessageOpenSenderOptions, INativeMessageCreateBinaryChannelOptions, INativeMessageReceiver, INativeMessageSender, INativeMessageReceiveGrant, INativeMessageCapabilityStatus, INativeMessageStats, TNativeMessageRuntime, } from './interfaces.nativemessages.js';
|
|
9
|
-
export { NativeMessageFacade, } from './classes.nativebytemanager.js';
|
|
2
|
+
export { TYPEDSOCKET_PACKAGE_MAJOR, VIRTUAL_STREAM_PROTOCOL, VIRTUAL_STREAM_MAX_FRAME_BYTES, VIRTUAL_STREAM_MAX_FRAGMENT_PAYLOAD_BYTES, VIRTUAL_STREAM_MAX_LOGICAL_CHUNK_BYTES, VIRTUAL_STREAM_MAX_CONTENT_TYPE_BYTES, VIRTUAL_STREAM_MAX_STREAM_BYTES, VIRTUAL_STREAM_MAX_STREAMS_PER_CONNECTION, VIRTUAL_STREAM_MAX_STREAMS_PER_SERVER, VIRTUAL_STREAM_MAX_CONNECTIONS_PER_SERVER, VIRTUAL_STREAM_MAX_QUEUED_CHUNKS_PER_STREAM, VIRTUAL_STREAM_MAX_QUEUED_CHUNKS_PER_CONNECTION, VIRTUAL_STREAM_MAX_QUEUED_BYTES_PER_STREAM, VIRTUAL_STREAM_MAX_QUEUED_BYTES_PER_CONNECTION, VIRTUAL_STREAM_MAX_RAW_QUEUE_FRAMES, VIRTUAL_STREAM_MAX_RAW_QUEUE_BYTES, VIRTUAL_STREAM_MAX_OUTBOUND_FRAMES_PER_CONNECTION, VIRTUAL_STREAM_MAX_REVALIDATIONS_PER_CONNECTION, VIRTUAL_STREAM_MAX_REVALIDATIONS_PER_SERVER, VIRTUAL_STREAM_MAX_TOMBSTONES_PER_CONNECTION, VIRTUAL_STREAM_MAX_RETAINED_BYTES_PER_SERVER, TYPEDSOCKET_HANDSHAKE_TIMEOUT_MS, VIRTUAL_STREAM_CAPABILITY_TIMEOUT_MS, VIRTUAL_STREAM_PROGRESS_TIMEOUT_MS, VIRTUAL_STREAM_REVALIDATION_TIMEOUT_MS, VIRTUAL_STREAM_TOMBSTONE_RETENTION_MS, } from './constants.virtualstream.js';
|
|
3
|
+
export type { TVirtualStreamDirection, TVirtualStreamAuthorityOperation, TVirtualStreamConnectionBinding, IVirtualStreamDescriptorTransport, ITypedSocketVirtualStreamDescriptor, IVirtualStreamAuthorizationContext, IVirtualStreamRevalidationContext, TVirtualStreamRevalidate, IVirtualStreamAuthorizationBinding, IVirtualStreamAuthorizationAdapter, ICreateVirtualStreamOptions, IVirtualStreamCreateRegistrationOptions, IVirtualStreamStats, IVirtualStreamRuntime, } from './interfaces.virtualstream.js';
|
|
4
|
+
export { VirtualStreamManager, TypedSocketVirtualStreamError, } from './classes.virtualstreammanager.js';
|
|
5
|
+
export type { IVirtualStreamManagerOptions } from './classes.virtualstreammanager.js';
|
|
10
6
|
export { TYPEDSOCKET_MAX_TAG_NAME_BYTES, TYPEDSOCKET_MAX_TAG_PAYLOAD_BYTES, TYPEDSOCKET_MAX_CLIENT_TAGS_PER_PEER, TYPEDSOCKET_MAX_CLIENT_TAG_RETAINED_BYTES_PER_PEER, TYPEDSOCKET_MAX_RETAINED_TAG_MUTATIONS_PER_PEER, TYPEDSOCKET_MAX_RETAINED_TAG_MUTATIONS_PER_RULE, TYPEDSOCKET_MAX_RETAINED_TAG_MUTATIONS_PER_SERVER, TYPEDSOCKET_MAX_TAG_AUTHORIZATION_TIMEOUT_MS, TYPEDSOCKET_MAX_SERVER_TAG_NAMES_PER_PEER, TYPEDSOCKET_MAX_SERVER_TAG_RETAINED_BYTES_PER_PEER, TYPEDSOCKET_TAG_DENIAL_CODES, TypedSocketClientTagDeniedError, } from './classes.typedsockettagpolicymanager.js';
|
|
11
|
-
export type { TTypedSocketDiagnosticSide, TTypedSocketDiagnosticEvent,
|
|
7
|
+
export type { TTypedSocketDiagnosticSide, TTypedSocketDiagnosticEvent, TVirtualStreamDiagnosticEvent, ITypedSocketConnectionClosedDiagnostic, ITypedSocketPeerRejectedDiagnostic, ITypedSocketReconnectScheduledDiagnostic, ITypedSocketReconnectExhaustedDiagnostic, ITypedSocketTagMutationDeniedDiagnostic, } from './interfaces.diagnostics.js';
|
|
12
8
|
export type { TTypedSocketTagOwner, TTypedSocketTagMutationOperation, TTypedSocketTagDenialCode, ITypedSocketTagConnectionAuthority, ITypedSocketClientTagExistingState, ITypedSocketClientTagValidationContext, ITypedSocketClientTagRule, ITypedSocketClientTagPolicy, ITypedSocketTagMutationSuccess, ITypedSocketTagMutationDenial, TTypedSocketTagMutationResponse, } from './classes.typedsockettagpolicymanager.js';
|
package/dist_ts/index.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export * from './classes.typedsocket.js';
|
|
2
|
-
export {
|
|
3
|
-
export
|
|
4
|
-
export { NativeByteManager, NativeByteReceiver, NativeByteSender, } from './classes.nativebytemanager.js';
|
|
5
|
-
export { NATIVE_MESSAGE_PROTOCOL, NATIVE_MESSAGE_PROTOCOL_MAJOR, NATIVE_MESSAGE_MAX_FRAME_BYTES, NATIVE_MESSAGE_MAX_FRAGMENT_PAYLOAD_BYTES, NATIVE_MESSAGE_MAX_LOGICAL_MESSAGE_BYTES, NATIVE_MESSAGE_DEFAULT_MAX_LOGICAL_MESSAGE_BYTES, NATIVE_MESSAGE_MAX_PENDING_MESSAGES_PER_CHANNEL, NATIVE_MESSAGE_MAX_PENDING_BYTES_PER_CHANNEL, NATIVE_MESSAGE_MAX_CHANNELS_PER_CONNECTION, NATIVE_MESSAGE_MAX_TOMBSTONES_PER_CONNECTION, NATIVE_MESSAGE_NEGOTIATION_TIMEOUT_MS, NATIVE_MESSAGE_OPEN_TIMEOUT_MS, NATIVE_MESSAGE_PROGRESS_TIMEOUT_MS, NATIVE_MESSAGE_TOMBSTONE_RETENTION_MS, } from './constants.nativemessages.js';
|
|
6
|
-
export { NativeMessageFacade, } from './classes.nativebytemanager.js';
|
|
2
|
+
export { TYPEDSOCKET_PACKAGE_MAJOR, VIRTUAL_STREAM_PROTOCOL, VIRTUAL_STREAM_MAX_FRAME_BYTES, VIRTUAL_STREAM_MAX_FRAGMENT_PAYLOAD_BYTES, VIRTUAL_STREAM_MAX_LOGICAL_CHUNK_BYTES, VIRTUAL_STREAM_MAX_CONTENT_TYPE_BYTES, VIRTUAL_STREAM_MAX_STREAM_BYTES, VIRTUAL_STREAM_MAX_STREAMS_PER_CONNECTION, VIRTUAL_STREAM_MAX_STREAMS_PER_SERVER, VIRTUAL_STREAM_MAX_CONNECTIONS_PER_SERVER, VIRTUAL_STREAM_MAX_QUEUED_CHUNKS_PER_STREAM, VIRTUAL_STREAM_MAX_QUEUED_CHUNKS_PER_CONNECTION, VIRTUAL_STREAM_MAX_QUEUED_BYTES_PER_STREAM, VIRTUAL_STREAM_MAX_QUEUED_BYTES_PER_CONNECTION, VIRTUAL_STREAM_MAX_RAW_QUEUE_FRAMES, VIRTUAL_STREAM_MAX_RAW_QUEUE_BYTES, VIRTUAL_STREAM_MAX_OUTBOUND_FRAMES_PER_CONNECTION, VIRTUAL_STREAM_MAX_REVALIDATIONS_PER_CONNECTION, VIRTUAL_STREAM_MAX_REVALIDATIONS_PER_SERVER, VIRTUAL_STREAM_MAX_TOMBSTONES_PER_CONNECTION, VIRTUAL_STREAM_MAX_RETAINED_BYTES_PER_SERVER, TYPEDSOCKET_HANDSHAKE_TIMEOUT_MS, VIRTUAL_STREAM_CAPABILITY_TIMEOUT_MS, VIRTUAL_STREAM_PROGRESS_TIMEOUT_MS, VIRTUAL_STREAM_REVALIDATION_TIMEOUT_MS, VIRTUAL_STREAM_TOMBSTONE_RETENTION_MS, } from './constants.virtualstream.js';
|
|
3
|
+
export { VirtualStreamManager, TypedSocketVirtualStreamError, } from './classes.virtualstreammanager.js';
|
|
7
4
|
export { TYPEDSOCKET_MAX_TAG_NAME_BYTES, TYPEDSOCKET_MAX_TAG_PAYLOAD_BYTES, TYPEDSOCKET_MAX_CLIENT_TAGS_PER_PEER, TYPEDSOCKET_MAX_CLIENT_TAG_RETAINED_BYTES_PER_PEER, TYPEDSOCKET_MAX_RETAINED_TAG_MUTATIONS_PER_PEER, TYPEDSOCKET_MAX_RETAINED_TAG_MUTATIONS_PER_RULE, TYPEDSOCKET_MAX_RETAINED_TAG_MUTATIONS_PER_SERVER, TYPEDSOCKET_MAX_TAG_AUTHORIZATION_TIMEOUT_MS, TYPEDSOCKET_MAX_SERVER_TAG_NAMES_PER_PEER, TYPEDSOCKET_MAX_SERVER_TAG_RETAINED_BYTES_PER_PEER, TYPEDSOCKET_TAG_DENIAL_CODES, TypedSocketClientTagDeniedError, } from './classes.typedsockettagpolicymanager.js';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qix5Q0FBeUMsRUFDekMsc0NBQXNDLEVBQ3RDLHFDQUFxQyxFQUNyQywrQkFBK0IsRUFDL0IseUNBQXlDLEVBQ3pDLHFDQUFxQyxFQUNyQyx5Q0FBeUMsRUFDekMsMkNBQTJDLEVBQzNDLCtDQUErQyxFQUMvQywwQ0FBMEMsRUFDMUMsOENBQThDLEVBQzlDLG1DQUFtQyxFQUNuQyxrQ0FBa0MsRUFDbEMsaURBQWlELEVBQ2pELCtDQUErQyxFQUMvQywyQ0FBMkMsRUFDM0MsNENBQTRDLEVBQzVDLDRDQUE0QyxFQUM1QyxnQ0FBZ0MsRUFDaEMsb0NBQW9DLEVBQ3BDLGtDQUFrQyxFQUNsQyxzQ0FBc0MsRUFDdEMscUNBQXFDLEdBQ3RDLE1BQU0sOEJBQThCLENBQUM7QUFpQnRDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsNkJBQTZCLEdBQzlCLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixpQ0FBaUMsRUFDakMsb0NBQW9DLEVBQ3BDLGtEQUFrRCxFQUNsRCwrQ0FBK0MsRUFDL0MsK0NBQStDLEVBQy9DLGlEQUFpRCxFQUNqRCw0Q0FBNEMsRUFDNUMseUNBQXlDLEVBQ3pDLGtEQUFrRCxFQUNsRCw0QkFBNEIsRUFDNUIsK0JBQStCLEdBQ2hDLE1BQU0sMENBQTBDLENBQUMifQ==
|
|
@@ -2,20 +2,18 @@ import type { TTypedSocketTagDenialCode } from './classes.typedsockettagpolicyma
|
|
|
2
2
|
export type TTypedSocketDiagnosticSide = 'client' | 'server';
|
|
3
3
|
/**
|
|
4
4
|
* A transport connection was closed by this package because a bounded
|
|
5
|
-
* invariant was violated. `reason` is always a static package-defined string
|
|
6
|
-
* `errorCode` carries the bounded NativeByteError code on 1011 failures.
|
|
5
|
+
* invariant was violated. `reason` is always a static package-defined string.
|
|
7
6
|
*/
|
|
8
7
|
export interface ITypedSocketConnectionClosedDiagnostic {
|
|
9
8
|
readonly kind: 'connectionClosed';
|
|
10
9
|
readonly side: TTypedSocketDiagnosticSide;
|
|
11
|
-
readonly scope: 'text' | '
|
|
10
|
+
readonly scope: 'text' | 'virtualStream';
|
|
12
11
|
readonly closeCode: number;
|
|
13
12
|
readonly reason: string;
|
|
14
13
|
readonly errorCode?: string;
|
|
15
14
|
}
|
|
16
15
|
/**
|
|
17
|
-
* A server peer was rejected before
|
|
18
|
-
* for it (admission capacity, or a post-negotiation capability race).
|
|
16
|
+
* A server peer was rejected before transport state could be admitted.
|
|
19
17
|
*/
|
|
20
18
|
export interface ITypedSocketPeerRejectedDiagnostic {
|
|
21
19
|
readonly kind: 'peerRejected';
|
|
@@ -58,16 +56,6 @@ export interface ITypedSocketTagMutationDeniedDiagnostic {
|
|
|
58
56
|
readonly name: string;
|
|
59
57
|
readonly code: TTypedSocketTagDenialCode;
|
|
60
58
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* next major; emitted at most once per TypedRequest object.
|
|
65
|
-
*/
|
|
66
|
-
export interface ITypedSocketImplicitTargetingDiagnostic {
|
|
67
|
-
readonly kind: 'implicitTargetingUsed';
|
|
68
|
-
readonly side: 'server';
|
|
69
|
-
readonly method: string;
|
|
70
|
-
}
|
|
71
|
-
export type TTypedSocketDiagnosticEvent = ITypedSocketConnectionClosedDiagnostic | ITypedSocketPeerRejectedDiagnostic | ITypedSocketReconnectScheduledDiagnostic | ITypedSocketReconnectExhaustedDiagnostic | ITypedSocketTagMutationDeniedDiagnostic | ITypedSocketImplicitTargetingDiagnostic;
|
|
72
|
-
/** The subset of diagnostic events a NativeByteManager can emit. */
|
|
73
|
-
export type TNativeByteDiagnosticEvent = ITypedSocketConnectionClosedDiagnostic | ITypedSocketPeerRejectedDiagnostic;
|
|
59
|
+
export type TTypedSocketDiagnosticEvent = ITypedSocketConnectionClosedDiagnostic | ITypedSocketPeerRejectedDiagnostic | ITypedSocketReconnectScheduledDiagnostic | ITypedSocketReconnectExhaustedDiagnostic | ITypedSocketTagMutationDeniedDiagnostic;
|
|
60
|
+
/** The subset of diagnostic events VirtualStreamManager can emit. */
|
|
61
|
+
export type TVirtualStreamDiagnosticEvent = ITypedSocketConnectionClosedDiagnostic | ITypedSocketPeerRejectedDiagnostic;
|