Skip to content

Conversation

@bhaan
Copy link
Contributor

@bhaan bhaan commented Jul 15, 2016

fixes #170
related to #171

The logout sequence has stopped working due to the logout initiation being coupled to the inSession state. As identified in #171, we were seeing the session immediately sending a test request after logon. By doing so, the session state transitioned from inSession to pendingTimeout. While the pendingTimeout state embeds the inSession state, the call to application.Stop only checks if the current state is the inSession state to initiate the logout sequence.

These changes move initiateLogout into the session, so the action on Stop can check IsLoggedOn, and initiate the logout sequence as necessary. Therefore all states that confirm true for the IsLoggedOn function interface, will result in a proper logout sequence.

@bhaan bhaan changed the title Initiate loggout for all logged on states Initiate logout for all logged on states Jul 15, 2016
@mgatny mgatny merged commit 0cd020c into quickfixgo:master Jul 15, 2016
@bhaan bhaan deleted the acceptor-logout branch July 15, 2016 18:49
@cbusbey cbusbey added this to the v0.4.0 milestone Jul 15, 2016
@cbusbey cbusbey added the Bug Behavior not matching expected label Aug 1, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug Behavior not matching expected

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Initiator.Stop() does not wait for Acceptor's logout response, causing a resend on next logon

3 participants