Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include template ID in the fast login message. #132

Open
mounika-allagadda opened this issue Apr 20, 2016 · 0 comments
Open

Include template ID in the fast login message. #132

mounika-allagadda opened this issue Apr 20, 2016 · 0 comments

Comments

@mounika-allagadda
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant