Re: [Quickfix-developers] Does QuickFix implement Message Queue mechanism to make sure all messages
Brought to you by:
orenmnero
From: Oren M. <or...@qu...> - 2004-09-02 14:16:28
|
Actually, the threaded sockets do use a queue. The relevant code is =20 here: http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/src/C%2B%2B/=20 Queue.h?view=3Dmarkup http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/src/C%2B%2B/=20 ThreadedSocketConnection.cpp?view=3Dmarkup On Sep 2, 2004, at 4:04 AM, Joerg Thoennes wrote: > QuickFIX Documentation: =20 > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: =20 > http://www.quickfixengine.org/wikifix/index.php?QuickFixFAQ > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi Frank, > >> I'm trying to make use of quickfix to replace the old fix =20 >> gateway(ugly code, not flexible, only support fix4.0) in my company. > > Good to hear that. That is the idea behind QuickFIX: Joining efforts =20= > to get one, high quality solution. > >> I have many years of socket programming experience. Every time when I = =20 >> write a tcp socket program, I'll worry about buffering of read and =20= >> write stream, queueing of messages ready to send, queueing of =20 >> messages received and waiting for handling. If I add such kinds of =20= >> handling in the socket program, the program will be really very =20 >> stable and robust; if not, errors will occur after it runs for some =20= >> time. > > Actually, the FIX protocol itself is independent of the underlying =20 > transport, it would also work with UDP. The session level protocol =20 > takes care of lost and out-of-order messages, so if an implementation =20= > fully implements the session level protocol of FIX (which QF does), =20= > you should not worry about this. > >> My question is: Does QuickFix have such kinds of handling ? =20 >> especially message queue mechanism ? May I borrow it to deal with =20= >> other sockets (My program is a fix gateway, one side connects trading = =20 >> system (not fix protocol), one side connects ECN(fix protocol)) ? > > For the incoming data, there is now queue/buffer besides the TCP =20 > buffer, so that every message read is immediately forwarded to the =20 > fromApp() or fromAdmin() callback. So it is the responsibility of the =20= > application to queue these message if needed. > > The outgoing data is saved in a messsage store (file, database, your =20= > own implementation). You can send data to a session as soon as it is =20= > created (onCreate() callback triggered). This is independent of the =20= > logon state of the session, i.e. you can send messages to a session if = =20 > it is logged off. If the session gets logged on again, these messages =20= > are transferred. The reason behind that is the requirement of the FIX =20= > protocol to be always able to resend messages. > > If this does not answer your question, please do not hesitate to ask. > > BTW, do you have some new exchange/ECN to be added to our WikiFIX? > > Cheers, J=F6rg > > --=20 > Joerg Thoennes > http://macd.com > Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH > Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=3D5047&alloc_id=3D10808&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |