[QFJ-950] Provide configuration to have garbled messages rejected instead of ignoring them Created: 07/Jun/18 Updated: 02/Aug/18 Resolved: 02/Aug/18 |
|
Status: | Closed |
Project: | QuickFIX/J |
Component/s: | None |
Affects Version/s: | None |
Fix Version/s: | 2.1.0 |
Type: | New Feature | Priority: | Default |
Reporter: | Christoph John | Assignee: | Christoph John |
Resolution: | Fixed | Votes: | 0 |
Labels: | None |
Description |
In FIX it is legal to ignore a message under certain circumstances. Since FIX is an optimistic protocol it expects that some errors are transient and will correct themselves with the next message transmission. Therefore the sequence number is not incremented and a resend request is issued on the next received message that has a higher sequence number than expected. In the case that the error is not transient, the current behaviour is not optimal because not consuming a message sequence number can lead to follow-up problems since QFJ will wait for the message to be resent and queue all subsequent messages until the resend request has been satisfied. NOTE: This will only apply to messages that reach the engine and are not failing basic validity checks. E.g. messages that do not start with "8=FIX", or have no checksum set will be ignored as before. See FIX session protocol spec, chapter "What constitutes a garbled message". Examples of messages that will be rejected instead of ignored:
This will be implemented as a configuration option. Default behaviour will be as before, i.e. message will be ignored and not rejected. |