From ecbb896b9eb2acadefde57be493e4298c1aa04a3 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sun, 14 May 2017 21:29:18 -0400 Subject: Add `Read::initializer`. This is an API that allows types to indicate that they can be passed buffers of uninitialized memory which can improve performance. --- src/libstd/net/tcp.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/libstd/net') diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs index c1493c9c6f4..7be1fc9cd8c 100644 --- a/src/libstd/net/tcp.rs +++ b/src/libstd/net/tcp.rs @@ -11,7 +11,7 @@ use io::prelude::*; use fmt; -use io; +use io::{self, Initializer}; use net::{ToSocketAddrs, SocketAddr, Shutdown}; use sys_common::net as net_imp; use sys_common::{AsInner, FromInner, IntoInner}; @@ -481,8 +481,10 @@ impl TcpStream { #[stable(feature = "rust1", since = "1.0.0")] impl Read for TcpStream { fn read(&mut self, buf: &mut [u8]) -> io::Result { self.0.read(buf) } - fn read_to_end(&mut self, buf: &mut Vec) -> io::Result { - self.0.read_to_end(buf) + + #[inline] + unsafe fn initializer(&self) -> Initializer { + Initializer::nop() } } #[stable(feature = "rust1", since = "1.0.0")] @@ -493,8 +495,10 @@ impl Write for TcpStream { #[stable(feature = "rust1", since = "1.0.0")] impl<'a> Read for &'a TcpStream { fn read(&mut self, buf: &mut [u8]) -> io::Result { self.0.read(buf) } - fn read_to_end(&mut self, buf: &mut Vec) -> io::Result { - self.0.read_to_end(buf) + + #[inline] + unsafe fn initializer(&self) -> Initializer { + Initializer::nop() } } #[stable(feature = "rust1", since = "1.0.0")] -- cgit 1.4.1-3-g733a5