Represent SocketAddrV4 and SocketAddrV6 as Rust native encoding

This commit is contained in:
Linus Färnstrand
2020-11-01 00:27:55 +01:00
parent 10f4ce324b
commit 55e23db137
4 changed files with 100 additions and 105 deletions

View File

@@ -139,8 +139,8 @@ impl Socket {
pub fn connect_timeout(&self, addr: &SocketAddr, timeout: Duration) -> io::Result<()> {
self.set_nonblocking(true)?;
let r = unsafe {
let (addrp, len) = addr.into_inner();
cvt(libc::connect(self.as_raw_fd(), addrp, len))
let (addr, len) = addr.into_inner();
cvt(libc::connect(self.as_raw_fd(), addr.as_ptr(), len))
};
self.set_nonblocking(false)?;

View File

@@ -143,8 +143,8 @@ impl Socket {
pub fn connect_timeout(&self, addr: &SocketAddr, timeout: Duration) -> io::Result<()> {
self.set_nonblocking(true)?;
let result = {
let (addrp, len) = addr.into_inner();
let result = unsafe { c::connect(self.as_raw_socket(), addrp, len) };
let (addr, len) = addr.into_inner();
let result = unsafe { c::connect(self.as_raw_socket(), addr.as_ptr(), len) };
cvt(result).map(drop)
};
self.set_nonblocking(false)?;