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); } }