@supraio/client-daemon-js 1.0.0-mzbrightsigndecoder.486 → 1.0.0-mzbrightsigndecoder.489

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.
@@ -160945,7 +160945,7 @@ $packages["github.com/supraio/client-daemon/pkg/netsamsungwasmtcp"] = (function(
160945
160945
  return $pkg;
160946
160946
  })();
160947
160947
  $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
160948
- var $pkg = {}, $init, context, errors, websocket, errs, jshelper, netbrightsigntcp, netnacltcp, netsamsungwasmtcp, net, strconv, sync, js, time, SamsungWasmTCPConn, NaClTCPConn, JsWebsocketConn, ReaderWriter, ReaderWriterCloser, Driver, BrightSignTCPConn, sliceType, ptrType, mapType, sliceType$1, sliceType$2, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, connects, init, ConnectSamsungWasmTCP, init$1, ConnectNaClTCP, init$2, ConnectJsWebsocket, Create, init$3, ConnectBrightSignTCP;
160948
+ var $pkg = {}, $init, context, errors, websocket, errs, jshelper, netbrightsigntcp, netnacltcp, netsamsungwasmtcp, net, strconv, sync, js, time, SamsungWasmTCPConn, NaClTCPConn, JsWebsocketConn, ReaderWriter, ReaderWriterCloser, Driver, BrightSignTCPConn, sliceType, ptrType, mapType, sliceType$1, sliceType$2, funcType, arrayType, structType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, chanType, connects, init, ConnectSamsungWasmTCP, init$1, ConnectNaClTCP, init$2, ConnectJsWebsocket, Create, init$3, ConnectBrightSignTCP, brightSignOperationContext, brightSignFiniteTimeout, brightSignCancelAfter;
160949
160949
  context = $packages["context"];
160950
160950
  errors = $packages["errors"];
160951
160951
  websocket = $packages["github.com/coder/websocket"];
@@ -160986,15 +160986,21 @@ $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
160986
160986
  ReaderWriter = $pkg.ReaderWriter = $newType(8, $kindInterface, "netstream.ReaderWriter", true, "github.com/supraio/client-daemon/pkg/netstream", true, null);
160987
160987
  ReaderWriterCloser = $pkg.ReaderWriterCloser = $newType(8, $kindInterface, "netstream.ReaderWriterCloser", true, "github.com/supraio/client-daemon/pkg/netstream", true, null);
160988
160988
  Driver = $pkg.Driver = $newType(8, $kindString, "netstream.Driver", true, "github.com/supraio/client-daemon/pkg/netstream", true, null);
160989
- BrightSignTCPConn = $pkg.BrightSignTCPConn = $newType(0, $kindStruct, "netstream.BrightSignTCPConn", true, "github.com/supraio/client-daemon/pkg/netstream", true, function(conn_, readMu_, remainder_) {
160989
+ BrightSignTCPConn = $pkg.BrightSignTCPConn = $newType(0, $kindStruct, "netstream.BrightSignTCPConn", true, "github.com/supraio/client-daemon/pkg/netstream", true, function(conn_, controller_, cancel_, closeOnce_, readMu_, remainder_) {
160990
160990
  this.$val = this;
160991
160991
  if (arguments.length === 0) {
160992
160992
  this.conn = ptrType.nil;
160993
+ this.controller = new js.Value.ptr(null, false, arrayType.zero());
160994
+ this.cancel = $chanNil;
160995
+ this.closeOnce = new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0));
160993
160996
  this.readMu = new sync.Mutex.ptr(0, 0);
160994
160997
  this.remainder = sliceType$2.nil;
160995
160998
  return;
160996
160999
  }
160997
161000
  this.conn = conn_;
161001
+ this.controller = controller_;
161002
+ this.cancel = cancel_;
161003
+ this.closeOnce = closeOnce_;
160998
161004
  this.readMu = readMu_;
160999
161005
  this.remainder = remainder_;
161000
161006
  });
@@ -161003,11 +161009,15 @@ $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
161003
161009
  mapType = $mapType($String, $emptyInterface);
161004
161010
  sliceType$1 = $sliceType($String);
161005
161011
  sliceType$2 = $sliceType($Uint8);
161012
+ funcType = $funcType([], [], false);
161013
+ arrayType = $arrayType(funcType, 0);
161014
+ structType = $structType("", []);
161006
161015
  ptrType$1 = $ptrType(SamsungWasmTCPConn);
161007
161016
  ptrType$2 = $ptrType(NaClTCPConn);
161008
161017
  ptrType$3 = $ptrType(websocket.Conn);
161009
161018
  ptrType$4 = $ptrType(JsWebsocketConn);
161010
161019
  ptrType$5 = $ptrType(BrightSignTCPConn);
161020
+ chanType = $chanType(structType, false, false);
161011
161021
  init = function() {
161012
161022
  var _key;
161013
161023
  _key = "samsung_wasm_tcp"; (connects || $throwRuntimeError("assignment to entry in nil map")).set(Driver.keyFor(_key), { k: _key, v: ConnectSamsungWasmTCP });
@@ -161348,32 +161358,40 @@ $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
161348
161358
  _key = "brightsign_tcp"; (connects || $throwRuntimeError("assignment to entry in nil map")).set(Driver.keyFor(_key), { k: _key, v: ConnectBrightSignTCP });
161349
161359
  };
161350
161360
  BrightSignTCPConn.ptr.prototype.Write = function(data) {
161351
- var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, c, data, err, uint8Array, $s, $r, $c} = $restore(this, {data});
161361
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, c, canceled, data, err, uint8Array, x, x$1, $s, $r, $c} = $restore(this, {data});
161352
161362
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
161353
161363
  c = this;
161354
161364
  _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(data.$length)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
161355
161365
  uint8Array = $clone(_r, js.Value);
161356
161366
  js.CopyBytesToJS($clone(uint8Array, js.Value), data);
161357
- _r$1 = $clone(c.conn, js.Value).Call("write", new sliceType([new uint8Array.constructor.elem(uint8Array)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
161358
- _r$2 = jshelper.Await($clone(_r$1, js.Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
161367
+ _r$1 = $clone(c.conn, js.Value).Call("write", new sliceType([new uint8Array.constructor.elem(uint8Array), (x = js.ValueOf(new mapType($makeMap($String.keyFor, [{ k: "signal", v: (x$1 = $clone(c.controller, js.Value).Get("signal"), new x$1.constructor.elem(x$1)) }]))), new x.constructor.elem(x))])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
161368
+ _r$2 = jshelper.AwaitWithCancel($clone(_r$1, js.Value), c.cancel); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
161359
161369
  _tuple = _r$2;
161360
161370
  err = _tuple[1];
161361
- /* */ if (!(err === ptrType.nil)) { $s = 4; continue; }
161371
+ canceled = _tuple[2];
161372
+ /* */ if (canceled) { $s = 4; continue; }
161362
161373
  /* */ $s = 5; continue;
161363
- /* if (!(err === ptrType.nil)) { */ case 4:
161364
- _r$3 = jshelper.GetError(err); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
161365
- _r$4 = _r$3.Error(); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
161366
- _arg = new $String(_r$4);
161367
- _r$5 = errs.Errorf("Failed to write BrightSign TCP stream: %s", new sliceType([_arg])); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
161368
- $24r = [0, _r$5];
161369
- $s = 9; case 9: return $24r;
161374
+ /* if (canceled) { */ case 4:
161375
+ _r$3 = errs.Errorf("BrightSign TCP stream write canceled", sliceType.nil); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
161376
+ $24r = [0, _r$3];
161377
+ $s = 7; case 7: return $24r;
161370
161378
  /* } */ case 5:
161379
+ /* */ if (!(err === ptrType.nil)) { $s = 8; continue; }
161380
+ /* */ $s = 9; continue;
161381
+ /* if (!(err === ptrType.nil)) { */ case 8:
161382
+ _r$4 = jshelper.GetError(err); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
161383
+ _r$5 = _r$4.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
161384
+ _arg = new $String(_r$5);
161385
+ _r$6 = errs.Errorf("Failed to write BrightSign TCP stream: %s", new sliceType([_arg])); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
161386
+ $24r$1 = [0, _r$6];
161387
+ $s = 13; case 13: return $24r$1;
161388
+ /* } */ case 9:
161371
161389
  $s = -1; return [data.$length, $ifaceNil];
161372
- /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Write, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, c, data, err, uint8Array, $s};return $f;
161390
+ /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Write, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, c, canceled, data, err, uint8Array, x, x$1, $s};return $f;
161373
161391
  };
161374
161392
  BrightSignTCPConn.prototype.Write = function(data) { return this.$val.Write(data); };
161375
161393
  BrightSignTCPConn.ptr.prototype.Read = function(data) {
161376
- var {$24r, $24r$1, $24r$2, $24r$3, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, chunk, data, err, n, n$1, value, $s, $deferred, $r, $c} = $restore(this, {data});
161394
+ var {$24r, $24r$1, $24r$2, $24r$3, $24r$4, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, c, canceled, chunk, data, err, n, n$1, value, x, $s, $deferred, $r, $c} = $restore(this, {data});
161377
161395
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
161378
161396
  c = this;
161379
161397
  /* */ if (data.$length === 0) { $s = 1; continue; }
@@ -161392,45 +161410,85 @@ $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
161392
161410
  $24r$1 = [n, $ifaceNil];
161393
161411
  $s = 7; case 7: return $24r$1;
161394
161412
  /* } */ case 6:
161395
- _r = $clone(c.conn, js.Value).Call("read", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
161396
- _r$1 = jshelper.Await($clone(_r, js.Value)); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
161413
+ _r = $clone(c.conn, js.Value).Call("read", new sliceType([(x = $clone(c.controller, js.Value).Get("signal"), new x.constructor.elem(x))])); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
161414
+ _r$1 = jshelper.AwaitWithCancel($clone(_r, js.Value), c.cancel); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
161397
161415
  _tuple = _r$1;
161398
161416
  value = _tuple[0];
161399
161417
  err = _tuple[1];
161400
- /* */ if (!(err === ptrType.nil)) { $s = 10; continue; }
161418
+ canceled = _tuple[2];
161419
+ /* */ if (canceled) { $s = 10; continue; }
161401
161420
  /* */ $s = 11; continue;
161402
- /* if (!(err === ptrType.nil)) { */ case 10:
161403
- _r$2 = jshelper.GetError(err); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
161404
- _r$3 = _r$2.Error(); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
161405
- _arg = new $String(_r$3);
161406
- _r$4 = errs.Errorf("Failed to read BrightSign TCP stream: %s", new sliceType([_arg])); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
161407
- $24r$2 = [0, _r$4];
161408
- $s = 15; case 15: return $24r$2;
161421
+ /* if (canceled) { */ case 10:
161422
+ _r$2 = errs.Errorf("BrightSign TCP stream read canceled", sliceType.nil); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
161423
+ $24r$2 = [0, _r$2];
161424
+ $s = 13; case 13: return $24r$2;
161409
161425
  /* } */ case 11:
161426
+ /* */ if (!(err === ptrType.nil)) { $s = 14; continue; }
161427
+ /* */ $s = 15; continue;
161428
+ /* if (!(err === ptrType.nil)) { */ case 14:
161429
+ _r$3 = jshelper.GetError(err); /* */ $s = 16; case 16: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
161430
+ _r$4 = _r$3.Error(); /* */ $s = 17; case 17: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
161431
+ _arg = new $String(_r$4);
161432
+ _r$5 = errs.Errorf("Failed to read BrightSign TCP stream: %s", new sliceType([_arg])); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
161433
+ $24r$3 = [0, _r$5];
161434
+ $s = 19; case 19: return $24r$3;
161435
+ /* } */ case 15:
161410
161436
  chunk = $makeSlice(sliceType$2, $clone($clone(value, js.Value).Get("byteLength"), js.Value).Int());
161411
161437
  js.CopyBytesToGo(chunk, $clone(value, js.Value));
161412
161438
  n$1 = $copySlice(data, chunk);
161413
161439
  if (n$1 < chunk.$length) {
161414
161440
  c.remainder = $subslice(chunk, n$1);
161415
161441
  }
161416
- $24r$3 = [n$1, $ifaceNil];
161417
- $s = 16; case 16: return $24r$3;
161418
- /* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: BrightSignTCPConn.ptr.prototype.Read, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, chunk, data, err, n, n$1, value, $s, $deferred};return $f; } }
161442
+ $24r$4 = [n$1, $ifaceNil];
161443
+ $s = 20; case 20: return $24r$4;
161444
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: BrightSignTCPConn.ptr.prototype.Read, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, $24r$4, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, c, canceled, chunk, data, err, n, n$1, value, x, $s, $deferred};return $f; } }
161419
161445
  };
161420
161446
  BrightSignTCPConn.prototype.Read = function(data) { return this.$val.Read(data); };
161421
161447
  BrightSignTCPConn.ptr.prototype.Close = function() {
161422
- var {_r, c, $s, $r, $c} = $restore(this, {});
161448
+ var {c, closeErr, $s, $r, $c} = $restore(this, {});
161423
161449
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
161424
- c = this;
161425
- _r = $clone(c.conn, js.Value).Call("close", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
161426
- _r;
161427
- $s = -1; return $ifaceNil;
161428
- /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Close, $c: true, $r, _r, c, $s};return $f;
161450
+ c = [c];
161451
+ closeErr = [closeErr];
161452
+ c[0] = this;
161453
+ closeErr[0] = $ifaceNil;
161454
+ $r = c[0].closeOnce.Do((function(c, closeErr) { return function $b() {
161455
+ var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, canceled, err, x, $s, $r, $c} = $restore(this, {});
161456
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
161457
+ $close(c[0].cancel);
161458
+ _r = $clone(c[0].controller, js.Value).Call("abort", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
161459
+ _r;
161460
+ _r$1 = brightSignOperationContext(new time.Duration(0, 1000000000)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
161461
+ _arg = (x = _r$1, new x.constructor.elem(x));
161462
+ _r$2 = $clone(c[0].conn, js.Value).Call("close", new sliceType([_arg])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
161463
+ _r$3 = jshelper.AwaitWithCancel($clone(_r$2, js.Value), brightSignCancelAfter(new time.Duration(0, 1000000000))); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
161464
+ _tuple = _r$3;
161465
+ err = _tuple[1];
161466
+ canceled = _tuple[2];
161467
+ /* */ if (canceled) { $s = 5; continue; }
161468
+ /* */ if (!(err === ptrType.nil)) { $s = 6; continue; }
161469
+ /* */ $s = 7; continue;
161470
+ /* if (canceled) { */ case 5:
161471
+ _r$4 = errs.Errorf("BrightSign TCP stream close timed out", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
161472
+ closeErr[0] = _r$4;
161473
+ $s = 7; continue;
161474
+ /* } else if (!(err === ptrType.nil)) { */ case 6:
161475
+ _r$5 = jshelper.GetError(err); /* */ $s = 9; case 9: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
161476
+ _r$6 = _r$5.Error(); /* */ $s = 10; case 10: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
161477
+ _arg$1 = new $String(_r$6);
161478
+ _r$7 = errs.Errorf("Failed to close BrightSign TCP stream: %s", new sliceType([_arg$1])); /* */ $s = 11; case 11: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
161479
+ closeErr[0] = _r$7;
161480
+ /* } */ case 7:
161481
+ $s = -1; return;
161482
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, canceled, err, x, $s};return $f;
161483
+ }; })(c, closeErr)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
161484
+ $s = -1; return closeErr[0];
161485
+ /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Close, $c: true, $r, c, closeErr, $s};return $f;
161429
161486
  };
