summaryrefslogtreecommitdiff
path: root/cli/ops/web_worker.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2020-02-05 02:40:38 -0500
committerGitHub <noreply@github.com>2020-02-05 08:40:38 +0100
commit55ea8546719579099a89132a5567919fd81742e9 (patch)
tree33a8d7827f71a0403b908fe79c3eb8e40eee64b1 /cli/ops/web_worker.rs
parent7d115a2a657fcfc54670e56cad3fe44fc7a59a9f (diff)
Move create_channels into worker constructor (#3889)
Diffstat (limited to 'cli/ops/web_worker.rs')
-rw-r--r--cli/ops/web_worker.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/cli/ops/web_worker.rs b/cli/ops/web_worker.rs
index db7086c59..7bfc70a84 100644
--- a/cli/ops/web_worker.rs
+++ b/cli/ops/web_worker.rs
@@ -7,8 +7,6 @@ use crate::state::ThreadSafeState;
use deno_core::*;
use futures;
use futures::future::FutureExt;
-use futures::sink::SinkExt;
-use futures::stream::StreamExt;
use std;
use std::convert::From;
@@ -31,8 +29,8 @@ fn op_worker_get_message(
) -> Result<JsonOp, ErrBox> {
let state_ = state.clone();
let op = async move {
- let mut receiver = state_.worker_channels.receiver.lock().await;
- let maybe_buf = receiver.next().await;
+ let c = state_.worker_channels_internal.lock().unwrap();
+ let maybe_buf = c.as_ref().unwrap().get_message().await;
debug!("op_worker_get_message");
Ok(json!({ "data": maybe_buf }))
};
@@ -47,8 +45,9 @@ fn op_worker_post_message(
data: Option<ZeroCopyBuf>,
) -> Result<JsonOp, ErrBox> {
let d = Vec::from(data.unwrap().as_ref()).into_boxed_slice();
- let mut sender = state.worker_channels.sender.clone();
- futures::executor::block_on(sender.send(d))
+ let c = state.worker_channels_internal.lock().unwrap();
+ let fut = c.as_ref().unwrap().post_message(d);
+ futures::executor::block_on(fut)
.map_err(|e| DenoError::new(ErrorKind::Other, e.to_string()))?;
Ok(JsonOp::Sync(json!({})))