quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

test_worker_module.js (737B)


      1 /* Worker code for test_worker.js */
      2 import * as std from "std";
      3 import * as os from "os";
      4 
      5 var parent = os.Worker.parent;
      6 
      7 function handle_msg(e) {
      8     var ev = e.data;
      9     //          print("child_recv", JSON.stringify(ev));
     10     switch(ev.type) {
     11     case "abort":
     12         parent.postMessage({ type: "done" });
     13         parent.onmessage = null; /* terminate the worker */
     14         break;
     15     case "sab":
     16         /* modify the SharedArrayBuffer */
     17         ev.buf[2] = 10;
     18         parent.postMessage({ type: "sab_done", buf: ev.buf });
     19         break;
     20     }
     21 }
     22 
     23 function worker_main() {
     24     var i;
     25 
     26     parent.onmessage = handle_msg;
     27     for(i = 0; i < 10; i++) {
     28         parent.postMessage({ type: "num", num: i });
     29     }
     30 }
     31 
     32 worker_main();