public bool Send(string msgStr) { QuickFix.Fields.MsgType msgType = QuickFix.Message.IdentifyType(msgStr); string beginString = QuickFix.Message.ExtractBeginString(msgStr); QuickFix.Message message = messageFactory.Create(beginString, msgType.Obj); QuickFix.DataDictionary.DataDictionary dd = new QuickFix.DataDictionary.DataDictionary(); message.FromString(msgStr, false, dd, dd, _defaultMsgFactory); if (!msgLookup.ContainsKey(msgType.getValue())) { msgLookup.Add(msgType.getValue(), new Queue <QuickFix.Message>()); } msgLookup[msgType.getValue()].Enqueue(message); QuickFix.Fields.PossDupFlag possDup = new QuickFix.Fields.PossDupFlag(false); if (message.Header.IsSetField(possDup)) { message.Header.GetField(possDup); } if (possDup.getValue() && msgType.getValue() != QuickFix.Fields.MsgType.SEQUENCE_RESET) { dups.Enqueue(message); } return(true); }
public bool Send(string msgStr) { QuickFix.Fields.MsgType msgType = QuickFix.Message.IdentifyType(msgStr); string beginString = QuickFix.Message.ExtractBeginString(msgStr); QuickFix.Message message = messageFactory.Create(beginString, msgType.Obj); QuickFix.DataDictionary.DataDictionary dd = new QuickFix.DataDictionary.DataDictionary(); message.FromString(msgStr, false, dd, dd, _defaultMsgFactory); if (!msgLookup.ContainsKey(msgType.getValue())) msgLookup.Add(msgType.getValue(), new Queue<QuickFix.Message>()); msgLookup[msgType.getValue()].Enqueue(message); QuickFix.Fields.PossDupFlag possDup = new QuickFix.Fields.PossDupFlag(false); if (message.Header.IsSetField(possDup)) message.Header.GetField(possDup); if (possDup.getValue() && msgType.getValue()!= QuickFix.Fields.MsgType.SEQUENCE_RESET) { dups.Enqueue(message); } return true; }