From becbb56b19e96e4dd72b861217a855fba953d290 Mon Sep 17 00:00:00 2001 From: Valentin Anger Date: Mon, 1 Jun 2020 20:20:47 +0200 Subject: feat(core): Ops can take several zero copy buffers (#4788) --- cli/ops/worker_host.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'cli/ops/worker_host.rs') diff --git a/cli/ops/worker_host.rs b/cli/ops/worker_host.rs index ad3752ffa..0ed700431 100644 --- a/cli/ops/worker_host.rs +++ b/cli/ops/worker_host.rs @@ -174,7 +174,7 @@ struct CreateWorkerArgs { fn op_create_worker( state: &State, args: Value, - _data: Option, + _data: &mut [ZeroCopyBuf], ) -> Result { let args: CreateWorkerArgs = serde_json::from_value(args)?; @@ -230,7 +230,7 @@ struct WorkerArgs { fn op_host_terminate_worker( state: &State, args: Value, - _data: Option, + _data: &mut [ZeroCopyBuf], ) -> Result { let args: WorkerArgs = serde_json::from_value(args)?; let id = args.id as u32; @@ -296,7 +296,7 @@ fn serialize_worker_event(event: WorkerEvent) -> Value { fn op_host_get_message( state: &State, args: Value, - _data: Option, + _data: &mut [ZeroCopyBuf], ) -> Result { let args: WorkerArgs = serde_json::from_value(args)?; let id = args.id as u32; @@ -345,11 +345,12 @@ fn op_host_get_message( fn op_host_post_message( state: &State, args: Value, - data: Option, + data: &mut [ZeroCopyBuf], ) -> Result { + assert_eq!(data.len(), 1, "Invalid number of arguments"); let args: WorkerArgs = serde_json::from_value(args)?; let id = args.id as u32; - let msg = Vec::from(data.unwrap().as_ref()).into_boxed_slice(); + let msg = Vec::from(&*data[0]).into_boxed_slice(); debug!("post message to worker {}", id); let state = state.borrow(); -- cgit v1.2.3