161430
161487
  BrightSignTCPConn.prototype.Close = function() { return this.$val.Close(); };
161431
161488
  ConnectBrightSignTCP = function(host, timeout, secure) {
161432
- var {$24r, $24r$1, $24r$2, $24r$3, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _tuple, _tuple$1, _tuple$2, awaitErr, err, host, hostname, opts, port, portString, secure, timeout, value, $s, $r, $c} = $restore(this, {host, timeout, secure});
161489
+ var {$24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, awaitErr, canceled, err, host, hostname, opts, port, portString, secure, timeout, value, x, $s, $r, $c} = $restore(this, {host, timeout, secure});
161433
161490
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
161491
+ timeout = brightSignFiniteTimeout(timeout);
161434
161492
  /* */ if (!netbrightsigntcp.IsAvailable()) { $s = 1; continue; }
161435
161493
  /* */ $s = 2; continue;
161436
161494
  /* if (!netbrightsigntcp.IsAvailable()) { */ case 1:
@@ -161461,27 +161519,73 @@ $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
161461
161519
  $s = 13; case 13: return $24r$2;
161462
161520
  /* } */ case 11:
161463
161521
  opts = $clone(js.ValueOf(new mapType($makeMap($String.keyFor, [{ k: "host", v: new $String(hostname) }, { k: "port", v: new $Int(port) }, { k: "secure", v: new $Bool(secure) }]))), js.Value);
161464
- $unused(timeout);
161465
- _r$4 = $clone(netbrightsigntcp.Get(), js.Value).Call("createRawStream", new sliceType([new opts.constructor.elem(opts)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
161466
- _r$5 = jshelper.Await($clone(_r$4, js.Value)); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
161467
- _tuple$2 = _r$5;
161522
+ _arg = new opts.constructor.elem(opts);
161523
+ _r$4 = brightSignOperationContext(timeout); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
161524
+ _arg$1 = (x = _r$4, new x.constructor.elem(x));
161525
+ _r$5 = $clone(netbrightsigntcp.Get(), js.Value).Call("createRawStream", new sliceType([_arg, _arg$1])); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
161526
+ _r$6 = jshelper.AwaitWithCancel($clone(_r$5, js.Value), brightSignCancelAfter(timeout)); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
161527
+ _tuple$2 = _r$6;
161468
161528
  value = _tuple$2[0];
161469
161529
  awaitErr = _tuple$2[1];
161470
- /* */ if (!(awaitErr === ptrType.nil)) { $s = 16; continue; }
161471
- /* */ $s = 17; continue;
161472
- /* if (!(awaitErr === ptrType.nil)) { */ case 16:
161473
- _arg = new $String(host);
161474
- _r$6 = jshelper.GetError(awaitErr); /* */ $s = 18; case 18: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
161475
- _r$7 = _r$6.Error(); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
161476
- _arg$1 = new $String(_r$7);
161477
- _r$8 = errs.Errorf("Failed to connect BrightSign TCP %s: %s", new sliceType([_arg, _arg$1])); /* */ $s = 20; case 20: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
161478
- $24r$3 = [$ifaceNil, _r$8];
161479
- $s = 21; case 21: return $24r$3;
161480
- /* } */ case 17:
161481
- $s = -1; return [new BrightSignTCPConn.ptr(value, new sync.Mutex.ptr(0, 0), sliceType$2.nil), $ifaceNil];
161482
- /* */ } return; } var $f = {$blk: ConnectBrightSignTCP, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _tuple, _tuple$1, _tuple$2, awaitErr, err, host, hostname, opts, port, portString, secure, timeout, value, $s};return $f;
161530
+ canceled = _tuple$2[2];
161531
+ /* */ if (canceled) { $s = 17; continue; }
161532
+ /* */ $s = 18; continue;
161533
+ /* if (canceled) { */ case 17:
161534
+ _r$7 = errs.Errorf("Timed out connecting BrightSign TCP %s", new sliceType([new $String(host)])); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
161535
+ $24r$3 = [$ifaceNil, _r$7];
161536
+ $s = 20; case 20: return $24r$3;
161537
+ /* } */ case 18:
161538
+ /* */ if (!(awaitErr === ptrType.nil)) { $s = 21; continue; }
161539
+ /* */ $s = 22; continue;
161540
+ /* if (!(awaitErr === ptrType.nil)) { */ case 21:
161541
+ _arg$2 = new $String(host);
161542
+ _r$8 = jshelper.GetError(awaitErr); /* */ $s = 23; case 23: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
161543
+ _r$9 = _r$8.Error(); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
161544
+ _arg$3 = new $String(_r$9);
161545
+ _r$10 = errs.Errorf("Failed to connect BrightSign TCP %s: %s", new sliceType([_arg$2, _arg$3])); /* */ $s = 25; case 25: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
161546
+ $24r$4 = [$ifaceNil, _r$10];
161547
+ $s = 26; case 26: return $24r$4;
161548
+ /* } */ case 22:
161549
+ _r$11 = $clone($clone(js.Global(), js.Value).Get("AbortController"), js.Value).New(sliceType.nil); /* */ $s = 27; case 27: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
161550
+ $24r$5 = [new BrightSignTCPConn.ptr(value, $clone(_r$11, js.Value), new $Chan(structType, 0), new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0)), new sync.Mutex.ptr(0, 0), sliceType$2.nil), $ifaceNil];
161551
+ $s = 28; case 28: return $24r$5;
161552
+ /* */ } return; } var $f = {$blk: ConnectBrightSignTCP, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, awaitErr, canceled, err, host, hostname, opts, port, portString, secure, timeout, value, x, $s};return $f;
161483
161553
  };
161484
161554
  $pkg.ConnectBrightSignTCP = ConnectBrightSignTCP;
161555
+ brightSignOperationContext = function(timeout) {
161556
+ var {$24r, _r, _r$1, _r$2, timeout, $s, $r, $c} = $restore(this, {timeout});
161557
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
161558
+ _r = $clone($clone(js.Global(), js.Value).Get("Date"), js.Value).Call("now", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
161559
+ _r$1 = $clone(_r, js.Value).Float(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
161560
+ _r$2 = js.ValueOf(new mapType($makeMap($String.keyFor, [{ k: "deadlineMs", v: new $Float64(_r$1 + ($flatten64(timeout.Milliseconds()))) }]))); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
161561
+ $24r = _r$2;
161562
+ $s = 4; case 4: return $24r;
161563
+ /* */ } return; } var $f = {$blk: brightSignOperationContext, $c: true, $r, $24r, _r, _r$1, _r$2, timeout, $s};return $f;
161564
+ };
161565
+ brightSignFiniteTimeout = function(timeout) {
161566
+ var timeout;
161567
+ if ((timeout.$high < 0 || (timeout.$high === 0 && timeout.$low <= 0))) {
161568
+ return new time.Duration(0, 1000000000);
161569
+ }
161570
+ return timeout;
161571
+ };
161572
+ brightSignCancelAfter = function(timeout) {
161573
+ var cancel, timeout;
161574
+ cancel = new $Chan(structType, 0);
161575
+ $go((function $b() {
161576
+ var {_r, _r$1, timer, $s, $deferred, $r, $c} = $restore(this, {});
161577
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
161578
+ _r = time.NewTimer(brightSignFiniteTimeout(timeout)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
161579
+ timer = _r;
161580
+ $deferred.push([$methodVal(timer, "Stop"), []]);
161581
+ _r$1 = $recv(timer.C); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
161582
+ _r$1[0];
161583
+ $close(cancel);
161584
+ $s = -1; return;
161585
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: $b, $c: true, $r, _r, _r$1, timer, $s, $deferred};return $f; } }
161586
+ }), []);
161587
+ return cancel;
161588
+ };
161485
161589
  ptrType$1.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetJSConnection", name: "GetJSConnection", pkg: "", typ: $funcType([], [ptrType], false)}];
161486
161590
  ptrType$2.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetJSConnection", name: "GetJSConnection", pkg: "", typ: $funcType([], [ptrType], false)}];
161487
161591
  ptrType$4.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}];
@@ -161491,7 +161595,7 @@ $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
161491
161595
  JsWebsocketConn.init("github.com/supraio/client-daemon/pkg/netstream", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: ptrType$3, tag: ""}]);
161492
161596
  ReaderWriter.init([{prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}]);
161493
161597
  ReaderWriterCloser.init([{prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}]);
161494
- BrightSignTCPConn.init("github.com/supraio/client-daemon/pkg/netstream", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "readMu", name: "readMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "remainder", name: "remainder", embedded: false, exported: false, typ: sliceType$2, tag: ""}]);
161598
+ BrightSignTCPConn.init("github.com/supraio/client-daemon/pkg/netstream", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "controller", name: "controller", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "cancel", name: "cancel", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeOnce", name: "closeOnce", embedded: false, exported: false, typ: sync.Once, tag: ""}, {prop: "readMu", name: "readMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "remainder", name: "remainder", embedded: false, exported: false, typ: sliceType$2, tag: ""}]);
161495
161599
  $init = function() {
161496
161600
  $pkg.$init = function() {};
161497
161601
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -162289,7 +162393,7 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
162289
162393
  return $pkg;
162290
162394
  })();
162291
162395
  $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162292
- var $pkg = {}, $init, context, errors, websocket, errs, jshelper, netbrightsigntcp, netnacltcp, netsamsungwasmtcp, net, strconv, strings, js, time, SamsungWasmTCPConn, NaClTCPConn, JsWebsocketConn, JsWebsocketWorkerConn, Driver, BrightSignTCPConn, sliceType, ptrType, mapType, funcType, arrayType, sliceType$1, sliceType$2, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, connects, maxPacketSizes, init, ConnectSamsungWasmTCP, init$1, ConnectNaClTCP, init$2, getPerformanceTimestamp, ConnectJsWebsocket, init$3, ConnectBrightSignTCP;
162396
+ var $pkg = {}, $init, context, errors, websocket, errs, jshelper, netbrightsigntcp, netnacltcp, netsamsungwasmtcp, net, strconv, strings, sync, js, time, SamsungWasmTCPConn, NaClTCPConn, JsWebsocketConn, JsWebsocketWorkerConn, Driver, BrightSignTCPConn, sliceType, ptrType, mapType, funcType, arrayType, sliceType$1, structType, sliceType$2, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, chanType, connects, maxPacketSizes, init, ConnectSamsungWasmTCP, init$1, ConnectNaClTCP, init$2, getPerformanceTimestamp, ConnectJsWebsocket, init$3, ConnectBrightSignTCP, operationContext, finiteTimeout, cancelAfter;
162293
162397
  context = $packages["context"];
