diff options
Diffstat (limited to 'cli/ops/net_unix.rs')
-rw-r--r-- | cli/ops/net_unix.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cli/ops/net_unix.rs b/cli/ops/net_unix.rs index a207eaba8..0b2ceb75a 100644 --- a/cli/ops/net_unix.rs +++ b/cli/ops/net_unix.rs @@ -29,7 +29,7 @@ pub struct UnixListenArgs { pub fn accept_unix( isolate_state: &mut CoreIsolateState, rid: u32, - _zero_copy: Option<ZeroCopyBuf>, + _zero_copy: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { let resource_table = isolate_state.resource_table.clone(); { @@ -80,9 +80,10 @@ pub fn accept_unix( pub fn receive_unix_packet( isolate_state: &mut CoreIsolateState, rid: u32, - zero_copy: Option<ZeroCopyBuf>, + zero_copy: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { - let mut buf = zero_copy.unwrap(); + assert_eq!(zero_copy.len(), 1, "Invalid number of arguments"); + let mut zero_copy = zero_copy[0].clone(); let resource_table = isolate_state.resource_table.clone(); let op = async move { @@ -92,7 +93,7 @@ pub fn receive_unix_packet( .ok_or_else(|| { OpError::bad_resource("Socket has been closed".to_string()) })?; - let (size, remote_addr) = resource.socket.recv_from(&mut buf).await?; + let (size, remote_addr) = resource.socket.recv_from(&mut zero_copy).await?; Ok(json!({ "size": size, "remoteAddr": { |