Commit 045bb14897
Changed files (5)
lib
compiler
tools
lib/compiler/std-docs.zig
@@ -93,9 +93,12 @@ pub fn main() !void {
fn accept(context: *Context, connection: std.net.Server.Connection) void {
defer connection.stream.close();
- var read_buffer: [8000]u8 = undefined;
- var server = std.http.Server.init(connection, &read_buffer);
- while (server.state == .ready) {
+ var recv_buffer: [4000]u8 = undefined;
+ var send_buffer: [4000]u8 = undefined;
+ var conn_reader = connection.stream.reader(&recv_buffer);
+ var conn_writer = connection.stream.writer(&send_buffer);
+ var server = std.http.Server.init(conn_reader.interface(), &conn_writer.interface);
+ while (server.reader.state == .ready) {
var request = server.receiveHead() catch |err| switch (err) {
error.HttpConnectionClosing => return,
else => {
@@ -175,8 +178,7 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
const gpa = context.gpa;
var send_buffer: [0x4000]u8 = undefined;
- var response = request.respondStreaming(.{
- .send_buffer = &send_buffer,
+ var response = try request.respondStreaming(&send_buffer, .{
.respond_options = .{
.extra_headers = &.{
.{ .name = "content-type", .value = "application/x-tar" },
@@ -191,11 +193,7 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
var walker = try std_dir.walk(gpa);
defer walker.deinit();
- var adapter_buffer: [500]u8 = undefined;
- var response_writer = response.writer().adaptToNewApi();
- response_writer.new_interface.buffer = &adapter_buffer;
-
- var archiver: std.tar.Writer = .{ .underlying_writer = &response_writer.new_interface };
+ var archiver: std.tar.Writer = .{ .underlying_writer = &response.writer };
archiver.prefix = "std";
while (try walker.next()) |entry| {
@@ -229,7 +227,6 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
// intentionally omitting the pointless trailer
//try archiver.finish();
- try response_writer.new_interface.flush();
try response.end();
}
lib/std/Io/DeprecatedWriter.zig
@@ -83,11 +83,11 @@ pub fn writeFile(self: Self, file: std.fs.File) anyerror!void {
}
/// Helper for bridging to the new `Writer` API while upgrading.
-pub fn adaptToNewApi(self: *const Self) Adapter {
+pub fn adaptToNewApi(self: *const Self, buffer: []u8) Adapter {
return .{
.derp_writer = self.*,
.new_interface = .{
- .buffer = &.{},
+ .buffer = buffer,
.vtable = &.{ .drain = Adapter.drain },
},
};
lib/std/fmt.zig
@@ -80,7 +80,7 @@ pub const Number = struct {
/// Deprecated in favor of `Writer.print`.
pub fn format(writer: anytype, comptime fmt: []const u8, args: anytype) !void {
- var adapter = writer.adaptToNewApi();
+ var adapter = writer.adaptToNewApi(&.{});
return adapter.new_interface.print(fmt, args) catch |err| switch (err) {
error.WriteFailed => return adapter.err.?,
};
lib/std/Io.zig
@@ -387,11 +387,11 @@ pub fn GenericWriter(
}
/// Helper for bridging to the new `Writer` API while upgrading.
- pub fn adaptToNewApi(self: *const Self) Adapter {
+ pub fn adaptToNewApi(self: *const Self, buffer: []u8) Adapter {
return .{
.derp_writer = self.*,
.new_interface = .{
- .buffer = &.{},
+ .buffer = buffer,
.vtable = &.{ .drain = Adapter.drain },
},
};
tools/gen_spirv_spec.zig
@@ -84,7 +84,7 @@ pub fn main() !void {
const output_buf = try allocator.alloc(u8, 1024 * 1024);
var fbs = std.io.fixedBufferStream(output_buf);
- var adapter = fbs.writer().adaptToNewApi();
+ var adapter = fbs.writer().adaptToNewApi(&.{});
const w = &adapter.new_interface;
try render(w, core_spec, exts.items);
var output: [:0]u8 = @ptrCast(fbs.getWritten());