Andrew Kelley
ebcc6f166c
std.Io: bring back Timestamp but also keep Clock.Timestamp
...
this feels better
2025-10-29 06:20:49 -07:00
Andrew Kelley
47aa5a70a5
std: updating to std.Io interface
...
got the build runner compiling
2025-10-29 06:20:48 -07:00
Andrew Kelley
066864a0bf
std.zig.system: upgrade to std.Io.Reader
2025-10-29 06:20:48 -07:00
Andrew Kelley
b428612a20
WIP: hack away at std.Io return flight
2025-10-29 06:20:48 -07:00
Andrew Kelley
774df26835
WIP: hack at std.Io on a plane
2025-10-29 06:20:48 -07:00
Andrew Kelley
a6347a68a9
std.Io.net: implement receiving connectionless messages
2025-10-29 06:20:48 -07:00
Andrew Kelley
95dee2af9c
std.Io: implement netSend
2025-10-29 06:20:48 -07:00
Andrew Kelley
cde5a51d0c
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-29 06:20:48 -07:00
Andrew Kelley
b22400271f
std.Io.net.HostName: finish implementing DNS lookup
2025-10-29 06:20:48 -07:00
Andrew Kelley
2e1ab5d3f7
std.Io.Threaded: implement Group.cancel
2025-10-29 06:20:48 -07:00
Andrew Kelley
8e1da66ba1
std.Io: implement Group API
2025-10-29 06:20:48 -07:00
Andrew Kelley
f9d976a4e1
std.Io: rename asyncConcurrent to concurrent
2025-10-29 06:20:48 -07:00
Andrew Kelley
60c4bdb14c
Io.net: implement more networking
...
the next task is now implementing Io.Group
2025-10-29 06:20:48 -07:00
Andrew Kelley
8771a9f082
std.Io.net: progress towards DNS resolution
2025-10-29 06:20:48 -07:00
Andrew Kelley
e7c9df9fb0
Io.net: use resolve for IPv6
...
/etc/resolv.conf might have IPv6 addresses with scope in it, so this is
needed.
2025-10-29 06:20:48 -07:00
Andrew Kelley
5089352b86
std.Io: rename ThreadPool to Threaded
2025-10-29 06:20:48 -07:00
Andrew Kelley
0e9280ef1a
std.Io: extract Dir to separate file
2025-10-29 06:20:48 -07:00
Andrew Kelley
fc1e3d5bc9
Io.net: partial implementation of dns lookup
2025-10-29 06:20:48 -07:00
Andrew Kelley
e7729a7b89
std: start moving fs.File to Io
2025-10-29 06:20:48 -07:00
Andrew Kelley
bd3c65f752
std.Io.net: partially implement HostName.lookup
2025-10-29 06:20:48 -07:00
Andrew Kelley
668f905243
add some networking
2025-10-29 06:20:48 -07:00
Andrew Kelley
84d60404be
std.Io: delete asyncParallel
2025-10-29 06:20:48 -07:00
Andrew Kelley
7ead86e339
std.Io: fix error handling and asyncParallel docs
2025-10-29 06:20:48 -07:00
Andrew Kelley
f762597724
std.Io: add asyncConcurrent and asyncParallel
2025-10-29 06:20:48 -07:00
Andrew Kelley
f5d8492b1f
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-29 06:20:48 -07:00
Andrew Kelley
14c3dc4c49
revert std.Thread.Pool for now
...
and move the Io impl to a separate file
2025-10-29 06:20:48 -07:00
Andrew Kelley
e1cbcecf89
Io: update for new linked list API
2025-10-29 06:20:48 -07:00
Andrew Kelley
4b657d2de5
std.Io: remove @ptrCast workarounds
...
thanks to d53cc5e5b2ac51793ea19a847d8cee409af1dee3
2025-10-29 06:20:48 -07:00
Andrew Kelley
7aa4062f5c
introduce Io.select and implement it in thread pool
2025-10-29 06:20:48 -07:00
Jacob Young
c4fcf85c43
Io.Condition: implement full API
2025-10-29 06:20:48 -07:00
Andrew Kelley
929b616e0f
std.Io.Condition: change primitive to support only one
...
and no timer
2025-10-29 06:20:48 -07:00
Andrew Kelley
266bcfbf2f
EventLoop: implement detached async
...
data races on deinit tho
2025-10-29 06:20:48 -07:00
Jacob Young
f84aca36c3
Io: implement faster mutex
2025-10-29 06:20:48 -07:00
Andrew Kelley
a1c1d06b19
std.Io: add detached async
2025-10-29 06:20:48 -07:00
Andrew Kelley
0d4b358dd8
implement Mutex, Condition, and Queue
2025-10-29 06:20:48 -07:00
Jacob Young
08b609a79f
Io: implement sleep and fix cancel bugs
2025-10-29 06:20:48 -07:00
Jacob Young
5041c9ad9c
EventLoop: implement thread-local queues and cancellation
2025-10-29 06:20:48 -07:00
Andrew Kelley
e7caf3a54c
std.Io: introduce cancellation
2025-10-29 06:20:47 -07:00
Andrew Kelley
a29b2122d2
better API for Io.async
2025-10-29 06:20:47 -07:00
Andrew Kelley
66b0f7e92b
start adding fs functions to std.Io
2025-10-29 06:20:47 -07:00
Andrew Kelley
31ed2d6715
fix context passing in threaded Io impl
2025-10-29 06:20:47 -07:00
Andrew Kelley
4d56267938
demo: single-threaded green threads implementation
2025-10-29 06:20:47 -07:00
Andrew Kelley
21b7316772
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-29 06:20:47 -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