162294
162398
  errors = $packages["errors"];
162295
162399
  websocket = $packages["github.com/coder/websocket"];
@@ -162301,6 +162405,7 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162301
162405
  net = $packages["net"];
162302
162406
  strconv = $packages["strconv"];
162303
162407
  strings = $packages["strings"];
162408
+ sync = $packages["sync"];
162304
162409
  js = $packages["syscall/js"];
162305
162410
  time = $packages["time"];
162306
162411
  SamsungWasmTCPConn = $pkg.SamsungWasmTCPConn = $newType(0, $kindStruct, "netpacket.SamsungWasmTCPConn", true, "github.com/supraio/client-daemon/pkg/netpacket", true, function(conn_) {
@@ -162336,13 +162441,19 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162336
162441
  this.conn = conn_;
162337
162442
  });
162338
162443
  Driver = $pkg.Driver = $newType(8, $kindString, "netpacket.Driver", true, "github.com/supraio/client-daemon/pkg/netpacket", true, null);
162339
- BrightSignTCPConn = $pkg.BrightSignTCPConn = $newType(0, $kindStruct, "netpacket.BrightSignTCPConn", true, "github.com/supraio/client-daemon/pkg/netpacket", true, function(conn_) {
162444
+ BrightSignTCPConn = $pkg.BrightSignTCPConn = $newType(0, $kindStruct, "netpacket.BrightSignTCPConn", true, "github.com/supraio/client-daemon/pkg/netpacket", true, function(conn_, controller_, cancel_, closeOnce_) {
162340
162445
  this.$val = this;
162341
162446
  if (arguments.length === 0) {
162342
162447
  this.conn = ptrType.nil;
162448
+ this.controller = new js.Value.ptr(null, false, arrayType.zero());
162449
+ this.cancel = $chanNil;
162450
+ this.closeOnce = new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0));
162343
162451
  return;
162344
162452
  }
162345
162453
  this.conn = conn_;
162454
+ this.controller = controller_;
162455
+ this.cancel = cancel_;
162456
+ this.closeOnce = closeOnce_;
162346
162457
  });
162347
162458
  sliceType = $sliceType($emptyInterface);
162348
162459
  ptrType = $ptrType(js.Value);
@@ -162350,6 +162461,7 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162350
162461
  funcType = $funcType([], [], false);
162351
162462
  arrayType = $arrayType(funcType, 0);
162352
162463
  sliceType$1 = $sliceType($String);
162464
+ structType = $structType("", []);
162353
162465
  sliceType$2 = $sliceType($Uint8);
162354
162466
  ptrType$1 = $ptrType(SamsungWasmTCPConn);
162355
162467
  ptrType$2 = $ptrType(NaClTCPConn);
@@ -162357,6 +162469,7 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162357
162469
  ptrType$4 = $ptrType(JsWebsocketConn);
162358
162470
  ptrType$5 = $ptrType(JsWebsocketWorkerConn);
162359
162471
  ptrType$6 = $ptrType(BrightSignTCPConn);
162472
+ chanType = $chanType(structType, false, false);
162360
162473
  init = function() {
162361
162474
  var _key, _key$1;
162362
162475
  _key = "samsung_wasm_tcp"; (connects || $throwRuntimeError("assignment to entry in nil map")).set(Driver.keyFor(_key), { k: _key, v: ConnectSamsungWasmTCP });
@@ -162816,61 +162929,112 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162816
162929
  _key$1 = "brightsign_tcp"; (maxPacketSizes || $throwRuntimeError("assignment to entry in nil map")).set(Driver.keyFor(_key$1), { k: _key$1, v: 65535 });
162817
162930
  };
162818
162931
  BrightSignTCPConn.ptr.prototype.Write = function(data) {
162819
- var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, c, data, err, uint8Array, $s, $r, $c} = $restore(this, {data});
162932
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, c, canceled, data, err, uint8Array, x, x$1, $s, $r, $c} = $restore(this, {data});
162820
162933
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
162821
162934
  c = this;
162822
162935
  _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(data.$length)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
162823
162936
  uint8Array = $clone(_r, js.Value);
162824
162937
  js.CopyBytesToJS($clone(uint8Array, js.Value), data);
162825
- _r$1 = $clone(c.conn, js.Value).Call("write", new sliceType([new uint8Array.constructor.elem(uint8Array)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
162826
- _r$2 = jshelper.Await($clone(_r$1, js.Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
162938
+ _r$1 = $clone(c.conn, js.Value).Call("write", new sliceType([new uint8Array.constructor.elem(uint8Array), (x = js.ValueOf(new mapType($makeMap($String.keyFor, [{ k: "signal", v: (x$1 = $clone(c.controller, js.Value).Get("signal"), new x$1.constructor.elem(x$1)) }]))), new x.constructor.elem(x))])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
162939
+ _r$2 = jshelper.AwaitWithCancel($clone(_r$1, js.Value), c.cancel); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
162827
162940
  _tuple = _r$2;
162828
162941
  err = _tuple[1];
162829
- /* */ if (!(err === ptrType.nil)) { $s = 4; continue; }
162942
+ canceled = _tuple[2];
162943
+ /* */ if (canceled) { $s = 4; continue; }
162830
162944
  /* */ $s = 5; continue;
162831
- /* if (!(err === ptrType.nil)) { */ case 4:
162832
- _r$3 = jshelper.GetError(err); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
162833
- _r$4 = _r$3.Error(); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
162834
- _arg = new $String(_r$4);
162835
- _r$5 = errs.Errorf("Failed to write BrightSign TCP packet: %s", new sliceType([_arg])); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
162836
- $24r = [0, _r$5];
162837
- $s = 9; case 9: return $24r;
162945
+ /* if (canceled) { */ case 4:
162946
+ _r$3 = errs.Errorf("BrightSign TCP packet write canceled", sliceType.nil); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
162947
+ $24r = [0, _r$3];
162948
+ $s = 7; case 7: return $24r;
162838
162949
  /* } */ case 5:
162950
+ /* */ if (!(err === ptrType.nil)) { $s = 8; continue; }
162951
+ /* */ $s = 9; continue;
162952
+ /* if (!(err === ptrType.nil)) { */ case 8:
162953
+ _r$4 = jshelper.GetError(err); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
162954
+ _r$5 = _r$4.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
162955
+ _arg = new $String(_r$5);
162956
+ _r$6 = errs.Errorf("Failed to write BrightSign TCP packet: %s", new sliceType([_arg])); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
162957
+ $24r$1 = [0, _r$6];
162958
+ $s = 13; case 13: return $24r$1;
162959
+ /* } */ case 9:
162839
162960
  $s = -1; return [data.$length, $ifaceNil];
162840
- /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Write, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, c, data, err, uint8Array, $s};return $f;
162961
+ /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Write, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, c, canceled, data, err, uint8Array, x, x$1, $s};return $f;
162841
162962
  };
162842
162963
  BrightSignTCPConn.prototype.Write = function(data) { return this.$val.Write(data); };
162843
162964
  BrightSignTCPConn.ptr.prototype.Read = function(data) {
162844
- var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, data, err, value, $s, $r, $c} = $restore(this, {data});
162965
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, c, canceled, data, err, uint8Array, value, x, $s, $r, $c} = $restore(this, {data});
162845
162966
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
162846
162967
  c = this;
162847
- _r = $clone(c.conn, js.Value).Call("read", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
162848
- _r$1 = jshelper.Await($clone(_r, js.Value)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
162849
- _tuple = _r$1;
162968
+ _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(data.$length)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
162969
+ uint8Array = $clone(_r, js.Value);
162970
+ _r$1 = $clone(c.conn, js.Value).Call("readInto", new sliceType([new uint8Array.constructor.elem(uint8Array), (x = $clone(c.controller, js.Value).Get("signal"), new x.constructor.elem(x))])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
162971
+ _r$2 = jshelper.AwaitWithCancel($clone(_r$1, js.Value), c.cancel); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
162972
+ _tuple = _r$2;
162850
162973
  value = _tuple[0];
162851
162974
  err = _tuple[1];
162852
- /* */ if (!(err === ptrType.nil)) { $s = 3; continue; }
162853
- /* */ $s = 4; continue;
162854
- /* if (!(err === ptrType.nil)) { */ case 3:
162855
- _r$2 = jshelper.GetError(err); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
162856
- _r$3 = _r$2.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
162857
- _arg = new $String(_r$3);
162858
- _r$4 = errs.Errorf("Failed to read BrightSign TCP packet: %s", new sliceType([_arg])); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
162859
- $24r = [0, _r$4];
162860
- $s = 8; case 8: return $24r;
162861
- /* } */ case 4:
162862
- $s = -1; return [js.CopyBytesToGo(data, $clone(value, js.Value)), $ifaceNil];
162863
- /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Read, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, data, err, value, $s};return $f;
162975
+ canceled = _tuple[2];
162976
+ /* */ if (canceled) { $s = 4; continue; }
162977
+ /* */ $s = 5; continue;
162978
+ /* if (canceled) { */ case 4:
162979
+ _r$3 = errs.Errorf("BrightSign TCP packet read canceled", sliceType.nil); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
162980
+ $24r = [0, _r$3];
162981
+ $s = 7; case 7: return $24r;
162982
+ /* } */ case 5:
162983
+ /* */ if (!(err === ptrType.nil)) { $s = 8; continue; }
162984
+ /* */ $s = 9; continue;
162985
+ /* if (!(err === ptrType.nil)) { */ case 8:
162986
+ _r$4 = jshelper.GetError(err); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
162987
+ _r$5 = _r$4.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
162988
+ _arg = new $String(_r$5);
162989
+ _r$6 = errs.Errorf("Failed to read BrightSign TCP packet: %s", new sliceType([_arg])); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
162990
+ $24r$1 = [0, _r$6];
162991
+ $s = 13; case 13: return $24r$1;
162992
+ /* } */ case 9:
162993
+ js.CopyBytesToGo(data, $clone(uint8Array, js.Value));
162994
+ $s = -1; return [$clone(value, js.Value).Int(), $ifaceNil];
162995
+ /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Read, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, c, canceled, data, err, uint8Array, value, x, $s};return $f;
162864
162996
  };
162865
162997
  BrightSignTCPConn.prototype.Read = function(data) { return this.$val.Read(data); };
162866
162998
  BrightSignTCPConn.ptr.prototype.Close = function() {
162867
- var {_r, c, $s, $r, $c} = $restore(this, {});
162999
+ var {c, closeErr, $s, $r, $c} = $restore(this, {});
162868
163000
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
162869
- c = this;
162870
- _r = $clone(c.conn, js.Value).Call("close", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
162871
- _r;
162872
- $s = -1; return $ifaceNil;
162873
- /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Close, $c: true, $r, _r, c, $s};return $f;
163001
+ c = [c];
163002
+ closeErr = [closeErr];
163003
+ c[0] = this;
163004
+ closeErr[0] = $ifaceNil;
163005
+ $r = c[0].closeOnce.Do((function(c, closeErr) { return function $b() {
163006
+ var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, canceled, deadline, err, x, $s, $r, $c} = $restore(this, {});
163007
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
163008
+ $close(c[0].cancel);
163009
+ _r = $clone(c[0].controller, js.Value).Call("abort", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
163010
+ _r;
163011
+ deadline = cancelAfter(new time.Duration(0, 1000000000));
163012
+ _r$1 = operationContext(new time.Duration(0, 1000000000)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
163013
+ _arg = (x = _r$1, new x.constructor.elem(x));
163014
+ _r$2 = $clone(c[0].conn, js.Value).Call("close", new sliceType([_arg])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
163015
+ _r$3 = jshelper.AwaitWithCancel($clone(_r$2, js.Value), deadline); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
163016
+ _tuple = _r$3;
163017
+ err = _tuple[1];
163018
+ canceled = _tuple[2];
163019
+ /* */ if (canceled) { $s = 5; continue; }
163020
+ /* */ if (!(err === ptrType.nil)) { $s = 6; continue; }
163021
+ /* */ $s = 7; continue;
163022
+ /* if (canceled) { */ case 5:
163023
+ _r$4 = errs.Errorf("BrightSign TCP packet close timed out", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
163024
+ closeErr[0] = _r$4;
163025
+ $s = 7; continue;
163026
+ /* } else if (!(err === ptrType.nil)) { */ case 6:
163027
+ _r$5 = jshelper.GetError(err); /* */ $s = 9; case 9: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
163028
+ _r$6 = _r$5.Error(); /* */ $s = 10; case 10: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
163029
+ _arg$1 = new $String(_r$6);
163030
+ _r$7 = errs.Errorf("Failed to close BrightSign TCP packet: %s", new sliceType([_arg$1])); /* */ $s = 11; case 11: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
163031
+ closeErr[0] = _r$7;
163032
+ /* } */ case 7:
163033
+ $s = -1; return;
163034
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, canceled, deadline, err, x, $s};return $f;
163035
+ }; })(c, closeErr)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
163036
+ $s = -1; return closeErr[0];
163037
+ /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.Close, $c: true, $r, c, closeErr, $s};return $f;
162874
163038
  };
162875
163039
  BrightSignTCPConn.prototype.Close = function() { return this.$val.Close(); };
162876
163040
  BrightSignTCPConn.ptr.prototype.GetJSConnection = function() {
@@ -162879,9 +163043,51 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162879
163043
  return c.conn;
162880
163044
  };
162881
163045
  BrightSignTCPConn.prototype.GetJSConnection = function() { return this.$val.GetJSConnection(); };
163046
+ BrightSignTCPConn.ptr.prototype.ReadFrame = function() {
163047
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, c, canceled, err, value, x, $s, $r, $c} = $restore(this, {});
163048
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
163049
+ c = this;
163050
+ _r = $clone(c.conn, js.Value).Call("readFrame", new sliceType([(x = $clone(c.controller, js.Value).Get("signal"), new x.constructor.elem(x))])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
163051
+ _r$1 = jshelper.AwaitWithCancel($clone(_r, js.Value), c.cancel); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
163052
+ _tuple = _r$1;
163053
+ value = _tuple[0];
163054
+ err = _tuple[1];
163055
+ canceled = _tuple[2];
163056
+ /* */ if (canceled) { $s = 3; continue; }
163057
+ /* */ $s = 4; continue;
163058
+ /* if (canceled) { */ case 3:
163059
+ _r$2 = errs.Errorf("BrightSign TCP frame read canceled", sliceType.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
163060
+ $24r = [ptrType.nil, _r$2];
163061
+ $s = 6; case 6: return $24r;
163062
+ /* } */ case 4:
163063
+ /* */ if (!(err === ptrType.nil)) { $s = 7; continue; }
163064
+ /* */ $s = 8; continue;
163065
+ /* if (!(err === ptrType.nil)) { */ case 7:
163066
+ _r$3 = jshelper.GetError(err); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
163067
+ _r$4 = _r$3.Error(); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
163068
+ _arg = new $String(_r$4);
163069
+ _r$5 = errs.Errorf("Failed to collect BrightSign TCP frame: %s", new sliceType([_arg])); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
163070
+ $24r$1 = [ptrType.nil, _r$5];
163071
+ $s = 12; case 12: return $24r$1;
163072
+ /* } */ case 8:
163073
+ $s = -1; return [value, $ifaceNil];
163074
+ /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.ReadFrame, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, c, canceled, err, value, x, $s};return $f;
163075
+ };
163076
+ BrightSignTCPConn.prototype.ReadFrame = function() { return this.$val.ReadFrame(); };
163077
+ BrightSignTCPConn.ptr.prototype.ReleaseFrame = function(reference) {
163078
+ var {_r, c, reference, $s, $r, $c} = $restore(this, {reference});
163079
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
163080
+ c = this;
163081
+ _r = $clone(c.conn, js.Value).Call("releaseFrame", new sliceType([new reference.constructor.elem(reference)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
163082
+ _r;
163083
+ $s = -1; return;
163084
+ /* */ } return; } var $f = {$blk: BrightSignTCPConn.ptr.prototype.ReleaseFrame, $c: true, $r, _r, c, reference, $s};return $f;
163085
+ };
163086
+ BrightSignTCPConn.prototype.ReleaseFrame = function(reference) { return this.$val.ReleaseFrame(reference); };
162882
163087
  ConnectBrightSignTCP = function(host, timeout, secure) {
162883
- var {$24r, $24r$1, $24r$2, $24r$3, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _tuple, _tuple$1, _tuple$2, awaitErr, err, host, hostname, opts, port, portString, secure, timeout, value, $s, $r, $c} = $restore(this, {host, timeout, secure});
163088
+ var {$24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, awaitErr, canceled, err, host, hostname, opts, port, portString, secure, timeout, value, x, $s, $r, $c} = $restore(this, {host, timeout, secure});
162884
163089
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
163090
+ timeout = finiteTimeout(timeout);
162885
163091
  /* */ if (!netbrightsigntcp.IsAvailable()) { $s = 1; continue; }
162886
163092
  /* */ $s = 2; continue;
162887
163093
  /* if (!netbrightsigntcp.IsAvailable()) { */ case 1:
@@ -162912,37 +163118,83 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162912
163118
  $s = 13; case 13: return $24r$2;
162913
163119
  /* } */ case 11:
162914
163120
  opts = $clone(js.ValueOf(new mapType($makeMap($String.keyFor, [{ k: "host", v: new $String(hostname) }, { k: "port", v: new $Int(port) }, { k: "secure", v: new $Bool(secure) }]))), js.Value);
162915
- $unused(timeout);
162916
- _r$4 = $clone(netbrightsigntcp.Get(), js.Value).Call("createPacket", new sliceType([new opts.constructor.elem(opts)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
162917
- _r$5 = jshelper.Await($clone(_r$4, js.Value)); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
162918
- _tuple$2 = _r$5;
163121
+ _arg = new opts.constructor.elem(opts);
163122
+ _r$4 = operationContext(timeout); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
163123
+ _arg$1 = (x = _r$4, new x.constructor.elem(x));
163124
+ _r$5 = $clone(netbrightsigntcp.Get(), js.Value).Call("createPacket", new sliceType([_arg, _arg$1])); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
163125
+ _r$6 = jshelper.AwaitWithCancel($clone(_r$5, js.Value), cancelAfter(timeout)); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
163126
+ _tuple$2 = _r$6;
162919
163127
  value = _tuple$2[0];
162920
163128
  awaitErr = _tuple$2[1];
162921
- /* */ if (!(awaitErr === ptrType.nil)) { $s = 16; continue; }
162922
- /* */ $s = 17; continue;
162923
- /* if (!(awaitErr === ptrType.nil)) { */ case 16:
162924
- _arg = new $String(host);
162925
- _r$6 = jshelper.GetError(awaitErr); /* */ $s = 18; case 18: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
162926
- _r$7 = _r$6.Error(); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
162927
- _arg$1 = new $String(_r$7);
162928
- _r$8 = errs.Errorf("Failed to connect BrightSign TCP %s: %s", new sliceType([_arg, _arg$1])); /* */ $s = 20; case 20: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
162929
- $24r$3 = [$ifaceNil, _r$8];
162930
- $s = 21; case 21: return $24r$3;
162931
- /* } */ case 17:
162932
- $s = -1; return [new BrightSignTCPConn.ptr(value), $ifaceNil];
162933
- /* */ } return; } var $f = {$blk: ConnectBrightSignTCP, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _tuple, _tuple$1, _tuple$2, awaitErr, err, host, hostname, opts, port, portString, secure, timeout, value, $s};return $f;
163129
+ canceled = _tuple$2[2];
163130
+ /* */ if (canceled) { $s = 17; continue; }
163131
+ /* */ $s = 18; continue;
163132
+ /* if (canceled) { */ case 17:
163133
+ _r$7 = errs.Errorf("Timed out connecting BrightSign TCP %s", new sliceType([new $String(host)])); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
163134
+ $24r$3 = [$ifaceNil, _r$7];
163135
+ $s = 20; case 20: return $24r$3;
163136
+ /* } */ case 18:
163137
+ /* */ if (!(awaitErr === ptrType.nil)) { $s = 21; continue; }
163138
+ /* */ $s = 22; continue;
163139
+ /* if (!(awaitErr === ptrType.nil)) { */ case 21:
163140
+ _arg$2 = new $String(host);
163141
+ _r$8 = jshelper.GetError(awaitErr); /* */ $s = 23; case 23: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
163142
+ _r$9 = _r$8.Error(); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
163143
+ _arg$3 = new $String(_r$9);
163144
+ _r$10 = errs.Errorf("Failed to connect BrightSign TCP %s: %s", new sliceType([_arg$2, _arg$3])); /* */ $s = 25; case 25: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
163145
+ $24r$4 = [$ifaceNil, _r$10];
163146
+ $s = 26; case 26: return $24r$4;
163147
+ /* } */ case 22:
163148
+ _r$11 = $clone($clone(js.Global(), js.Value).Get("AbortController"), js.Value).New(sliceType.nil); /* */ $s = 27; case 27: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
163149
+ $24r$5 = [new BrightSignTCPConn.ptr(value, $clone(_r$11, js.Value), new $Chan(structType, 0), new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0))), $ifaceNil];
163150
+ $s = 28; case 28: return $24r$5;
163151
+ /* */ } return; } var $f = {$blk: ConnectBrightSignTCP, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, awaitErr, canceled, err, host, hostname, opts, port, portString, secure, timeout, value, x, $s};return $f;
162934
163152
  };
162935
163153
  $pkg.ConnectBrightSignTCP = ConnectBrightSignTCP;
163154
+ operationContext = function(timeout) {
163155
+ var {$24r, _r, _r$1, _r$2, timeout, $s, $r, $c} = $restore(this, {timeout});
163156
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
163157
+ _r = $clone($clone(js.Global(), js.Value).Get("Date"), js.Value).Call("now", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
163158
+ _r$1 = $clone(_r, js.Value).Float(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
163159
+ _r$2 = js.ValueOf(new mapType($makeMap($String.keyFor, [{ k: "deadlineMs", v: new $Float64(_r$1 + ($flatten64(timeout.Milliseconds()))) }]))); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
163160
+ $24r = _r$2;
163161
+ $s = 4; case 4: return $24r;
163162
+ /* */ } return; } var $f = {$blk: operationContext, $c: true, $r, $24r, _r, _r$1, _r$2, timeout, $s};return $f;
163163
+ };
163164
+ finiteTimeout = function(timeout) {
163165
+ var timeout;
163166
+ if ((timeout.$high < 0 || (timeout.$high === 0 && timeout.$low <= 0))) {
163167
+ return new time.Duration(0, 1000000000);
163168
+ }
163169
+ return timeout;
163170
+ };
163171
+ cancelAfter = function(timeout) {
163172
+ var cancel, timeout;
163173
+ cancel = new $Chan(structType, 0);
163174
+ $go((function $b() {
163175
+ var {_r, _r$1, timer, $s, $deferred, $r, $c} = $restore(this, {});
163176
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
163177
+ _r = time.NewTimer(finiteTimeout(timeout)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
163178
+ timer = _r;
163179
+ $deferred.push([$methodVal(timer, "Stop"), []]);
163180
+ _r$1 = $recv(timer.C); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
163181
+ _r$1[0];
163182
+ $close(cancel);
163183
+ $s = -1; return;
163184
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: $b, $c: true, $r, _r, _r$1, timer, $s, $deferred};return $f; } }
163185
+ }), []);
163186
+ return cancel;
163187
+ };
162936
163188
  ptrType$1.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetJSConnection", name: "GetJSConnection", pkg: "", typ: $funcType([], [ptrType], false)}];
162937
163189
  ptrType$2.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetJSConnection", name: "GetJSConnection", pkg: "", typ: $funcType([], [ptrType], false)}];
162938
163190
  ptrType$4.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}];
162939
163191
  ptrType$5.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "CollectFrame", name: "CollectFrame", pkg: "", typ: $funcType([], [ptrType, $Float64, $error], false)}];
162940
- ptrType$6.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetJSConnection", name: "GetJSConnection", pkg: "", typ: $funcType([], [ptrType], false)}];
163192
+ ptrType$6.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetJSConnection", name: "GetJSConnection", pkg: "", typ: $funcType([], [ptrType], false)}, {prop: "ReadFrame", name: "ReadFrame", pkg: "", typ: $funcType([], [ptrType, $error], false)}, {prop: "ReleaseFrame", name: "ReleaseFrame", pkg: "", typ: $funcType([js.Value], [], false)}];
162941
163193
  SamsungWasmTCPConn.init("github.com/supraio/client-daemon/pkg/netpacket", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: ptrType, tag: ""}]);
162942
163194
  NaClTCPConn.init("github.com/supraio/client-daemon/pkg/netpacket", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: ptrType, tag: ""}]);
162943
163195
  JsWebsocketConn.init("github.com/supraio/client-daemon/pkg/netpacket", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: ptrType$3, tag: ""}]);
162944
163196
  JsWebsocketWorkerConn.init("github.com/supraio/client-daemon/pkg/netpacket", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: js.Value, tag: ""}]);
