stream¶
type stream
Base type of readable and writable byte streams.
meth (Stream: stream):close: nil
Closes
Stream
. This method should be overridden for streams defined in Minilang.meth (Source: stream):copy(Destination: stream): integer
Copies the remaining bytes from
Source
toDestination
.meth (Source: stream):copy(Destination: stream, Count: integer): integer
Copies upto
Count
bytes fromSource
toDestination
.meth (Stream: stream):flush
Flushes
Stream
. This method should be overridden for streams defined in Minilang.meth (Arg₁: stream):parse(Arg₂: function)
TBD
meth (Stream: stream):read: string | nil
Equivalent to
Stream:readi(SIZE_MAX, 'n')
.meth (Stream: stream):read(Buffer: buffer): integer
Reads bytes from
Stream
intoBuffer
toStream
. This method should be overridden for streams defined in Minilang.meth (Stream: stream):read(Count: integer): string | nil
Returns the next text from
Stream
uptoCount
characters. Returnsnil
ifStream
is empty.meth (Stream: stream):readi(Delimiters: string): string | nil
Returns the next text from
Stream
, upto and including any character inDelimiters
. Returnsnil
ifStream
is empty.meth (Stream: stream):readi(Delimiters: string, Count: integer): string | nil
Returns the next text from
Stream
, upto and including any character inDelimiters
orCount
characters, whichever comes first. Returnsnil
ifStream
is empty.meth (Stream: stream):readx(Delimiters: string): string | nil
Returns the next text from
Stream
, upto but excluding any character inDelimiters
. Returnsnil
ifStream
is empty.meth (Stream: stream):readx(Delimiters: string, Count: integer): string | nil
Returns the next text from
Stream
, upto but excluding any character inDelimiters
orCount
characters, whichever comes first. Returnsnil
ifStream
is empty.meth (Stream: stream):rest: string | nil
Returns the remainder of
Stream
ornil
ifStream
is empty.meth (Stream: stream):seek(Offset: integer, Mode: stream::seek): integer
Sets the position for the next read or write in
Stream
toOffset
usingMode
. This method should be overridden for streams defined in Minilang.meth (Stream: stream):tell: integer
Gets the position for the next read or write in
Stream
. This method should be overridden for streams defined in Minilang.meth (Stream: stream):write(Address: address): integer
Writes the bytes at
Address
toStream
. This method should be overridden for streams defined in Minilang.meth (Stream: stream):write(Value₁, : any, ...): integer
Writes each
Valueᵢ
in turn toStream
.type stream::buffered < stream
A stream that buffers reads and writes from another stream.
meth stream::buffered(Stream: stream, Size: integer): stream::buffered
Returns a new stream that buffers reads and writes from
Stream
.meth (Stream: stream::buffered):flush
Writes any bytes in the buffer.
type stream::fd < stream
A file-descriptor based stream.
meth (Stream: stream::fd):read(Dest: buffer): integer
Reads from
Stream
intoDest
returning the actual number of bytes read.meth (Stream: stream::fd):write(Source: address): integer
Writes from
Source
toStream
returning the actual number of bytes written.type stream::parser < function, sequence
TBD
type stream::seek < enum
TBD