@illgrenoble/webx-client 0.4.0 → 0.5.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 (30) hide show
  1. package/dist/WebXClient.js +0 -5
  2. package/dist/WebXClient.js.map +1 -1
  3. package/dist/instruction/WebXDataAckInstruction.d.ts +8 -0
  4. package/dist/instruction/WebXDataAckInstruction.js +20 -0
  5. package/dist/instruction/WebXDataAckInstruction.js.map +1 -0
  6. package/dist/instruction/WebXInstructionType.d.ts +2 -1
  7. package/dist/instruction/WebXInstructionType.js +3 -0
  8. package/dist/instruction/WebXInstructionType.js.map +1 -1
  9. package/dist/instruction/WebXPongInstruction.d.ts +3 -1
  10. package/dist/instruction/WebXPongInstruction.js +5 -1
  11. package/dist/instruction/WebXPongInstruction.js.map +1 -1
  12. package/dist/instruction/index.d.ts +1 -0
  13. package/dist/instruction/index.js +1 -0
  14. package/dist/instruction/index.js.map +1 -1
  15. package/dist/message/WebXImageMessage.d.ts +5 -5
  16. package/dist/message/WebXImageMessage.js.map +1 -1
  17. package/dist/message/WebXSubImagesMessage.js.map +1 -1
  18. package/dist/transport/WebXInstructionBuffer.d.ts +1 -0
  19. package/dist/transport/WebXInstructionBuffer.js +11 -1
  20. package/dist/transport/WebXInstructionBuffer.js.map +1 -1
  21. package/dist/transport/WebXInstructionEncoder.d.ts +1 -108
  22. package/dist/transport/WebXInstructionEncoder.js +123 -109
  23. package/dist/transport/WebXInstructionEncoder.js.map +1 -1
  24. package/dist/transport/WebXMessageBuffer.d.ts +3 -0
  25. package/dist/transport/WebXMessageBuffer.js +7 -2
  26. package/dist/transport/WebXMessageBuffer.js.map +1 -1
  27. package/dist/tunnel/WebXTunnel.d.ts +2 -0
  28. package/dist/tunnel/WebXTunnel.js +17 -2
  29. package/dist/tunnel/WebXTunnel.js.map +1 -1
  30. package/package.json +1 -1
@@ -16,7 +16,6 @@ const display_1 = require("./display");
16
16
  const input_1 = require("./input");
17
17
  const tracer_1 = require("./tracer");
18
18
  const transport_1 = require("./transport");
