@illgrenoble/webx-client 0.10.0 → 1.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/WebXClient.d.ts +148 -16
- package/dist/WebXClient.js +148 -16
- package/dist/WebXClient.js.map +1 -1
- package/dist/display/WebXCursor.d.ts +65 -0
- package/dist/display/WebXCursor.js +65 -0
- package/dist/display/WebXCursor.js.map +1 -1
- package/dist/display/WebXCursorFactory.d.ts +18 -0
- package/dist/display/WebXCursorFactory.js +39 -16
- package/dist/display/WebXCursorFactory.js.map +1 -1
- package/dist/display/WebXDisplay.d.ts +139 -8
- package/dist/display/WebXDisplay.js +139 -8
- package/dist/display/WebXDisplay.js.map +1 -1
- package/dist/display/WebXSubImage.d.ts +42 -11
- package/dist/display/WebXSubImage.js +18 -12
- package/dist/display/WebXSubImage.js.map +1 -1
- package/dist/display/WebXTextureFactory.d.ts +30 -0
- package/dist/display/WebXTextureFactory.js +56 -19
- package/dist/display/WebXTextureFactory.js.map +1 -1
- package/dist/display/WebXWindow.d.ts +152 -0
- package/dist/display/WebXWindow.js +152 -0
- package/dist/display/WebXWindow.js.map +1 -1
- package/dist/display/WebXWindowProperties.d.ts +31 -6
- package/dist/display/WebXWindowProperties.js +16 -9
- package/dist/display/WebXWindowProperties.js.map +1 -1
- package/dist/input/WebXKeyboard.d.ts +40 -5
- package/dist/input/WebXKeyboard.js +52 -14
- package/dist/input/WebXKeyboard.js.map +1 -1
- package/dist/input/WebXMouse.d.ts +9 -0
- package/dist/input/WebXMouse.js +9 -4
- package/dist/input/WebXMouse.js.map +1 -1
- package/dist/input/keyboard/WebXKeyEvent.d.ts +35 -3
- package/dist/input/keyboard/WebXKeyEvent.js +115 -3
- package/dist/input/keyboard/WebXKeyEvent.js.map +1 -1
- package/dist/input/keyboard/WebXKeyPressEvent.d.ts +25 -8
- package/dist/input/keyboard/WebXKeyPressEvent.js +29 -11
- package/dist/input/keyboard/WebXKeyPressEvent.js.map +1 -1
- package/dist/input/keyboard/WebXKeyUpEvent.d.ts +30 -9
- package/dist/input/keyboard/WebXKeyUpEvent.js +19 -16
- package/dist/input/keyboard/WebXKeyUpEvent.js.map +1 -1
- package/dist/input/keyboard/WebXKeyboardModifierState.d.ts +69 -8
- package/dist/input/keyboard/WebXKeyboardModifierState.js +69 -8
- package/dist/input/keyboard/WebXKeyboardModifierState.js.map +1 -1
- package/dist/input/keyboard/WebXKeyboardUtils.d.ts +18 -2
- package/dist/input/keyboard/WebXKeyboardUtils.js +18 -2
- package/dist/input/keyboard/WebXKeyboardUtils.js.map +1 -1
- package/dist/input/keyboard/WebXKeydownEvent.d.ts +26 -9
- package/dist/input/keyboard/WebXKeydownEvent.js +17 -22
- package/dist/input/keyboard/WebXKeydownEvent.js.map +1 -1
- package/dist/input/mouse/WebXMouseState.d.ts +113 -2
- package/dist/input/mouse/WebXMouseState.js +104 -2
- package/dist/input/mouse/WebXMouseState.js.map +1 -1
- package/dist/instruction/WebXConnectInstruction.d.ts +16 -1
- package/dist/instruction/WebXConnectInstruction.js +13 -1
- package/dist/instruction/WebXConnectInstruction.js.map +1 -1
- package/dist/instruction/WebXCursorImageInstruction.d.ts +15 -3
- package/dist/instruction/WebXCursorImageInstruction.js +12 -5
- package/dist/instruction/WebXCursorImageInstruction.js.map +1 -1
- package/dist/instruction/WebXDataAckInstruction.d.ts +22 -5
- package/dist/instruction/WebXDataAckInstruction.js +15 -9
- package/dist/instruction/WebXDataAckInstruction.js.map +1 -1
- package/dist/instruction/WebXImageInstruction.d.ts +14 -3
- package/dist/instruction/WebXImageInstruction.js +11 -7
- package/dist/instruction/WebXImageInstruction.js.map +1 -1
- package/dist/instruction/WebXInstruction.d.ts +26 -10
- package/dist/instruction/WebXInstruction.js +19 -25
- package/dist/instruction/WebXInstruction.js.map +1 -1
- package/dist/instruction/WebXInstructionResponse.d.ts +55 -2
- package/dist/instruction/WebXInstructionResponse.js +40 -2
- package/dist/instruction/WebXInstructionResponse.js.map +1 -1
- package/dist/instruction/WebXInstructionType.d.ts +40 -0
- package/dist/instruction/WebXInstructionType.js +40 -0
- package/dist/instruction/WebXInstructionType.js.map +1 -1
- package/dist/instruction/WebXKeyboardInstruction.d.ts +19 -6
- package/dist/instruction/WebXKeyboardInstruction.js +13 -14
- package/dist/instruction/WebXKeyboardInstruction.js.map +1 -1
- package/dist/instruction/WebXMouseInstruction.d.ts +24 -9
- package/dist/instruction/WebXMouseInstruction.js +15 -21
- package/dist/instruction/WebXMouseInstruction.js.map +1 -1
- package/dist/instruction/WebXPongInstruction.d.ts +15 -3
- package/dist/instruction/WebXPongInstruction.js +12 -5
- package/dist/instruction/WebXPongInstruction.js.map +1 -1
- package/dist/instruction/WebXQualityInstruction.d.ts +16 -4
- package/dist/instruction/WebXQualityInstruction.js +13 -8
- package/dist/instruction/WebXQualityInstruction.js.map +1 -1
- package/dist/instruction/WebXScreenInstruction.d.ts +8 -0
- package/dist/instruction/WebXScreenInstruction.js +8 -0
- package/dist/instruction/WebXScreenInstruction.js.map +1 -1
- package/dist/instruction/WebXWindowsInstruction.d.ts +9 -0
- package/dist/instruction/WebXWindowsInstruction.js +9 -0
- package/dist/instruction/WebXWindowsInstruction.js.map +1 -1
- package/dist/message/WebXCursorImageMessage.d.ts +42 -13
- package/dist/message/WebXCursorImageMessage.js +24 -25
- package/dist/message/WebXCursorImageMessage.js.map +1 -1
- package/dist/message/WebXImageMessage.d.ts +37 -11
- package/dist/message/WebXImageMessage.js +22 -21
- package/dist/message/WebXImageMessage.js.map +1 -1
- package/dist/message/WebXMessage.d.ts +22 -6
- package/dist/message/WebXMessage.js +15 -9
- package/dist/message/WebXMessage.js.map +1 -1
- package/dist/message/WebXMessageType.d.ts +35 -0
- package/dist/message/WebXMessageType.js +35 -0
- package/dist/message/WebXMessageType.js.map +1 -1
- package/dist/message/WebXMouseMessage.d.ts +27 -7
- package/dist/message/WebXMouseMessage.js +18 -13
- package/dist/message/WebXMouseMessage.js.map +1 -1
- package/dist/message/WebXPingMessage.d.ts +9 -0
- package/dist/message/WebXPingMessage.js +9 -0
- package/dist/message/WebXPingMessage.js.map +1 -1
- package/dist/message/WebXQualityMessage.d.ts +36 -11
- package/dist/message/WebXQualityMessage.js +21 -21
- package/dist/message/WebXQualityMessage.js.map +1 -1
- package/dist/message/WebXScreenMessage.d.ts +17 -3
- package/dist/message/WebXScreenMessage.js +14 -5
- package/dist/message/WebXScreenMessage.js.map +1 -1
- package/dist/message/WebXSubImagesMessage.d.ts +27 -7
- package/dist/message/WebXSubImagesMessage.js +18 -13
- package/dist/message/WebXSubImagesMessage.js.map +1 -1
- package/dist/message/WebXWindowsMessage.d.ts +17 -3
- package/dist/message/WebXWindowsMessage.js +14 -5
- package/dist/message/WebXWindowsMessage.js.map +1 -1
- package/dist/tracer/WebXDebugImageMessageHandler.d.ts +30 -0
- package/dist/tracer/WebXDebugImageMessageHandler.js +30 -0
- package/dist/tracer/WebXDebugImageMessageHandler.js.map +1 -1
- package/dist/tracer/WebXHandler.d.ts +11 -0
- package/dist/tracer/WebXInstructionHandler.d.ts +17 -0
- package/dist/tracer/WebXInstructionHandler.js +6 -0
- package/dist/tracer/WebXInstructionHandler.js.map +1 -1
- package/dist/tracer/WebXMessageHandler.d.ts +17 -0
- package/dist/tracer/WebXMessageHandler.js +6 -0
- package/dist/tracer/WebXMessageHandler.js.map +1 -1
- package/dist/tracer/WebXStatsHandler.d.ts +16 -0
- package/dist/tracer/WebXStatsHandler.js +6 -0
- package/dist/tracer/WebXStatsHandler.js.map +1 -1
- package/dist/transport/WebXBinarySerializer.d.ts +20 -0
- package/dist/transport/WebXBinarySerializer.js +20 -0
- package/dist/transport/WebXBinarySerializer.js.map +1 -1
- package/dist/transport/WebXInstructionBuffer.d.ts +19 -0
- package/dist/transport/WebXInstructionBuffer.js +19 -0
- package/dist/transport/WebXInstructionBuffer.js.map +1 -1
- package/dist/transport/WebXInstructionEncoder.d.ts +138 -0
- package/dist/transport/WebXInstructionEncoder.js +138 -110
- package/dist/transport/WebXInstructionEncoder.js.map +1 -1
- package/dist/transport/WebXMessageBuffer.d.ts +63 -8
- package/dist/transport/WebXMessageBuffer.js +51 -16
- package/dist/transport/WebXMessageBuffer.js.map +1 -1
- package/dist/transport/WebXMessageDecoder.d.ts +69 -0
- package/dist/transport/WebXMessageDecoder.js +96 -18
- package/dist/transport/WebXMessageDecoder.js.map +1 -1
- package/dist/tunnel/WebXTunnel.d.ts +71 -0
- package/dist/tunnel/WebXTunnel.js +51 -4
- package/dist/tunnel/WebXTunnel.js.map +1 -1
- package/dist/tunnel/WebXWebSocketTunnel.d.ts +26 -0
- package/dist/tunnel/WebXWebSocketTunnel.js +26 -0
- package/dist/tunnel/WebXWebSocketTunnel.js.map +1 -1
- package/dist/utils/ColorGenerator.d.ts +19 -0
- package/dist/utils/ColorGenerator.js +19 -0
- package/dist/utils/ColorGenerator.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import { WebXInstruction } from '../instruction';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a buffer for encoding and decoding WebX instructions.
|
|
4
|
+
*
|
|
5
|
+
* This class provides methods to write and read data in a structured format
|
|
6
|
+
* for communication with the WebX Engine.
|
|
7
|
+
*/
|
|
2
8
|
export declare class WebXInstructionBuffer {
|
|
3
9
|
private readonly _buffer;
|
|
4
10
|
private _offset;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new instance of WebXInstructionBuffer.
|
|
13
|
+
*
|
|
14
|
+
* @param instruction The WebX instruction.
|
|
15
|
+
* @param length The length of the buffer in bytes.
|
|
16
|
+
*/
|
|
5
17
|
constructor(instruction: WebXInstruction, length: number);
|
|
6
18
|
private _getNextOffset;
|
|
7
19
|
/**
|
|
8
20
|
* Write a signed 32 bit integer to the buffer
|
|
21
|
+
* @param value the value to write
|
|
9
22
|
*/
|
|
10
23
|
putInt32(value: number): WebXInstructionBuffer;
|
|
11
24
|
/**
|
|
@@ -18,6 +31,11 @@ export declare class WebXInstructionBuffer {
|
|
|
18
31
|
* @param value the value to write
|
|
19
32
|
*/
|
|
20
33
|
putUInt32(value: number): WebXInstructionBuffer;
|
|
34
|
+
/**
|
|
35
|
+
* Write an array of unsigned 8 bit integers to the buffer
|
|
36
|
+
* @param array the array to write
|
|
37
|
+
* @param length the length of the array
|
|
38
|
+
*/
|
|
21
39
|
putUInt8Array(array: Uint8Array, length: number): WebXInstructionBuffer;
|
|
22
40
|
/**
|
|
23
41
|
* Write a string to the buffer
|
|
@@ -31,6 +49,7 @@ export declare class WebXInstructionBuffer {
|
|
|
31
49
|
putBoolean(value: boolean): WebXInstructionBuffer;
|
|
32
50
|
/**
|
|
33
51
|
* Get the array buffer
|
|
52
|
+
* @returns the array buffer
|
|
34
53
|
*/
|
|
35
54
|
buffer(): ArrayBuffer;
|
|
36
55
|
}
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebXInstructionBuffer = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Represents a buffer for encoding and decoding WebX instructions.
|
|
6
|
+
*
|
|
7
|
+
* This class provides methods to write and read data in a structured format
|
|
8
|
+
* for communication with the WebX Engine.
|
|
9
|
+
*/
|
|
4
10
|
class WebXInstructionBuffer {
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new instance of WebXInstructionBuffer.
|
|
13
|
+
*
|
|
14
|
+
* @param instruction The WebX instruction.
|
|
15
|
+
* @param length The length of the buffer in bytes.
|
|
16
|
+
*/
|
|
5
17
|
constructor(instruction, length) {
|
|
6
18
|
// 16 for sessionID place holder (set by the relay), 4 for the clientId (set by the relay) and 8 for the instruction type and id, 4 padding
|
|
7
19
|
// Maintain 8 bit alignment to ensure long values can be written without additional padding
|
|
@@ -28,6 +40,7 @@ class WebXInstructionBuffer {
|
|
|
28
40
|
}
|
|
29
41
|
/**
|
|
30
42
|
* Write a signed 32 bit integer to the buffer
|
|
43
|
+
* @param value the value to write
|
|
31
44
|
*/
|
|
32
45
|
putInt32(value) {
|
|
33
46
|
const offset = this._getNextOffset(4);
|
|
@@ -55,6 +68,11 @@ class WebXInstructionBuffer {
|
|
|
55
68
|
typedArray[0] = value;
|
|
56
69
|
return this;
|
|
57
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Write an array of unsigned 8 bit integers to the buffer
|
|
73
|
+
* @param array the array to write
|
|
74
|
+
* @param length the length of the array
|
|
75
|
+
*/
|
|
58
76
|
putUInt8Array(array, length) {
|
|
59
77
|
const offset = this._getNextOffset(8);
|
|
60
78
|
const typedArray = new Uint8Array(this._buffer, offset, length);
|
|
@@ -81,6 +99,7 @@ class WebXInstructionBuffer {
|
|
|
81
99
|
}
|
|
82
100
|
/**
|
|
83
101
|
* Get the array buffer
|
|
102
|
+
* @returns the array buffer
|
|
84
103
|
*/
|
|
85
104
|
buffer() {
|
|
86
105
|
return this._buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXInstructionBuffer.js","sourceRoot":"","sources":["../../src/transport/WebXInstructionBuffer.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IAKhC,YAAY,WAA4B,EAAE,MAAc;QACtD,2IAA2I;QAC3I,2FAA2F;QAC3F,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,iBAAiB;QACjB,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE/B,4DAA4D;QAC5D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAEO,cAAc,CAAC,UAAkB;QACvC,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAExC,IAAI,CAAC,OAAO,IAAI,UAAU,GAAG,OAAO,CAAC;QAErC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"WebXInstructionBuffer.js","sourceRoot":"","sources":["../../src/transport/WebXInstructionBuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,152 @@
|
|
|
1
1
|
import { WebXInstruction } from '../instruction';
|
|
2
|
+
/**
|
|
3
|
+
* Encodes WebX instructions into a format suitable for transmission.
|
|
4
|
+
* This class handles various instruction types and ensures they are
|
|
5
|
+
* serialized correctly.
|
|
6
|
+
*/
|
|
2
7
|
export declare class WebXInstructionEncoder {
|
|
8
|
+
/**
|
|
9
|
+
* Convert the given instruction to an array buffer ready to be sent along the wire
|
|
10
|
+
* @param instruction the instruction to encode
|
|
11
|
+
* @returns The encoded instruction as an ArrayBuffer.
|
|
12
|
+
*/
|
|
3
13
|
encode(instruction: WebXInstruction): ArrayBuffer;
|
|
14
|
+
/**
|
|
15
|
+
* Create a new mouse instruction
|
|
16
|
+
* @param instruction the mouse instruction to encode
|
|
17
|
+
* Structure:
|
|
18
|
+
* Header: 32 bytes
|
|
19
|
+
* sessionId: 16 bytes
|
|
20
|
+
* clientId:4 bytes
|
|
21
|
+
* type: 4 bytes
|
|
22
|
+
* id: 4 bytes
|
|
23
|
+
* padding: 4 bytes
|
|
24
|
+
* Content: 4 bytes
|
|
25
|
+
* x: 4 bytes
|
|
26
|
+
* y: 4 bytes
|
|
27
|
+
* buttonMask: 4 bytes
|
|
28
|
+
*/
|
|
4
29
|
private _createMouseInstruction;
|
|
30
|
+
/**
|
|
31
|
+
* Create a new cursor image instruction
|
|
32
|
+
* @param instruction the cursor image instruction to encode
|
|
33
|
+
* Structure:
|
|
34
|
+
* Header: 32 bytes
|
|
35
|
+
* sessionId: 16 bytes
|
|
36
|
+
* clientId:4 bytes
|
|
37
|
+
* type: 4 bytes
|
|
38
|
+
* id: 4 bytes
|
|
39
|
+
* padding: 4 bytes
|
|
40
|
+
* Content: 4 bytes
|
|
41
|
+
* cursorId: 4 bytes
|
|
42
|
+
*/
|
|
5
43
|
private _createCursorImageInstruction;
|
|
44
|
+
/**
|
|
45
|
+
* Create a new image instruction
|
|
46
|
+
* @param instruction the image instruction to encode
|
|
47
|
+
* Structure:
|
|
48
|
+
* Header: 32 bytes
|
|
49
|
+
* sessionId: 16 bytes
|
|
50
|
+
* clientId:4 bytes
|
|
51
|
+
* type: 4 bytes
|
|
52
|
+
* id: 4 bytes
|
|
53
|
+
* padding: 4 bytes
|
|
54
|
+
* Content: 4 bytes
|
|
55
|
+
* windowId: 4 bytes
|
|
56
|
+
*/
|
|
6
57
|
private _createImageInstruction;
|
|
58
|
+
/**
|
|
59
|
+
* Create a keyboard instruction
|
|
60
|
+
* @param instruction the keyboard instruction to encode
|
|
61
|
+
* Structure:
|
|
62
|
+
* Header: 32 bytes
|
|
63
|
+
* sessionId: 16 bytes
|
|
64
|
+
* clientId: 4 bytes
|
|
65
|
+
* type: 4 bytes
|
|
66
|
+
* id: 4 bytes
|
|
67
|
+
* padding: 4 bytes
|
|
68
|
+
* Content: 8 bytes
|
|
69
|
+
* key (the keyboard key code): 4 bytes
|
|
70
|
+
* pressed: 4 bytes
|
|
71
|
+
*/
|
|
7
72
|
private _createKeyboardInstruction;
|
|
73
|
+
/**
|
|
74
|
+
* Create a screen instruction
|
|
75
|
+
* @param instruction the screen instruction to encode
|
|
76
|
+
* Structure:
|
|
77
|
+
* Header: 32 bytes
|
|
78
|
+
* sessionId: 16 bytes
|
|
79
|
+
* clientId: 4 bytes
|
|
80
|
+
* type: 4 bytes
|
|
81
|
+
* id: 4 bytes
|
|
82
|
+
* padding: 4 bytes
|
|
83
|
+
*/
|
|
8
84
|
private _createScreenInstruction;
|
|
85
|
+
/**
|
|
86
|
+
* Create a windows instruction
|
|
87
|
+
* Structure:
|
|
88
|
+
* Header: 32 bytes
|
|
89
|
+
* sessionId: 16 bytes
|
|
90
|
+
* clientId: 4 bytes
|
|
91
|
+
* type: 4 bytes
|
|
92
|
+
* id: 4 bytes
|
|
93
|
+
* padding: 4 bytes
|
|
94
|
+
* @param instruction the windows instruction to encode
|
|
95
|
+
*/
|
|
9
96
|
private _createWindowsInstruction;
|
|
97
|
+
/**
|
|
98
|
+
* Create a connect instruction
|
|
99
|
+
* @param instruction the connect instruction to encode
|
|
100
|
+
* Structure:
|
|
101
|
+
* Header: 32 bytes
|
|
102
|
+
* sessionId: 16 bytes
|
|
103
|
+
* clientId: 4 bytes
|
|
104
|
+
* type: 4 bytes
|
|
105
|
+
* id: 4 bytes
|
|
106
|
+
* padding: 4 bytes
|
|
107
|
+
*/
|
|
10
108
|
private _createConnectInstruction;
|
|
109
|
+
/**
|
|
110
|
+
* Create a new quality instruction
|
|
111
|
+
* @param instruction the quality instruction to encode
|
|
112
|
+
* Structure:
|
|
113
|
+
* Header: 32 bytes
|
|
114
|
+
* sessionId: 16 bytes
|
|
115
|
+
* clientId: 4 bytes
|
|
116
|
+
* type: 4 bytes
|
|
117
|
+
* id: 4 bytes
|
|
118
|
+
* padding: 4 bytes
|
|
119
|
+
* Content: 4 bytes
|
|
120
|
+
* qualityIndex: 4 bytes
|
|
121
|
+
*/
|
|
11
122
|
private _createQualityInstruction;
|
|
123
|
+
/**
|
|
124
|
+
* Create a new pong instruction
|
|
125
|
+
* @param instruction the pong instruction to encode
|
|
126
|
+
* Structure:
|
|
127
|
+
* Header: 32 bytes
|
|
128
|
+
* sessionId: 16 bytes
|
|
129
|
+
* clientId: 4 bytes
|
|
130
|
+
* type: 4 bytes
|
|
131
|
+
* id: 4 bytes
|
|
132
|
+
* padding: 4 bytes
|
|
133
|
+
* Content: 8 bytes
|
|
134
|
+
* timestampMs: 8 bytes
|
|
135
|
+
*/
|
|
12
136
|
private _createPongInstruction;
|
|
137
|
+
/**
|
|
138
|
+
* Create a new data ack instruction
|
|
139
|
+
* @param instruction the data ack instruction to encode
|
|
140
|
+
* Structure:
|
|
141
|
+
* Header: 32 bytes
|
|
142
|
+
* sessionId: 16 bytes
|
|
143
|
+
* clientId: 4 bytes
|
|
144
|
+
* type: 4 bytes
|
|
145
|
+
* id: 4 bytes
|
|
146
|
+
* padding: 4 bytes
|
|
147
|
+
* Content: 8 bytes
|
|
148
|
+
* timestampMs: 8 bytes
|
|
149
|
+
* dataLength: 4 bytes
|
|
150
|
+
*/
|
|
13
151
|
private _createDataAckInstruction;
|
|
14
152
|
}
|
|
@@ -3,9 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WebXInstructionEncoder = void 0;
|
|
4
4
|
const instruction_1 = require("../instruction");
|
|
5
5
|
const _1 = require(".");
|
|
6
|
+
/**
|
|
7
|
+
* Encodes WebX instructions into a format suitable for transmission.
|
|
8
|
+
* This class handles various instruction types and ensures they are
|
|
9
|
+
* serialized correctly.
|
|
10
|
+
*/
|
|
6
11
|
class WebXInstructionEncoder {
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Convert the given instruction to an array buffer ready to be sent along the wire
|
|
14
|
+
* @param instruction the instruction to encode
|
|
15
|
+
* @returns The encoded instruction as an ArrayBuffer.
|
|
16
|
+
*/
|
|
9
17
|
encode(instruction) {
|
|
10
18
|
if (instruction.type === instruction_1.WebXInstructionType.MOUSE) {
|
|
11
19
|
return this._createMouseInstruction(instruction);
|
|
@@ -39,19 +47,21 @@ class WebXInstructionEncoder {
|
|
|
39
47
|
}
|
|
40
48
|
return null;
|
|
41
49
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Create a new mouse instruction
|
|
52
|
+
* @param instruction the mouse instruction to encode
|
|
53
|
+
* Structure:
|
|
54
|
+
* Header: 32 bytes
|
|
55
|
+
* sessionId: 16 bytes
|
|
56
|
+
* clientId:4 bytes
|
|
57
|
+
* type: 4 bytes
|
|
58
|
+
* id: 4 bytes
|
|
59
|
+
* padding: 4 bytes
|
|
60
|
+
* Content: 4 bytes
|
|
61
|
+
* x: 4 bytes
|
|
62
|
+
* y: 4 bytes
|
|
63
|
+
* buttonMask: 4 bytes
|
|
64
|
+
*/
|
|
55
65
|
_createMouseInstruction(instruction) {
|
|
56
66
|
const encoder = new _1.WebXInstructionBuffer(instruction, 12);
|
|
57
67
|
return encoder
|
|
@@ -61,17 +71,19 @@ class WebXInstructionEncoder {
|
|
|
61
71
|
.putUInt32(instruction.buttonMask)
|
|
62
72
|
.buffer();
|
|
63
73
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
/**
|
|
75
|
+
* Create a new cursor image instruction
|
|
76
|
+
* @param instruction the cursor image instruction to encode
|
|
77
|
+
* Structure:
|
|
78
|
+
* Header: 32 bytes
|
|
79
|
+
* sessionId: 16 bytes
|
|
80
|
+
* clientId:4 bytes
|
|
81
|
+
* type: 4 bytes
|
|
82
|
+
* id: 4 bytes
|
|
83
|
+
* padding: 4 bytes
|
|
84
|
+
* Content: 4 bytes
|
|
85
|
+
* cursorId: 4 bytes
|
|
86
|
+
*/
|
|
75
87
|
_createCursorImageInstruction(instruction) {
|
|
76
88
|
const encoder = new _1.WebXInstructionBuffer(instruction, 4);
|
|
77
89
|
return encoder
|
|
@@ -79,17 +91,19 @@ class WebXInstructionEncoder {
|
|
|
79
91
|
.putInt32(instruction.cursorId)
|
|
80
92
|
.buffer();
|
|
81
93
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Create a new image instruction
|
|
96
|
+
* @param instruction the image instruction to encode
|
|
97
|
+
* Structure:
|
|
98
|
+
* Header: 32 bytes
|
|
99
|
+
* sessionId: 16 bytes
|
|
100
|
+
* clientId:4 bytes
|
|
101
|
+
* type: 4 bytes
|
|
102
|
+
* id: 4 bytes
|
|
103
|
+
* padding: 4 bytes
|
|
104
|
+
* Content: 4 bytes
|
|
105
|
+
* windowId: 4 bytes
|
|
106
|
+
*/
|
|
93
107
|
_createImageInstruction(instruction) {
|
|
94
108
|
const encoder = new _1.WebXInstructionBuffer(instruction, 4);
|
|
95
109
|
return encoder
|
|
@@ -97,18 +111,20 @@ class WebXInstructionEncoder {
|
|
|
97
111
|
.putUInt32(instruction.windowId)
|
|
98
112
|
.buffer();
|
|
99
113
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
114
|
+
/**
|
|
115
|
+
* Create a keyboard instruction
|
|
116
|
+
* @param instruction the keyboard instruction to encode
|
|
117
|
+
* Structure:
|
|
118
|
+
* Header: 32 bytes
|
|
119
|
+
* sessionId: 16 bytes
|
|
120
|
+
* clientId: 4 bytes
|
|
121
|
+
* type: 4 bytes
|
|
122
|
+
* id: 4 bytes
|
|
123
|
+
* padding: 4 bytes
|
|
124
|
+
* Content: 8 bytes
|
|
125
|
+
* key (the keyboard key code): 4 bytes
|
|
126
|
+
* pressed: 4 bytes
|
|
127
|
+
*/
|
|
112
128
|
_createKeyboardInstruction(instruction) {
|
|
113
129
|
const encoder = new _1.WebXInstructionBuffer(instruction, 8);
|
|
114
130
|
return encoder
|
|
@@ -117,56 +133,64 @@ class WebXInstructionEncoder {
|
|
|
117
133
|
.putBoolean(instruction.pressed)
|
|
118
134
|
.buffer();
|
|
119
135
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Create a screen instruction
|
|
138
|
+
* @param instruction the screen instruction to encode
|
|
139
|
+
* Structure:
|
|
140
|
+
* Header: 32 bytes
|
|
141
|
+
* sessionId: 16 bytes
|
|
142
|
+
* clientId: 4 bytes
|
|
143
|
+
* type: 4 bytes
|
|
144
|
+
* id: 4 bytes
|
|
145
|
+
* padding: 4 bytes
|
|
146
|
+
*/
|
|
129
147
|
_createScreenInstruction(instruction) {
|
|
130
148
|
const encoder = new _1.WebXInstructionBuffer(instruction, 0);
|
|
131
149
|
return encoder.buffer();
|
|
132
150
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
151
|
+
/**
|
|
152
|
+
* Create a windows instruction
|
|
153
|
+
* Structure:
|
|
154
|
+
* Header: 32 bytes
|
|
155
|
+
* sessionId: 16 bytes
|
|
156
|
+
* clientId: 4 bytes
|
|
157
|
+
* type: 4 bytes
|
|
158
|
+
* id: 4 bytes
|
|
159
|
+
* padding: 4 bytes
|
|
160
|
+
* @param instruction the windows instruction to encode
|
|
161
|
+
*/
|
|
142
162
|
_createWindowsInstruction(instruction) {
|
|
143
163
|
const encoder = new _1.WebXInstructionBuffer(instruction, 0);
|
|
144
164
|
return encoder.buffer();
|
|
145
165
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
166
|
+
/**
|
|
167
|
+
* Create a connect instruction
|
|
168
|
+
* @param instruction the connect instruction to encode
|
|
169
|
+
* Structure:
|
|
170
|
+
* Header: 32 bytes
|
|
171
|
+
* sessionId: 16 bytes
|
|
172
|
+
* clientId: 4 bytes
|
|
173
|
+
* type: 4 bytes
|
|
174
|
+
* id: 4 bytes
|
|
175
|
+
* padding: 4 bytes
|
|
176
|
+
*/
|
|
155
177
|
_createConnectInstruction(instruction) {
|
|
156
178
|
const encoder = new _1.WebXInstructionBuffer(instruction, 0);
|
|
157
179
|
return encoder.buffer();
|
|
158
180
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
181
|
+
/**
|
|
182
|
+
* Create a new quality instruction
|
|
183
|
+
* @param instruction the quality instruction to encode
|
|
184
|
+
* Structure:
|
|
185
|
+
* Header: 32 bytes
|
|
186
|
+
* sessionId: 16 bytes
|
|
187
|
+
* clientId: 4 bytes
|
|
188
|
+
* type: 4 bytes
|
|
189
|
+
* id: 4 bytes
|
|
190
|
+
* padding: 4 bytes
|
|
191
|
+
* Content: 4 bytes
|
|
192
|
+
* qualityIndex: 4 bytes
|
|
193
|
+
*/
|
|
170
194
|
_createQualityInstruction(instruction) {
|
|
171
195
|
const encoder = new _1.WebXInstructionBuffer(instruction, 4);
|
|
172
196
|
return encoder
|
|
@@ -174,17 +198,19 @@ class WebXInstructionEncoder {
|
|
|
174
198
|
.putUInt32(instruction.qualityIndex)
|
|
175
199
|
.buffer();
|
|
176
200
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
201
|
+
/**
|
|
202
|
+
* Create a new pong instruction
|
|
203
|
+
* @param instruction the pong instruction to encode
|
|
204
|
+
* Structure:
|
|
205
|
+
* Header: 32 bytes
|
|
206
|
+
* sessionId: 16 bytes
|
|
207
|
+
* clientId: 4 bytes
|
|
208
|
+
* type: 4 bytes
|
|
209
|
+
* id: 4 bytes
|
|
210
|
+
* padding: 4 bytes
|
|
211
|
+
* Content: 8 bytes
|
|
212
|
+
* timestampMs: 8 bytes
|
|
213
|
+
*/
|
|
188
214
|
_createPongInstruction(instruction) {
|
|
189
215
|
const encoder = new _1.WebXInstructionBuffer(instruction, 8);
|
|
190
216
|
return encoder
|
|
@@ -192,18 +218,20 @@ class WebXInstructionEncoder {
|
|
|
192
218
|
.putUInt8Array(instruction.timestampMs, 8)
|
|
193
219
|
.buffer();
|
|
194
220
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
221
|
+
/**
|
|
222
|
+
* Create a new data ack instruction
|
|
223
|
+
* @param instruction the data ack instruction to encode
|
|
224
|
+
* Structure:
|
|
225
|
+
* Header: 32 bytes
|
|
226
|
+
* sessionId: 16 bytes
|
|
227
|
+
* clientId: 4 bytes
|
|
228
|
+
* type: 4 bytes
|
|
229
|
+
* id: 4 bytes
|
|
230
|
+
* padding: 4 bytes
|
|
231
|
+
* Content: 8 bytes
|
|
232
|
+
* timestampMs: 8 bytes
|
|
233
|
+
* dataLength: 4 bytes
|
|
234
|
+
*/
|
|
207
235
|
_createDataAckInstruction(instruction) {
|
|
208
236
|
const encoder = new _1.WebXInstructionBuffer(instruction, 12);
|
|
209
237
|
return encoder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXInstructionEncoder.js","sourceRoot":"","sources":["../../src/transport/WebXInstructionEncoder.ts"],"names":[],"mappings":";;;AAAA,gDAawB;AACxB,wBAA0C;AAE1C,MAAa,sBAAsB;IAEjC
|
|
1
|
+
{"version":3,"file":"WebXInstructionEncoder.js","sourceRoot":"","sources":["../../src/transport/WebXInstructionEncoder.ts"],"names":[],"mappings":"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"}
|