From bd177f3ea31e47b94dd400239a9badfe2bd47355 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sat, 27 Apr 2019 08:34:08 -0700 Subject: Stabilized vectored IO This renames `std::io::IoVec` to `std::io::IoSlice` and `std::io::IoVecMut` to `std::io::IoSliceMut`, and stabilizes `std::io::IoSlice`, `std::io::IoSliceMut`, `std::io::Read::read_vectored`, and `std::io::Write::write_vectored`. Closes #58452 --- src/libstd/sys/windows/fs.rs | 6 +++--- src/libstd/sys/windows/handle.rs | 8 ++++---- src/libstd/sys/windows/io.rs | 16 ++++++++-------- src/libstd/sys/windows/net.rs | 6 +++--- src/libstd/sys/windows/pipe.rs | 6 +++--- 5 files changed, 21 insertions(+), 21 deletions(-) (limited to 'src/libstd/sys/windows') diff --git a/src/libstd/sys/windows/fs.rs b/src/libstd/sys/windows/fs.rs index 1d8e47a4793..d5cb205c85f 100644 --- a/src/libstd/sys/windows/fs.rs +++ b/src/libstd/sys/windows/fs.rs @@ -2,7 +2,7 @@ use crate::os::windows::prelude::*; use crate::ffi::OsString; use crate::fmt; -use crate::io::{self, Error, SeekFrom, IoVec, IoVecMut}; +use crate::io::{self, Error, SeekFrom, IoSlice, IoSliceMut}; use crate::mem; use crate::path::{Path, PathBuf}; use crate::ptr; @@ -314,7 +314,7 @@ impl File { self.handle.read(buf) } - pub fn read_vectored(&self, bufs: &mut [IoVecMut<'_>]) -> io::Result { + pub fn read_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> io::Result { self.handle.read_vectored(bufs) } @@ -326,7 +326,7 @@ impl File { self.handle.write(buf) } - pub fn write_vectored(&self, bufs: &[IoVec<'_>]) -> io::Result { + pub fn write_vectored(&self, bufs: &[IoSlice<'_>]) -> io::Result { self.handle.write_vectored(bufs) } diff --git a/src/libstd/sys/windows/handle.rs b/src/libstd/sys/windows/handle.rs index c3fa6c4e0bd..3e5aa693354 100644 --- a/src/libstd/sys/windows/handle.rs +++ b/src/libstd/sys/windows/handle.rs @@ -1,7 +1,7 @@ #![unstable(issue = "0", feature = "windows_handle")] use crate::cmp; -use crate::io::{self, ErrorKind, Read, IoVec, IoVecMut}; +use crate::io::{self, ErrorKind, Read, IoSlice, IoSliceMut}; use crate::mem; use crate::ops::Deref; use crate::ptr; @@ -89,7 +89,7 @@ impl RawHandle { } } - pub fn read_vectored(&self, bufs: &mut [IoVecMut<'_>]) -> io::Result { + pub fn read_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> io::Result { crate::io::default_read_vectored(|buf| self.read(buf), bufs) } @@ -173,7 +173,7 @@ impl RawHandle { Ok(amt as usize) } - pub fn write_vectored(&self, bufs: &[IoVec<'_>]) -> io::Result { + pub fn write_vectored(&self, bufs: &[IoSlice<'_>]) -> io::Result { crate::io::default_write_vectored(|buf| self.write(buf), bufs) } @@ -208,7 +208,7 @@ impl<'a> Read for &'a RawHandle { (**self).read(buf) } - fn read_vectored(&mut self, bufs: &mut [IoVecMut<'_>]) -> io::Result { + fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> io::Result { (**self).read_vectored(bufs) } } diff --git a/src/libstd/sys/windows/io.rs b/src/libstd/sys/windows/io.rs index 54dd271c9d6..c045a63e911 100644 --- a/src/libstd/sys/windows/io.rs +++ b/src/libstd/sys/windows/io.rs @@ -3,16 +3,16 @@ use crate::slice; use crate::sys::c; #[repr(transparent)] -pub struct IoVec<'a> { +pub struct IoSlice<'a> { vec: c::WSABUF, _p: PhantomData<&'a [u8]>, } -impl<'a> IoVec<'a> { +impl<'a> IoSlice<'a> { #[inline] - pub fn new(buf: &'a [u8]) -> IoVec<'a> { + pub fn new(buf: &'a [u8]) -> IoSlice<'a> { assert!(buf.len() <= c::ULONG::max_value() as usize); - IoVec { + IoSlice { vec: c::WSABUF { len: buf.len() as c::ULONG, buf: buf.as_ptr() as *mut u8 as *mut c::CHAR, @@ -29,16 +29,16 @@ impl<'a> IoVec<'a> { } } -pub struct IoVecMut<'a> { +pub struct IoSliceMut<'a> { vec: c::WSABUF, _p: PhantomData<&'a mut [u8]>, } -impl<'a> IoVecMut<'a> { +impl<'a> IoSliceMut<'a> { #[inline] - pub fn new(buf: &'a mut [u8]) -> IoVecMut<'a> { + pub fn new(buf: &'a mut [u8]) -> IoSliceMut<'a> { assert!(buf.len() <= c::ULONG::max_value() as usize); - IoVecMut { + IoSliceMut { vec: c::WSABUF { len: buf.len() as c::ULONG, buf: buf.as_mut_ptr() as *mut c::CHAR, diff --git a/src/libstd/sys/windows/net.rs b/src/libstd/sys/windows/net.rs index 1231fd55e25..7dd1af5441b 100644 --- a/src/libstd/sys/windows/net.rs +++ b/src/libstd/sys/windows/net.rs @@ -1,7 +1,7 @@ #![unstable(issue = "0", feature = "windows_net")] use crate::cmp; -use crate::io::{self, Read, IoVec, IoVecMut}; +use crate::io::{self, Read, IoSlice, IoSliceMut}; use crate::mem; use crate::net::{SocketAddr, Shutdown}; use crate::ptr; @@ -208,7 +208,7 @@ impl Socket { self.recv_with_flags(buf, 0) } - pub fn read_vectored(&self, bufs: &mut [IoVecMut<'_>]) -> io::Result { + pub fn read_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> io::Result { // On unix when a socket is shut down all further reads return 0, so we // do the same on windows to map a shut down socket to returning EOF. let len = cmp::min(bufs.len(), c::DWORD::max_value() as usize) as c::DWORD; @@ -268,7 +268,7 @@ impl Socket { self.recv_from_with_flags(buf, c::MSG_PEEK) } - pub fn write_vectored(&self, bufs: &[IoVec<'_>]) -> io::Result { + pub fn write_vectored(&self, bufs: &[IoSlice<'_>]) -> io::Result { let len = cmp::min(bufs.len(), c::DWORD::max_value() as usize) as c::DWORD; let mut nwritten = 0; unsafe { diff --git a/src/libstd/sys/windows/pipe.rs b/src/libstd/sys/windows/pipe.rs index 6613d3a0567..493ee8a9a2d 100644 --- a/src/libstd/sys/windows/pipe.rs +++ b/src/libstd/sys/windows/pipe.rs @@ -1,7 +1,7 @@ use crate::os::windows::prelude::*; use crate::ffi::OsStr; -use crate::io::{self, IoVec, IoVecMut}; +use crate::io::{self, IoSlice, IoSliceMut}; use crate::mem; use crate::path::Path; use crate::ptr; @@ -166,7 +166,7 @@ impl AnonPipe { self.inner.read(buf) } - pub fn read_vectored(&self, bufs: &mut [IoVecMut<'_>]) -> io::Result { + pub fn read_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> io::Result { self.inner.read_vectored(bufs) } @@ -174,7 +174,7 @@ impl AnonPipe { self.inner.write(buf) } - pub fn write_vectored(&self, bufs: &[IoVec<'_>]) -> io::Result { + pub fn write_vectored(&self, bufs: &[IoSlice<'_>]) -> io::Result { self.inner.write_vectored(bufs) } } -- cgit 1.4.1-3-g733a5