162945
- BrightSignTCPConn.init("github.com/supraio/client-daemon/pkg/netpacket", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: ptrType, tag: ""}]);
163197
+ BrightSignTCPConn.init("github.com/supraio/client-daemon/pkg/netpacket", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "controller", name: "controller", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "cancel", name: "cancel", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeOnce", name: "closeOnce", embedded: false, exported: false, typ: sync.Once, tag: ""}]);
162946
163198
  $init = function() {
162947
163199
  $pkg.$init = function() {};
162948
163200
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -162957,8 +163209,9 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
162957
163209
  $r = net.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162958
163210
  $r = strconv.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162959
163211
  $r = strings.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162960
- $r = js.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162961
- $r = time.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
163212
+ $r = sync.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
163213
+ $r = js.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
163214
+ $r = time.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162962
163215
  connects = $makeMap(Driver.keyFor, []);
162963
163216
  maxPacketSizes = $makeMap(Driver.keyFor, []);
162964
163217
  init();
@@ -183426,282 +183679,6 @@ $packages["github.com/supraio/client-daemon/pkg/decoder/general"] = (function()
183426
183679
  $pkg.$init = $init;
183427
183680
  return $pkg;
183428
183681
  })();
183429
- $packages["github.com/supraio/client-daemon/pkg/render/frame"] = (function() {
183430
- var $pkg = {}, $init, js, time, JSFrame, FrameType, FrameInterface, funcType, arrayType, sliceType, ptrType, NewJSFrame;
183431
- js = $packages["syscall/js"];
183432
- time = $packages["time"];
183433
- JSFrame = $pkg.JSFrame = $newType(0, $kindStruct, "frame.JSFrame", true, "github.com/supraio/client-daemon/pkg/render/frame", true, function(frameType_, buffer_, timestamp_) {
183434
- this.$val = this;
183435
- if (arguments.length === 0) {
183436
- this.frameType = 0;
183437
- this.buffer = new js.Value.ptr(null, false, arrayType.zero());
183438
- this.timestamp = new $Uint64(0, 0);
183439
- return;
183440
- }
183441
- this.frameType = frameType_;
183442
- this.buffer = buffer_;
183443
- this.timestamp = timestamp_;
183444
- });
183445
- FrameType = $pkg.FrameType = $newType(1, $kindUint8, "frame.FrameType", true, "github.com/supraio/client-daemon/pkg/render/frame", true, null);
183446
- FrameInterface = $pkg.FrameInterface = $newType(8, $kindInterface, "frame.FrameInterface", true, "github.com/supraio/client-daemon/pkg/render/frame", true, null);
183447
- funcType = $funcType([], [], false);
183448
- arrayType = $arrayType(funcType, 0);
183449
- sliceType = $sliceType($Uint8);
183450
- ptrType = $ptrType(JSFrame);
183451
- NewJSFrame = function(frameType, buffer, timestamp) {
183452
- var buffer, frameType, timestamp;
183453
- return new JSFrame.ptr(frameType, $clone(buffer, js.Value), timestamp);
183454
- };
183455
- $pkg.NewJSFrame = NewJSFrame;
183456
- JSFrame.ptr.prototype.FrameType = function() {
183457
- var f;
183458
- f = this;
183459
- return f.frameType;
183460
- };
183461
- JSFrame.prototype.FrameType = function() { return this.$val.FrameType(); };
183462
- JSFrame.ptr.prototype.Buffer = function() {
183463
- var f;
183464
- f = this;
183465
- return sliceType.nil;
183466
- };
183467
- JSFrame.prototype.Buffer = function() { return this.$val.Buffer(); };
183468
- JSFrame.ptr.prototype.JSBuffer = function() {
183469
- var f;
183470
- f = this;
183471
- return f.buffer;
183472
- };
183473
- JSFrame.prototype.JSBuffer = function() { return this.$val.JSBuffer(); };
183474
- JSFrame.ptr.prototype.ByteLength = function() {
183475
- var f;
183476
- f = this;
183477
- return $clone($clone(f.buffer, js.Value).Get("byteLength"), js.Value).Int();
183478
- };
183479
- JSFrame.prototype.ByteLength = function() { return this.$val.ByteLength(); };
183480
- JSFrame.ptr.prototype.GetTimestamp = function() {
183481
- var f, x;
183482
- f = this;
183483
- return time.Unix(new $Int64(0, 0), ((x = f.timestamp, new $Int64(x.$high, x.$low))));
183484
- };
183485
- JSFrame.prototype.GetTimestamp = function() { return this.$val.GetTimestamp(); };
183486
- ptrType.methods = [{prop: "FrameType", name: "FrameType", pkg: "", typ: $funcType([], [FrameType], false)}, {prop: "Buffer", name: "Buffer", pkg: "", typ: $funcType([], [sliceType], false)}, {prop: "JSBuffer", name: "JSBuffer", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "ByteLength", name: "ByteLength", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetTimestamp", name: "GetTimestamp", pkg: "", typ: $funcType([], [time.Time], false)}];
183487
- JSFrame.init("github.com/supraio/client-daemon/pkg/render/frame", [{prop: "frameType", name: "frameType", embedded: false, exported: false, typ: FrameType, tag: ""}, {prop: "buffer", name: "buffer", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "timestamp", name: "timestamp", embedded: false, exported: false, typ: $Uint64, tag: ""}]);
183488
- FrameInterface.init([{prop: "Buffer", name: "Buffer", pkg: "", typ: $funcType([], [sliceType], false)}, {prop: "FrameType", name: "FrameType", pkg: "", typ: $funcType([], [FrameType], false)}, {prop: "GetTimestamp", name: "GetTimestamp", pkg: "", typ: $funcType([], [time.Time], false)}]);
183489
- $init = function() {
183490
- $pkg.$init = function() {};
183491
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
183492
- $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183493
- $r = time.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183494
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
183495
- };
183496
- $pkg.$init = $init;
183497
- return $pkg;
183498
- })();
183499
- $packages["github.com/supraio/client-daemon/pkg/render/netframe"] = (function() {
183500
- var $pkg = {}, $init, binary, errs, netpacket, frame, time, FrameCollectionDurationCallback, frameCollectorFactories, RegisterFrameCollector;
183501
- binary = $packages["encoding/binary"];
183502
- errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
183503
- netpacket = $packages["github.com/supraio/client-daemon/pkg/netpacket"];
183504
- frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
183505
- time = $packages["time"];
183506
- FrameCollectionDurationCallback = $pkg.FrameCollectionDurationCallback = $newType(4, $kindFunc, "netframe.FrameCollectionDurationCallback", true, "github.com/supraio/client-daemon/pkg/render/netframe", true, null);
183507
- RegisterFrameCollector = function(name, factory) {
183508
- var _key, factory, name;
183509
- _key = name; (frameCollectorFactories || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key), { k: _key, v: factory });
183510
- };
183511
- $pkg.RegisterFrameCollector = RegisterFrameCollector;
183512
- FrameCollectionDurationCallback.init([time.Duration], [], false);
183513
- $init = function() {
183514
- $pkg.$init = function() {};
183515
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
183516
- $r = binary.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183517
- $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183518
- $r = netpacket.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183519
- $r = frame.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183520
- $r = time.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183521
- frameCollectorFactories = new $global.Map();
183522
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
183523
- };
183524
- $pkg.$init = $init;
183525
- return $pkg;
183526
- })();
183527
- $packages["github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp"] = (function() {
183528
- var $pkg = {}, $init, errs, jshelper, netbrightsigntcp, netpacket, frame, netframe, log, sync, js, time, FrameCollector, Frame, ptrType, sliceType, ptrType$1, funcType, arrayType, sliceType$1, ptrType$2, ptrType$3, init, NewFrameCollector;
183529
- errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
183530
- jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
183531
- netbrightsigntcp = $packages["github.com/supraio/client-daemon/pkg/netbrightsigntcp"];
183532
- netpacket = $packages["github.com/supraio/client-daemon/pkg/netpacket"];
183533
- frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
183534
- netframe = $packages["github.com/supraio/client-daemon/pkg/render/netframe"];
183535
- log = $packages["log"];
183536
- sync = $packages["sync"];
183537
- js = $packages["syscall/js"];
183538
- time = $packages["time"];
183539
- FrameCollector = $pkg.FrameCollector = $newType(0, $kindStruct, "brightsigntcp.FrameCollector", true, "github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp", true, function(conn_) {
183540
- this.$val = this;
183541
- if (arguments.length === 0) {
183542
- this.conn = new netpacket.BrightSignTCPConn.ptr(ptrType$1.nil);
183543
- return;
183544
- }
183545
- this.conn = conn_;
183546
- });
183547
- Frame = $pkg.Frame = $newType(0, $kindStruct, "brightsigntcp.Frame", true, "github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp", true, function(frameType_, timestamp_, reference_, releaseOnce_) {
183548
- this.$val = this;
183549
- if (arguments.length === 0) {
183550
- this.frameType = 0;
183551
- this.timestamp = new $Uint64(0, 0);
183552
- this.reference = new js.Value.ptr(null, false, arrayType.zero());
183553
- this.releaseOnce = new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0));
183554
- return;
183555
- }
183556
- this.frameType = frameType_;
183557
- this.timestamp = timestamp_;
183558
- this.reference = reference_;
183559
- this.releaseOnce = releaseOnce_;
183560
- });
183561
- ptrType = $ptrType(netpacket.BrightSignTCPConn);
183562
- sliceType = $sliceType($emptyInterface);
183563
- ptrType$1 = $ptrType(js.Value);
183564
- funcType = $funcType([], [], false);
183565
- arrayType = $arrayType(funcType, 0);
183566
- sliceType$1 = $sliceType($Uint8);
183567
- ptrType$2 = $ptrType(FrameCollector);
183568
- ptrType$3 = $ptrType(Frame);
183569
- init = function() {
183570
- if (netbrightsigntcp.IsAvailable()) {
183571
- netframe.RegisterFrameCollector("brightsign_tcp", NewFrameCollector);
183572
- }
183573
- };
183574
- NewFrameCollector = function(screenConn, maxPacketSize) {
183575
- var {_tuple, conn, maxPacketSize, ok, screenConn, $s, $r, $c} = $restore(this, {screenConn, maxPacketSize});
183576
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
183577
- _tuple = $assertType(screenConn, ptrType, true);
183578
- conn = _tuple[0];
183579
- ok = _tuple[1];
183580
- /* */ if (!ok) { $s = 1; continue; }
183581
- /* */ $s = 2; continue;
183582
- /* if (!ok) { */ case 1:
183583
- $r = log.Printf("BrightSign FrameCollector: incompatible connection type %T", new sliceType([screenConn])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183584
- $s = -1; return $ifaceNil;
183585
- /* } */ case 2:
183586
- $unused(maxPacketSize);
183587
- $s = -1; return new FrameCollector.ptr($clone(conn, netpacket.BrightSignTCPConn));
183588
- /* */ } return; } var $f = {$blk: NewFrameCollector, $c: true, $r, _tuple, conn, maxPacketSize, ok, screenConn, $s};return $f;
183589
- };
183590
- $pkg.NewFrameCollector = NewFrameCollector;
183591
- FrameCollector.ptr.prototype.CollectFrame = function(startCb, endCb, param) {
183592
- var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, collected, endCb, err, param, startCb, timestampHi, timestampLo, x, $s, $r, $c} = $restore(this, {startCb, endCb, param});
183593
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
183594
- c = this;
183595
- $r = startCb(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183596
- _r = $clone(c.conn.GetJSConnection(), js.Value).Call("readFrame", sliceType.nil); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
183597
- _r$1 = jshelper.Await($clone(_r, js.Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
183598
- _tuple = _r$1;
183599
- collected = _tuple[0];
183600
- err = _tuple[1];
183601
- $r = endCb(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183602
- /* */ if (!(err === ptrType$1.nil)) { $s = 5; continue; }
183603
- /* */ $s = 6; continue;
183604
- /* if (!(err === ptrType$1.nil)) { */ case 5:
183605
- _r$2 = jshelper.GetError(err); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
183606
- _r$3 = _r$2.Error(); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
183607
- _arg = new $String(_r$3);
183608
- _r$4 = errs.Errorf("Failed to collect BrightSign TCP frame: %s", new sliceType([_arg])); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
183609
- $24r = [$ifaceNil, _r$4];
183610
- $s = 10; case 10: return $24r;
183611
- /* } */ case 6:
183612
- timestampLo = (new $Uint64(0, (($clone($clone($clone(collected, js.Value).Get("timestamp"), js.Value).Get("lo"), js.Value).Int() >>> 0))));
183613
- timestampHi = (new $Uint64(0, (($clone($clone($clone(collected, js.Value).Get("timestamp"), js.Value).Get("hi"), js.Value).Int() >>> 0))));
183614
- $s = -1; return [new Frame.ptr((($clone($clone(collected, js.Value).Get("frameType"), js.Value).Int() << 24 >>> 24)), (x = $shiftLeft64(timestampHi, 32), new $Uint64(timestampLo.$high | x.$high, (timestampLo.$low | x.$low) >>> 0)), $clone($clone(collected, js.Value).Get("reference"), js.Value), new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0))), $ifaceNil];
183615
- /* */ } return; } var $f = {$blk: FrameCollector.ptr.prototype.CollectFrame, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, collected, endCb, err, param, startCb, timestampHi, timestampLo, x, $s};return $f;
183616
- };
183617
- FrameCollector.prototype.CollectFrame = function(startCb, endCb, param) { return this.$val.CollectFrame(startCb, endCb, param); };
183618
- Frame.ptr.prototype.FrameType = function() {
183619
- var f;
183620
- f = this;
183621
- return f.frameType;
183622
- };
183623
- Frame.prototype.FrameType = function() { return this.$val.FrameType(); };
183624
- Frame.ptr.prototype.Buffer = function() {
183625
- var f;
183626
- f = this;
183627
- return sliceType$1.nil;
183628
- };
183629
- Frame.prototype.Buffer = function() { return this.$val.Buffer(); };
183630
- Frame.ptr.prototype.GetTimestamp = function() {
183631
- var f, x;
183632
- f = this;
183633
- return time.Unix(new $Int64(0, 0), ((x = f.timestamp, new $Int64(x.$high, x.$low))));
183634
- };
183635
- Frame.prototype.GetTimestamp = function() { return this.$val.GetTimestamp(); };
183636
- Frame.ptr.prototype.Reference = function() {
183637
- var f;
183638
- f = this;
183639
- return f.reference;
183640
- };
183641
- Frame.prototype.Reference = function() { return this.$val.Reference(); };
183642
- Frame.ptr.prototype.Release = function() {
183643
- var {f, $s, $r, $c} = $restore(this, {});
183644
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
183645
- f = [f];
183646
- f[0] = this;
183647
- $r = f[0].releaseOnce.Do((function(f) { return function() {
183648
- var release, x;
183649
- release = $clone($clone(js.Global(), js.Value).Get("brightSignReleaseFrameReference"), js.Value);
183650
- if ($clone(release, js.Value).Type() === 7) {
183651
- $clone(release, js.Value).Invoke(new sliceType([(x = f[0].reference, new x.constructor.elem(x))]));
183652
- }
183653
- }; })(f)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183654
- $s = -1; return;
183655
- /* */ } return; } var $f = {$blk: Frame.ptr.prototype.Release, $c: true, $r, f, $s};return $f;
183656
- };
183657
- Frame.prototype.Release = function() { return this.$val.Release(); };
183658
- ptrType$2.methods = [{prop: "CollectFrame", name: "CollectFrame", pkg: "", typ: $funcType([funcType, funcType, netframe.FrameCollectionDurationCallback], [frame.FrameInterface, $error], false)}];
183659
- ptrType$3.methods = [{prop: "FrameType", name: "FrameType", pkg: "", typ: $funcType([], [frame.FrameType], false)}, {prop: "Buffer", name: "Buffer", pkg: "", typ: $funcType([], [sliceType$1], false)}, {prop: "GetTimestamp", name: "GetTimestamp", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "Reference", name: "Reference", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
183660
- FrameCollector.init("github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: netpacket.BrightSignTCPConn, tag: ""}]);
183661
- Frame.init("github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp", [{prop: "frameType", name: "frameType", embedded: false, exported: false, typ: frame.FrameType, tag: ""}, {prop: "timestamp", name: "timestamp", embedded: false, exported: false, typ: $Uint64, tag: ""}, {prop: "reference", name: "reference", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "releaseOnce", name: "releaseOnce", embedded: false, exported: false, typ: sync.Once, tag: ""}]);
183662
- $init = function() {
183663
- $pkg.$init = function() {};
183664
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
183665
- $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183666
- $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183667
- $r = netbrightsigntcp.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183668
- $r = netpacket.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183669
- $r = frame.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183670
- $r = netframe.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183671
- $r = log.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183672
- $r = sync.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183673
- $r = js.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183674
- $r = time.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183675
- init();
183676
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
183677
- };
183678
- $pkg.$init = $init;
183679
- return $pkg;
183680
- })();
183681
- $packages["github.com/supraio/client-daemon/pkg/decoder/brightsigndecoder"] = (function() {
183682
- var $pkg = {}, $init, general, errs, jshelper, frame, brightsigntcp, sync, js;
183683
- general = $packages["github.com/supraio/client-daemon/pkg/decoder/general"];
183684
- errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
183685
- jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
183686
- frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
183687
- brightsigntcp = $packages["github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp"];
183688
- sync = $packages["sync"];
183689
- js = $packages["syscall/js"];
183690
- $init = function() {
183691
- $pkg.$init = function() {};
183692
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
183693
- $r = general.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183694
- $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183695
- $r = jshelper.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183696
- $r = frame.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183697
- $r = brightsigntcp.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183698
- $r = sync.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183699
- $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
183700
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
183701
- };
183702
- $pkg.$init = $init;
183703
- return $pkg;
183704
- })();
183705
183682
  $packages["github.com/supraio/client-daemon/pkg/decoder/nacldecoder/jsdecoder"] = (function() {
183706
183683
  var $pkg = {}, $init, js, ptrType, initiateReset, jsNaClDecoder, ShouldResetOnNextDecode, IsAvailable, GetJsNaClDecoder;
183707
183684
  js = $packages["syscall/js"];
@@ -187172,6 +187149,104 @@ $packages["github.com/supraio/client-daemon/pkg/decoder/nacldecoder/nacldriver"]
187172
187149
  $pkg.$init = $init;
187173
187150
  return $pkg;
187174
187151
  })();
187152
+ $packages["github.com/supraio/client-daemon/pkg/render/frame"] = (function() {
187153
+ var $pkg = {}, $init, js, time, JSFrame, FrameType, FrameInterface, funcType, arrayType, sliceType, ptrType, NewJSFrame;
187154
+ js = $packages["syscall/js"];
187155
+ time = $packages["time"];
187156
+ JSFrame = $pkg.JSFrame = $newType(0, $kindStruct, "frame.JSFrame", true, "github.com/supraio/client-daemon/pkg/render/frame", true, function(frameType_, buffer_, timestamp_) {
187157
+ this.$val = this;
187158
+ if (arguments.length === 0) {
187159
+ this.frameType = 0;
187160
+ this.buffer = new js.Value.ptr(null, false, arrayType.zero());
187161
+ this.timestamp = new $Uint64(0, 0);
187162
+ return;
187163
+ }
187164
+ this.frameType = frameType_;
187165
+ this.buffer = buffer_;
187166
+ this.timestamp = timestamp_;
187167
+ });
187168
+ FrameType = $pkg.FrameType = $newType(1, $kindUint8, "frame.FrameType", true, "github.com/supraio/client-daemon/pkg/render/frame", true, null);
187169
+ FrameInterface = $pkg.FrameInterface = $newType(8, $kindInterface, "frame.FrameInterface", true, "github.com/supraio/client-daemon/pkg/render/frame", true, null);
187170
+ funcType = $funcType([], [], false);
187171
+ arrayType = $arrayType(funcType, 0);
187172
+ sliceType = $sliceType($Uint8);
187173
+ ptrType = $ptrType(JSFrame);
187174
+ NewJSFrame = function(frameType, buffer, timestamp) {
187175
+ var buffer, frameType, timestamp;
187176
+ return new JSFrame.ptr(frameType, $clone(buffer, js.Value), timestamp);
187177
+ };
187178
+ $pkg.NewJSFrame = NewJSFrame;
187179
+ JSFrame.ptr.prototype.FrameType = function() {
187180
+ var f;
187181
+ f = this;
187182
+ return f.frameType;
187183
+ };
187184
+ JSFrame.prototype.FrameType = function() { return this.$val.FrameType(); };
187185
+ JSFrame.ptr.prototype.Buffer = function() {
187186
+ var f;
187187
+ f = this;
187188
+ return sliceType.nil;
187189
+ };
187190
+ JSFrame.prototype.Buffer = function() { return this.$val.Buffer(); };
187191
+ JSFrame.ptr.prototype.JSBuffer = function() {
187192
+ var f;
187193
+ f = this;
187194
+ return f.buffer;
187195
+ };
187196
+ JSFrame.prototype.JSBuffer = function() { return this.$val.JSBuffer(); };
187197
+ JSFrame.ptr.prototype.ByteLength = function() {
187198
+ var f;
187199
+ f = this;
187200
+ return $clone($clone(f.buffer, js.Value).Get("byteLength"), js.Value).Int();
187201
+ };
187202
+ JSFrame.prototype.ByteLength = function() { return this.$val.ByteLength(); };
187203
+ JSFrame.ptr.prototype.GetTimestamp = function() {
187204
+ var f, x;
187205
+ f = this;
187206
+ return time.Unix(new $Int64(0, 0), ((x = f.timestamp, new $Int64(x.$high, x.$low))));
187207
+ };
187208
+ JSFrame.prototype.GetTimestamp = function() { return this.$val.GetTimestamp(); };
187209
+ ptrType.methods = [{prop: "FrameType", name: "FrameType", pkg: "", typ: $funcType([], [FrameType], false)}, {prop: "Buffer", name: "Buffer", pkg: "", typ: $funcType([], [sliceType], false)}, {prop: "JSBuffer", name: "JSBuffer", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "ByteLength", name: "ByteLength", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetTimestamp", name: "GetTimestamp", pkg: "", typ: $funcType([], [time.Time], false)}];
187210
+ JSFrame.init("github.com/supraio/client-daemon/pkg/render/frame", [{prop: "frameType", name: "frameType", embedded: false, exported: false, typ: FrameType, tag: ""}, {prop: "buffer", name: "buffer", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "timestamp", name: "timestamp", embedded: false, exported: false, typ: $Uint64, tag: ""}]);
187211
+ FrameInterface.init([{prop: "Buffer", name: "Buffer", pkg: "", typ: $funcType([], [sliceType], false)}, {prop: "FrameType", name: "FrameType", pkg: "", typ: $funcType([], [FrameType], false)}, {prop: "GetTimestamp", name: "GetTimestamp", pkg: "", typ: $funcType([], [time.Time], false)}]);
187212
+ $init = function() {
187213
+ $pkg.$init = function() {};
187214
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
187215
+ $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187216
+ $r = time.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187217
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
187218
+ };
187219
+ $pkg.$init = $init;
187220
+ return $pkg;
187221
+ })();
187222
+ $packages["github.com/supraio/client-daemon/pkg/render/netframe"] = (function() {
187223
+ var $pkg = {}, $init, binary, errs, netpacket, frame, time, FrameCollectionDurationCallback, frameCollectorFactories, RegisterFrameCollector;
187224
+ binary = $packages["encoding/binary"];
187225
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
187226
+ netpacket = $packages["github.com/supraio/client-daemon/pkg/netpacket"];
187227
+ frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
187228
+ time = $packages["time"];
187229
+ FrameCollectionDurationCallback = $pkg.FrameCollectionDurationCallback = $newType(4, $kindFunc, "netframe.FrameCollectionDurationCallback", true, "github.com/supraio/client-daemon/pkg/render/netframe", true, null);
187230
+ RegisterFrameCollector = function(name, factory) {
187231
+ var _key, factory, name;
187232
+ _key = name; (frameCollectorFactories || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key), { k: _key, v: factory });
187233
+ };
187234
+ $pkg.RegisterFrameCollector = RegisterFrameCollector;
187235
+ FrameCollectionDurationCallback.init([time.Duration], [], false);
187236
+ $init = function() {
187237
+ $pkg.$init = function() {};
187238
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
187239
+ $r = binary.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187240
+ $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187241
+ $r = netpacket.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187242
+ $r = frame.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187243
+ $r = time.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187244
+ frameCollectorFactories = new $global.Map();
187245
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
187246
+ };
187247
+ $pkg.$init = $init;
187248
+ return $pkg;
187249
+ })();
187175
187250
  $packages["github.com/supraio/client-daemon/pkg/render/netframe/nacltcp"] = (function() {
187176
187251
  var $pkg = {}, $init, jsdecoder, errs, jshelper, netpacket, frame, netframe, log, js, time, NTFrameCollector, NTFrame, ptrType, ptrType$1, sliceType, sliceType$1, funcType, ptrType$2, ptrType$3, init, NewNaClTCPFrameCollector;
187177
187252
  jsdecoder = $packages["github.com/supraio/client-daemon/pkg/decoder/nacldecoder/jsdecoder"];
@@ -192632,6 +192707,179 @@ $packages["github.com/supraio/client-daemon/pkg/render/netframe/jswebsocketworke
192632
192707
  $pkg.$init = $init;
192633
192708
  return $pkg;
192634
192709
  })();
192710
+ $packages["github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp"] = (function() {
192711
+ var $pkg = {}, $init, netbrightsigntcp, netpacket, frame, netframe, log, sync, js, time, FrameCollector, Frame, ptrType, sliceType, ptrType$1, funcType, arrayType, sliceType$1, ptrType$2, ptrType$3, funcType$1, init, NewFrameCollector;
192712
+ netbrightsigntcp = $packages["github.com/supraio/client-daemon/pkg/netbrightsigntcp"];
192713
+ netpacket = $packages["github.com/supraio/client-daemon/pkg/netpacket"];
192714
+ frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
192715
+ netframe = $packages["github.com/supraio/client-daemon/pkg/render/netframe"];
192716
+ log = $packages["log"];
192717
+ sync = $packages["sync"];
192718
+ js = $packages["syscall/js"];
192719
+ time = $packages["time"];
192720
+ FrameCollector = $pkg.FrameCollector = $newType(0, $kindStruct, "brightsigntcp.FrameCollector", true, "github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp", true, function(conn_) {
192721
+ this.$val = this;
192722
+ if (arguments.length === 0) {
192723
+ this.conn = new netpacket.BrightSignTCPConn.ptr(ptrType$1.nil, new js.Value.ptr(null, false, arrayType.zero()), $chanNil, new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0)));
192724
+ return;
192725
+ }
192726
+ this.conn = conn_;
192727
+ });
192728
+ Frame = $pkg.Frame = $newType(0, $kindStruct, "brightsigntcp.Frame", true, "github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp", true, function(frameType_, timestamp_, reference_, release_, releaseOnce_) {
192729
+ this.$val = this;
192730
+ if (arguments.length === 0) {
192731
+ this.frameType = 0;
192732
+ this.timestamp = new $Uint64(0, 0);
192733
+ this.reference = new js.Value.ptr(null, false, arrayType.zero());
192734
+ this.release = $throwNilPointerError;
192735
+ this.releaseOnce = new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0));
192736
+ return;
192737
+ }
192738
+ this.frameType = frameType_;
192739
+ this.timestamp = timestamp_;
192740
+ this.reference = reference_;
192741
+ this.release = release_;
192742
+ this.releaseOnce = releaseOnce_;
192743
+ });
192744
+ ptrType = $ptrType(netpacket.BrightSignTCPConn);
192745
+ sliceType = $sliceType($emptyInterface);
192746
+ ptrType$1 = $ptrType(js.Value);
192747
+ funcType = $funcType([], [], false);
192748
+ arrayType = $arrayType(funcType, 0);
192749
+ sliceType$1 = $sliceType($Uint8);
192750
+ ptrType$2 = $ptrType(FrameCollector);
192751
+ ptrType$3 = $ptrType(Frame);
192752
+ funcType$1 = $funcType([js.Value], [], false);
192753
+ init = function() {
192754
+ if (netbrightsigntcp.IsAvailable()) {
192755
+ netframe.RegisterFrameCollector("brightsign_tcp", NewFrameCollector);
192756
+ }
192757
+ };
192758
+ NewFrameCollector = function(screenConn, maxPacketSize) {
192759
+ var {_tuple, conn, maxPacketSize, ok, screenConn, $s, $r, $c} = $restore(this, {screenConn, maxPacketSize});
192760
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192761
+ _tuple = $assertType(screenConn, ptrType, true);
192762
+ conn = _tuple[0];
192763
+ ok = _tuple[1];
192764
+ /* */ if (!ok) { $s = 1; continue; }
192765
+ /* */ $s = 2; continue;
192766
+ /* if (!ok) { */ case 1:
192767
+ $r = log.Printf("BrightSign FrameCollector: incompatible connection type %T", new sliceType([screenConn])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192768
+ $s = -1; return $ifaceNil;
192769
+ /* } */ case 2:
192770
+ $unused(maxPacketSize);
192771
+ $s = -1; return new FrameCollector.ptr($clone(conn, netpacket.BrightSignTCPConn));
192772
+ /* */ } return; } var $f = {$blk: NewFrameCollector, $c: true, $r, _tuple, conn, maxPacketSize, ok, screenConn, $s};return $f;
192773
+ };
192774
+ $pkg.NewFrameCollector = NewFrameCollector;
192775
+ FrameCollector.ptr.prototype.CollectFrame = function(startCb, endCb, param) {
192776
+ var {_r, _tuple, c, collected, endCb, err, param, startCb, timestampHi, timestampLo, x, $s, $r, $c} = $restore(this, {startCb, endCb, param});
192777
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192778
+ c = this;
192779
+ $r = startCb(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192780
+ _r = c.conn.ReadFrame(); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192781
+ _tuple = _r;
192782
+ collected = _tuple[0];
192783
+ err = _tuple[1];
192784
+ $r = endCb(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192785
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
192786
+ $s = -1; return [$ifaceNil, err];
192787
+ }
192788
+ timestampLo = (new $Uint64(0, (($clone($clone($clone(collected, js.Value).Get("timestamp"), js.Value).Get("lo"), js.Value).Int() >>> 0))));
192789
+ timestampHi = (new $Uint64(0, (($clone($clone($clone(collected, js.Value).Get("timestamp"), js.Value).Get("hi"), js.Value).Int() >>> 0))));
192790
+ $s = -1; return [new Frame.ptr((($clone($clone(collected, js.Value).Get("frameType"), js.Value).Int() << 24 >>> 24)), (x = $shiftLeft64(timestampHi, 32), new $Uint64(timestampLo.$high | x.$high, (timestampLo.$low | x.$low) >>> 0)), $clone($clone(collected, js.Value).Get("reference"), js.Value), $methodVal(c.conn, "ReleaseFrame"), new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0))), $ifaceNil];
192791
+ /* */ } return; } var $f = {$blk: FrameCollector.ptr.prototype.CollectFrame, $c: true, $r, _r, _tuple, c, collected, endCb, err, param, startCb, timestampHi, timestampLo, x, $s};return $f;
192792
+ };
192793
+ FrameCollector.prototype.CollectFrame = function(startCb, endCb, param) { return this.$val.CollectFrame(startCb, endCb, param); };
192794
+ Frame.ptr.prototype.FrameType = function() {
192795
+ var f;
192796
+ f = this;
192797
+ return f.frameType;
192798
+ };
192799
+ Frame.prototype.FrameType = function() { return this.$val.FrameType(); };
192800
+ Frame.ptr.prototype.Buffer = function() {
192801
+ var f;
192802
+ f = this;
192803
+ return sliceType$1.nil;
192804
+ };
192805
+ Frame.prototype.Buffer = function() { return this.$val.Buffer(); };
192806
+ Frame.ptr.prototype.GetTimestamp = function() {
192807
+ var f, x;
192808
+ f = this;
192809
+ return time.Unix(new $Int64(0, 0), ((x = f.timestamp, new $Int64(x.$high, x.$low))));
192810
+ };
192811
+ Frame.prototype.GetTimestamp = function() { return this.$val.GetTimestamp(); };
192812
+ Frame.ptr.prototype.Reference = function() {
192813
+ var f;
192814
+ f = this;
192815
+ return f.reference;
192816
+ };
192817
+ Frame.prototype.Reference = function() { return this.$val.Reference(); };
192818
+ Frame.ptr.prototype.Release = function() {
192819
+ var {f, $s, $r, $c} = $restore(this, {});
192820
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192821
+ f = [f];
192822
+ f[0] = this;
192823
+ $r = f[0].releaseOnce.Do((function(f) { return function $b() {
192824
+ var {$s, $r, $c} = $restore(this, {});
192825
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192826
+ /* */ if (!(f[0].release === $throwNilPointerError)) { $s = 1; continue; }
192827
+ /* */ $s = 2; continue;
192828
+ /* if (!(f[0].release === $throwNilPointerError)) { */ case 1:
192829
+ $r = f[0].release($clone(f[0].reference, js.Value)); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192830
+ /* } */ case 2:
192831
+ $s = -1; return;
192832
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
192833
+ }; })(f)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192834
+ $s = -1; return;
192835
+ /* */ } return; } var $f = {$blk: Frame.ptr.prototype.Release, $c: true, $r, f, $s};return $f;
192836
+ };
192837
+ Frame.prototype.Release = function() { return this.$val.Release(); };
192838
+ ptrType$2.methods = [{prop: "CollectFrame", name: "CollectFrame", pkg: "", typ: $funcType([funcType, funcType, netframe.FrameCollectionDurationCallback], [frame.FrameInterface, $error], false)}];
192839
+ ptrType$3.methods = [{prop: "FrameType", name: "FrameType", pkg: "", typ: $funcType([], [frame.FrameType], false)}, {prop: "Buffer", name: "Buffer", pkg: "", typ: $funcType([], [sliceType$1], false)}, {prop: "GetTimestamp", name: "GetTimestamp", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "Reference", name: "Reference", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
192840
+ FrameCollector.init("github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: netpacket.BrightSignTCPConn, tag: ""}]);
192841
+ Frame.init("github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp", [{prop: "frameType", name: "frameType", embedded: false, exported: false, typ: frame.FrameType, tag: ""}, {prop: "timestamp", name: "timestamp", embedded: false, exported: false, typ: $Uint64, tag: ""}, {prop: "reference", name: "reference", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "release", name: "release", embedded: false, exported: false, typ: funcType$1, tag: ""}, {prop: "releaseOnce", name: "releaseOnce", embedded: false, exported: false, typ: sync.Once, tag: ""}]);
192842
+ $init = function() {
192843
+ $pkg.$init = function() {};
192844
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
192845
+ $r = netbrightsigntcp.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192846
+ $r = netpacket.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192847
+ $r = frame.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192848
+ $r = netframe.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192849
+ $r = log.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192850
+ $r = sync.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192851
+ $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192852
+ $r = time.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192853
+ init();
192854
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
192855
+ };
192856
+ $pkg.$init = $init;
192857
+ return $pkg;
192858
+ })();
192859
+ $packages["github.com/supraio/client-daemon/pkg/decoder/brightsigndecoder"] = (function() {
192860
+ var $pkg = {}, $init, general, errs, jshelper, frame, brightsigntcp, sync, js;
192861
+ general = $packages["github.com/supraio/client-daemon/pkg/decoder/general"];
192862
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
192863
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
192864
+ frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
192865
+ brightsigntcp = $packages["github.com/supraio/client-daemon/pkg/render/netframe/brightsigntcp"];
192866
+ sync = $packages["sync"];
192867
+ js = $packages["syscall/js"];
192868
+ $init = function() {
192869
+ $pkg.$init = function() {};
192870
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
192871
+ $r = general.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192872
+ $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192873
+ $r = jshelper.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192874
+ $r = frame.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192875
+ $r = brightsigntcp.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192876
+ $r = sync.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192877
+ $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192878
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
192879
+ };
192880
+ $pkg.$init = $init;
192881
+ return $pkg;
192882
+ })();
192635
192883
  $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
192636
192884
  var $pkg = {}, $init, screen, image, draw, ConvertYCbCrToRGBA;
192637
192885
  screen = $packages["golang.org/x/exp/shiny/screen"];
@@ -193922,7 +194170,7 @@ $packages["github.com/supraio/client-daemon/pkg/decoder/sosstream"] = (function(
193922
194170
  return $pkg;
193923
194171
  })();
193924
194172
  $packages["github.com/supraio/client-daemon/pkg/decoder"] = (function() {
193925
- var $pkg = {}, $init, brightsigndecoder, general, h264decoder, nacldecoder, samsungwasmdecoder, sosstream, webcodecs, errs, frame, videostream, log;
194173
+ var $pkg = {}, $init, brightsigndecoder, general, h264decoder, nacldecoder, samsungwasmdecoder, sosstream, webcodecs, errs, netpacket, frame, videostream, log;
193926
194174
  brightsigndecoder = $packages["github.com/supraio/client-daemon/pkg/decoder/brightsigndecoder"];
193927
194175
  general = $packages["github.com/supraio/client-daemon/pkg/decoder/general"];
193928
194176
  h264decoder = $packages["github.com/supraio/client-daemon/pkg/decoder/h264decoder"];
@@ -193931,6 +194179,7 @@ $packages["github.com/supraio/client-daemon/pkg/decoder"] = (function() {
193931
194179
  sosstream = $packages["github.com/supraio/client-daemon/pkg/decoder/sosstream"];
193932
194180
  webcodecs = $packages["github.com/supraio/client-daemon/pkg/decoder/webcodecs"];
193933
194181
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
194182
+ netpacket = $packages["github.com/supraio/client-daemon/pkg/netpacket"];
193934
194183
  frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
193935
194184
  videostream = $packages["github.com/supraio/client-daemon/pkg/videostream"];
193936
194185
  log = $packages["log"];
@@ -193945,9 +194194,10 @@ $packages["github.com/supraio/client-daemon/pkg/decoder"] = (function() {
193945
194194
  $r = sosstream.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193946
194195
  $r = webcodecs.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193947
194196
  $r = errs.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193948
- $r = frame.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193949
- $r = videostream.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193950
- $r = log.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194197
+ $r = netpacket.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194198
+ $r = frame.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194199
+ $r = videostream.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194200
+ $r = log.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
193951
194201
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
193952
194202
  };
193953
194203
  $pkg.$init = $init;
@@ -194007,9 +194257,10 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
194007
194257
  return $pkg;
194008
194258
  })();
194009
194259
  $packages["github.com/supraio/client-daemon/pkg/render/player"] = (function() {
194010
- var $pkg = {}, $init, decoder, errs, frame, netframe, screenbuffer, stats, screen, image, sync, time;
194260
+ var $pkg = {}, $init, decoder, errs, netpacket, frame, netframe, screenbuffer, stats, screen, image, sync, time;
194011
194261
  decoder = $packages["github.com/supraio/client-daemon/pkg/decoder"];
194012
194262
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
194263
+ netpacket = $packages["github.com/supraio/client-daemon/pkg/netpacket"];
194013
194264
  frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
194014
194265
  netframe = $packages["github.com/supraio/client-daemon/pkg/render/netframe"];
194015
194266
  screenbuffer = $packages["github.com/supraio/client-daemon/pkg/render/screenbuffer"];
@@ -194023,14 +194274,15 @@ $packages["github.com/supraio/client-daemon/pkg/render/player"] = (function() {
194023
194274
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
194024
194275
  $r = decoder.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194025
194276
  $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194026
- $r = frame.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194027
- $r = netframe.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194028
- $r = screenbuffer.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194029
- $r = stats.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194030
- $r = screen.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194031
- $r = image.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194032
- $r = sync.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194033
- $r = time.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194277
+ $r = netpacket.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194278
+ $r = frame.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194279
+ $r = netframe.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194280
+ $r = screenbuffer.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194281
+ $r = stats.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194282
+ $r = screen.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194283
+ $r = image.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194284
+ $r = sync.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194285
+ $r = time.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
194034
194286
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
194035
194287
  };
194036
194288
  $pkg.$init = $init;
@@ -194465,14 +194717,13 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
194465
194717
  return $pkg;
194466
194718
  })();
194467
194719
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
194468
- var $pkg = {}, $init, binary, json, fmt, query, clientscreen, clipboard, brightsigndecoder, nacldecoder, nacldriver, samsungwasmdecoder, webcodecs, errs, helper, input, message, netclient, netpacket, netstream, netframe, jswebsocketworker, player, overlaydriver, stats, videostream, window, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, touch, geom, image, io, ioutil, log, os, path, filepath, runtime, strconv, strings, sync, js, time, Geometry, screenParams, ScreenManager, ProcessInfo, ProcessInfoManager, sliceType, sliceType$1, ptrType, funcType, ptrType$14, sliceType$4, arrayType, mapType, ptrType$16, onScreenWindowStarted, openScreenWindows, mutex, waitForScreenLifecycleExit, NewScreenManager, NewProcessInfoManager, init, registerJSBridge, newJSBridgeFacades, geometryValue;
194720
+ var $pkg = {}, $init, binary, json, fmt, query, clientscreen, clipboard, nacldecoder, nacldriver, samsungwasmdecoder, webcodecs, errs, helper, input, message, netclient, netpacket, netstream, netframe, jswebsocketworker, player, overlaydriver, stats, videostream, window, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, touch, geom, image, io, ioutil, log, os, path, filepath, runtime, strconv, strings, sync, js, time, Geometry, screenParams, ScreenManager, ProcessInfo, ProcessInfoManager, sliceType, sliceType$1, ptrType, funcType, ptrType$15, sliceType$4, arrayType, mapType, ptrType$17, onScreenWindowStarted, openScreenWindows, mutex, waitForScreenLifecycleExit, NewScreenManager, NewProcessInfoManager, init, registerJSBridge, newJSBridgeFacades, geometryValue;
194469
194721
  binary = $packages["encoding/binary"];
194470
194722
  json = $packages["encoding/json"];
194471
194723
  fmt = $packages["fmt"];
194472
194724
  query = $packages["github.com/google/go-querystring/query"];
194473
194725
  clientscreen = $packages["github.com/supraio/client-daemon/pkg/clientscreen"];
194474
194726
  clipboard = $packages["github.com/supraio/client-daemon/pkg/clipboard"];
194475
- brightsigndecoder = $packages["github.com/supraio/client-daemon/pkg/decoder/brightsigndecoder"];
194476
194727
  nacldecoder = $packages["github.com/supraio/client-daemon/pkg/decoder/nacldecoder"];
194477
194728
  nacldriver = $packages["github.com/supraio/client-daemon/pkg/decoder/nacldecoder/nacldriver"];
194478
194729
  samsungwasmdecoder = $packages["github.com/supraio/client-daemon/pkg/decoder/samsungwasmdecoder"];
@@ -194588,11 +194839,11 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
194588
194839
  sliceType$1 = $sliceType($Uint8);
194589
194840
  ptrType = $ptrType(ProcessInfoManager);
194590
194841
  funcType = $funcType([], [], false);
194591
- ptrType$14 = $ptrType(Geometry);
194842
+ ptrType$15 = $ptrType(Geometry);
194592
194843
  sliceType$4 = $sliceType($String);
194593
194844
  arrayType = $arrayType(funcType, 0);
194594
194845
  mapType = $mapType($String, $emptyInterface);
194595
- ptrType$16 = $ptrType(ScreenManager);
194846
+ ptrType$17 = $ptrType(ScreenManager);
194596
194847
  ScreenManager.ptr.prototype.StartScreen = function(screenID, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, secure) {
194597
194848
  var {$24r, $24r$1, $24r$2, _key, _r, _r$1, _tuple, baseUrl, clientID, clientSecret, err, height, killScreen, left, m, metadataDriver, metadataHost, params, screenDriver, screenHost, screenID, screenWindow, secure, top, width, windowOpts, $s, $deferred, $r, $c} = $restore(this, {screenID, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, secure});
194598
194849
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
@@ -195177,12 +195428,12 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
195177
195428
  };
195178
195429
  geometryValue = function(g) {
195179
195430
  var g;
195180
- if (g === ptrType$14.nil) {
195431
+ if (g === ptrType$15.nil) {
195181
195432
  return $ifaceNil;
195182
195433
  }
195183
195434
  return new mapType($makeMap($String.keyFor, [{ k: "x", v: new $Int(g.X) }, { k: "y", v: new $Int(g.Y) }, { k: "width", v: new $Int(g.Width) }, { k: "height", v: new $Int(g.Height) }]));
195184
195435
  };
195185
- ptrType$16.methods = [{prop: "StartScreen", name: "StartScreen", pkg: "", typ: $funcType([$String, netpacket.Driver, $String, netstream.Driver, $String, $String, $String, $Bool], [$error], false)}, {prop: "openWindow", name: "openWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$String, screenParams, sliceType$4], [js.Value, $error], false)}, {prop: "closeWindow", name: "closeWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([js.Value], [$error], false)}, {prop: "StopScreen", name: "StopScreen", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "pipeErrLog", name: "pipeErrLog", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$String, io.Reader], [$error], false)}, {prop: "ListScreens", name: "ListScreens", pkg: "", typ: $funcType([], [sliceType$4, $error], false)}];
195436
+ ptrType$17.methods = [{prop: "StartScreen", name: "StartScreen", pkg: "", typ: $funcType([$String, netpacket.Driver, $String, netstream.Driver, $String, $String, $String, $Bool], [$error], false)}, {prop: "openWindow", name: "openWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$String, screenParams, sliceType$4], [js.Value, $error], false)}, {prop: "closeWindow", name: "closeWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([js.Value], [$error], false)}, {prop: "StopScreen", name: "StopScreen", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "pipeErrLog", name: "pipeErrLog", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$String, io.Reader], [$error], false)}, {prop: "ListScreens", name: "ListScreens", pkg: "", typ: $funcType([], [sliceType$4, $error], false)}];
195186
195437
  ptrType.methods = [{prop: "CreateProcessInfo", name: "CreateProcessInfo", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "RemoveProcessInfo", name: "RemoveProcessInfo", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "RemoveProcessInfoByPid", name: "RemoveProcessInfoByPid", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "WaitProcess", name: "WaitProcess", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "WaitProcessStopped", name: "WaitProcessStopped", pkg: "", typ: $funcType([$String, time.Duration], [$error], false)}, {prop: "GetProcessInfo", name: "GetProcessInfo", pkg: "", typ: $funcType([$String], [ProcessInfo, $error], false)}, {prop: "ListScreenIDs", name: "ListScreenIDs", pkg: "", typ: $funcType([], [sliceType$4, $error], false)}, {prop: "getUserProcessDirPath", name: "getUserProcessDirPath", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$String], false)}];
