Andrew Kelley
d4545f216a
std.io: start removing context from Reader/Writer
...
rely on the field parent pointer pattern
2025-07-01 16:35:30 -07:00
Andrew Kelley
7d6b5ed510
std.io: Reader and Writer check vtable ptr rather than context
2025-07-01 16:35:30 -07:00
Andrew Kelley
c27ab8b45d
std: update zstd to new API
2025-07-01 16:35:30 -07:00
Andrew Kelley
7926081ec3
fix std.fs.File.Reader
2025-07-01 16:35:30 -07:00
Andrew Kelley
837f2bfc69
hello world compiling again
2025-07-01 16:35:30 -07:00
Andrew Kelley
af24e722fb
update some stuff to std.io API
2025-07-01 16:35:29 -07:00
Andrew Kelley
52b3275eb2
readable -> reader / writable -> writer
2025-07-01 16:35:29 -07:00
Andrew Kelley
ef8d7aa251
std: fix a couple compilation errors
2025-07-01 16:35:29 -07:00
Andrew Kelley
f04bc71ed7
std.io.Reader: update readSliceShort to new API
...
no more readVec
2025-07-01 16:35:29 -07:00
Andrew Kelley
0027cc1b1a
std.io.Writer: implement writableVectorIterator
2025-07-01 16:35:29 -07:00
Andrew Kelley
084e45fd86
std.io.Reader: implement readVec
...
and specify that data.len == 0 means "flush"
2025-07-01 16:35:29 -07:00
Andrew Kelley
9d163c7ac3
std.net: update to new IO API
2025-07-01 16:35:29 -07:00
Andrew Kelley
1e2aab2f97
std: combine BufferedWriter into Writer
2025-07-01 16:35:29 -07:00
Andrew Kelley
3c98e2c826
std: combine BufferedReader into Reader
2025-07-01 16:35:29 -07:00
Andrew Kelley
ba684a18ca
std: upgrade more API to use File.Reader
2025-07-01 16:35:29 -07:00
Andrew Kelley
2f5574ac08
std: finish renaming RwError to StreamError
2025-07-01 16:35:29 -07:00
Andrew Kelley
3650cd3e8e
std.fs.File: update for new writeFile API
2025-07-01 16:35:29 -07:00
Andrew Kelley
74c56376ee
std: update http.WebSocket to new API
2025-07-01 16:35:29 -07:00
Andrew Kelley
da303bdaf1
std: fix a bunch of compilation errors
2025-07-01 16:35:29 -07:00
Andrew Kelley
06b44a0afa
update git fetching logic to new reader/writer API
...
- flatten std.crypto.hash.Sha1 and give it a writable interface that
optimizes splats
- flatten std.hash.crc and give it a writable interface that optimizes
splats
- remove old writer impls from std.crypto
- add fs.File.Writer.moveToReader
- add fs.File.Writer.seekTo
- add std.io.Reader.Hashed and std.io.Writer.Hashed which are
passthrough streams. Instead of passing through to null writer, use
the writable interface implemented directly on hashers which doesn't
have to account for passing through the data.
- add std.io.BufferedWriter.writeSplatAll
2025-07-01 16:35:29 -07:00
Andrew Kelley
bb7af21d6f
std.crypto.tls.Client: update to new reader/writer API
2025-07-01 16:35:28 -07:00
Andrew Kelley
cbe5920975
std.io.Reader: rename readAll to readRemaining
2025-07-01 16:35:28 -07:00
Andrew Kelley
990031444d
std.io.Reader: add assertion to verify counts
2025-07-01 16:35:28 -07:00
Andrew Kelley
f32fc8a848
std.io.Reader.readRemainingArrayList: add minimum_buffer_size
...
since some reader implementations may require it
2025-07-01 16:35:28 -07:00
Andrew Kelley
25ac70f973
std: WIP update more to new reader/writer
...
delete some bad readers/writers
add limited reader
update TLS
about to do something drastic to compress
2025-07-01 16:35:28 -07:00
Andrew Kelley
1bb75f9d62
stabilize readRemainingArrayList and readRemainingAlloc API
2025-07-01 16:35:28 -07:00
Jacob Young
fceec91f77
cbe: port to new std.io.BufferedWriter API
...
when rebasing I gave up on the conflicts of src/link/C.zig and copied
the file from origin/master which was 710632b45cd7a7081af82af418eb3e405f7aa35e
2025-07-01 16:35:28 -07:00
Andrew Kelley
19b82ca7ab
std.http.Server: implement chunked request parsing
2025-07-01 16:35:27 -07:00
Jacob Young
6a0f2227e8
build_runner: port to std.io.BufferedReader API changes
2025-07-01 16:35:27 -07:00
Andrew Kelley
e9fd9798f4
std.tar.Writer: update reader/writer API usage
2025-07-01 16:35:27 -07:00
Andrew Kelley
cdd05df532
std.io.BufferedReader: don't use a BufferedWriter field
...
this is way better with readVec and the ability to call
`std.io.Reader.buffered`.
2025-07-01 16:35:27 -07:00
Andrew Kelley
f333267782
update std.http.Server to new API
...
and rename std.io.BufferedWriter.writableSlice to writableSliceGreedy
and make writableSlice and writableArray advance the buffer end position
introduce std.io.BufferedWriter.writeSplatLimit but it's unimplemented
2025-07-01 16:35:27 -07:00
Andrew Kelley
a4fdda6ae0
std.io: redo Reader and Writer yet again
...
explicit error sets ahoy matey
delete some sus APIs from File that need to be reworked
2025-07-01 16:35:27 -07:00
Jacob Young
a21e7ab64f
build_runner: port to new std.io.BufferedWriter API
2025-07-01 16:35:26 -07:00
Andrew Kelley
1164d5ece5
tweak std.io.Writer and followups
...
remove std.fs.Dir.readFileAllocOptions, replace with more flexible API
readFileIntoArrayList
remove std.fs.File.readToEndAllocOptions, replace with more flexible API
readIntoArrayList
update std.fs.File to new reader/writer API
add helper functions to std.io.Reader.Limit
replace std.io.Writer.FileLen with std.io.Reader.Limit
make offset a type rather than u64 so that it can distinguish between
streaming read and positional read
avoid an unnecessary allocation in std.zig.readSourceFileToEndAlloc when
there is a UTF-16 little endian BOM.
2025-07-01 16:35:26 -07:00
Andrew Kelley
4ee2534566
std.io.Reader: extract PositionalReader to separate interface
2025-07-01 16:35:26 -07:00
Jacob Young
1501734747
io: fix compile errors
2025-07-01 16:35:26 -07:00
Andrew Kelley
9dc0b4a98f
back to the anyerror!usize vtable
2025-07-01 16:35:26 -07:00
Andrew Kelley
6ac7931bec
std: hacking around with buffered reader / writer semantics
...
I think I'm going to back out these vtable changes in the next commit
2025-07-01 16:35:26 -07:00
Andrew Kelley
890a02c345
std.io: move getStdIn, getStdOut, getStdErr functions to fs.File
...
preparing to rearrange std.io namespace into an interface
2025-07-01 16:35:26 -07:00
Andrew Kelley
57e1fc29d2
reader interface vecs and bufferedwriter arraylist
2025-07-01 16:35:26 -07:00
Andrew Kelley
5aa8573f2b
redo reader
2025-07-01 16:35:26 -07:00
Andrew Kelley
716b4489be
update more of the std lib to new API
2025-07-01 16:35:26 -07:00
Andrew Kelley
f32a5d349d
std: eradicate u29 and embrace std.mem.Alignment
2025-04-13 02:20:32 -04:00
mlugg
0fe3fd01dd
std: update std.builtin.Type fields to follow naming conventions
...
The compiler actually doesn't need any functional changes for this: Sema
does reification based on the tag indices of `std.builtin.Type` already!
So, no zig1.wasm update is necessary.
This change is necessary to disallow name clashes between fields and
decls on a type, which is a prerequisite of #9938 .
2024-08-28 08:39:59 +01:00
Tristan Ross
099f3c4039
std.builtin: make container layout fields lowercase
2024-03-11 07:09:07 -07:00
Andrew Kelley
d943ce5dc7
std.io.Reader: add discard function
...
Reads the stream until the end, ignoring all the data.
Returns the number of bytes discarded.
2024-02-23 02:37:11 -07:00
Tristan Ross
d0da3d731e
std.io: replace readStructBig with readStructEndian
2024-01-22 10:53:27 -08:00
Andrew Kelley
3fc6fc6812
std.builtin.Endian: make the tags lower case
...
Let's take this breaking change opportunity to fix the style of this
enum.
2023-10-31 21:37:35 -04:00
Jacob Young
d890e81761
mem: fix ub in writeInt
...
Use inline to vastly simplify the exposed API. This allows a
comptime-known endian parameter to be propogated, making extra functions
for a specific endianness completely unnecessary.
2023-10-31 21:37:35 -04:00