SMPPEX.Session.handle_call

You're seeing just the callback handle_call, go back to SMPPEX.Session module for more information.
Link to this callback

handle_call(request, from, state)

View Source

Specs

handle_call(request(), from(), state()) ::
  {:reply, reply(), state()}
  | {:reply, reply(), [SMPPEX.Pdu.t()], state()}
  | {:noreply, state()}
  | {:noreply, [SMPPEX.Pdu.t()], state()}
  | {:stop, reason(), reply(), state()}
  | {:stop, reason(), state()}

Invoked to handle an arbitrary syncronous request sent to the session with Session.call/3 method.

from argument can be used to send a response asyncronously via Session.reply/2.

The returned values indicate the following:

  • {:reply, reply, state} — reply with reply and use state as the new state;
  • {:reply, reply, pdus, state} — reply with reply, use state as the new state and additionally send pdus to the peer;
  • {:noreply, state} — do not reply and use state as the new state. The reply can be send later via Session.reply;
  • {:noreply, pdus, state} — do not reply, use state as the new state and additionally send pdus to the peer. The reply can be send later via Session.reply;
  • {:stop, reason, reply, state} — reply with reply, use state as the new state and exit with reason;
  • {:stop, reason, state} — do not reply, use state as the new state and exit with reason.