195187
195438
  Geometry.init("", [{prop: "X", name: "X", embedded: false, exported: true, typ: $Int, tag: "json:\"x\""}, {prop: "Y", name: "Y", embedded: false, exported: true, typ: $Int, tag: "json:\"y\""}, {prop: "Width", name: "Width", embedded: false, exported: true, typ: $Int, tag: "json:\"width\""}, {prop: "Height", name: "Height", embedded: false, exported: true, typ: $Int, tag: "json:\"height\""}]);
195188
195439
  screenParams.init("", [{prop: "ScreenID", name: "ScreenID", embedded: false, exported: true, typ: $String, tag: "url:\"screenID\""}, {prop: "ScreenDriver", name: "ScreenDriver", embedded: false, exported: true, typ: $String, tag: "url:\"screenDriver\""}, {prop: "ScreenHost", name: "ScreenHost", embedded: false, exported: true, typ: $String, tag: "url:\"screenHost\""}, {prop: "MetadataDriver", name: "MetadataDriver", embedded: false, exported: true, typ: $String, tag: "url:\"metadataDriver\""}, {prop: "MetadataHost", name: "MetadataHost", embedded: false, exported: true, typ: $String, tag: "url:\"metadataHost\""}, {prop: "ClientID", name: "ClientID", embedded: false, exported: true, typ: $String, tag: "url:\"clientID\""}, {prop: "ClientSecret", name: "ClientSecret", embedded: false, exported: true, typ: $String, tag: "url:\"clientSecret\""}, {prop: "Secure", name: "Secure", embedded: false, exported: true, typ: $Bool, tag: "url:\"secure\""}]);
