Andrew Kelley
8d03ec6766
std.Io.net: implement receiving connectionless messages
2025-10-02 16:30:59 -07:00
Andrew Kelley
96cf75977b
std.Io: implement netSend
2025-10-02 16:30:59 -07:00
Andrew Kelley
47f18ee6a0
std.Io.net: make netSend support multiple messages
...
this lowers to sendmmsg on linux, and means Io.Group is no longer
needed, resulting in a more efficient implementation.
2025-10-02 16:30:59 -07:00
Andrew Kelley
46e5068e48
std.Io.net.HostName: finish implementing DNS lookup
2025-10-02 16:30:59 -07:00
Andrew Kelley
a37c0bca22
std.Io.Threaded: implement Group.cancel
2025-10-02 16:30:59 -07:00
Andrew Kelley
3c9fdf810f
std.Io: implement Group API
2025-10-02 16:30:59 -07:00
Andrew Kelley
96dc44b5ea
std.Io: rename asyncConcurrent to concurrent
2025-10-02 16:30:59 -07:00
Andrew Kelley
79b807bf1c
Io.net: implement more networking
...
the next task is now implementing Io.Group
2025-10-02 16:30:59 -07:00
Andrew Kelley
3e8cc9c496
std.Io.net: progress towards DNS resolution
2025-10-02 16:30:59 -07:00
Andrew Kelley
888bf35ab0
Io.net: use resolve for IPv6
...
/etc/resolv.conf might have IPv6 addresses with scope in it, so this is
needed.
2025-10-02 16:30:59 -07:00
Andrew Kelley
0f2427c5d2
std.Io: rename ThreadPool to Threaded
2025-10-02 16:30:59 -07:00
Andrew Kelley
43eea7beec
std.Io: extract Dir to separate file
2025-10-02 16:30:59 -07:00
Andrew Kelley
e34bb9a413
Io.net: partial implementation of dns lookup
2025-10-02 16:30:59 -07:00
Andrew Kelley
676f1b492e
std: start moving fs.File to Io
2025-10-02 16:30:59 -07:00
Andrew Kelley
bdf463bee2
std.Io.net: partially implement HostName.lookup
2025-10-02 16:30:59 -07:00
Andrew Kelley
07cc4077fb
add some networking
2025-10-02 16:30:59 -07:00
Andrew Kelley
2746239fd3
std.Io: delete asyncParallel
2025-10-02 16:30:59 -07:00
Andrew Kelley
25b2954c0c
std.Io: fix error handling and asyncParallel docs
2025-10-02 16:30:59 -07:00
Andrew Kelley
9fd1ecb348
std.Io: add asyncConcurrent and asyncParallel
2025-10-02 16:30:59 -07:00
Andrew Kelley
806214797a
std.Io: rename go to asyncDetached
...
it's a better name because it's more descriptive, not a reference, and
hints that it is less common than async
2025-10-02 16:30:59 -07:00
Andrew Kelley
9a62dc4d89
revert std.Thread.Pool for now
...
and move the Io impl to a separate file
2025-10-02 16:30:59 -07:00
Andrew Kelley
0c0ea7844e
Io: update for new linked list API
2025-10-02 16:30:59 -07:00
Andrew Kelley
61c38d77c6
std.Io: remove @ptrCast workarounds
...
thanks to d53cc5e5b2
2025-10-02 16:30:59 -07:00
Andrew Kelley
4a3ef0f779
introduce Io.select and implement it in thread pool
2025-10-02 16:30:59 -07:00
Jacob Young
6ba65ca972
Io.Condition: implement full API
2025-10-02 16:30:59 -07:00
Andrew Kelley
e5b2df0c9b
std.Io.Condition: change primitive to support only one
...
and no timer
2025-10-02 16:30:59 -07:00
Andrew Kelley
663611773c
EventLoop: implement detached async
...
data races on deinit tho
2025-10-02 16:30:59 -07:00
Jacob Young
0f083f24ff
Io: implement faster mutex
2025-10-02 16:30:59 -07:00
Andrew Kelley
0086d315f5
std.Io: add detached async
2025-10-02 16:30:59 -07:00
Andrew Kelley
5508b4c887
implement Mutex, Condition, and Queue
2025-10-02 16:30:59 -07:00
Jacob Young
b01244d225
Io: implement sleep and fix cancel bugs
2025-10-02 16:30:59 -07:00
Jacob Young
b37126bc08
EventLoop: implement thread-local queues and cancellation
2025-10-02 16:30:59 -07:00
Andrew Kelley
c278830592
std.Io: introduce cancellation
2025-10-02 16:30:59 -07:00
Andrew Kelley
79e278f6a2
better API for Io.async
2025-10-02 16:30:59 -07:00
Andrew Kelley
be68b28b9b
start adding fs functions to std.Io
2025-10-02 16:30:59 -07:00
Andrew Kelley
acd02e978b
fix context passing in threaded Io impl
2025-10-02 16:30:59 -07:00
Andrew Kelley
1e09d7f499
demo: single-threaded green threads implementation
2025-10-02 16:30:59 -07:00
Andrew Kelley
63c554d5a7
introduce std.Io interface
...
which is planned to have all I/O operations in the interface, but for
now has only async and await.
2025-10-02 16:30:59 -07:00
Andrew Kelley
79f267f6b9
std.Io: delete GenericReader
...
and delete deprecated alias std.io
2025-08-29 17:14:26 -07:00
Andrew Kelley
558bea2a76
std.Io: delete CountingReader
2025-08-29 11:11:59 -07:00
Andrew Kelley
9860dd475a
std: delete most remaining uses of GenericWriter
2025-08-28 18:30:57 -07:00
Andrew Kelley
57dbc9e74a
std.Io: delete GenericWriter
2025-08-28 18:30:57 -07:00
Andrew Kelley
a0f9a5e78d
std: more reliable HTTP and TLS networking
...
* std.Io.Reader: fix confused semantics of rebase. Before it was
ambiguous whether it was supposed to be based on end or seek. Now it
is clearly based on seek, with an added assertion for clarity.
* std.crypto.tls.Client: fix panic due to not enough buffer size
available. Also, avoid unnecessary rebasing.
* std.http.Reader: introduce max_head_len to limit HTTP header length.
This prevents crash in underlying reader which may require a minimum
buffer length.
* std.http.Client: choose better buffer sizes for streams and TLS
client. Crucially, the buffer shared by HTTP reader and TLS client
needs to be big enough for all http headers *and* the max TLS record
size. Bump HTTP header size default from 4K to 8K.
fixes #24872
I have noticed however that there are still fetch problems
2025-08-16 00:16:15 -07:00
Andrew Kelley
749f10af49
std.ArrayList: make unmanaged the default
2025-08-11 15:52:49 -07:00
Andrew Kelley
045bb14897
zig std: fix build failures
2025-08-08 17:17:53 -07:00
Andrew Kelley
8c9dfcbd0f
std.Io: remove BufferedWriter
2025-08-08 17:17:53 -07:00
Andrew Kelley
94dd28b7f7
std.Io: delete CountingWriter
2025-08-07 22:26:42 -07:00
Andrew Kelley
262bfc5826
std.Io: delete LimitedReader
2025-08-07 10:04:52 -07:00
Andrew Kelley
e061445fc2
std.Io: delete BufferedReader
2025-08-07 10:04:52 -07:00
Matthew Lugg
fd9cfc39f5
Merge pull request #24199 from Justus2308/24106-fmt-casts
...
zig fmt: canonicalize nested cast builtin order
2025-08-07 10:55:03 +01:00