API Reference Thousand Island v1.3.13
View SourceModules
Thousand Island is a modern, pure Elixir socket server, inspired heavily by ranch. It aims to be easy to understand & reason about, while also being at least as stable and performant as alternatives.
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.
Logging conveniences for Thousand Island servers
Encapsulates the configuration of a ThousandIsland server instance
Encapsulates a client connection's underlying socket, providing a facility to read, write, and otherwise manipulate a connection from a client.
The following telemetry spans are emitted by thousand_island
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 :ssl.tls_server_option/0
type. This list can be somewhat
difficult to decipher; by far the most common values to pass to this transport
are the following
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 :gen_tcp.listen_option/0
type. This list can be somewhat
difficult to decipher; by far the most common value to pass to this transport
is the following