<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/std/src/os/net, branch lcnr/rustc-dev-guide</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=lcnr/rustc-dev-guide</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=lcnr/rustc-dev-guide'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-01T17:54:33+00:00</updated>
<entry>
<title>Update version placeholders</title>
<updated>2025-07-01T17:54:33+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2025-06-23T17:24:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9ce8930da62a9be15831b78b9834d91702872e15'/>
<id>urn:sha1:9ce8930da62a9be15831b78b9834d91702872e15</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #129121 - devnexen:stabilize_ext_linux_tcp_layer, r=tgross35</title>
<updated>2025-06-09T11:55:32+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-06-09T11:55:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d9563a5aa4b3cb361e5b9bf9c95e8a47b684119a'/>
<id>urn:sha1:d9563a5aa4b3cb361e5b9bf9c95e8a47b684119a</id>
<content type='text'>
Stabilize `tcp_quickack`

to stabilise the quickack part for now, tcp_deferaccept had been added at a later stage.

The related API calls are the following

```rust
// std::os::linux::net

// sealed trait, implemented for std::net::TcpStream
pub trait TcpStreamExt: Sealed{
  fn quickack(&amp;self) -&gt; io::Result&lt;bool&gt;;
  fn set_quickack(&amp;self, quickack: bool) -&gt; io::Result&lt;()&gt;;
}
```

Closes: https://github.com/rust-lang/rust/issues/96256
</content>
</entry>
<entry>
<title>Update std doctests for android</title>
<updated>2025-05-15T01:26:06+00:00</updated>
<author>
<name>Eric Huss</name>
<email>eric@huss.org</email>
</author>
<published>2025-05-15T01:26:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=57af157ce28b21b1b049346df62da72d5ee150fc'/>
<id>urn:sha1:57af157ce28b21b1b049346df62da72d5ee150fc</id>
<content type='text'>
This updates some doctests that fail to run on android. We will soon be
supporting cross-compiled doctests, and the `arm-android` job fails to
run these tests.

In summary:
- Android re-exports some traits from linux under a different path.
- Android doesn't seem to have common unix utilities like `true`,
  `false`, or `whoami`, so these are disabled.
</content>
</entry>
<entry>
<title>proposal to expand (a subset of) linux specific socket capabilities.</title>
<updated>2024-08-15T12:40:55+00:00</updated>
<author>
<name>David Carlier</name>
<email>devnexen@gmail.com</email>
</author>
<published>2024-08-15T12:01:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1666f8684d7cd274c24ef5dc3f09a3e192a463ba'/>
<id>urn:sha1:1666f8684d7cd274c24ef5dc3f09a3e192a463ba</id>
<content type='text'>
to stabilise the quickack part for now, tcp_deferaccept had been added at a
later stage.
</content>
</entry>
<entry>
<title>Reformat `use` declarations.</title>
<updated>2024-07-28T22:26:52+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-07-28T22:13:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=84ac80f1921afc243d71fd0caaa4f2838c294102'/>
<id>urn:sha1:84ac80f1921afc243d71fd0caaa4f2838c294102</id>
<content type='text'>
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
</content>
</entry>
<entry>
<title>Convert `Unix{Datagram,Stream}::{set_}passcred()` to per-OS traits</title>
<updated>2023-10-25T08:01:21+00:00</updated>
<author>
<name>John Millikin</name>
<email>john@john-millikin.com</email>
</author>
<published>2023-10-25T08:01:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=93f2f2c8ee44a8cb469fd7e656599c2b9546a1af'/>
<id>urn:sha1:93f2f2c8ee44a8cb469fd7e656599c2b9546a1af</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>os::net: expanding TcpStreamExt for Linux with `tcp_deferaccept`.</title>
<updated>2024-02-21T20:59:15+00:00</updated>
<author>
<name>David Carlier</name>
<email>devnexen@gmail.com</email>
</author>
<published>2024-01-05T21:22:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=85bf4439e614f2971523e380b69bb3be4c995894'/>
<id>urn:sha1:85bf4439e614f2971523e380b69bb3be4c995894</id>
<content type='text'>
allows for socket to process only when there is data to process,
the option sets a number of seconds until the data is ready.
</content>
</entry>
<entry>
<title>replace version placeholders</title>
<updated>2023-04-28T15:47:55+00:00</updated>
<author>
<name>Pietro Albini</name>
<email>pietro@pietroalbini.org</email>
</author>
<published>2023-04-16T14:33:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4e04da618391a3374ba7c37c2d4a6092aaab0927'/>
<id>urn:sha1:4e04da618391a3374ba7c37c2d4a6092aaab0927</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stabilise `unix_socket_abstract`</title>
<updated>2023-03-18T03:32:09+00:00</updated>
<author>
<name>John Millikin</name>
<email>john@john-millikin.com</email>
</author>
<published>2023-03-18T03:22:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a3f3db842df11849d7060eaa8c2b50d3e49bed03'/>
<id>urn:sha1:a3f3db842df11849d7060eaa8c2b50d3e49bed03</id>
<content type='text'>
Fixes https://github.com/rust-lang/rust/issues/85410
</content>
</entry>
<entry>
<title>Rollup merge of #106618 - jmillikin:os-net-rustdoc-wasm32, r=JohnTitor</title>
<updated>2023-01-29T05:14:16+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2023-01-29T05:14:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0f86ada9d8095a2cc61bfaf0b21f872e34602674'/>
<id>urn:sha1:0f86ada9d8095a2cc61bfaf0b21f872e34602674</id>
<content type='text'>
Disable `linux_ext` in wasm32 and fortanix rustdoc builds.

The `std::os::unix` module is stubbed out when building docs for these target platforms. The introduction of Linux-specific extension traits caused `std::os::net` to depend on sub-modules of `std::os::unix`, which broke rustdoc for the `wasm32-unknown-unknown` target.

Adding an additional `#[cfg]` guard solves that rustdoc failure by not declaring `linux_ext` on targets with a stubbed `std::os::unix`.

Fixes #105467
</content>
</entry>
</feed>
