ExDTLS.process

You're seeing just the function process, go back to ExDTLS module for more information.

Specs

process(pid :: pid(), packets :: binary()) ::
  {:ok, packets :: binary()}
  | :handshake_want_read
  | {:handshake_packets, packets :: binary()}
  | {:handshake_finished, handshake_data_t(), packets :: binary()}
  | {:handshake_finished, handshake_data_t()}
  | {:connection_closed, reason :: atom()}

Processes peer's packets.

If handshake is finished it returns {:ok, binary()} which is decoded data or {:error, value} if error occurred.

{:handshake_packets, binary()} contains handshake data that has to be sent to the peer. :handshake_want_read means some additional data is needed for continuing handshake. It can be returned when retransmitted packet was passed but timer didn't expired yet.