transport v0.1.0 Transport.Tcp View Source
implements a tcp transport strategy.
Link to this section Summary
Server Functions
Callback implementation for Transport.accept/2
.
Callback implementation for Transport.handshake/2
.
Callback implementation for Transport.listen/2
.
Client Functions
Callback implementation for Transport.connect/3
.
Callback implementation for Transport.upgrade/2
.
Functions
Callback implementation for Transport.recv/2
, via :gen_tcp.recv/2
.
Callback implementation for Transport.recv/3
, via :gen_tcp.recv/3
.
Callback implementation for Transport.send/2
, via :gen_tcp.send/2
Link to this section Types
Link to this section Server Functions
Callback implementation for Transport.accept/2
.
handshake(socket, opts!)
View Sourcehandshake(:inet.socket(), keyword()) :: {:ok, Api.socket()}
Callback implementation for Transport.handshake/2
.
Does not request the client-side for an upgrade to an authenticated or
encrypted channel, but this is also where you should set post-connection
options (such as setting active: true
)
listen(port, opts \\ [])
View Sourcelisten(:inet.port_number(), keyword()) :: {:ok, socket()} | {:error, term()}
Callback implementation for Transport.listen/2
.
NB: Transport.Tcp
defaults to using a binary tcp port.
Link to this section Client Functions
connect(host, port, opts! \\ [])
View Sourceconnect(term(), :inet.port_number(), keyword()) :: {:ok, socket()} | {:error, term()}
Callback implementation for Transport.connect/3
.
upgrade(socket, opts!)
View Sourceupgrade(socket(), keyword()) :: {:ok, :inet.socket()} | {:error, term()}
Callback implementation for Transport.upgrade/2
.
Does not perform any cryptographic authentication, but this is where you
should set post-connection options (such as setting active: true
)
Link to this section Functions
recv(sock, length)
View Sourcerecv(socket(), non_neg_integer()) :: {:ok, binary()} | {:error, term()}
Callback implementation for Transport.recv/2
, via :gen_tcp.recv/2
.
recv(sock, length, timeout)
View Sourcerecv(socket(), non_neg_integer(), timeout()) :: {:ok, binary()} | {:error, term()}
Callback implementation for Transport.recv/3
, via :gen_tcp.recv/3
.
Callback implementation for Transport.send/2
, via :gen_tcp.send/2