From 9284702318bc7ad558fbb5de467d3f871d1adafc Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Sun, 30 Oct 2022 23:52:49 -0700 Subject: [PATCH] fix(ext/websocket): make try_send ops infallible (#16454) Fixes #16450 --- ext/websocket/lib.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ext/websocket/lib.rs b/ext/websocket/lib.rs index 337752c21f2777..61bc444592e710 100644 --- a/ext/websocket/lib.rs +++ b/ext/websocket/lib.rs @@ -505,9 +505,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)] @@ -515,9 +518,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)]