diff --git a/examples/autobahn-client.rs b/examples/autobahn-client.rs index a536f0e..37f2941 100644 --- a/examples/autobahn-client.rs +++ b/examples/autobahn-client.rs @@ -1,5 +1,5 @@ use async_tungstenite::{connect_async, tungstenite::Result}; -use futures::StreamExt; +use futures::{SinkExt, StreamExt}; use log::*; use url::Url; diff --git a/examples/autobahn-server.rs b/examples/autobahn-server.rs index 8ccbf10..48fc2ee 100644 --- a/examples/autobahn-server.rs +++ b/examples/autobahn-server.rs @@ -1,6 +1,6 @@ use async_std::net::{SocketAddr, TcpListener, TcpStream, ToSocketAddrs}; use async_tungstenite::accept_async; -use futures::StreamExt; +use futures::{SinkExt, StreamExt}; use log::*; async fn accept_connection(peer: SocketAddr, stream: TcpStream) { diff --git a/examples/client.rs b/examples/client.rs index f0351ee..ab5bf71 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -12,7 +12,7 @@ use std::env; -use futures::StreamExt; +use futures::{SinkExt, StreamExt}; use log::*; use tungstenite::protocol::Message; diff --git a/examples/server.rs b/examples/server.rs index c38e141..5bdf76b 100644 --- a/examples/server.rs +++ b/examples/server.rs @@ -24,7 +24,7 @@ use async_std::net::{SocketAddr, ToSocketAddrs}; use async_std::net::{TcpListener, TcpStream}; use async_std::task; use futures::channel::mpsc::{UnboundedReceiver, UnboundedSender}; -use futures::StreamExt; +use futures::{SinkExt, StreamExt}; use log::*; use tungstenite::protocol::Message; diff --git a/src/lib.rs b/src/lib.rs index 1a5d597..1ec8f09 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -243,18 +243,6 @@ impl WebSocketStream { self.inner.get_mut().get_mut() } - /// Send a message to this websocket - pub async fn send(&mut self, msg: Message) -> Result<(), WsError> - where - S: AsyncWrite + AsyncRead + Unpin, - { - let f = SendFuture { - stream: self, - message: Some(msg), - }; - f.await - } - /// Close the underlying web socket pub async fn close(&mut self, msg: Option>) -> Result<(), WsError> where @@ -336,31 +324,6 @@ where } } -#[pin_project] -struct SendFuture<'a, T> { - stream: &'a mut WebSocketStream, - message: Option, -} - -impl<'a, T> Future for SendFuture<'a, T> -where - T: AsyncRead + AsyncWrite + Unpin, - AllowStd: Read + Write, -{ - type Output = Result<(), WsError>; - - fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { - let this = self.project(); - let message = this.message.take().expect("Cannot poll twice"); - Poll::Ready( - this.stream - .with_context(Some((ContextWaker::Write, cx)), |s| { - s.write_message(message) - }), - ) - } -} - #[pin_project] struct CloseFuture<'a, T> { stream: &'a mut WebSocketStream,