We're updating the issue view to help you get more done. 

tag id greater then unsigned short

Description

recently I added a new FIX data flow to my application. They have some custom fields with tag id out of 16 bits range. (fnum from 93634 to 93637).
As a first trial I added them to XML schema but they was not catched inside the messages.
Then I replaced with (fnum % 2^16) into the XML and in this way I got my application almost stable. The problem now is that such fields are into the price group of MarketDataSnapshotFullRefresh packets, so, they are repeated several times (I see them in wireshark) but the following function I use to process the message content returns NoMDEntries = 1 each time and I can read only the first price (usually the top level Bid).

{{bool Myfix_router_client::operator() (const FIX8::FIX4400::MarketDataSnapshotFullRefresh *msg) const
{
const FIX8::GroupBase *grnomde(msg->find_group<FIX8::FIX4400::MarketDataSnapshotFullRefresh::NoMDEntries>());}}

I don't need the content of that custom fields so my question is about a way to ignore at the very first step when the message arrives, or to change the type of the "field num" to be able to work with 32 bit unsigned values.

Thank you very much

Environment

cat /proc/version
Linux version 3.13.0-103-lowlatency (buildd@lcy01-30) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #150-Ubuntu SMP PREEMPT Thu Nov 24 11:11:58 UTC 2016

Status

Assignee

David Dight

Reporter

daniele

Labels

None

Branch

dev

Products

Open Source

Components

Fix versions

Affects versions

1.4.0

Priority

Critical