Skip to content

Commit 057f6c2

Browse files
committed
Rename SockAddr::init to try_init
To match the function signature, which returns a result. Also allows to add an init function that never fails, if ever needed.
1 parent 14be1bc commit 057f6c2

File tree

3 files changed

+21
-21
lines changed

3 files changed

+21
-21
lines changed

src/sockaddr.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ impl SockAddr {
101101
///
102102
/// // Initialise a `SocketAddr` byte calling `getsockname(2)`.
103103
/// let (_, address) = unsafe {
104-
/// SockAddr::init(|addr_storage, len| {
104+
/// SockAddr::try_init(|addr_storage, len| {
105105
/// // The `getsockname(2)` system call will intiliase `storage` for
106106
/// // us, setting `len` to the correct length.
107107
/// if libc::getsockname(socket.as_raw_fd(), addr_storage.cast(), len) == -1 {
@@ -116,7 +116,7 @@ impl SockAddr {
116116
/// # Ok(())
117117
/// # }
118118
/// ```
119-
pub unsafe fn init<F, T>(init: F) -> io::Result<(T, SockAddr)>
119+
pub unsafe fn try_init<F, T>(init: F) -> io::Result<(T, SockAddr)>
120120
where
121121
F: FnOnce(*mut sockaddr_storage, *mut socklen_t) -> io::Result<T>,
122122
{

src/sys/unix.rs

+14-14
Original file line numberDiff line numberDiff line change
@@ -475,9 +475,9 @@ impl SockAddr {
475475
P: AsRef<Path>,
476476
{
477477
unsafe {
478-
SockAddr::init(|storage, len| {
479-
// Safety: `SockAddr::init` zeros the address, which is a valid
480-
// representation.
478+
SockAddr::try_init(|storage, len| {
479+
// Safety: `SockAddr::try_init` zeros the address, which is a
480+
// valid representation.
481481
let storage: &mut libc::sockaddr_un = unsafe { &mut *storage.cast() };
482482
let len: &mut socklen_t = unsafe { &mut *len };
483483

@@ -498,8 +498,8 @@ impl SockAddr {
498498
storage.sun_family = libc::AF_UNIX as sa_family_t;
499499
// Safety: `bytes` and `addr.sun_path` are not overlapping and
500500
// both point to valid memory.
501-
// `SockAddr::init` zeroes the memory, so the path is already
502-
// null terminated.
501+
// `SockAddr::try_init` zeroes the memory, so the path is
502+
// already null terminated.
503503
unsafe {
504504
ptr::copy_nonoverlapping(
505505
bytes.as_ptr(),
@@ -539,9 +539,9 @@ impl SockAddr {
539539
)]
540540
pub fn vsock(cid: u32, port: u32) -> io::Result<SockAddr> {
541541
unsafe {
542-
SockAddr::init(|storage, len| {
543-
// Safety: `SockAddr::init` zeros the address, which is a valid
544-
// representation.
542+
SockAddr::try_init(|storage, len| {
543+
// Safety: `SockAddr::try_init` zeros the address, which is a
544+
// valid representation.
545545
let storage: &mut libc::sockaddr_vm = unsafe { &mut *storage.cast() };
546546
let len: &mut socklen_t = unsafe { &mut *len };
547547

@@ -670,18 +670,18 @@ pub(crate) fn listen(fd: Socket, backlog: c_int) -> io::Result<()> {
670670

671671
pub(crate) fn accept(fd: Socket) -> io::Result<(Socket, SockAddr)> {
672672
// Safety: `accept` initialises the `SockAddr` for us.
673-
unsafe { SockAddr::init(|storage, len| syscall!(accept(fd, storage.cast(), len))) }
673+
unsafe { SockAddr::try_init(|storage, len| syscall!(accept(fd, storage.cast(), len))) }
674674
}
675675

676676
pub(crate) fn getsockname(fd: Socket) -> io::Result<SockAddr> {
677677
// Safety: `accept` initialises the `SockAddr` for us.
678-
unsafe { SockAddr::init(|storage, len| syscall!(getsockname(fd, storage.cast(), len))) }
678+
unsafe { SockAddr::try_init(|storage, len| syscall!(getsockname(fd, storage.cast(), len))) }
679679
.map(|(_, addr)| addr)
680680
}
681681

682682
pub(crate) fn getpeername(fd: Socket) -> io::Result<SockAddr> {
683683
// Safety: `accept` initialises the `SockAddr` for us.
684-
unsafe { SockAddr::init(|storage, len| syscall!(getpeername(fd, storage.cast(), len))) }
684+
unsafe { SockAddr::try_init(|storage, len| syscall!(getpeername(fd, storage.cast(), len))) }
685685
.map(|(_, addr)| addr)
686686
}
687687

@@ -723,7 +723,7 @@ pub(crate) fn recv_from(
723723
) -> io::Result<(usize, SockAddr)> {
724724
// Safety: `recvfrom` initialises the `SockAddr` for us.
725725
unsafe {
726-
SockAddr::init(|addr, addrlen| {
726+
SockAddr::try_init(|addr, addrlen| {
727727
syscall!(recvfrom(
728728
fd,
729729
buf.as_mut_ptr().cast(),
@@ -755,7 +755,7 @@ pub(crate) fn recv_from_vectored(
755755
// Safety: `recvmsg` initialises the address storage and we set the length
756756
// manually.
757757
unsafe {
758-
SockAddr::init(|storage, len| {
758+
SockAddr::try_init(|storage, len| {
759759
recvmsg(fd, storage, bufs, flags).map(|(n, addrlen, recv_flags)| {
760760
// Set the correct address length.
761761
*len = addrlen;
@@ -1100,7 +1100,7 @@ impl crate::Socket {
11001100
pub(crate) fn _accept4(&self, flags: c_int) -> io::Result<(crate::Socket, SockAddr)> {
11011101
// Safety: `accept4` initialises the `SockAddr` for us.
11021102
unsafe {
1103-
SockAddr::init(|storage, len| {
1103+
SockAddr::try_init(|storage, len| {
11041104
syscall!(accept4(self.as_raw(), storage.cast(), len, flags))
11051105
.map(crate::Socket::from_raw)
11061106
})

src/sys/windows.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ pub(crate) fn listen(socket: Socket, backlog: c_int) -> io::Result<()> {
311311
pub(crate) fn accept(socket: Socket) -> io::Result<(Socket, SockAddr)> {
312312
// Safety: `accept` initialises the `SockAddr` for us.
313313
unsafe {
314-
SockAddr::init(|storage, len| {
314+
SockAddr::try_init(|storage, len| {
315315
syscall!(
316316
accept(socket, storage.cast(), len),
317317
PartialEq::eq,
@@ -324,7 +324,7 @@ pub(crate) fn accept(socket: Socket) -> io::Result<(Socket, SockAddr)> {
324324
pub(crate) fn getsockname(socket: Socket) -> io::Result<SockAddr> {
325325
// Safety: `getsockname` initialises the `SockAddr` for us.
326326
unsafe {
327-
SockAddr::init(|storage, len| {
327+
SockAddr::try_init(|storage, len| {
328328
syscall!(
329329
getsockname(socket, storage.cast(), len),
330330
PartialEq::eq,
@@ -338,7 +338,7 @@ pub(crate) fn getsockname(socket: Socket) -> io::Result<SockAddr> {
338338
pub(crate) fn getpeername(socket: Socket) -> io::Result<SockAddr> {
339339
// Safety: `getpeername` initialises the `SockAddr` for us.
340340
unsafe {
341-
SockAddr::init(|storage, len| {
341+
SockAddr::try_init(|storage, len| {
342342
syscall!(
343343
getpeername(socket, storage.cast(), len),
344344
PartialEq::eq,
@@ -443,7 +443,7 @@ pub(crate) fn recv_from(
443443
) -> io::Result<(usize, SockAddr)> {
444444
// Safety: `recvfrom` initialises the `SockAddr` for us.
445445
unsafe {
446-
SockAddr::init(|storage, addrlen| {
446+
SockAddr::try_init(|storage, addrlen| {
447447
let res = syscall!(
448448
recvfrom(
449449
socket,
@@ -472,7 +472,7 @@ pub(crate) fn recv_from_vectored(
472472
) -> io::Result<(usize, RecvFlags, SockAddr)> {
473473
// Safety: `recvfrom` initialises the `SockAddr` for us.
474474
unsafe {
475-
SockAddr::init(|storage, addrlen| {
475+
SockAddr::try_init(|storage, addrlen| {
476476
let mut nread = 0;
477477
let mut flags = flags as u32;
478478
let res = syscall!(

0 commit comments

Comments
 (0)