@@ -195198,48 +195449,47 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
195198
195449
  $r = query.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195199
195450
  $r = clientscreen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195200
195451
  $r = clipboard.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195201
- $r = brightsigndecoder.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195202
- $r = nacldecoder.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195203
- $r = nacldriver.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195204
- $r = samsungwasmdecoder.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195205
- $r = webcodecs.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195206
- $r = errs.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195207
- $r = helper.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195208
- $r = input.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195209
- $r = message.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195210
- $r = netclient.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195211
- $r = netpacket.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195212
- $r = netstream.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195213
- $r = netframe.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195214
- $r = jswebsocketworker.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195215
- $r = player.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195216
- $r = overlaydriver.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195217
- $r = stats.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195218
- $r = videostream.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195219
- $r = window.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195220
- $r = canvasdriver.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195221
- $r = webgldriver.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195222
- $r = screen.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195223
- $r = focus.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195224
- $r = key.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195225
- $r = lifecycle.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195226
- $r = mouse.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195227
- $r = size.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195228
- $r = touch.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195229
- $r = geom.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195230
- $r = image.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195231
- $r = io.$init(); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195232
- $r = ioutil.$init(); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195233
- $r = log.$init(); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195234
- $r = os.$init(); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195235
- $r = path.$init(); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195236
- $r = filepath.$init(); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195237
- $r = runtime.$init(); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195238
- $r = strconv.$init(); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195239
- $r = strings.$init(); /* */ $s = 45; case 45: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195240
- $r = sync.$init(); /* */ $s = 46; case 46: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195241
- $r = js.$init(); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195242
- $r = time.$init(); /* */ $s = 48; case 48: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195452
+ $r = nacldecoder.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195453
+ $r = nacldriver.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195454
+ $r = samsungwasmdecoder.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195455
+ $r = webcodecs.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195456
+ $r = errs.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195457
+ $r = helper.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195458
+ $r = input.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195459
+ $r = message.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195460
+ $r = netclient.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195461
+ $r = netpacket.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195462
+ $r = netstream.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195463
+ $r = netframe.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195464
+ $r = jswebsocketworker.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195465
+ $r = player.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195466
+ $r = overlaydriver.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195467
+ $r = stats.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195468
+ $r = videostream.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195469
+ $r = window.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195470
+ $r = canvasdriver.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195471
+ $r = webgldriver.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195472
+ $r = screen.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195473
+ $r = focus.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195474
+ $r = key.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195475
+ $r = lifecycle.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195476
+ $r = mouse.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195477
+ $r = size.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195478
+ $r = touch.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195479
+ $r = geom.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195480
+ $r = image.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195481
+ $r = io.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195482
+ $r = ioutil.$init(); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195483
+ $r = log.$init(); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195484
+ $r = os.$init(); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195485
+ $r = path.$init(); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195486
+ $r = filepath.$init(); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195487
+ $r = runtime.$init(); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195488
+ $r = strconv.$init(); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195489
+ $r = strings.$init(); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195490
+ $r = sync.$init(); /* */ $s = 45; case 45: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195491
+ $r = js.$init(); /* */ $s = 46; case 46: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195492
+ $r = time.$init(); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195243
195493
  onScreenWindowStarted = $throwNilPointerError;
195244
195494
  openScreenWindows = $makeMap($String.keyFor, []);
195245
195495
  mutex = new sync.Mutex.ptr(0, 0);