From 0875329a4311eca5376804a0b8e39dedddbbaadc Mon Sep 17 00:00:00 2001 From: "Nathan.fooo" <86001920+appflowy@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:33:48 +0800 Subject: [PATCH] Fix ping (#284) * fix: create document crash * chore: fix ping * chore: clippy --- libs/client-api/src/native/http_native.rs | 1 + libs/websocket/src/message.rs | 4 ++-- libs/websocket/src/native.rs | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libs/client-api/src/native/http_native.rs b/libs/client-api/src/native/http_native.rs index 4056ac1e..a979a70a 100644 --- a/libs/client-api/src/native/http_native.rs +++ b/libs/client-api/src/native/http_native.rs @@ -153,6 +153,7 @@ impl WSClientHttpSender for Client { } } +// TODO(nathan): spawn for wasm pub fn platform_spawn(future: T) -> tokio::task::JoinHandle where T: Future + Send + 'static, diff --git a/libs/websocket/src/message.rs b/libs/websocket/src/message.rs index 238f4f05..2310eaf8 100644 --- a/libs/websocket/src/message.rs +++ b/libs/websocket/src/message.rs @@ -40,12 +40,12 @@ impl Message { /// Indicates whether a message is a ping message. pub fn is_ping(&self) -> bool { - false + matches!(self, Message::Ping(_)) } /// Indicates whether a message is a pong message. pub fn is_pong(&self) -> bool { - false + matches!(self, Message::Pong(_)) } /// Indicates whether a message ia s close message. diff --git a/libs/websocket/src/native.rs b/libs/websocket/src/native.rs index 316c8dfa..8eec31da 100644 --- a/libs/websocket/src/native.rs +++ b/libs/websocket/src/native.rs @@ -80,7 +80,9 @@ fn to_fut_message(msg: Result) -> FutMessage { Message::Text(inner) => Ok(crate::Message::Text(inner)), Message::Binary(inner) => Ok(crate::Message::Binary(inner)), Message::Close(inner) => Ok(crate::Message::Close(inner.map(Into::into))), - Message::Ping(_) | Message::Pong(_) | Message::Frame(_) => return None, + Message::Pong(inner) => Ok(crate::Message::Pong(inner)), + Message::Ping(inner) => Ok(crate::Message::Ping(inner)), + Message::Frame(_) => return None, }, Err(err) => Err(crate::Error::from(err)), };