summaryrefslogtreecommitdiff
path: root/ext/websocket
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2022-12-07 04:34:02 -0800
committerGitHub <noreply@github.com>2022-12-07 18:04:02 +0530
commit791e623c321dd9cc73263a64aa848af0111a812b (patch)
tree62577115a862144645a939beccf4a702c656c791 /ext/websocket
parent5dbc07935d47eaad48ba0a7b1a816c644f9446cd (diff)
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
Diffstat (limited to 'ext/websocket')
-rw-r--r--ext/websocket/lib.rs18
1 files changed, 12 insertions, 6 deletions
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<bool, AnyError> {
- let resource = state.resource_table.get::<WsStreamResource>(rid)?;
- resource.try_send(Message::Text(text))
+) -> bool {
+ let resource = match state.resource_table.get::<WsStreamResource>(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<bool, AnyError> {
- let resource = state.resource_table.get::<WsStreamResource>(rid)?;
- resource.try_send(Message::Binary(value.to_vec()))
+) -> bool {
+ let resource = match state.resource_table.get::<WsStreamResource>(rid) {
+ Ok(resource) => resource,
+ Err(_) => return false,
+ };
+ resource.try_send(Message::Binary(value.to_vec())).is_ok()
}
#[op(deferred)]