FIX.Session.Messages (fix_session v0.1.2)

Copy Markdown View Source

Constructors for session-level messages.

Constructors set only the message type and body. The session-controlled header fields — BeginString(8), MsgSeqNum(34), SenderCompID(49), TargetCompID(56), SendingTime(52) — are stamped by the session when the message is committed and sent.

Summary

Functions

Heartbeat(0). When answering a TestRequest, test_req_id echoes the request's TestReqID(112).

Logout(5) with an optional explanatory Text(58).

ResendRequest(2) for the inclusive range BeginSeqNo(7)..EndSeqNo(16).

SequenceReset-GapFill(4) occupying seq_num and pointing the counterparty at new_seq_no as the next expected sequence number.

TestRequest(1) carrying test_req_id as TestReqID(112).

Functions

heartbeat(test_req_id \\ nil)

@spec heartbeat(binary() | nil) :: FIX.Message.t()

Heartbeat(0). When answering a TestRequest, test_req_id echoes the request's TestReqID(112).

logout(text \\ nil)

@spec logout(binary() | nil) :: FIX.Message.t()

Logout(5) with an optional explanatory Text(58).

resend_request(from, to)

@spec resend_request(pos_integer(), pos_integer()) :: FIX.Message.t()

ResendRequest(2) for the inclusive range BeginSeqNo(7)..EndSeqNo(16).

sequence_reset_gap_fill(seq_num, new_seq_no)

@spec sequence_reset_gap_fill(pos_integer(), pos_integer()) :: FIX.Message.t()

SequenceReset-GapFill(4) occupying seq_num and pointing the counterparty at new_seq_no as the next expected sequence number.

Sent in answer to a ResendRequest, so unlike the other constructors it is a retransmission: it carries its own MsgSeqNum(34) and PossDupFlag(43), and must not be allocated a fresh outbound sequence number.

test_request(test_req_id)

@spec test_request(binary()) :: FIX.Message.t()

TestRequest(1) carrying test_req_id as TestReqID(112).