View Source DiodeClient.Transport (Diode Client v1.3.1)

DiodeClient Transport interface for use with Cowboy2 Adapter and :hackeny. Potentially more depending on interface compatibility

Example using hackney to make http requests via Diode:

{:ok, ref} = :hackney.connect(DiodeClient.Transport, address, port)
request = {:get, path, [], ""}
{:ok, status, headers, ^ref} = :hackney.send_request(ref, request)
{:ok, content} = :hackney.body(ref)

Summary

Functions

accept(portnum, timeout)

@spec accept(DiodeClient.Acceptor.Listener.t(), any()) ::
  {:error, any()} | {:ok, pid()}

close(pid)

See :ssl.close/1.

connect(addr, port, opts \\ [], timeout \\ 5000)

@spec connect(binary(), integer(), keyword(), integer()) ::
  {:ok, pid()} | {:error, any()}

controlling_process(pid, dst)

See :ssl.controlling_process/2.

getopts(pid, opts)

See :ssl.getopts/2.

handshake(pid, opts, timeout)

listen(opts)

messages()

messages(pid)

name()

peername(pid)

See :ssl.peername/1.

recv(pid, length)

See :ssl.recv/2.

recv(pid, length, timeout)

See :ssl.recv/3.

secure()

send(pid, data)

See :ssl.send/2.

sendfile(socket, path, offset, bytes)

setopts(pid, opts)

See :ssl.setopts/2.

shutdown(pid, reason)

See :ssl.shutdown/2.

sockname(ssl)