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`, using(io)));
io.await(writer.flush(using(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, using(io : IO)) -> Impl(Future(Result(unit, IOError), IO))

Parameters

NameTypeNotes
selfBufWriter

Returns: Impl(Future(Result(unit, IOError), IO))

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

Parameters

NameTypeNotes
selfBufWriter
data*(u8)
sizeu32

Returns: Impl(Future(Result(i32, IOError), IO))

write_string : (BufWriter) fn(self : BufWriter, s : String, using(io : IO)) -> Impl(Future(Result(i32, IOError), IO))

Parameters

NameTypeNotes
selfBufWriter
sString

Returns: Impl(Future(Result(i32, IOError), IO))

write_bytes : (BufWriter) fn(self : BufWriter, data : ArrayList(u8), using(io : IO)) -> Impl(Future(Result(i32, IOError), IO))

Parameters

NameTypeNotes
selfBufWriter
dataArrayList(u8)

Returns: Impl(Future(Result(i32, IOError), IO))

flush : (BufWriter) fn(self : BufWriter, using(io : IO)) -> Impl(Future(Result(unit, IOError), IO))

Parameters

NameTypeNotes
selfBufWriter

Returns: Impl(Future(Result(unit, IOError), IO))