zhaopuming / quickfast

Automatically exported from code.google.com/p/quickfast
Other
1 stars 0 forks source link

Encoding group round trip does not work. #113

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I have encountered an issue where (apparently invalid) encoding is allowed 
which then fails on the decode.

What steps will reproduce the problem?

1. Given a template with a group that is optional and contains at least one 
non-optional field.
2. The encoder allows you to add the non-optional fields within the optional 
sequence without error and produces FAST data.
3. Decoding this data will not produce a value for these fields.

What is the expected output? What do you see instead?

I would expect either that encoding to fail (no such field exists) or that if 
it is being smart and enabling the optional group for me that it would produce 
valid output and be able to decode the value from the output.

What version of the product are you using?

1.4.0 (custom built under VS 2008)

On what operating system?

Windows 7 (Pro 64-bit)

Please provide any additional information below?

I am working in the absence of any example code for encoding a group. You may 
recognise the template from Eurex's current FAST rollout.

Original issue reported on code.google.com by bacho...@gmail.com on 5 Feb 2013 at 4:02

Attachments:

GoogleCodeExporter commented 9 years ago
UPDATE: I have figured out how a group is added to the message using code from 
Issue 56... leaving this open as a reminder to add more documentation about 
encoding and improve the validation during encoding.

Original comment by bacho...@gmail.com on 5 Feb 2013 at 4:52

GoogleCodeExporter commented 9 years ago
I'm glad you were able to resolve the problem.   I didn't quite understand your 
problem description.   

When you add the required field in the optional group, did you expect that the 
optional group would automatically be added to the message?  I can see how this 
might be expected, but it is not the way QuickFAST currently works (I'll 
consider documentation and/or behavior change.)

Did the decoding process complete without error even though it did not produce 
the field you were expecting.   That is what I would expect to happen -- the 
decoder is handling the data it actually receives and the problem (if any) 
happens during encoding.

Original comment by dale.wil...@gmail.com on 18 Feb 2013 at 5:25