Newbie Question

Imported from previous forum

I am building a FIX engine to process Post Trade and Offerings. I am in the early stages of design and have a very basic question.

How are FIX messages delimited. I know within a message it is Key=Value pairs. But how do I separate different messages.

Thanks in advance,

Craig

[ original email was from Mahesh Kumaraguru - mahesh.kumaraguru@polaris.co.in ]
> I am building a FIX engine to process Post Trade and Offerings. I am in

the early stages of design and have a very basic question.

How are FIX messages delimited. I know within a message it is Key=Value
pairs. But how do I separate different messages.

Thanks in advance,

Craig

Hi Craig,

I was using logic :- the last tag in a message is tag 10 ( Checksum ) and its length is 3 chars. so if

10=NNN*

is received ( where NNN is 3 digit checksum and * is SOH char ( tag delimiter )), then its end of message.

Regards,
K. Mahesh

[ original email was from Mahesh Kumaraguru - mahesh.kumaraguru@polaris.co.in ]
Small correction to the above :-

Use

10=NNN

where NNN is 3 digit checksum

  • is SOH char ( tag delimiter )

( else tag 110, 210 etc will also lead the program to assume end of fix message )

Regards,
K. Mahesh

[ original email was from Mohamed Kasim - kasim@opussoft.com ]
> I am building a FIX engine to process Post Trade and Offerings. I am in

the early stages of design and have a very basic question.

How are FIX messages delimited. I know within a message it is Key=Value
pairs. But how do I separate different messages.

Thanks in advance,

Craig

Suggestions by Mahesh holds good.

Also another method is to look for the ‘Beginstring’ of the next message to find the end of the current message.

If you dont find ‘beginstring’ in a packet of data, it is all junk values, ignore. If you have more than one beginstring, you have multiple messages, partition the message with beginstring (8=FIX.4.)and process.

If the message has one beginstring, it has complete / part of a message and verify the message length or check for ‘10=’ to identify the complete message in hand

rgds

Kasim
www.ften.com

Thanks, this will get me where I need to be.

Craig