19
- const WebXPongInstruction_1 = require("./instruction/WebXPongInstruction");
20
19
  class WebXClient {
21
20
  get tunnel() {
22
21
  return this._tunnel;
@@ -234,10 +233,6 @@ class WebXClient {
234
233
  const mouseMessage = message;
235
234
  this._display.updateMouse(mouseMessage.x, mouseMessage.y, mouseMessage.cursorId);
236
235
  }
237
- else if (message.type === message_1.WebXMessageType.PING) {
238
- // Reply immediately with a pong
239
- this._sendInstruction(new WebXPongInstruction_1.WebXPongInstruction());
240
- }
241
236
  this._tracers.forEach((value) => {
242
237
  if (value instanceof tracer_1.WebXMessageHandler) {
243
238
  value.handle(message);
@@ -1 +1 @@
1
- {"version":3,"file":"WebXClient.js","sourceRoot":"","sources":["../src/WebXClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXClient.js","sourceRoot":"","sources":["../src/WebXClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+CAOuB;AACvB,uCAQmB;AACnB,uCAA+E;AAC/E,mCAAkE;AAClE,qCAAqG;AACrG,2CAAmD;AAEnD,MAAa,UAAU;IAYrB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QA3B/B,aAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;QA4BrD,IAAI,CAAC,eAAe,GAAG,IAAI,4BAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,2BAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEK,OAAO,CAAC,eAA2B,EAAE,IAAS;;YAClD,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;YACxC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,gCAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAEjF,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;KAAA;IAED,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACG,UAAU,CAAC,gBAA6B;;YAC5C,+BAA+B;YAC/B,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC;gBAEnD,yBAAyB;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAEpE,mCAAmC;gBACnC,kCAAkC;gBAClC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,oCAAsB,EAAE,CAAuB,CAAC;gBAEnG,wGAAwG;gBACxG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAE3B,iCAAiC;gBACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBACjD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAE1B,oCAAoC;gBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAE7B,OAAO,IAAI,CAAC,QAAQ,CAAC;YAEvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEhB,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;KAAA;IAED;;;;;OAKG;IACH,aAAa,CAAC,gBAA6B,EAAE,WAAmB,EAAE,YAAoB;QACpF,OAAO,IAAI,qBAAW,CAAC,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACjH,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,OAAoB;QAC9B,OAAO,IAAI,iBAAS,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,OAAoB;QACjC,OAAO,IAAI,oBAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAGD;;;OAGG;IACI,SAAS,CAAC,UAA0B;QACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,kCAAoB,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,GAAW,EAAE,OAAgB;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,qCAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,GAAW;QAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,GAAW;QAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,IAAY,EAAE,OAAoB;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,IAAY;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,kBAAkB;YAClB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,eAAe,CAAC,YAAoB;QAClC,MAAM,kBAAkB,GAAG,IAAI,oCAAsB,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,aAAa,CAAC,UAA0B;QACtC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC;IAEa,iBAAiB;;YAC7B,4GAA4G;YAC5G,kHAAkH;YAClH,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,mCAAqB,EAAE,EAAE,IAAI,CAAsB,CAAC;gBAEzF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,KAAK,EAAE,CAAC;oBACR,OAAO,CAAC,GAAG,CAAC,+CAA+C,KAAK,OAAO,CAAC,CAAA;oBAExE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAEO,gBAAgB,CAAC,OAAwB;QAC/C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,YAAY,+BAAsB,EAAE,CAAC;gBAC5C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,OAAwB,EAAE,OAAgB;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAEO,cAAc,CAAC,OAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,yBAAe,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAI,OAA8B,CAAC,OAAO,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEvC,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,yBAAe,CAAC,KAAK,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,OAA2B,CAAC;YACjD,iGAAiG;YACjG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAErH,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,yBAAe,CAAC,SAAS,EAAE,CAAC;YACtD,MAAM,gBAAgB,GAAG,OAA+B,CAAC;YACzD,oDAAoD;YACpD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEvF,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,yBAAe,CAAC,KAAK,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,OAA2B,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,YAAY,2BAAkB,EAAE,CAAC;gBACxC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,IAAiB;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,YAAY,yBAAgB,EAAE,CAAC;gBACtC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,IAAiB;QACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,YAAY,yBAAgB,EAAE,CAAC;gBACtC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,IAAiB;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,YAAY,yBAAgB,EAAE,CAAC;gBACtC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,UAA0B,EAAE,EAAE;YAChF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClC,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC;YACpC,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,UAA0B,EAAE,EAAE;YAC/E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;CACF;AA7UD,gCA6UC"}
@@ -0,0 +1,8 @@
1
+ import { WebXInstruction } from './WebXInstruction';
2
+ export declare class WebXDataAckInstruction extends WebXInstruction {
3
+ private readonly _timestampMs;
4
+ private readonly _dataLength;
5
+ get timestampMs(): Uint8Array;
6
+ get dataLength(): number;
7
+ constructor(_timestampMs: Uint8Array, _dataLength: number);
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebXDataAckInstruction = void 0;
4
+ const WebXInstruction_1 = require("./WebXInstruction");
5
+ const WebXInstructionType_1 = require("./WebXInstructionType");
6
+ class WebXDataAckInstruction extends WebXInstruction_1.WebXInstruction {
7
+ get timestampMs() {
8
+ return this._timestampMs;
9
+ }
10
+ get dataLength() {
11
+ return this._dataLength;
12
+ }
13
+ constructor(_timestampMs, _dataLength) {
14
+ super(WebXInstructionType_1.WebXInstructionType.DATA_ACK);
15
+ this._timestampMs = _timestampMs;
16
+ this._dataLength = _dataLength;
17
+ }
18
+ }
19
+ exports.WebXDataAckInstruction = WebXDataAckInstruction;
20
+ //# sourceMappingURL=WebXDataAckInstruction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXDataAckInstruction.js","sourceRoot":"","sources":["../../src/instruction/WebXDataAckInstruction.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AACpD,+DAA4D;AAE5D,MAAa,sBAAuB,SAAQ,iCAAe;IAEzD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,YAA6B,YAAwB,EAAmB,WAAmB;QACzF,KAAK,CAAC,yCAAmB,CAAC,QAAQ,CAAC,CAAC;QADT,iBAAY,GAAZ,YAAY,CAAY;QAAmB,gBAAW,GAAX,WAAW,CAAQ;IAE3F,CAAC;CACF;AAbD,wDAaC"}
@@ -7,7 +7,8 @@ export declare enum WebXInstructionType {
7
7
  KEYBOARD = 6,
8
8
  CURSOR_IMAGE = 7,
9
9
  QUALITY = 8,
10
- PONG = 9
10
+ PONG = 9,
11
+ DATA_ACK = 10
11
12
  }
12
13
  export declare namespace WebXInstructionType {
13
14
  function fromString(value: string): WebXInstructionType;
@@ -12,6 +12,7 @@ var WebXInstructionType;
12
12
  WebXInstructionType[WebXInstructionType["CURSOR_IMAGE"] = 7] = "CURSOR_IMAGE";
13
13
  WebXInstructionType[WebXInstructionType["QUALITY"] = 8] = "QUALITY";
14
14
  WebXInstructionType[WebXInstructionType["PONG"] = 9] = "PONG";
15
+ WebXInstructionType[WebXInstructionType["DATA_ACK"] = 10] = "DATA_ACK";
15
16
  })(WebXInstructionType || (exports.WebXInstructionType = WebXInstructionType = {}));
16
17
  (function (WebXInstructionType) {
17
18
  function fromString(value) {
@@ -34,6 +35,8 @@ var WebXInstructionType;
34
35
  return WebXInstructionType.QUALITY;
35
36
  case 'PONG':
36
37
  return WebXInstructionType.PONG;
38
+ case 'DATA_ACK':
39
+ return WebXInstructionType.DATA_ACK;
37
40
  }
38
41
  }
39
42
  WebXInstructionType.fromString = fromString;
@@ -1 +1 @@
1
- {"version":3,"file":"WebXInstructionType.js","sourceRoot":"","sources":["../../src/instruction/WebXInstructionType.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;IACX,mEAAW,CAAA;IACX,+DAAS,CAAA;IACT,iEAAU,CAAA;IACV,+DAAS,CAAA;IACT,qEAAY,CAAA;IACZ,6EAAgB,CAAA;IAChB,mEAAW,CAAA;IACX,6DAAQ,CAAA;AACV,CAAC,EAVW,mBAAmB,mCAAnB,mBAAmB,QAU9B;AAED,WAAiB,mBAAmB;IAClC,SAAgB,UAAU,CAAC,KAAa;QACtC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,mBAAmB,CAAC,OAAO,CAAC;YACrC,KAAK,SAAS;gBACZ,OAAO,mBAAmB,CAAC,OAAO,CAAC;YACrC,KAAK,OAAO;gBACV,OAAO,mBAAmB,CAAC,KAAK,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,OAAO;gBACV,OAAO,mBAAmB,CAAC,KAAK,CAAC;YACnC,KAAK,UAAU;gBACb,OAAO,mBAAmB,CAAC,QAAQ,CAAC;YACtC,KAAK,cAAc;gBACjB,OAAO,mBAAmB,CAAC,YAAY,CAAC;YAC1C,KAAK,SAAS;gBACZ,OAAO,mBAAmB,CAAC,OAAO,CAAC;YACrC,KAAK,MAAM;gBACT,OAAO,mBAAmB,CAAC,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IArBe,8BAAU,aAqBzB,CAAA;AACH,CAAC,EAvBgB,mBAAmB,mCAAnB,mBAAmB,QAuBnC"}
1
+ {"version":3,"file":"WebXInstructionType.js","sourceRoot":"","sources":["../../src/instruction/WebXInstructionType.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAWX;AAXD,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;IACX,mEAAW,CAAA;IACX,+DAAS,CAAA;IACT,iEAAU,CAAA;IACV,+DAAS,CAAA;IACT,qEAAY,CAAA;IACZ,6EAAgB,CAAA;IAChB,mEAAW,CAAA;IACX,6DAAQ,CAAA;IACR,sEAAa,CAAA;AACf,CAAC,EAXW,mBAAmB,mCAAnB,mBAAmB,QAW9B;AAED,WAAiB,mBAAmB;IAClC,SAAgB,UAAU,CAAC,KAAa;QACtC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,mBAAmB,CAAC,OAAO,CAAC;YACrC,KAAK,SAAS;gBACZ,OAAO,mBAAmB,CAAC,OAAO,CAAC;YACrC,KAAK,OAAO;gBACV,OAAO,mBAAmB,CAAC,KAAK,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,OAAO;gBACV,OAAO,mBAAmB,CAAC,KAAK,CAAC;YACnC,KAAK,UAAU;gBACb,OAAO,mBAAmB,CAAC,QAAQ,CAAC;YACtC,KAAK,cAAc;gBACjB,OAAO,mBAAmB,CAAC,YAAY,CAAC;YAC1C,KAAK,SAAS;gBACZ,OAAO,mBAAmB,CAAC,OAAO,CAAC;YACrC,KAAK,MAAM;gBACT,OAAO,mBAAmB,CAAC,IAAI,CAAC;YAClC,KAAK,UAAU;gBACb,OAAO,mBAAmB,CAAC,QAAQ,CAAC;QACxC,CAAC;IACH,CAAC;IAvBe,8BAAU,aAuBzB,CAAA;AACH,CAAC,EAzBgB,mBAAmB,mCAAnB,mBAAmB,QAyBnC"}
@@ -1,4 +1,6 @@
1
1
  import { WebXInstruction } from './WebXInstruction';
2
2
  export declare class WebXPongInstruction extends WebXInstruction {
3
- constructor();
3
+ private readonly _timestampMs;
4
+ get timestampMs(): Uint8Array;
5
+ constructor(_timestampMs: Uint8Array);
4
6
  }
@@ -4,8 +4,12 @@ exports.WebXPongInstruction = void 0;
4
4
  const WebXInstruction_1 = require("./WebXInstruction");
5
5
  const WebXInstructionType_1 = require("./WebXInstructionType");
6
6
  class WebXPongInstruction extends WebXInstruction_1.WebXInstruction {
7
- constructor() {
7
+ get timestampMs() {
8
+ return this._timestampMs;
9
+ }
10
+ constructor(_timestampMs) {
8
11
  super(WebXInstructionType_1.WebXInstructionType.PONG);
12
+ this._timestampMs = _timestampMs;
9
13
  }
10
14
  }
11
15
  exports.WebXPongInstruction = WebXPongInstruction;
@@ -1 +1 @@
1
- {"version":3,"file":"WebXPongInstruction.js","sourceRoot":"","sources":["../../src/instruction/WebXPongInstruction.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AACpD,+DAA4D;AAE5D,MAAa,mBAAoB,SAAQ,iCAAe;IACtD;QACE,KAAK,CAAC,yCAAmB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAJD,kDAIC"}
1
+ {"version":3,"file":"WebXPongInstruction.js","sourceRoot":"","sources":["../../src/instruction/WebXPongInstruction.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AACpD,+DAA4D;AAE5D,MAAa,mBAAoB,SAAQ,iCAAe;IAEtD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,YAA6B,YAAwB;QACnD,KAAK,CAAC,yCAAmB,CAAC,IAAI,CAAC,CAAC;QADL,iBAAY,GAAZ,YAAY,CAAY;IAErD,CAAC;CACF;AATD,kDASC"}
@@ -10,3 +10,4 @@ export * from './WebXKeyboardInstruction';
10
10
  export * from './WebXCursorImageInstruction';
11
11
  export * from './WebXQualityInstruction';
12
12
  export * from './WebXPongInstruction';
13
+ export * from './WebXDataAckInstruction';
@@ -26,4 +26,5 @@ __exportStar(require("./WebXKeyboardInstruction"), exports);
26
26
  __exportStar(require("./WebXCursorImageInstruction"), exports);
27
27
  __exportStar(require("./WebXQualityInstruction"), exports);
28
28
  __exportStar(require("./WebXPongInstruction"), exports);
29
+ __exportStar(require("./WebXDataAckInstruction"), exports);
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instruction/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,4DAA0C;AAC1C,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,4DAA0C;AAC1C,+DAA6C;AAC7C,2DAAyC;AACzC,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instruction/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,4DAA0C;AAC1C,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,4DAA0C;AAC1C,+DAA6C;AAC7C,2DAAyC;AACzC,wDAAsC;AACtC,2DAAyC"}
@@ -1,11 +1,11 @@
1
1
  import { WebXMessage } from './WebXMessage';
2
2
  import { Texture } from 'three';
3
3
  export declare class WebXImageMessage extends WebXMessage {
4
- private _windowId;
5
- private _depth;
6
- private _colorMap;
7
- private _alphaMap;
8
- private _size;
4
+ private readonly _windowId;
5
+ private readonly _depth;
6
+ private readonly _colorMap;
7
+ private readonly _alphaMap;
8
+ private readonly _size;
9
9
  get windowId(): number;
10
10
  get depth(): number;
11
11
  get colorMap(): Texture;
@@ -1 +1 @@
1
- {"version":3,"file":"WebXImageMessage.js","sourceRoot":"","sources":["../../src/message/WebXImageMessage.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,uDAAoD;AAGpD,MAAa,gBAAiB,SAAQ,yBAAW;IAC/C,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,YAAoB,SAAiB,EAAU,MAAc,EAAU,SAAkB,EAAU,SAAkB,EAAE,SAAiB,EAAU,KAAa;QAC7J,KAAK,CAAC,iCAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QADtB,cAAS,GAAT,SAAS,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAS;QAAU,cAAS,GAAT,SAAS,CAAS;QAA6B,UAAK,GAAL,KAAK,CAAQ;IAE/J,CAAC;CACF;AAxBD,4CAwBC"}
1
+ {"version":3,"file":"WebXImageMessage.js","sourceRoot":"","sources":["../../src/message/WebXImageMessage.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,uDAAoD;AAGpD,MAAa,gBAAiB,SAAQ,yBAAW;IAC/C,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,YAA6B,SAAiB,EACjB,MAAc,EACd,SAAkB,EAClB,SAAkB,EACnC,SAAiB,EACA,KAAa;QACxC,KAAK,CAAC,iCAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QANb,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAS;QAClB,cAAS,GAAT,SAAS,CAAS;QAElB,UAAK,GAAL,KAAK,CAAQ;IAE1C,CAAC;CACF;AA7BD,4CA6BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebXSubImagesMessage.js","sourceRoot":"","sources":["../../src/message/WebXSubImagesMessage.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,uDAAoD;AAGpD,MAAa,oBAAqB,SAAQ,yBAAW;IACnD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,YAAoB,SAAiB,EAAU,UAA0B,EAAE,SAAiB,EAAU,KAAa;QACjH,KAAK,CAAC,iCAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAD1B,cAAS,GAAT,SAAS,CAAQ;QAAU,eAAU,GAAV,UAAU,CAAgB;QAA6B,UAAK,GAAL,KAAK,CAAQ;IAEnH,CAAC;CACF;AAhBD,oDAgBC"}
1
+ {"version":3,"file":"WebXSubImagesMessage.js","sourceRoot":"","sources":["../../src/message/WebXSubImagesMessage.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,uDAAoD;AAGpD,MAAa,oBAAqB,SAAQ,yBAAW;IACnD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,YAAoB,SAAiB,EACjB,UAA0B,EAClC,SAAiB,EACT,KAAa;QAC/B,KAAK,CAAC,iCAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAJ1B,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAgB;QAE1B,UAAK,GAAL,KAAK,CAAQ;IAEjC,CAAC;CACF;AAnBD,oDAmBC"}
@@ -18,6 +18,7 @@ export declare class WebXInstructionBuffer {
18
18
  * @param value the value to write
19
19
  */
20
20
  putUInt32(value: number): WebXInstructionBuffer;
21
+ putUInt8Array(array: Uint8Array, length: number): WebXInstructionBuffer;
21
22
  /**
22
23
  * Write a string to the buffer
23
24
  * @param value the value to write
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WebXInstructionBuffer = void 0;
4
4
  class WebXInstructionBuffer {
5
5
  constructor(instruction, length) {
6
- const headerSize = 28; // 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
6
+ // 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
+ // Maintain 8 bit alignment to ensure long values can be written without additional padding
8
+ const headerSize = 32;
7
9
  this._buffer = new ArrayBuffer(length + headerSize);
8
10
  this._offset = 20;
9
11
  // add the header
@@ -14,6 +16,8 @@ class WebXInstructionBuffer {
14
16
  this.putUInt32(instruction.type);
15
17
  }
16
18
  this.putUInt32(instruction.id);
19
+ // Padding to make up 32 bytes (maintaining 8 bit alignment)
20
+ this.putUInt32(0);
17
21
  }
18
22
  _getNextOffset(sizeOfData) {
19
23
  // Ensure alignment
@@ -51,6 +55,12 @@ class WebXInstructionBuffer {
51
55
  typedArray[0] = value;
52
56
  return this;
53
57
  }
58
+ putUInt8Array(array, length) {
59
+ const offset = this._getNextOffset(8);
60
+ const typedArray = new Uint8Array(this._buffer, offset, length);
61
+ typedArray.set(array);
62
+ return this;
63
+ }
54
64
  /**
55
65
  * Write a string to the buffer
56
66
  * @param value the value to write
@@ -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,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,gIAAgI;QACvJ,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;IACjC,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;;OAEG;IACI,QAAQ,CAAC,KAAa;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAa;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAa;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5D,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,KAAa;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,KAAc;QAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CAEF;AAzFD,sDAyFC"}
1
+ {"version":3,"file":"WebXInstructionBuffer.js","sourceRoot":"","sources":["../../src/transport/WebXInstructionBuffer.ts"],"names":[],"mappings":"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"}
@@ -1,121 +1,14 @@
1
1
  import { WebXInstruction } from '../instruction';
2
2
  export declare class WebXInstructionEncoder {
3
- /**
4
- * Convert the given instruction to an array buffer ready to be sent along the wire
5
- * @param instruction the instruction to encode
6
- */
7
3
  encode(instruction: WebXInstruction): ArrayBuffer;
8
- /**
9
- * Create a new mouse instruction
10
- * @param instruction the mouse instruction to encode
11
- * Structure:
12
- * Header: 28 bytes
13
- * sessionId: 16 bytes
14
- * clientId:4 bytes
15
- * type: 4 bytes
16
- * id: 4 bytes
17
- * Content: 4 bytes
18
- * x: 4 bytes
19
- * y: 4 bytes
20
- * buttonMask: 4 bytes
21
- */
22
4
  private _createMouseInstruction;
23
- /**
24
- * Create a new cursor image instruction
25
- * @param instruction the cursor image instruction to encode
26
- * Structure:
27
- * Header: 28 bytes
28
- * sessionId: 16 bytes
29
- * clientId:4 bytes
30
- * type: 4 bytes
31
- * id: 4 bytes
32
- * Content: 4 bytes
33
- * cursorId: 4 bytes
34
- */
35
5
  private _createCursorImageInstruction;
36
- /**
37
- * Create a new image instruction
38
- * @param instruction the image instruction to encode
39
- * Structure:
40
- * Header: 28 bytes
41
- * sessionId: 16 bytes
42
- * clientId:4 bytes
43
- * type: 4 bytes
44
- * id: 4 bytes
45
- * Content: 4 bytes
46
- * windowId: 4 bytes
47
- */
48
6
  private _createImageInstruction;
49
- /**
50
- * Create a keyboard instruction
51
- * @param instruction the keyboard instruction to encode
52
- * Structure:
53
- * Header: 28 bytes
54
- * sessionId: 16 bytes
55
- * clientId: 4 bytes
56
- * type: 4 bytes
57
- * id: 4 bytes
58
- * Content: 8 bytes
59
- * key (the keyboard key code): 4 bytes
60
- * pressed: 4 bytes
61
- */
62
7
  private _createKeyboardInstruction;
63
- /**
64
- * Create a screen instruction
65
- * @param instruction the screen instruction to encode
66
- * Structure:
67
- * Header: 28 bytes
68
- * sessionId: 16 bytes
69
- * clientId: 4 bytes
70
- * type: 4 bytes
71
- * id: 4 bytes
72
- */
73
8
  private _createScreenInstruction;
74
- /**
75
- * Create a windows instruction
76
- * Structure:
77
- * Header: 28 bytes
78
- * sessionId: 16 bytes
79
- * clientId: 4 bytes
80
- * type: 4 bytes
81
- * id: 4 bytes
82
- * @param instruction the windows instruction to encode
83
- */
84
9
  private _createWindowsInstruction;
85
- /**
86
- * Create a connect instruction
87
- * @param instruction the connect instruction to encode
88
- * Structure:
89
- * Header: 28 bytes
90
- * sessionId: 16 bytes
91
- * clientId: 4 bytes
92
- * type: 4 bytes
93
- * id: 4 bytes
94
- */
95
10
  private _createConnectInstruction;
96
- /**
97
- * Create a new quality instruction
98
- * @param instruction the quality instruction to encode
99
- * Structure:
100
- * Header: 28 bytes
101
- * sessionId: 16 bytes
102
- * clientId: 4 bytes
103
- * type: 4 bytes
104
- * id: 4 bytes
105
- * Content: 4 bytes
106
- * qualityIndex: 4 bytes
107
- */
108
11
  private _createQualityInstruction;
109
- /**
110
- * Create a new pong instruction
111
- * @param instruction the pong instruction to encode
112
- * Structure:
113
- * Header: 28 bytes
114
- * sessionId: 16 bytes
115
- * clientId: 4 bytes
116
- * type: 4 bytes
117
- * id: 4 bytes
118
- * Content: 0 bytes
119
- */
120
12
  private _createPongInstruction;
13
+ private _createDataAckInstruction;
121
14
  }
@@ -4,10 +4,8 @@ exports.WebXInstructionEncoder = void 0;
4
4
  const instruction_1 = require("../instruction");
5
5
  const _1 = require(".");
6
6
  class WebXInstructionEncoder {
7
- /**
8
- * Convert the given instruction to an array buffer ready to be sent along the wire
9
- * @param instruction the instruction to encode
10
- */
7
+ // Convert the given instruction to an array buffer ready to be sent along the wire
8
+ // @param instruction the instruction to encode
11
9
  encode(instruction) {
12
10
  if (instruction.type === instruction_1.WebXInstructionType.MOUSE) {
13
11
  return this._createMouseInstruction(instruction);
@@ -36,22 +34,24 @@ class WebXInstructionEncoder {
36
34
  else if (instruction.type === instruction_1.WebXInstructionType.PONG) {
37
35
  return this._createPongInstruction(instruction);
38
36
  }
37
+ else if (instruction.type === instruction_1.WebXInstructionType.DATA_ACK) {
38
+ return this._createDataAckInstruction(instruction);
39
+ }
39
40
  return null;
40
41
  }
41
- /**
42
- * Create a new mouse instruction
43
- * @param instruction the mouse instruction to encode
44
- * Structure:
45
- * Header: 28 bytes
46
- * sessionId: 16 bytes
47
- * clientId:4 bytes
48
- * type: 4 bytes
49
- * id: 4 bytes
50
- * Content: 4 bytes
51
- * x: 4 bytes
52
- * y: 4 bytes
53
- * buttonMask: 4 bytes
54
- */
42
+ // Create a new mouse instruction
43
+ // @param instruction the mouse instruction to encode
44
+ // Structure:
45
+ // Header: 32 bytes
46
+ // sessionId: 16 bytes
47
+ // clientId:4 bytes
48
+ // type: 4 bytes
49
+ // id: 4 bytes
50
+ // padding: 4 bytes
51
+ // Content: 4 bytes
52
+ // x: 4 bytes
53
+ // y: 4 bytes
54
+ // buttonMask: 4 bytes
55
55
  _createMouseInstruction(instruction) {
56
56
  const encoder = new _1.WebXInstructionBuffer(instruction, 12);
57
57
  return encoder
@@ -61,18 +61,17 @@ class WebXInstructionEncoder {
61
61
  .putUInt32(instruction.buttonMask)
62
62
  .buffer();
63
63
  }
64
- /**
65
- * Create a new cursor image instruction
66
- * @param instruction the cursor image instruction to encode
67
- * Structure:
68
- * Header: 28 bytes
69
- * sessionId: 16 bytes
70
- * clientId:4 bytes
71
- * type: 4 bytes
72
- * id: 4 bytes
73
- * Content: 4 bytes
74
- * cursorId: 4 bytes
75
- */
64
+ // Create a new cursor image instruction
65
+ // @param instruction the cursor image instruction to encode
66
+ // Structure:
67
+ // Header: 32 bytes
68
+ // sessionId: 16 bytes
69
+ // clientId:4 bytes
70
+ // type: 4 bytes
71
+ // id: 4 bytes
72
+ // padding: 4 bytes
73
+ // Content: 4 bytes
74
+ // cursorId: 4 bytes
76
75
  _createCursorImageInstruction(instruction) {
77
76
  const encoder = new _1.WebXInstructionBuffer(instruction, 4);
78
77
  return encoder
@@ -80,18 +79,17 @@ class WebXInstructionEncoder {
80
79
  .putInt32(instruction.cursorId)
81
80
  .buffer();
82
81
  }
83
- /**
84
- * Create a new image instruction
85
- * @param instruction the image instruction to encode
86
- * Structure:
87
- * Header: 28 bytes
88
- * sessionId: 16 bytes
89
- * clientId:4 bytes
90
- * type: 4 bytes
91
- * id: 4 bytes
92
- * Content: 4 bytes
93
- * windowId: 4 bytes
94
- */
82
+ // Create a new image instruction
83
+ // @param instruction the image instruction to encode
84
+ // Structure:
85
+ // Header: 32 bytes
86
+ // sessionId: 16 bytes
87
+ // clientId:4 bytes
88
+ // type: 4 bytes
89
+ // id: 4 bytes
90
+ // padding: 4 bytes
91
+ // Content: 4 bytes
92
+ // windowId: 4 bytes
95
93
  _createImageInstruction(instruction) {
96
94
  const encoder = new _1.WebXInstructionBuffer(instruction, 4);
97
95
  return encoder
@@ -99,19 +97,18 @@ class WebXInstructionEncoder {
99
97
  .putUInt32(instruction.windowId)
100
98
  .buffer();
101
99
  }
102
- /**
103
- * Create a keyboard instruction
104
- * @param instruction the keyboard instruction to encode
105
- * Structure:
106
- * Header: 28 bytes
107
- * sessionId: 16 bytes
108
- * clientId: 4 bytes
109
- * type: 4 bytes
110
- * id: 4 bytes
111
- * Content: 8 bytes
112
- * key (the keyboard key code): 4 bytes
113
- * pressed: 4 bytes
114
- */
100
+ // Create a keyboard instruction
101
+ // @param instruction the keyboard instruction to encode
102
+ // Structure:
103
+ // Header: 32 bytes
104
+ // sessionId: 16 bytes
105
+ // clientId: 4 bytes
106
+ // type: 4 bytes
107
+ // id: 4 bytes
108
+ // padding: 4 bytes
109
+ // Content: 8 bytes
110
+ // key (the keyboard key code): 4 bytes
111
+ // pressed: 4 bytes
115
112
  _createKeyboardInstruction(instruction) {
116
113
  const encoder = new _1.WebXInstructionBuffer(instruction, 8);
117
114
  return encoder
@@ -120,60 +117,56 @@ class WebXInstructionEncoder {
120
117
  .putBoolean(instruction.pressed)
121
118
  .buffer();
122
119
  }
123
- /**
124
- * Create a screen instruction
125
- * @param instruction the screen instruction to encode
126
- * Structure:
127
- * Header: 28 bytes
128
- * sessionId: 16 bytes
129
- * clientId: 4 bytes
130
- * type: 4 bytes
131
- * id: 4 bytes
132
- */
120
+ // Create a screen instruction
121
+ // @param instruction the screen instruction to encode
122
+ // Structure:
123
+ // Header: 32 bytes
124
+ // sessionId: 16 bytes
125
+ // clientId: 4 bytes
126
+ // type: 4 bytes
127
+ // id: 4 bytes
128
+ // padding: 4 bytes
133
129
  _createScreenInstruction(instruction) {
134
130
  const encoder = new _1.WebXInstructionBuffer(instruction, 0);
135
131
  return encoder.buffer();
136
132
  }
137
- /**
138
- * Create a windows instruction
139
- * Structure:
140
- * Header: 28 bytes
141
- * sessionId: 16 bytes
142
- * clientId: 4 bytes
143
- * type: 4 bytes
144
- * id: 4 bytes
145
- * @param instruction the windows instruction to encode
146
- */
133
+ // Create a windows instruction
134
+ // Structure:
135
+ // Header: 32 bytes
136
+ // sessionId: 16 bytes
137
+ // clientId: 4 bytes
138
+ // type: 4 bytes
139
+ // id: 4 bytes
140
+ // padding: 4 bytes
141
+ // @param instruction the windows instruction to encode
147
142
  _createWindowsInstruction(instruction) {
148
143
  const encoder = new _1.WebXInstructionBuffer(instruction, 0);
149
144
  return encoder.buffer();
150
145
  }
151
- /**
152
- * Create a connect instruction
153
- * @param instruction the connect instruction to encode
154
- * Structure:
155
- * Header: 28 bytes
156
- * sessionId: 16 bytes
157
- * clientId: 4 bytes
158
- * type: 4 bytes
159
- * id: 4 bytes
160
- */
146
+ // Create a connect instruction
147
+ // @param instruction the connect instruction to encode
148
+ // Structure:
149
+ // Header: 32 bytes
150
+ // sessionId: 16 bytes
151
+ // clientId: 4 bytes
152
+ // type: 4 bytes
153
+ // id: 4 bytes
154
+ // padding: 4 bytes
161
155
  _createConnectInstruction(instruction) {
162
156
  const encoder = new _1.WebXInstructionBuffer(instruction, 0);
163
157
  return encoder.buffer();
164
158
  }
165
- /**
166
- * Create a new quality instruction
167
- * @param instruction the quality instruction to encode
168
- * Structure:
169
- * Header: 28 bytes
170
- * sessionId: 16 bytes
171
- * clientId: 4 bytes
172
- * type: 4 bytes
173
- * id: 4 bytes
174
- * Content: 4 bytes
175
- * qualityIndex: 4 bytes
176
- */
159
+ // Create a new quality instruction
160
+ // @param instruction the quality instruction to encode
161
+ // Structure:
162
+ // Header: 32 bytes
163
+ // sessionId: 16 bytes
164
+ // clientId: 4 bytes
165
+ // type: 4 bytes
166
+ // id: 4 bytes
167
+ // padding: 4 bytes
168
+ // Content: 4 bytes
169
+ // qualityIndex: 4 bytes
177
170
  _createQualityInstruction(instruction) {
178
171
  const encoder = new _1.WebXInstructionBuffer(instruction, 4);
179
172
  return encoder
@@ -181,21 +174,42 @@ class WebXInstructionEncoder {
181
174
  .putUInt32(instruction.qualityIndex)
182
175
  .buffer();
183
176
  }
184
- /**
185
- * Create a new pong instruction
186
- * @param instruction the pong instruction to encode
187
- * Structure:
188
- * Header: 28 bytes
189
- * sessionId: 16 bytes
190
- * clientId: 4 bytes
191
- * type: 4 bytes
192
- * id: 4 bytes
193
- * Content: 0 bytes
194
- */
177
+ // Create a new pong instruction
178
+ // @param instruction the pong instruction to encode
179
+ // Structure:
180
+ // Header: 32 bytes
181
+ // sessionId: 16 bytes
182
+ // clientId: 4 bytes
183
+ // type: 4 bytes
184
+ // id: 4 bytes
185
+ // padding: 4 bytes
186
+ // Content: 8 bytes
187
+ // timestampMs: 8 bytes
195
188
  _createPongInstruction(instruction) {
196
- const encoder = new _1.WebXInstructionBuffer(instruction, 0);
189
+ const encoder = new _1.WebXInstructionBuffer(instruction, 8);
190
+ return encoder
191
+ // write the contents
192
+ .putUInt8Array(instruction.timestampMs, 8)
193
+ .buffer();
194
+ }
195
+ // Create a new data ack instruction
196
+ // @param instruction the data ack instruction to encode
197
+ // Structure:
198
+ // Header: 32 bytes
199
+ // sessionId: 16 bytes
200
+ // clientId: 4 bytes
201
+ // type: 4 bytes
202
+ // id: 4 bytes
203
+ // padding: 4 bytes
204
+ // Content: 8 bytes
205
+ // timestampMs: 8 bytes
206
+ // dataLength: 4 bytes
207
+ _createDataAckInstruction(instruction) {
208
+ const encoder = new _1.WebXInstructionBuffer(instruction, 12);
197
209
  return encoder
198
210
  // write the contents
211
+ .putUInt8Array(instruction.timestampMs, 8)
212
+ .putUInt32(instruction.dataLength)
199
213
  .buffer();
200
214
  }
201
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebXInstructionEncoder.js","sourceRoot":"","sources":["../../src/transport/WebXInstructionEncoder.ts"],"names":[],"mappings":";;;AAAA,gDAYwB;AACxB,wBAA0C;AAE1C,MAAa,sBAAsB;IAEjC;;;OAGG;IACI,MAAM,CAAC,WAA4B;QACxC,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,KAAK,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAmC,CAAC,CAAC;QAE3E,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,QAAQ,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAsC,CAAC,CAAC;QAEjF,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,YAAY,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,6BAA6B,CAAC,WAAyC,CAAC,CAAC;QAEvF,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,KAAK,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAmC,CAAC,CAAC;QAE3E,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC,yBAAyB,CAAC,WAAqC,CAAC,CAAC;QAE/E,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,wBAAwB,CAAC,WAAoC,CAAC,CAAC;QAE7E,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC,yBAAyB,CAAC,WAAqC,CAAC,CAAC;QAE/E,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC,yBAAyB,CAAC,WAAqC,CAAC,CAAC;QAE/E,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,iCAAmB,CAAC,IAAI,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAkC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,uBAAuB,CAAC,WAAiC;QAC/D,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,OAAO;YACZ,qBAAqB;aACpB,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;aACvB,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;aACvB,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC;aACjC,MAAM,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACK,6BAA6B,CAAC,WAAuC;QAC3E,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO;YACZ,qBAAqB;aACpB,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;aAC9B,MAAM,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACK,uBAAuB,CAAC,WAAiC;QAC/D,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO;YACZ,qBAAqB;aACpB,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC;aAC/B,MAAM,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,0BAA0B,CAAC,WAAoC;QACrE,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO;YACZ,qBAAqB;aACpB,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;aAC1B,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;aAC/B,MAAM,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACK,wBAAwB,CAAC,WAAkC;QACjE,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACK,yBAAyB,CAAC,WAAmC;QACnE,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACK,yBAAyB,CAAC,WAAmC;QACnE,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAGD;;;;;;;;;;;OAWG;IACK,yBAAyB,CAAC,WAAmC;QACnE,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO;YACZ,qBAAqB;aACpB,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC;aACnC,MAAM,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACK,sBAAsB,CAAC,WAAgC;QAC7D,MAAM,OAAO,GAAG,IAAI,wBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO;YACZ,qBAAqB;aACpB,MAAM,EAAE,CAAC;IACd,CAAC;CAEF;AA/MD,wDA+MC"}
1
+ {"version":3,"file":"WebXInstructionEncoder.js","sourceRoot":"","sources":["../../src/transport/WebXInstructionEncoder.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  export declare class WebXMessageBuffer {
2
2
  private _buffer;
3
+ static readonly MESSAGE_HEADER_LENGTH = 48;
4
+ private readonly _timestampMs;
3
5
  private readonly _messageTypeId;
4
6
  private readonly _messageQueueLength;
5
7
  private readonly _messageId;
6
8
  private readonly _bufferLength;
7
9
  private _readOffset;
8
10
  private _encoder;
11
+ get timestampMs(): Uint8Array;
9
12
  get messageTypeId(): number;
10
13
  get messageQueueLength(): number;
11
14
  get messageId(): number;
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WebXMessageBuffer = void 0;
4
4
  class WebXMessageBuffer {
5
+ get timestampMs() {
6
+ return this._timestampMs;
7
+ }
5
8
  get messageTypeId() {
6
9
  return this._messageTypeId;
7
10
  }
@@ -16,15 +19,16 @@ class WebXMessageBuffer {
16
19
  }
17
20
  constructor(_buffer) {
18
21
  this._buffer = _buffer;
19
- this._readOffset = 16;
22
+ this._readOffset = 24;
20
23
  this._encoder = new TextDecoder('utf-8');
21
24
  this._readOffset = 24;
22
25
  let unused;
26
+ this._timestampMs = this.getUint8Array(8);
23
27
  // eslint-disable-next-line
24
28
  [this._messageTypeId, unused, this._messageQueueLength, unused] = this.getUint8Array(4);
25
29
  this._messageId = this.getUint32();
26
30
  this._bufferLength = this.getUint32();
27
- this._readOffset = 40;
31
+ this._readOffset = WebXMessageBuffer.MESSAGE_HEADER_LENGTH;
28
32
  }
29
33
  getInt32() {
30
34
  const offset = this._getNextReadOffset(4);
@@ -55,4 +59,5 @@ class WebXMessageBuffer {
55
59
  }
56
60
  }
57
61
  exports.WebXMessageBuffer = WebXMessageBuffer;
62
+ WebXMessageBuffer.MESSAGE_HEADER_LENGTH = 48;
58
63
  //# sourceMappingURL=WebXMessageBuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebXMessageBuffer.js","sourceRoot":"","sources":["../../src/transport/WebXMessageBuffer.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAiB;IAW5B,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,YAAoB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QApBhC,gBAAW,GAAW,EAAE,CAAC;QAEzB,aAAQ,GAAgB,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAmBvD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC;QACX,2BAA2B;QAC3B,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE3D,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE5D,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEM,aAAa,CAAC,MAAc;QACjC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC;QAE3B,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,SAAS,CAAC,MAAc;QAC7B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QAC3C,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAE5C,IAAI,CAAC,WAAW,IAAI,UAAU,GAAG,OAAO,CAAC;QAEzC,OAAO,QAAQ,CAAC;IAClB,CAAC;CAEF;AA5ED,8CA4EC"}
1
+ {"version":3,"file":"WebXMessageBuffer.js","sourceRoot":"","sources":["../../src/transport/WebXMessageBuffer.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAiB;IAc5B,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,YAAoB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAxBhC,gBAAW,GAAW,EAAE,CAAC;QAEzB,aAAQ,GAAgB,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAuBvD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC;QACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1C,2BAA2B;QAC3B,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,qBAAqB,CAAC;IAC7D,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE3D,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE5D,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEM,aAAa,CAAC,MAAc;QACjC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC;QAE3B,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,SAAS,CAAC,MAAc;QAC7B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QAC3C,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAE5C,IAAI,CAAC,WAAW,IAAI,UAAU,GAAG,OAAO,CAAC;QAEzC,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAlFH,8CAoFC;AAlFwB,uCAAqB,GAAG,EAAE,AAAL,CAAM"}
@@ -3,6 +3,7 @@ import { WebXMessage } from '../message';
3
3
  import { WebXBinarySerializer } from '../transport';
4
4
  import { WebXQoSHandler } from './WebXQoSHandler';
5
5
  export declare abstract class WebXTunnel {
6
+ private static readonly MIN_BUFFER_LENGTH_FOR_ACK;
6
7
  protected _serializer: WebXBinarySerializer;
7
8
  private _qosHandler;
8
9
  private _instructionResponses;
@@ -21,4 +22,5 @@ export declare abstract class WebXTunnel {
21
22
  isConnected(): boolean;
22
23
  setQoSHandler(qosHandler: WebXQoSHandler): void;
23
24
  getQoSHandler(): WebXQoSHandler;
25
+ private _handleCriticalMessages;
24
26
  }
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.WebXTunnel = void 0;
13
13
  const instruction_1 = require("../instruction");
14
+ const message_1 = require("../message");
14
15
  const transport_1 = require("../transport");
15
16
  const WebXDefaultQoSHandler_1 = require("./WebXDefaultQoSHandler");
16
17
  class WebXTunnel {
@@ -43,16 +44,17 @@ class WebXTunnel {
43
44
  }
44
45
  onMessage(data) {
45
46
  return __awaiter(this, void 0, void 0, function* () {
46
- this.handleReceivedBytes(data);
47
47
  if (data.byteLength === 0) {
48
48
  console.warn('Got a zero length message');
49
49
  return null;
50
50
  }
51
- else if (data.byteLength < 32) {
51
+ else if (data.byteLength < transport_1.WebXMessageBuffer.MESSAGE_HEADER_LENGTH) {
52
52
  console.warn('Message does not contain a valid header');
53
53
  return null;
54
54
  }
55
55
  const buffer = new transport_1.WebXMessageBuffer(data);
56
+ this._handleCriticalMessages(buffer);
57
+ this.handleReceivedBytes(data);
56
58
  this._qosHandler.handle(buffer.messageQueueLength);
57
59
  const message = yield this._serializer.deserializeMessage(buffer);
58
60
  if (message != null) {
@@ -101,6 +103,19 @@ class WebXTunnel {
101
103
  getQoSHandler() {
102
104
  return this._qosHandler;
103
105
  }
106
+ _handleCriticalMessages(buffer) {
107
+ if (buffer.messageTypeId == message_1.WebXMessageType.PING) {
108
+ // Reply immediately with a pong
109
+ this.sendInstruction(new instruction_1.WebXPongInstruction(buffer.timestampMs));
110
+ }
111
+ else if (buffer.messageTypeId == message_1.WebXMessageType.SUBIMAGES || buffer.messageTypeId == message_1.WebXMessageType.IMAGE) {
112
+ // Reply immediately with a data ack (if size greater than cutoff)
113
+ if (buffer.bufferLength > WebXTunnel.MIN_BUFFER_LENGTH_FOR_ACK) {
114
+ this.sendInstruction(new instruction_1.WebXDataAckInstruction(buffer.timestampMs, buffer.bufferLength));
115
+ }
116
+ }
117
+ }
104
118
  }
105
119
  exports.WebXTunnel = WebXTunnel;
120
+ WebXTunnel.MIN_BUFFER_LENGTH_FOR_ACK = 32768;
106
121
  //# sourceMappingURL=WebXTunnel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebXTunnel.js","sourceRoot":"","sources":["../../src/tunnel/WebXTunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXTunnel.js","sourceRoot":"","sources":["../../src/tunnel/WebXTunnel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@illgrenoble/webx-client",
3
3
  "description": "Client javascript library to display WebX remote desktop in a browser.",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "scripts": {
6
6
  "lint": "eslint . --ext .ts",
7
7
  "lint:fix": "eslint . --ext .ts --fix",