ex_fix v0.2.5 ExFix.Session

FIX session protocol implementation

Link to this section Summary

Functions

Returns session’s extra bytes to be processed with the next segment

Returns session’s last sequence number accepted

Returns inbound message queue (messages received with high sequence number)

Returns length of inbound message queue

Returns ID of last Test Request sent

Returns session’s current status (offline, online, connecting, disconnecting). online means “logged on”

Handle incoming binary data

Respond to timeout (receiving or transmiting messages)

State initialization

Send application message

Session start: send Logon msg

Session stop

Utility function for tests: set out_queue to an arbitrary list of messages

Utility function for tests: simulates a certain point in time

Link to this section Types

Link to this type fix_field()
fix_field() :: {String.t, any}
Link to this type session_in_queue()
session_in_queue() :: [ExFix.InMessage.t]
Link to this type session_name()
session_name() :: String.t
Link to this type session_status()
session_status() :: :offline | :connecting | :online | :disconnecting
Link to this type t()
t() :: %ExFix.Session{config: term, extra_bytes: term, in_lastseq: term, in_queue: term, last_test_req_id_sent: term, out_lastseq: term, out_queue: term, status: term}

Link to this section Functions

Link to this function get_extra_bytes(session)
get_extra_bytes(ExFix.Session.t) :: binary | nil

Returns session’s extra bytes to be processed with the next segment

Link to this function get_in_lastseq(session)
get_in_lastseq(ExFix.Session.t) :: non_neg_integer

Returns session’s last sequence number accepted

Link to this function get_in_queue(session)

Returns inbound message queue (messages received with high sequence number)

Link to this function get_in_queue_length(session)
get_in_queue_length(ExFix.Session.t) :: non_neg_integer

Returns length of inbound message queue

Link to this function get_last_test_req_id(session)
get_last_test_req_id(ExFix.Session.t) :: String.t | nil

Returns ID of last Test Request sent

Link to this function get_status(session)

Returns session’s current status (offline, online, connecting, disconnecting). online means “logged on”.

Link to this function handle_incoming_data(session, data)
handle_incoming_data(ExFix.Session.t, binary) :: session_result

Handle incoming binary data

Link to this function handle_timeout(session, atom)
handle_timeout(ExFix.Session.t, term) :: session_result

Respond to timeout (receiving or transmiting messages)

State initialization

Link to this function process_incoming_message(expected_seqnum, msg_type, session_name, session, msg)

Process incoming message

Link to this function process_invalid_message(session, expected_seqnum, msg)
process_invalid_message(ExFix.Session.t, integer, ExFix.InMessage.t) :: session_result

Process invalid message

Link to this function process_valid_message(expected_seqnum, session_name, session, msg)

Process valid message

Link to this function send_message(session, out_message)

Send application message

Link to this function session_start(session)
session_start(ExFix.Session.t) :: session_result

Session start: send Logon msg

Link to this function session_stop(session)

Session stop

Link to this function set_out_queue(session, out_queue_messages)

Utility function for tests: set out_queue to an arbitrary list of messages

Link to this function set_time(session, date_time)

Utility function for tests: simulates a certain point in time