| use std::os::unix::io::AsRawFd; |
| use iovec::unix as iovec; |
| fn readv(&self, bufs: &mut [&mut IoVec]) -> io::Result<usize>; |
| fn writev(&self, bufs: &[&IoVec]) -> io::Result<usize>; |
| impl<T: AsRawFd> VecIo for T { |
| fn readv(&self, bufs: &mut [&mut IoVec]) -> io::Result<usize> { |
| let slice = iovec::as_os_slice_mut(bufs); |
| let len = cmp::min(<libc::c_int>::max_value() as usize, slice.len()); |
| let rc = libc::readv(self.as_raw_fd(), |
| Err(io::Error::last_os_error()) |
| fn writev(&self, bufs: &[&IoVec]) -> io::Result<usize> { |
| let slice = iovec::as_os_slice(bufs); |
| let len = cmp::min(<libc::c_int>::max_value() as usize, slice.len()); |
| let rc = libc::writev(self.as_raw_fd(), |
| Err(io::Error::last_os_error()) |