-
Notifications
You must be signed in to change notification settings - Fork 619
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preventing the acceptor session from accepting Logon message when Logout was initiated locally. #360
Preventing the acceptor session from accepting Logon message when Logout was initiated locally. #360
Conversation
…out was initiated locally. When Logon sequence was initiated externally. i.e. counterparty initiated Logout sequence, acceptor should still accept subsequent Logon attempts from that counterparty.
…out was initiated locally. Fixing SessionConnectorTest.
Thanks for the PR. 👍 I haven't thought this through in all details but I think there might be a gap. I can think of at least one case where the session would not get re-enabled: What do you think? Edit: probably we need to track if |
Hi Chris. I checked that and when the EndTime is reached, the acceptor calls Session.next(), which in turn (in line 1917) calls reset, which logs out the session, but without calling Session.logout(), so after the Logout triggered by the scheduler, the session is still enabled==true. I manually tested that on my branch and it works as I described above. Session.logout() is only called from client code (including JMX) and when (Threaded)SocketAcceptor/Initiator is stopped. |
Hi Janusz, sorry, my bad. I was working on a branch of PR #312 which is going to be merged in due course. |
OK, so this logout, when merged will break my fix. |
Yes the other PR is okay. So we either need to find a way to solve the other problem or your problem differently.
|
OK. So when the other PR is merged, I'll try to fix it again. |
Just merged #312 |
…out was initiated locally. Removed redundant logout during session reset and further improved my tests to reflect what I intended to express.
…out was initiated locally. Removed redundant logout during session reset and further improved my tests to reflect what I intended to express.
Thanks for letting me know Chris. Also I read the conversation for that PR to understand more context, but it is still not clear to me why it was added. Furthermore if the "enabled" attribute is supposed to do what the comment says:
I've manually checked some scenarios for my changes, but also for the changes in #312 and I can confirm, that the Logout is received before the disconnect when reset is called. I changed my PR to remove the logout added in 312 and also improved my tests. Please, let me know what you think. |
Hi Janusz, |
Hi Chris. Please let me know if you have anymore comments regarding this pull request. Cheers, |
Hi Janusz, Apart from that I still have some PRs in my pipeline that I want to push which I wanted to include in the release. Actually I wanted to create the release some weeks ago but too busy at the moment. :-/ Will try to get this done during the next weeks. Cheers, |
Co-authored-by: Christoph John <christoph.john@macd.com>
NB: if one wanted to issue a |
Also see #359
When Logon sequence was initiated externally. i.e. counterparty initiated Logout sequence, acceptor should still accept subsequent Logon attempts from that counterparty.