Commit Graph

9 Commits

Author SHA1 Message Date
Taiki Endo
7aa76a7ac3 Fix build failure on ARM/AArch64/PowerPC/RISC-V FreeBSD/NetBSD 2024-03-24 17:26:48 +09:00
David Carlier
19cb05fd78 std::net: adding acceptfilter feature for netbsd/freebsd.
similar to linux's ext deferaccept, to filter incoming connections
before accept.
2024-03-20 18:15:31 +00:00
John Millikin
93f2f2c8ee Convert Unix{Datagram,Stream}::{set_}passcred() to per-OS traits
These methods are the pre-stabilized API for obtaining peer credentials
from an `AF_UNIX` socket, part of the `unix_socket_ancillary_data` feature.

Their current behavior is to get/set one of the `SO_PASSCRED` (Linux),
`LOCAL_CREDS_PERSISTENT` (FreeBSD), or `LOCAL_CREDS` (NetBSD) socket
options. On other targets the `{set_}passcred()` methods do not exist.

There are two problems with this approach:

1. Having public methods only exist for certain targets isn't permitted
   in a stable `std` API.

2. These options have generally similar purposes, but they are non-POSIX
   and their details can differ in subtle and surprising ways (such as
   whether they continue to be set after the next call to `recvmsg()`).

Splitting into OS-specific extension traits is the preferred solution to
both problems.
2023-10-25 17:01:21 +09:00
bors
8790c3cc7c Auto merge of #119636 - devnexen:linux_tcp_defer_accept, r=m-ou-se
os::net: expanding TcpStreamExt for Linux with `tcp_deferaccept`.

allows for socket to process only when there is data to process, the option sets a number of seconds until the data is ready.
2024-02-27 16:00:39 +00:00
Pavel Grigorenko
ff187a92d8 library: use addr_of! 2024-02-24 16:02:17 +03:00
David Carlier
85bf4439e6 os::net: expanding TcpStreamExt for Linux with tcp_deferaccept.
allows for socket to process only when there is data to process,
the option sets a number of seconds until the data is ready.
2024-02-21 20:59:15 +00:00
Benoît du Garreau
0a42a540c6 Make io::BorrowedCursor::advance safe
This also keeps the old `advance` method under `advance_unchecked` name.

This makes pattern like `std::io::default_read_buf` safe to write.
2024-02-07 16:46:28 +01:00
joboet
411f34b782 std: fix module references on UNIX 2024-01-11 20:26:06 +01:00
joboet
99128b7e45 std: begin moving platform support modules into pal 2024-01-11 20:10:25 +01:00