fix/fast协议中PMAP(存在图)和Sequence的解析要点

本文介绍了FIX/FAST协议中PMAP(存在图)和Sequence的解析关键点,包括PMAP可能存在与否的判断依据以及Sequence长度的显式和隐式表示法。在解析过程中,需要注意PMAP在某些情况下可能缺失,而Sequence的长度表示法会影响后续数据的正确解析。文章通过分析Quickfast的代码揭示了如何确定PMAP的存在,并提供了Sequence解析的示例。
摘要由CSDN通过智能技术生成

fix/fast协议中PMAP(存在图)和Sequence的解析要点

 

吴旻

泰岩网络工作室

 

         因为升级的原因,我整理了一个从前的兄弟写的FIX/FAST解析代码。其中一直让我看不懂的是PMAP和Sequence的解法(因为代码事实上是有问题的),我也没找到相关的文档。下载了Quickfast的安装包,费了牛劲安装好,发现更复杂。好在只用到了一点点,算是把这两件事弄明白了。

 

         PMAP可能没有。

         这是一个致命的陷阱。一个正常的消息第一个数据就是PMAP,而且这个PMAP的第一个bit就是指后面有没有此消息的TID。正常的消息一定会有PMAP。

         但对于Sequence来说,它后面的第一个数据是这个Sequence的长度。再下一个数据可能是PMAP,也可能是正式的数据。有还是没有,判断错了,后面就全错了。

         由于找不到相关的文档,只好查Quickfast的代码。Quickfast的代码显示,有没有PMAP是根据这个template中所有的filed是不是可能用到PMAP有关。如果说,这个template中所有的字段都不需要使用PMAP就能判断出来,那就不会有PMAP出现。比如下面的例子:

       <sequence name="BidPriceLevel"presence="optional">

                      <lengthname="NoBidPriceLevel" id="10068"presence="optiona

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值