Io module

write_some

procedureextensionexperimental4 overloadsSource

Sends some of data: at least one byte unless data is empty. Returns how many. Use write to send everything.

write_some :: (stream: Tcp_Stream, data: [] u8) -> (s64, Io_Error)

Parameters

stream: Tcp_Stream
data: [] u8

Returns

s64
write_some :: (stream: *Pipe_Stream, data: [] u8) -> (s64, Io_Error)

The same: a pipe never waits, so write_some takes all of data too.

Parameters

stream: *Pipe_Stream
data: [] u8

Returns

s64
write_some :: (file: *Io_File, data: [] u8) -> (s64, Io_Error)

Writes some of data at the file's position (at the end, for .APPEND) and moves the position past it. At least one byte unless data is empty; returns how many. Use write to write everything.

Parameters

file: *Io_File
data: [] u8

Returns

s64
write_some :: (writer: Writer, data: [] u8) -> (s64, Io_Error)

Sends at least one byte of data (unless it is empty) and returns how many. Use write to send everything.

Parameters

writer: Writer
data: [] u8

Returns

s64
Example↗
Io :: #import "Extensions/Io";

Io.io_run(() {
    near, far := Io.make_pipe();
    defer Io.close(near);
    defer Io.close(far);
    count, error := Io.write_some(Io.writer_of(far), u8.[1, 2, 3]);
    assert(error == .NONE && count > 0);
});

See also