1const std = @import("std");
2const builtin = @import("builtin");
3const extras = @import("extras");
4const nio = @import("./nio.zig");
5
6const sys = switch (builtin.target.os.tag) {
7 .linux => @import("sys-linux"),
8 .macos => @import("sys-darwin"),
9 else => unreachable,
10};
11
12pub const NullWriter = struct {
13 const W = nio.Writable(@This(), ._bare);
14 pub const writeAll = W.writeAll;
15 pub const writevAll = W.writevAll;
16 pub const writeByteNTimes = W.writeByteNTimes;
17 pub const writeNTimes = W.writeNTimes;
18 pub const writeInt = W.writeInt;
19 pub const writeStruct = W.writeStruct;
20 pub const writeIntPretty = W.writeIntPretty;
21 pub const print = W.print;
22
23 pub const WriteError = error{};
24 pub fn write(self: NullWriter, bytes: []const u8) WriteError!usize {
25 _ = self;
26 return bytes.len;
27 }
28 pub fn writev(self: NullWriter, iovec: []const sys.struct_iovec) WriteError!usize {
29 _ = self;
30 var res: u64 = 0;
31 for (iovec) |item| res += item.len;
32 return res;
33 }
34};