protected void OnMessageFoundInternal(string msg) { // Message fixMessage; try { if (null == qfSession_) { Message adjustedMsg = null; if (socketSettings_.RjoAdapterTestMode) { this.Log("RjoAdapterTestMode: ignoring SenderSubID & SenderLocID in sender's logon message"); // need to ignore client's SubID when looking up session Regex rgx = new Regex($"{Message.SOH}50=[^{Message.SOH}]*"); string s = rgx.Replace(msg, ""); rgx = new Regex($"{Message.SOH}142=[^{Message.SOH}]*"); s = rgx.Replace(s, ""); adjustedMsg = new Message(s, false); } else { adjustedMsg = new Message(msg); } qfSession_ = Session.LookupSession(Message.GetReverseSessionID(adjustedMsg)); if (null == qfSession_) { this.Log("ERROR: Disconnecting; received message for unknown session: " + adjustedMsg); DisconnectClient(); return; } else { if (!HandleNewSession(msg)) { return; } } } try { qfSession_.Next(msg); } catch (System.Exception e) { this.Log("Error on Session '" + qfSession_.SessionID + "': " + e.ToString()); } } catch (InvalidMessage e) { HandleBadMessage(msg, e); } catch (MessageParseError e) { HandleBadMessage(msg, e); } }
protected void OnMessageFoundInternal(string msg) { // Message fixMessage; try { if (null == qfSession_) { qfSession_ = Session.LookupSession(Message.GetReverseSessionID(msg)); if (null == qfSession_) { this.Log("ERROR: Disconnecting; received message for unknown session: " + msg); DisconnectClient(); return; } else if (IsAssumedSession(qfSession_.SessionID)) { this.Log("ERROR: Disconnecting; received message for unknown session: " + msg); qfSession_ = null; DisconnectClient(); return; } else { if (!HandleNewSession(msg)) { return; } } } try { qfSession_.Next(msg); } catch (System.Exception e) { this.Log("Error on Session '" + qfSession_.SessionID + "': " + e.ToString()); } } catch (InvalidMessage e) { HandleBadMessage(msg, e); } catch (MessageParseError e) { HandleBadMessage(msg, e); } }
protected void OnMessageFoundInternal(string msg) { ///Message fixMessage; try { if (null == qfSession_) { qfSession_ = Session.LookupSession(Message.GetReverseSessionID(msg)); if (null == qfSession_) { // If more complete QFn session (inc SubID tags etc) does not exist then perform session lookup using Version, TargetCompID and SenderCompID only qfSession_ = Session.LookupSession(Message.GetBasicReverseSessionID(msg)); } if (null == qfSession_) { this.Log("ERROR: Disconnecting; received message for unknown session: " + msg); DisconnectClient(); return; } else { if (!HandleNewSession(msg)) { return; } } } try { qfSession_.Next(msg); } catch (System.Exception e) { this.Log("Error on Session '" + qfSession_.SessionID + "': " + e.ToString()); } } catch (InvalidMessage e) { HandleBadMessage(msg, e); } catch (MessageParseError e) { HandleBadMessage(msg, e); } }