Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QuickFAST 1.5 fails to process PCap file containing single UDP packet #117

Open
GoogleCodeExporter opened this issue Apr 21, 2015 · 4 comments

Comments

@GoogleCodeExporter
Copy link

Due to the changes introduced in release 1.5 (namely processing buffered output 
from PCap source), it seems that QuickFAST started to completely ignore data in 
PCap file if it contains a single UDP packet. There are no problems when there 
is 2 or more UDP datagrams.

The issue is non-specific to particular template or exchange as it is at the 
PCap reader level. I can supply a test case if required, however.

Original issue reported on code.google.com by [email protected] on 6 Jul 2013 at 12:20

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

Addressing my own issue above. I have found the commit that broke the correct 
behaviour: http://goo.gl/hxE3dE

The changed logic in Receiver.h's startReceive() affected the following:

1) PCapReader::read() is now called TWICE every time the buffer needs to be 
refilled (not sure if this is a bug or a feature, to be honest, looks like a 
bug to me).

2) When PCap contains single UDP packet, it will be "ignored" (maybe because of 
1 above).

Reverting Receiver.h's code to the one from QuickFAST v1.4 restores correct 
behaviour.

Unfortunately complete logic behind the changed code in v1.5 is beyond my 
understanding at the moment, so it would be very helpful to get a comment from 
the authors to at least explain why that change was made (i.e., does it attempt 
fix another bug or improve performance?) If this was made in order to 
accommodate the changes for A/B feeds arbitration and we are not using that at 
the moment, would it be OK to assume that v1.4 code is still OK?

Original comment by [email protected] on 26 Jul 2013 at 1:41

@GoogleCodeExporter
Copy link
Author

Did you revert just Receiver.h or did you revert the entire change set that 
contains the modification to Receiver.h?

Original comment by [email protected] on 9 Aug 2013 at 8:28

  • Changed state: Acknowledged

@GoogleCodeExporter
Copy link
Author

I only reverted Receiver.h and that seems to have restored the original v 1.4 
behaviour with regards to calling PCapReader::read() only once.

Original comment by [email protected] on 9 Aug 2013 at 8:30

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant