1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-25 15:29:32 -05:00

fix(ext/websocket): make try_send ops infallible (#16454)

Fixes #16450
This commit is contained in:
Divy Srivastava 2022-10-30 23:52:49 -07:00 committed by GitHub
parent 80ed54a4b6
commit d76014192d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -505,9 +505,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)]
@ -515,9 +518,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)]