aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Io/net.zig
AgeCommit message (Collapse)Author
2025-11-06Io.net: set `receive{,Timeout}` message to `init`David Rubin
If we use `undefined`, then `netReceive` can `@intCast` the control slice len to msghdr controllen, which is sometimes `u32`, even on 64-bit platforms. `init` just avoids this entirely by setting `control` to an empty slice rather than undefined.
2025-11-06Io: fix compile error in `receive` and `receiveTimeout`David Rubin
Correctly uses the `netReceive` API. If an error was returned, we propagate that error, otherwise assert we only received one message.
2025-10-29std.Io.Threaded: implement Unix sockets for WindowsAndrew Kelley
2025-10-29std.Io.net: make it easier to use netReceiveMany correctlyAndrew Kelley
2025-10-29std.Io.net.Socket.send: fix compilation errorsAndrew Kelley
2025-10-29std.Io: add dirCloseAndrew Kelley
2025-10-29std.Io.net.Server: refine AcceptError setAndrew Kelley
2025-10-29std.Io.Threaded: fix netWrite cancellationAndrew Kelley
Move std.posix logic over rather than calling into it.
2025-10-29fix miscellaneous compilation failuresAndrew Kelley
2025-10-29std: make IPv6 address parsing system-independentAndrew Kelley
before, the max length of the host name depended on the target.
2025-10-29std: fix macos compilation errorsAndrew Kelley
2025-10-29std.Io.net.Stream: add "const" variant to "close"Andrew Kelley
useful for resource management
2025-10-29std.Io: implement SelectAndrew Kelley
and finish implementation of HostName.connect
2025-10-29std.Io.net.HostName: move lookup to the interfaceAndrew Kelley
Unfortunately this can't be implemented "above the vtable" because various operating systems don't provide low level DNS resolution primitives such as just putting the list of nameservers in a file. Without libc on Linux it works great though! Anyway this also changes the API to be based on Io.Queue. By using a large enough buffer, reusable code can be written that does not require concurrent, yet takes advantage of responding to DNS queries as they come in. I sketched out a new implementation of `HostName.connect` to demonstrate this, but it will require an additional API (`Io.Select`) to be implemented in a future commit. This commit also introduces "uncancelable" variants for mutex locking, waiting on a condition, and putting items into a queue.
2025-10-29std.Io.Threaded: implement connecting to unix socketsAndrew Kelley
2025-10-29std.Io.Threaded: implement netListenUnixAndrew Kelley
2025-10-29std.net: IPv6 parsing fixesAndrew Kelley
2025-10-29std.Io.net: fix parsing IPv4-mapped IPv6 addressesAndrew Kelley
2025-10-29std.Io.net.Stream.Reader: fix not using bufferAndrew Kelley
2025-10-29std.Io.Threaded.netReadPosix: support cancelationAndrew Kelley
2025-10-29std.Io: add unix domain sockets APIAndrew Kelley
note that "reuseaddr" does nothing for these
2025-10-29std: updating to std.Io interfaceAndrew Kelley
got the build runner compiling
2025-10-29std.zig.system: upgrade to std.Io.ReaderAndrew Kelley
2025-10-29WIP: hack away at std.Io return flightAndrew Kelley
2025-10-29WIP: hack at std.Io on a planeAndrew Kelley
2025-10-29WIP land the std.Io interfaceAndrew Kelley
fix std lib compilation errors caused by introducing std.Io
2025-10-29std.Io.net: implement receiving connectionless messagesAndrew Kelley
2025-10-29std.Io: implement netSendAndrew Kelley
2025-10-29std.Io.net: make netSend support multiple messagesAndrew Kelley
this lowers to sendmmsg on linux, and means Io.Group is no longer needed, resulting in a more efficient implementation.
2025-10-29std.Io.net.HostName: finish implementing DNS lookupAndrew Kelley
2025-10-29Io.net: implement more networkingAndrew Kelley
the next task is now implementing Io.Group
2025-10-29std.Io.net: progress towards DNS resolutionAndrew Kelley
2025-10-29std.net: fix parsing IPv6 addr "::"Andrew Kelley
2025-10-29Io.net: finish implementing IPv6 parsingAndrew Kelley
2025-10-29Io.net: use resolve for IPv6Andrew Kelley
/etc/resolv.conf might have IPv6 addresses with scope in it, so this is needed.
2025-10-29Io.net: rework IPv6 parsing and printingAndrew Kelley
extract pure functional logic into pure functions and then layer the scope crap on top properly the formatting code incorrectly didn't do the reverse operation (if_indextoname). fix that with some TODO panics
2025-10-29std.Io: extract Dir to separate fileAndrew Kelley
2025-10-29Io.net: partial implementation of dns lookupAndrew Kelley
2025-10-29Io.net: implement sortLookupResultsAndrew Kelley
2025-10-29std: start moving fs.File to IoAndrew Kelley
2025-10-29std.Io.net: partially implement HostName.lookupAndrew Kelley
2025-10-29add some networkingAndrew Kelley