aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/message.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/message.rs b/src/message.rs
index cc816c6..b12da32 100644
--- a/src/message.rs
+++ b/src/message.rs
@@ -499,6 +499,11 @@ impl RespEnc {
let msg_len = reader.read_u32().await?;
let msg = reader.read_exact(msg_len as usize).await?;
+ // Check whether the response stream still has data or not.
+ // If no more data is coming, this will defuse the request canceller.
+ // If we didn't do this, and the client doesn't try to read from the stream,
+ // the request canceller doesn't know that we read everything and
+ // sends a cancellation message to the server (which they don't care about).
reader.fill_buffer().await;
Ok(Self {