zoukankan      html  css  js  c++  java
  • QuickFix自定义消息

    消息添加自定义字段两个步骤。例如,我们将增加TAG9006)的AwesomeField字符串字段

    首先,把它添加数据字典Fields当中

    <fields>

      <field number="1" name="Account" type="STRING"/>

      <field number="2" name="AdvId" type="STRING"/>

      <field number="3" name="AdvRefID" type="STRING"/>

    ...

      <field number="9006" name="AwesomeField" type="STRING"/>

    </fields>

    然后,把它添加到信息

    <message name="ExecutionReport" msgtype="8" msgcat="app">

      <field name="OrderID" required="Y"/>

      <field name="SecondaryOrderID" required="N"/>

      <field name="ClOrdID" required="N"/>

      <field name="OrigClOrdID" required="N"/>

      <field name="TestReqID" required="N"/>

    ...

      <field name="AwesomeField" required="N"/>

    </message>

    在上面,我们AwesomeField添加到该文档中的字段部分,而在数据字典定义正确的自定义组信息也是重要的。下面我们把它添加Group当中

    <message name="ExecutionReport" msgtype="8" msgcat="app">

      <field name="OrderID" required="Y"/>

    ...

      <field name="ExecBroker" required="N"/>

      <group name="NoContraBrokers" required="N">

        <field name="ContraBroker" required="N"/>

        <field name="ContraTrader" required="N"/>

        <field name="ContraTradeQty" required="N"/>

        <field name="ContraTradeTime" required="N"/>

        <field name="AwesomeField" required="N"/>

      </group>

    ...

     

    没有在数据字典指定自定义组,将无法正常工作。

     

    3) 如何在代码使用

    要在消息或自定义组当中获得自定义字段最简单的方法是调用getter方法

    const int AWESOME_FIELD = 9006;

    string awsmFld = message.GetString(AWESOME_FIELD);

     

    const int AWESOME_FIELD = 9006;

    string awsmFld = contraBrokersGrp.GetString(AWESOME_FIELD);

    自定义字段设置可以使用通用字段类: 

    const int AWESOME_FIELD = 9006;

    message.SetField(new StringField(AWESOME_FIELD, "ohai"));

     

    const int AWESOME_FIELD = 9006;

    contraBrokersGrp.SetField(new StringField(AWESOME_FIELD, "ohai"));

    作者:jingle lin
  • 相关阅读:
    javaScript系列---【js中获取元素的方式】
    javaScript系列---【js运算符类型】
    javaScript系列---【数据类型的强制转换】
    javaScript系列---【解析js基本数据类型】
    javaScript系列---【操作元素样式】
    Typora系列---【Typora常用快捷键】
    nyoj--239--月老的难题(最小点覆盖)
    nyoj--284--坦克大战(bfs模板)
    hdoj--3339--In Action(最短路+01背包)
    hdoj--2015--偶数求和(水题)
  • 原文地址:https://www.cnblogs.com/xiangshancuizhu/p/2933227.html
Copyright © 2011-2022 走看看