diff options
-rw-r--r-- | src/message.rs | 5 |
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 { |