diff --git a/clients/client-core/src/client/real_messages_control/real_traffic_stream.rs b/clients/client-core/src/client/real_messages_control/real_traffic_stream.rs index a7d62910e5..230e52b290 100644 --- a/clients/client-core/src/client/real_messages_control/real_traffic_stream.rs +++ b/clients/client-core/src/client/real_messages_control/real_traffic_stream.rs @@ -384,7 +384,10 @@ where match Pin::new(&mut self.real_receiver).poll_recv(cx) { // in the case our real message channel stream was closed, we should also indicate we are closed // (and whoever is using the stream should panic) - Poll::Ready(None) => Poll::Ready(None), + Poll::Ready(None) => { + log::error!("real receiver ready(none)"); + Poll::Ready(None) + } Poll::Ready(Some((real_messages, conn_id))) => { log::trace!("handling real_messages: size: {}", real_messages.len()); diff --git a/common/client-libs/gateway-client/src/socket_state.rs b/common/client-libs/gateway-client/src/socket_state.rs index 2bedf1e8ed..f2cb18a6ed 100644 --- a/common/client-libs/gateway-client/src/socket_state.rs +++ b/common/client-libs/gateway-client/src/socket_state.rs @@ -100,7 +100,7 @@ impl PartiallyDelegated { let ret_err = loop { tokio::select! { - _ = shutdown.recv() => { + _ = shutdown.recv_with_delay() => { log::trace!("GatewayClient listener: Received shutdown"); log::debug!("GatewayClient listener: Exiting"); return; diff --git a/common/task/src/manager.rs b/common/task/src/manager.rs index 3729d317a9..256b1a6a18 100644 --- a/common/task/src/manager.rs +++ b/common/task/src/manager.rs @@ -254,12 +254,13 @@ impl TaskClient { } pub async fn recv_with_delay(&mut self) { - self.recv() - .then(|msg| async move { - sleep(Duration::from_secs(1)).await; - msg - }) - .await + pending().await + //self.recv() + // .then(|msg| async move { + // sleep(Duration::from_secs(1)).await; + // msg + // }) + // .await } pub async fn recv_timeout(&mut self) {