As part of this issue our goal is to expand the current implementation of the trafix-codec parser and add the validation layer to it. The initial validator implementation should be minimal, focusing on the following tags (8, 9, 10, 35):
-
A FIX (Financial Information eXchange) tag 8 is the BeginString, which identifies the start of a message and the protocol version being used, and it is always the first field in any FIX message.
-
A FIX (Financial Information eXchange) tag 9 is the BodyLength, which indicates the length of the message body in bytes. It is always the second field in a FIX message, appearing after BeginString (tag 8) and before MsgType (tag 35). The value of tag 9 is calculated by counting all characters from the start of tag 35 up to, but not including, tag 10 (CheckSum).
-
A FIX (Financial Information eXchange) tag 10 is the CheckSum, a three-character field that validates the integrity of the message. It is the last field in every FIX message and is calculated by summing the ASCII values of all characters in the message (excluding the checksum field itself), taking the result modulo 256, and formatting it as a three-digit, zero-padded string.
-
A FIX (Financial Information eXchange) tag 35 is the MsgType, a critical and mandatory header field that defines the purpose or function of a FIX message. It is the most critical field in a FIX message because it dictates how the receiving application should interpret the rest of the message's fields. It is always the third field in every FIX message.
As part of this issue our goal is to expand the current implementation of the trafix-codec parser and add the validation layer to it. The initial validator implementation should be minimal, focusing on the following tags
(8, 9, 10, 35):A FIX (Financial Information eXchange) tag 8 is the
BeginString, which identifies the start of a message and the protocol version being used, and it is always the first field in any FIX message.8=FIX.4.4A FIX (Financial Information eXchange) tag 9 is the
BodyLength, which indicates the length of the message body in bytes. It is always the second field in a FIX message, appearing after BeginString (tag 8) and before MsgType (tag 35). The value of tag 9 is calculated by counting all characters from the start of tag 35 up to, but not including, tag 10 (CheckSum).9=65A FIX (Financial Information eXchange) tag 10 is the
CheckSum, a three-character field that validates the integrity of the message. It is the last field in every FIX message and is calculated by summing the ASCII values of all characters in the message (excluding the checksum field itself), taking the result modulo 256, and formatting it as a three-digit, zero-padded string.10=128A FIX (Financial Information eXchange) tag 35 is the
MsgType, a critical and mandatory header field that defines the purpose or function of a FIX message. It is the most critical field in a FIX message because it dictates how the receiving application should interpret the rest of the message's fields. It is always the third field in every FIX message.35=A