From 5ded8b3c6813268dd44afa5a782c55f8a4f5ecae Mon Sep 17 00:00:00 2001 From: natrixaeria Date: Sun, 2 Jun 2019 08:52:36 +0200 Subject: Add communicating between worker wasms --- WebInterface/wasm/webhogg/src/client_logger.rs | 3 ++- WebInterface/wasm/webhogg/src/lib.rs | 22 ++++++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'WebInterface/wasm/webhogg/src') diff --git a/WebInterface/wasm/webhogg/src/client_logger.rs b/WebInterface/wasm/webhogg/src/client_logger.rs index f71918f..f537631 100644 --- a/WebInterface/wasm/webhogg/src/client_logger.rs +++ b/WebInterface/wasm/webhogg/src/client_logger.rs @@ -32,8 +32,9 @@ fn log(rec: &log::Record) { pub fn init_logger() { fern::Dispatch::new().format(|out, message, record|{ out.finish(format_args!( - "%c{}%c {} > {}", + "%c{}%c |{}| {} > {}", record.level(), + String::from(js_sys::Date::new_0().to_iso_string()), record.target(), message ) diff --git a/WebInterface/wasm/webhogg/src/lib.rs b/WebInterface/wasm/webhogg/src/lib.rs index 9d052cd..05944a6 100644 --- a/WebInterface/wasm/webhogg/src/lib.rs +++ b/WebInterface/wasm/webhogg/src/lib.rs @@ -22,20 +22,30 @@ fn run_application() { pub fn game_logic_entry(worker: web_sys::Worker) { client_logger::init_logger(); - info!("game logic initialisation"); - info!("js value: {:?}", worker); - worker.post_message(&wasm_bindgen::JsValue::from_str("msg frm wasm_gLe")).unwrap(); + info!("hello from game logic wasm"); + info!("begin long calculation in game logic thread"); + worker.post_message(&wasm_bindgen::JsValue::from_str("premsg frm wasm_gLe")) + .unwrap(); + info!("killed game logic"); } #[wasm_bindgen] -pub fn graphics_entry() { +pub fn graphics_entry(worker: web_sys::DedicatedWorkerGlobalScope) { client_logger::init_logger(); - info!("graphics initialisation"); + info!("hello from graphics wasm"); + let handler = wasm_bindgen::closure::Closure::once_into_js( + (|e: web_sys::MessageEvent| { + info!("things are getting wired: {:?}", e.data()); + })); + + worker.set_onmessage(Some(&js_sys::Function::from(handler))); + entry2(); + info!("killed graphics"); } pub fn entry2() { - client_logger::init_logger(); + // client_logger::init_logger(); info!("begin running wasm application"); -- cgit v1.2.3-54-g00ecf