From 791e623c321dd9cc73263a64aa848af0111a812b Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Wed, 7 Dec 2022 04:34:02 -0800 Subject: fix(ext/websocket): Reland make try_send ops infallible (#16968) Reverts denoland/deno#16743 This fixes the server hangs we were seeing in benchy. cc @billywhizz --- ext/websocket/lib.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'ext/websocket/lib.rs') diff --git a/ext/websocket/lib.rs b/ext/websocket/lib.rs index 704c699a7..984d39e9d 100644 --- a/ext/websocket/lib.rs +++ b/ext/websocket/lib.rs @@ -504,9 +504,12 @@ pub fn op_ws_try_send_string( state: &mut OpState, rid: ResourceId, text: String, -) -> Result { - let resource = state.resource_table.get::(rid)?; - resource.try_send(Message::Text(text)) +) -> bool { + let resource = match state.resource_table.get::(rid) { + Ok(resource) => resource, + Err(_) => return false, + }; + resource.try_send(Message::Text(text)).is_ok() } #[op(fast)] @@ -514,9 +517,12 @@ pub fn op_ws_try_send_binary( state: &mut OpState, rid: u32, value: &[u8], -) -> Result { - let resource = state.resource_table.get::(rid)?; - resource.try_send(Message::Binary(value.to_vec())) +) -> bool { + let resource = match state.resource_table.get::(rid) { + Ok(resource) => resource, + Err(_) => return false, + }; + resource.try_send(Message::Binary(value.to_vec())).is_ok() } #[op(deferred)] -- cgit v1.2.3