diff options
Diffstat (limited to 'cli/ops/worker_host.rs')
-rw-r--r-- | cli/ops/worker_host.rs | 11 |
1 files changed, 6 insertions, 5 deletions
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<ZeroCopyBuf>, + _data: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { 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<ZeroCopyBuf>, + _data: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { 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<ZeroCopyBuf>, + _data: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { 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<ZeroCopyBuf>, + data: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { + 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(); |