镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Include template ID in the fast login message. #132

Open

Description

@mounika-allagadda

Hi,

I want to include template ID in the beginning of the fast encoded login message.
I saw different examples to encode a message.

My code is as follows

  Messages::FieldIdentityCPtr identity_TemplateID = new Messages::FieldIdentity("TemplateID");
  Messages::FieldIdentityCPtr identity_MessageType = new Messages::FieldIdentity("MessageType");
  Messages::FieldIdentityCPtr identity_SendingTime = new Messages::FieldIdentity("SendingTime");
  Messages::FieldIdentityCPtr identity_AppID = new Messages::FieldIdentity("AppID");
  Messages::FieldIdentityCPtr identity_HeartBtInt = new Messages::FieldIdentity("HeartBtInt");
  Messages::FieldIdentityCPtr identity_Username = new Messages::FieldIdentity("Username");
  Messages::FieldIdentityCPtr identity_Password = new Messages::FieldIdentity("Password");

  Messages::MessagePtr logon_msg(new Messages::Message(templateRegistry_->maxFieldCount()));
  logon_msg->addField(identity_TemplateID, Messages::FieldUInt32::create(1));
  logon_msg->addField(identity_MessageType, Messages::FieldAscii::create("A"));
  logon_msg->addField(identity_SendingTime, Messages::FieldAscii::create(get_mit_time_stamp()));
  logon_msg->addField(identity_AppID, Messages::FieldUInt32::createNull());
  logon_msg->addField(identity_HeartBtInt, Messages::FieldUInt32::create(30));
  logon_msg->addField(identity_Username, Messages::FieldAscii::create(username));
  logon_msg->addField(identity_Password, Messages::FieldAscii::create(password));

  template_id_t templId = 1;

  BOOST_CHECKPOINT("encode logon_msg");
  QuickFAST::Codecs::DataDestinationString dest_logon;
  encoder_.encodeMessage(dest_logon, templId, *logon_msg);

The template is as follows:

     <template name="LogonHeader">
          <typeRef name="StandardHeader"/>
          <string name="MessageType" id="35"></string>
          <string name="SendingTime" id="52" presence="mandatory"><tail/></string>
    </template>

   <template name="Logon" id="1">
       <typeRef name="Logon"/>
       <templateRef name="LogonHeader"/>
       <string name="AppID" id="1180" presence="optional"></string>
       <uInt32 name="HeartBtInt" id="108" presence="mandatory"></uInt32> <!-- This should not be optional-->
       <string name="Username" id="553" presence="optional"></string>
       <string name="Password" id="554" presence="optional"></string>
   </template>

But in the encoded message, I dont think template ID will be there.
Can someone please help me in including the template ID in the login message?

Thanks in Advance.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions