IMAP.Connection behaviour (imap v0.1.2)

Copy Markdown View Source

Manages the underlying TCP/SSL connection to an IMAP server.

Handles establishing, maintaining, and closing the socket connection. Used internally by IMAP to send raw command data and receive server responses.

Summary

Types

reason()

@type reason() :: term()

session()

@type session() :: {socket_module :: transport(), [{:conn, pid()}]}

transport()

@type transport() :: :ssl | :gen_tcp

Callbacks

connect(transport, host, port, opts)

@callback connect(
  transport :: transport(),
  host :: charlist(),
  port :: non_neg_integer(),
  opts :: [keyword()]
) :: {:ok, pid()} | {:error, term()}

recv(session)

@callback recv(session()) :: {:ok, binary() | list()} | {:error, reason()}

send(session, msg)

@callback send(session(), msg :: iodata()) :: {:ok | {:error, reason()}}

Functions

close(arg)