Re: [Quickfix-developers] RE: fromAdmin/fromApp not getting called on Logout from rejected logon
Brought to you by:
orenmnero
From: Caleb E. <cal...@gm...> - 2005-01-07 13:26:12
|
On Fri, 7 Jan 2005 09:36:45 -0000, Jason Fagan <jf...@ty...> wrote: > After some investigation it appears that a logic_error of "Logon state is > not valid for message" is being thrown in response to the Logout message > being sent from CME, thus resulting in the fromAdmin callback not being > called. Is this expected behavior or a possible bug? Sounds like a bug in QuickFIX. According to the FIX 4.4 spec, in the Session Protocol section, page 6: "If authentication fails, the session acceptor should shut down the connection after *optionally sending a Logout message* to indicate the reason of failure" Emphasis mine. So it is possible to receive a Logout without having successfully logged in. I think there just needs to be a small change to Session::validLogonState to handle this case. Something like: if ( msgType == MsgType_Logout && m_state.sentLogon ()) return true; The Session::nextLogout code should probably NOT generate a Logout response in response to this message, however. -- Caleb Epstein caleb dot epstein at gmail dot com |