Package-level declarations

Types

Link copied to clipboard
interface AvailClient

An AvailClient is an accessor of Avail.

Link copied to clipboard

A ConsoleInputChannel provides a faux asynchronous interface to a synchronous input stream. The reader must supply UTF-8 encoded characters.

Link copied to clipboard

A ConsoleOutputChannel provides a faux asynchronous interface to a synchronous output stream.

Link copied to clipboard
class IOSystem

This aggregates socket and file I/O information and behavior specific to an AvailRuntime.

Link copied to clipboard
class NybbleArray(val bytes: ByteArray, val size: Int) : Iterable<Byte>

A NybbleArray offers dense storage of nybbles, i.e., values in 0,15. Even indices correspond to low nybbles of bytes, whereas odd indices correspond to high nybbles of bytes.

Link copied to clipboard
class NybbleInputStream(nybbles: NybbleArray, nybbleIndex: Int = 0) : InputStream, Iterable<Int>

NybbleInputStream reads from a NybbleArray.

Link copied to clipboard
class NybbleOutputStream(initialCapacity: Int = 0)

NybbleOutputStream writes a dense stream of nybbles, i.e., values in 0,15, backed by an underlying ByteArrayOutputStream.

Link copied to clipboard

A ProcessInputChannel provides a faux asynchronous interface to a synchronous process input stream. The reader must supply UTF-8 encoded characters.

Link copied to clipboard

A ProcessInputChannel provides a faux asynchronous interface to a synchronous output stream.

Link copied to clipboard

A convenient CompletionHandler implementation that takes two lambdas at construction, avoiding the hideous inner class notation.

Link copied to clipboard

TextInputChannel provides a wrapper for a synchronous input reader that is as asynchronous as possible.

Link copied to clipboard
class TextInterface(val inputChannel: TextInputChannel, val outputChannel: TextOutputChannel, val errorChannel: TextOutputChannel)

A TextInterface represents an interface between an external process, device, or user and an Avail agent (e.g., an AvailBuilder or fiber). As such, it combines input, output, and error channels, corresponding to the usual notions of standard input, output, and error, respectively. These channels are each text-oriented, and constrained to operate on UTF-8 encoded character data.

Link copied to clipboard

TextOutputChannel provides a wrapper for a standard output stream, e.g., System.out and System.err, that is as asynchronous as possible.