API Reference Thousand Island v0.4.6

Modules

Provides a high-level interface for starting and managing Thousand Island server instances. Server instances exist as a process tree, which is usually started by starting this module's child spec within an existing supervision tree, or by calling start_link/1 directly.

ThousandIsland.Handler defines the behaviour required of the application layer of a Thousand Island server. When starting a Thousand Island server, you must pass the name of a module implementing this behaviour as the handler_module parameter. Thousand Island will then use the specified module to handle each connection that is made to the server.

Allows dynamically adding and altering the log level used to trace connections within a Thousand Island server via the use of telemetry hooks. Should you wish to do your own logging or tracking of these events, a complete list of the telemetry events emitted by Thousand Island is described in the module documentation for ThousandIsland.

Encapsulates a client connection's underlying socket, providing a facility to read, write, and otherwise manipulate a connection from a client.

This module describes the behaviour required for Thousand Island to interact with low-level sockets. It is largely internal to Thousand Island, however users are free to implement their own versions of this behaviour backed by whatever underlying transport they choose. Such a module can be used in Thousand Island by passing its name as the transport_module option when starting up a server, as described in ThousandIsland.

Defines a ThousandIsland.Transport implementation based on TCP SSL sockets as provided by Erlang's :ssl module. For the most part, users of Thousand Island will only ever need to deal with this module via transport_options passed to ThousandIsland at startup time. A complete list of such options is defined via the t::ssl.tls_server_option type. This list can be somewhat difficult to decipher; a list of the most common options follows

Defines a ThousandIsland.Transport implementation based on clear TCP sockets as provided by Erlang's :gen_tcp module. For the most part, users of Thousand Island will only ever need to deal with this module via transport_options passed to ThousandIsland at startup time. A complete list of such options is defined via the t::gen_tcp.listen_option() type. This list can be somewhat difficult to decipher; by far the most common value to pass to this transport is the following