diff options
Diffstat (limited to 'lib.rs')
-rw-r--r-- | lib.rs | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -196,6 +196,14 @@ impl io::Read for &Stream { Stream::Unix(s) => (&mut (&*s)).read(buf) } } + + fn read_vectored(&mut self, bufs: &mut [io::IoSliceMut]) -> io::Result<usize> { + match self { + Stream::Inet(s) => (&mut (&*s)).read_vectored(bufs), + #[cfg(unix)] + Stream::Unix(s) => (&mut (&*s)).read_vectored(bufs) + } + } } impl io::Write for &Stream { @@ -207,6 +215,14 @@ impl io::Write for &Stream { } } + fn write_vectored(&mut self, bufs: &[io::IoSlice]) -> io::Result<usize> { + match self { + Stream::Inet(s) => (&mut (&*s)).write_vectored(bufs), + #[cfg(unix)] + Stream::Unix(s) => (&mut (&*s)).write_vectored(bufs) + } + } + fn flush(&mut self) -> io::Result<()> { match self { Stream::Inet(s) => (&mut (&*s)).flush(), @@ -218,10 +234,12 @@ impl io::Write for &Stream { impl io::Read for Stream { fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { (&mut &*self).read(buf) } + fn read_vectored(&mut self, bufs: &mut [io::IoSliceMut]) -> io::Result<usize> { (&mut &*self).read_vectored(bufs) } } impl io::Write for Stream { fn write(&mut self, buf: &[u8]) -> io::Result<usize> { (&mut &*self).write(buf) } + fn write_vectored(&mut self, bufs: &[io::IoSlice]) -> io::Result<usize> { (&mut &*self).write_vectored(bufs) } fn flush(&mut self) -> io::Result<()> { (&mut &*self).flush() } } |