[This message was posted by Hanno Klein of Deutsche Börse Systems <[email protected]> to the "FAST Protocol" discussion forum at http://fixprotocol.org/discuss/46. You can reply to it on-line at http://fixprotocol.org/discuss/read/d57755d2 - PLEASE DO NOT REPLY BY MAIL.]
Just saw that David already answered. I will still post and hope it helps rather than confuses. The template ID (TID) itself is never in the Pmap, it optionally follows the Pmap. The first bit of the Pmap tells you whether the TID is physically in the message. The implicit copy operator for the TID means that the TID does not need to be sent if it does not change from one message to the next. I guess the notion of "first bit" also needs to be explained. A Pmap is a stop-bit encoded entity, i.e. it can span multiple bytes and the most significant bit of each byte tells you whether the next byte still belongs to the Pmap or not. Thus "first bit" is the "first significant bit" and there are at most seven significant bits in each byte. The message you get is thus either <Pmap><TID><...> or just <Pmap><...>. Seven data fields (=things?) require at most eight bits in the Pmap (exceptions are well defined and mean that no Pmap bit is used but the field is physically in the message). You need one more due to the TID. > I have a template with seven things in it and the first time I get it I > get the presence map in one byte. There is no space for the template id > to be in the pmap and the template id is sent. Yet I am told that the > template id is optional and may be in the first bit. Sometimes I am > getting funny looking pmaps and no template id. > > How does this work... > > I can see this in the document: > > A segment has a header consisting of a Presence Map followed by an > optional Template Identifier. The segment has a template identifier > either if it is a message segment, or if the segment appears as the > result of a dynamic template reference instruction. A template > identifier is encoded as if a copy operator was specified. The > operator uses the global dictionary and has an internal key common to > all template identifier fields. This means that a segment with a > template identifier does not always contain the template identifier > physically. However, the first bit in the presence map is allocated by > its copy operator. > > But I have no idea what it means... > > Sorry please help... [You can unsubscribe from this discussion group by sending a message to mailto:[email protected]] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Financial Information eXchange" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/FIX-Protocol?hl=en -~----------~----~----~----~------~----~------~--~---
