Skip to content
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

SocketInitiator.Stop() does not take into account sessions that have not logged on yet #692

Open
PetteriPertola opened this issue May 5, 2021 · 0 comments

Comments

@PetteriPertola
Copy link

Hi,

I'm calling IInitiator.Stop() (using SocketInitiator) in some cases where we need to disconnect all sessions. This works fine if the sessions have at some point during the application lifecycle logged on successfully (OnLogon callback observed).

However, if a session has not yet connected since application start (for example the counterpart is down for a prolonged period of time), calling IInitiator.Stop() will not affect those sessions.

Instead, the configured sessions will continue to attempt to logon using 35=A indefinitely according to the configured StartTime and EndTime settings in the config.

I think this looks like a bug because I would expect the sessions to permanently disconnect at this point. Otherwise, while my initiator should be stopped, if the counterpart returns online, I will have an unexpected live session.

To reproduce: try to connect to a counterpart where the socket connection is established so 35=A logon is sent, but connection is forcibly closed by remote host without 35=Z or 35=A sent back, and then call Initiator.Stop().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant