question of decoding Xetra data using InterpretApplication

120 views
Skip to first unread message

david liang

unread,
Jul 21, 2011, 6:12:41 AM7/21/11
to quickfast_users
hello everyone,

I use QuickFast to decode Xetra message,but the printed decoding
result is wrong.

My os is CentOS-5.4-x86_64,I get the latest version from svn,compile
correctly,i decode the Xetra packet like this:
./InterpretApplication -t template_v10.xml -file sample_data/
reference.ebs

then,get a result:
.......
Record #6 Type: instrumentreferencedata ......
isin[455]=FR0010424135FR0000120420 ....
[0]: streamType[1022]=1 streamService[]=A
inetAddr[]=224.0.49.7224.0.48.11 ...
[1]: streamType[1022]=1 streamService[]=B
inetAddr[]=224.0.49.7224.0.49.11 ......
}
.....

in the
result,isin[455]=FR0010424135FR0000120420 ,inetAddr[]=224.0.49.7224.0.48.11
are wrong ,it contain the content of the prevenient message.

by debugging the program,i find it occur in Codecs/
FieldInstructionAscii.cpp,line
202,function:FieldInstructionAscii::decodeDelta

But i don't know why.

could anyone please help me?

david liang

unread,
Jul 21, 2011, 6:12:02 AM7/21/11
to quickfast_users

Dale Wilson

unread,
Jul 21, 2011, 11:47:32 AM7/21/11
to quickfa...@googlegroups.com
Hi David,

Check to see if Xetra expect you to reset the decoder between messages.
If so the -reset option for InterpretApplication should fix the problem.

Dale


--
Dale Wilson
Principal Software Engineer
Object Computing, Inc.

david liang

unread,
Jul 21, 2011, 10:19:27 PM7/21/11
to quickfast_users
Hi Dale,
Thanks for replying.
Yes,i have recognized this.When i use -reset option,some
packets(atp,delta,snapshots,techbeacon) are decoded correctly,but the
other packets(statechanges,reference) can't be decoded correctly when
the decoder encounter a message beginning with "0x00".The decoder
throw a error of"Decoding error: [ERR D9] Unknown template ID:
4294967295".

when i debugging the program , i find that the decoder can't get a
right template id in Decoder::decodeMessage of Decoder.cpp.so it use
the initial template id 4294967295 and throw a error.

when decoding without -reset,the decoder can get right template
id,but in some field,it contain the content of the prevenient message
as i posted before.

So,maybe there are some special in Xetra ,but i don't know, and how
can i resolve it?

Carlos Zafra

unread,
Jul 22, 2011, 4:59:39 AM7/22/11
to quickfast_users
Hi David,

Have you modified your template? It is necessary to modify the FAST
Reset Message in the following way:

<template name="FASTReset" id="120" reset="T"/>

I'm currently using QuickFAST with EBS and I have had not any problems
decoding data.

I hope this helps!!

david liang

unread,
Jul 22, 2011, 5:40:01 AM7/22/11
to quickfast_users
Hello Carlos,
Follow your way,i solve this problem.
in my template,there is "<template name="FASTReset" id="120"/>".After
i modify it to "<template name="FASTReset" id="120" reset="T"/> ",the
problem is solved!

Thank you very much!

David

Carlos Zafra

unread,
Jul 22, 2011, 6:06:26 AM7/22/11
to quickfast_users
Good to know!

Dale Wilson

unread,
Jul 22, 2011, 11:42:21 AM7/22/11
to quickfa...@googlegroups.com
On 7/22/2011 3:59 AM, Carlos Zafra wrote:
Hi David,

Have you modified your template? It is necessary to modify the FAST
Reset Message in the following way:

<template name="FASTReset" id="120" reset="T"/>

I'm currently using QuickFAST with EBS and I have had not any problems
decoding data.

I hope this helps!!

Thanks, Carlos.  I had forgotten that little glitch.

To clarify.   This is a error in the templates.  

SCP 1.2 defines a reset message with template ID 120, but they are very clear that just because a message has a template ID of 120, that does not make it a reset message.   To quote from the documeent:

NOTE: It is the reset property of the template used to encode the message rather than the Reset message it self that triggers the reset.


Therefore
   <template name="FASTReset" id = "120" />
is NOT a reset message, but
  <template name="FASTReset" id="120" reset="T"/>
Is.

EBS/XTERA should change their templates to add the reset option.

To cope with some exchanges that use template ID 120 without defining it at all, there is code to QuickFAST to recognize 120 as a reset if it is NOT defined in the templates xml file, but if the templates XML file does define a template with ID 120, the template file is honored as-written to avoid breaking applications that use 120 for other purposes.  (Presumably they were developed before SCP was published.)

If someone wants to sponsor a couple of hours of work I could add a special option to QuickFAST to say "template ID 120 always means reset when this option is specified", but since that is non-standard it won't happen unless it is sponsored.

Dale

Makrem Ayari

unread,
Nov 28, 2016, 12:13:15 PM11/28/16
to quickfast_users, wil...@ociweb.com
If you are using QuickFast, a simpler solution is to remove the line of template 120. Because QuickFast implicitly support the reset template. And this is the solution used by Eurex.
Reply all
Reply to author
Forward
0 new messages