Module sys/bufio/buf_writer

sys/bufio/buf_writer

Buffered writer for file descriptors.

Wraps a file descriptor with an internal buffer for efficient writes. Reduces the number of system calls by batching small writes together.

Example

{ BufWriter } :: import "std/sys/bufio/buf_writer";

writer := BufWriter.new(fd);
io.await(writer.write_string(`hello\n`, io));
io.await(writer.flush(io));

Types

BufWriter object
BufWriter

Fields

NameTypeDescription
_fdi32
_bufArrayList(u8)
_offsetu64
_capacityusize
impl(BufWriter, ...)
new : (BufWriter) fn(fd : i32) -> BufWriter

Parameters

NameTypeNotes
fdi32

Returns: BufWriter

with_capacity : (BufWriter) fn(fd : i32, capacity : usize) -> BufWriter

Parameters

NameTypeNotes
fdi32
capacityusize

Returns: BufWriter

fd : (BufWriter) fn(self : BufWriter) -> i32

Parameters

NameTypeNotes
selfBufWriter

Returns: i32

buffered : (BufWriter) fn(self : BufWriter) -> usize

Parameters

NameTypeNotes
selfBufWriter

Returns: usize

_flush_inner : (BufWriter) fn(self : BufWriter, io : Io) -> Impl(Future(Result(unit, IoError), Io))

Parameters

NameTypeNotes
selfBufWriter
ioIo

Returns: Impl(Future(Result(unit, IoError), Io))

write : (BufWriter) fn(self : BufWriter, data : *(u8), size : u32, io : Io) -> Impl(Future(Result(i32, IoError), Io))

Parameters

NameTypeNotes
selfBufWriter
data*(u8)
sizeu32
ioIo

Returns: Impl(Future(Result(i32, IoError), Io))

write_string : (BufWriter) fn(self : BufWriter, s : String, io : Io) -> Impl(Future(Result(i32, IoError), Io))

Parameters

NameTypeNotes
selfBufWriter
sString
ioIo

Returns: Impl(Future(Result(i32, IoError), Io))

write_bytes : (BufWriter) fn(self : BufWriter, data : ArrayList(u8), io : Io) -> Impl(Future(Result(i32, IoError), Io))

Parameters

NameTypeNotes
selfBufWriter
dataArrayList(u8)
ioIo

Returns: Impl(Future(Result(i32, IoError), Io))

flush : (BufWriter) fn(self : BufWriter, io : Io) -> Impl(Future(Result(unit, IoError), Io))

Parameters

NameTypeNotes
selfBufWriter
ioIo

Returns: Impl(Future(Result(unit, IoError), Io))