Thousand Island v0.1.0 API Reference
Modules
Provides a high-level interface for starting and managing ThousandIsland.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.
Defines the behaviour required of the application layer of a Thousand Island
server. Users pass the name of a module implementing this behaviour as the
handler_module
parameter when starting a server instance, and Thousand Island
will call this module's handle_connection/2
function every time a client
connects to the server.
A sample Handler implementation of the Daytime protocol
A sample Handler implementation of the Discard protocol
A sample Handler implementation of the Echo protocol
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.
ThousandIsland.Socket
instances are passed to the application layer of a server
via the ThousandIsland.Handler.handle_connection/2
callback.
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