From d16e50639a0dd5dac695338768adc4792c680ce7 Mon Sep 17 00:00:00 2001 From: Evan Mesterhazy Date: Wed, 9 Jun 2021 09:00:32 -0400 Subject: [PATCH] doc: clarify EOF condition for AsyncReadExt::read_buf (#3850) --- tokio/src/io/util/async_read_ext.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tokio/src/io/util/async_read_ext.rs b/tokio/src/io/util/async_read_ext.rs index 8ca0d3f10..878676fca 100644 --- a/tokio/src/io/util/async_read_ext.rs +++ b/tokio/src/io/util/async_read_ext.rs @@ -108,6 +108,8 @@ cfg_io_util! { /// This function does not provide any guarantees about whether it /// completes immediately or asynchronously /// + /// # Return + /// /// If the return value of this method is `Ok(n)`, then it must be /// guaranteed that `0 <= n <= buf.len()`. A nonzero `n` value indicates /// that the buffer `buf` has been filled in with `n` bytes of data from @@ -180,9 +182,14 @@ cfg_io_util! { /// /// # Return /// - /// On a successful read, the number of read bytes is returned. If the - /// supplied buffer is not empty and the function returns `Ok(0)` then - /// the source has reached an "end-of-file" event. + /// A nonzero `n` value indicates that the buffer `buf` has been filled + /// in with `n` bytes of data from this source. If `n` is `0`, then it + /// can indicate one of two scenarios: + /// + /// 1. This reader has reached its "end of file" and will likely no longer + /// be able to produce bytes. Note that this does not mean that the + /// reader will *always* no longer be able to produce bytes. + /// 2. The buffer specified had a remaining capacity of zero. /// /// # Errors ///