[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
-~----------~----~----~----~------~----~------~--~---

Reply via email to