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
Process incoming message
Process invalid message
Process valid message
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
session_result :: {:ok, [ExFix.Session.MessageToSend.t], ExFix.Session.t} | {:resend, [ExFix.Session.MessageToSend.t], ExFix.Session.t} | {:logout, [ExFix.Session.MessageToSend.t], ExFix.Session.t} | {:stop, ExFix.Session.t}
session_status() :: :offline | :connecting | :online | :disconnecting
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
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)
get_in_queue_length(ExFix.Session.t) :: non_neg_integer
Returns length of inbound message queue
get_last_test_req_id(ExFix.Session.t) :: String.t | nil
Returns ID of last Test Request sent
Returns session’s current status (offline, online, connecting, disconnecting). online
means “logged on”.
handle_incoming_data(ExFix.Session.t, binary) :: session_result
Handle incoming binary data
handle_timeout(ExFix.Session.t, term) :: session_result
Respond to timeout (receiving or transmiting messages)
State initialization
Process incoming message
process_invalid_message(ExFix.Session.t, integer, ExFix.InMessage.t) :: session_result
Process invalid message
Process valid message
send_message(ExFix.Session.t, ExFix.OutMessage.t) :: session_result
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