diff options
author | Mikail Bagishov <bagishov.mikail@yandex.ru> | 2020-05-21 20:42:28 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-21 19:42:28 +0200 |
commit | 1e54a35325fa371d61c428ead5879a6bb1b0ddf6 (patch) | |
tree | 447d100ec00371b09f3aa3da99f00e6a0d0fecb8 /tokio/src/io/util | |
parent | 4f4f4807c3fe21cbfde82d894f044636b52cb04b (diff) |
io: remove zeroing for AsyncRead implementors (#2525)
Diffstat (limited to 'tokio/src/io/util')
-rw-r--r-- | tokio/src/io/util/chain.rs | 9 | ||||
-rw-r--r-- | tokio/src/io/util/empty.rs | 3 | ||||
-rw-r--r-- | tokio/src/io/util/repeat.rs | 3 |
3 files changed, 15 insertions, 0 deletions
diff --git a/tokio/src/io/util/chain.rs b/tokio/src/io/util/chain.rs index bc76af34..8ba9194f 100644 --- a/tokio/src/io/util/chain.rs +++ b/tokio/src/io/util/chain.rs @@ -84,6 +84,15 @@ where T: AsyncRead, U: AsyncRead, { + unsafe fn prepare_uninitialized_buffer(&self, buf: &mut [std::mem::MaybeUninit<u8>]) -> bool { + if self.first.prepare_uninitialized_buffer(buf) { + return true; + } + if self.second.prepare_uninitialized_buffer(buf) { + return true; + } + false + } fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, diff --git a/tokio/src/io/util/empty.rs b/tokio/src/io/util/empty.rs index 121102c7..576058d5 100644 --- a/tokio/src/io/util/empty.rs +++ b/tokio/src/io/util/empty.rs @@ -47,6 +47,9 @@ cfg_io_util! { } impl AsyncRead for Empty { + unsafe fn prepare_uninitialized_buffer(&self, _buf: &mut [std::mem::MaybeUninit<u8>]) -> bool { + false + } #[inline] fn poll_read( self: Pin<&mut Self>, diff --git a/tokio/src/io/util/repeat.rs b/tokio/src/io/util/repeat.rs index 6b9067e8..eeef7cc1 100644 --- a/tokio/src/io/util/repeat.rs +++ b/tokio/src/io/util/repeat.rs @@ -47,6 +47,9 @@ cfg_io_util! { } impl AsyncRead for Repeat { + unsafe fn prepare_uninitialized_buffer(&self, _buf: &mut [std::mem::MaybeUninit<u8>]) -> bool { + false + } #[inline] fn poll_read( self: Pin<&mut Self>, |