Re: [Quickfix-developers] Initiator Reconnect?
Brought to you by:
orenmnero
From: Grant B. <gbi...@co...> - 2009-11-20 14:44:06
|
Likely the latter. On Fri, Nov 20, 2009 at 7:39 AM, Robert Levas <le...@qe...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Should I assume that no one uses the C++ library or is it that no one has the issue I am having? > > Robert Levas > > Systems Architect/Developer > > QED Financial Systems, Inc. > > 10,000 Sagemore > Marlton, New Jersey 08053 USA > > tel 856.797.1200 > > fax 856.797.9719 > > email le...@QE... > > This electronic message is intended only for the receipt by, and the personal and confidential use of, the designated recipient(s) named > above. If you are not an intended recipient of this electronic message you are hereby notified that any review, dissemination, distribution > or copy of this message is strictly prohibited. QED Financial Systems, Inc. reserves all rights to the content of this electronic message, > which is the exclusive property of QED Financial Systems. > > > > From: Robert Levas [mailto:le...@qe...] > Sent: Wednesday, November 11, 2009 3:58 PM > To: qui...@li... > Subject: Re: [Quickfix-developers] Initiator Reconnect? > > > > If anyone is interested I submitted a bug report on this. I also attached two patch files that can be used to fix the issue. It appears to be fixed on my end with the patch in place. > > > > http://sourceforge.net/tracker/?func=detail&aid=2895449&group_id=37535&atid=1126912 > > > > > > Robert Levas > > Systems Architect/Developer > > QED Financial Systems, Inc. > > 10,000 Sagemore > Marlton, New Jersey 08053 USA > > tel 856.797.1200 > > fax 856.797.9719 > > email le...@QE... > > This electronic message is intended only for the receipt by, and the personal and confidential use of, the designated recipient(s) named > above. If you are not an intended recipient of this electronic message you are hereby notified that any review, dissemination, distribution > or copy of this message is strictly prohibited. QED Financial Systems, Inc. reserves all rights to the content of this electronic message, > which is the exclusive property of QED Financial Systems. > > > > From: Robert Levas [mailto:le...@qe...] > Sent: Tuesday, November 10, 2009 3:06 PM > To: qui...@li... > Subject: Re: [Quickfix-developers] Initiator Reconnect? > > > > Apparently this appears to be a bug in how the connection workflow is set up. What seems to happen is > > > > 1) When the Initiator is initialized, a connection for every configured Session is created and placed in the “disconnected” bin > > 2) Later, a SocketInitiator::onStart which invokes the Initiator::connect method > > 3) Each connection in the “disconnected” bin is tested and then passed to the SocketInitiator::doConnect method, which > > a. removes the connection from the “disconnected” bin and places it in the “pending” bin > > b. calls “connect” on the connection > > 4) If the connection connects all is well, however if a connection is not made by some timeout value, SocketInitiator::onTimeout is invoked, which > > a. Check to see a retry is allowed based on the last time it was tried > > b. Attempts to reconnect using the Initiator::connect method (as in item #2, above). > > > > The issue is that when the connect method is called again, the connection(s) that timed out were never moved from the “pending” bin to the “disconnected” bin and therefore a connection is never retried. This is because the connect method only works on connections in the “disconnected” bin – which makes sense. > > > > I will be summiting a bug report as soon as I can get an OpenID and log into the appropriate SourceForge bug tracker. > > Robert Levas > > Systems Architect/Developer > > QED Financial Systems, Inc. > > 10,000 Sagemore > Marlton, New Jersey 08053 USA > > tel 856.797.1200 > > fax 856.797.9719 > > email le...@QE... > > This electronic message is intended only for the receipt by, and the personal and confidential use of, the designated recipient(s) named > above. If you are not an intended recipient of this electronic message you are hereby notified that any review, dissemination, distribution > or copy of this message is strictly prohibited. QED Financial Systems, Inc. reserves all rights to the content of this electronic message, > which is the exclusive property of QED Financial Systems. > > > > From: Robert Levas [mailto:le...@qe...] > Sent: Monday, November 09, 2009 1:22 PM > To: qui...@li... > Subject: [Quickfix-developers] Initiator Reconnect? > > > > I am using the C++ library for QuickFIX version 1.12.4. > > > > I have a FIX::Application implementation that successfully connects to and logs into the executor example application (that comes with the library). Things seem to be working as expected however if the client starts up after the executor server or the executor server goes down and doesn’t come up within 15 seconds, the client doesn’t attempt to connect to it. I assume that should expect the client to retry connecting to the server but that is not happening and do I see anything relevant in the docs at http://www.quickfixengine.org/quickfix/doc/html/index.html > > > > To make things clear here are the two scenarios I quickly outlined: > > a. Client starts before Server > > b. Execute my application > > c. Wait a few seconds > > d. Client application logs “Connecting to localhost on port 5001” > > e. Start executor server (using run_executor_cpp) > > f. Executor starts up successfully > > g. Client application never retries to connect to executor server > > h. Server exists/crashes before Client > > i. Start executor server (using run_executor_cpp) > > j. Executor starts up successfully > > k. Execute my application > > l. Connection is made and login successful > > m. Kill executor server (manually for testing) > > n. Client application gets disconnect and logout event > > o. Client application attempts to reconnect and logs “Connecting to localhost on port 5001” > > p. Wait 15 or so seconds > > q. Start executor server (using run_executor_cpp) > > r. Executor starts up successfully > > s. Client application never retries to connect to executor server > > > > Should I be doing something in code to get this reconnect behavior working? > > > > Thanks, > > Robert Levas > > Systems Architect/Developer > > QED Financial Systems, Inc. > > 10,000 Sagemore > Marlton, New Jersey 08053 USA > > tel 856.797.1200 > > fax 856.797.9719 > > email le...@QE... > > This electronic message is intended only for the receipt by, and the personal and confidential use of, the designated recipient(s) named > above. If you are not an intended recipient of this electronic message you are hereby notified that any review, dissemination, distribution > or copy of this message is strictly prohibited. QED Financial Systems, Inc. reserves all rights to the content of this electronic message, > which is the exclusive property of QED Financial Systems. > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |