pub fn getSize(r: *Reader) SizeError!u64
pub fn getSize(r: *Reader) SizeError!u64 { return r.size orelse { if (r.size_err) |err| return err; if (r.file.stat(r.io)) |st| { if (st.kind == .file) { r.size = st.size; return st.size; } else { r.mode = r.mode.toStreaming(); r.size_err = error.Streaming; return error.Streaming; } } else |err| { r.size_err = err; return err; } }; }