Skip to content

Commit 812bceb

Browse files
committed
Refactor io::Write impl for Socket
1 parent 22fa3a4 commit 812bceb

File tree

3 files changed

+15
-46
lines changed

3 files changed

+15
-46
lines changed

src/socket.rs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -940,21 +940,31 @@ impl<'a> Read for &'a Socket {
940940

941941
impl Write for Socket {
942942
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
943-
self.inner().write(buf)
943+
self.send(buf)
944+
}
945+
946+
#[cfg(not(target_os = "redox"))]
947+
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> io::Result<usize> {
948+
self.send_vectored(bufs)
944949
}
945950

946951
fn flush(&mut self) -> io::Result<()> {
947-
self.inner().flush()
952+
Ok(())
948953
}
949954
}
950955

951956
impl<'a> Write for &'a Socket {
952957
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
953-
self.inner().write(buf)
958+
self.send(buf)
959+
}
960+
961+
#[cfg(not(target_os = "redox"))]
962+
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> io::Result<usize> {
963+
self.send_vectored(bufs)
954964
}
955965

956966
fn flush(&mut self) -> io::Result<()> {
957-
self.inner().flush()
967+
Ok(())
958968
}
959969
}
960970

src/sys/unix.rs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
// except according to those terms.
88

99
use std::cmp::min;
10-
use std::io::Write;
1110
#[cfg(not(target_os = "redox"))]
1211
use std::io::{IoSlice, IoSliceMut};
1312
use std::mem::{self, size_of, size_of_val, MaybeUninit};
@@ -1040,26 +1039,6 @@ impl Socket {
10401039
}
10411040
}
10421041

1043-
impl Write for Socket {
1044-
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
1045-
<&Socket>::write(&mut &*self, buf)
1046-
}
1047-
1048-
fn flush(&mut self) -> io::Result<()> {
1049-
<&Socket>::flush(&mut &*self)
1050-
}
1051-
}
1052-
1053-
impl<'a> Write for &'a Socket {
1054-
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
1055-
send(self.fd, buf, 0)
1056-
}
1057-
1058-
fn flush(&mut self) -> io::Result<()> {
1059-
Ok(())
1060-
}
1061-
}
1062-
10631042
impl fmt::Debug for Socket {
10641043
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
10651044
let mut f = f.debug_struct("Socket");

src/sys/windows.rs

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
// except according to those terms.
88

99
use std::cmp::min;
10-
use std::io::{self, IoSlice, IoSliceMut, Write};
10+
use std::io::{self, IoSlice, IoSliceMut};
1111
use std::mem::{self, size_of, size_of_val, MaybeUninit};
1212
use std::net::{self, Ipv4Addr, Ipv6Addr, Shutdown};
1313
use std::os::windows::prelude::*;
@@ -892,26 +892,6 @@ impl Socket {
892892
}
893893
}
894894

895-
impl Write for Socket {
896-
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
897-
<&Socket>::write(&mut &*self, buf)
898-
}
899-
900-
fn flush(&mut self) -> io::Result<()> {
901-
<&Socket>::flush(&mut &*self)
902-
}
903-
}
904-
905-
impl<'a> Write for &'a Socket {
906-
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
907-
send(self.socket, buf, 0)
908-
}
909-
910-
fn flush(&mut self) -> io::Result<()> {
911-
Ok(())
912-
}
913-
}
914-
915895
impl fmt::Debug for Socket {
916896
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
917897
let mut f = f.debug_struct("Socket");

0 commit comments

Comments
 (0)