quickfix-developers Mailing List for QuickFIX (Page 181)
Brought to you by:
orenmnero
You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
|
Feb
(5) |
Mar
(16) |
Apr
(15) |
May
(17) |
Jun
(33) |
Jul
(35) |
Aug
(34) |
Sep
(19) |
Oct
(40) |
Nov
(51) |
Dec
(43) |
| 2003 |
Jan
(45) |
Feb
(79) |
Mar
(124) |
Apr
(121) |
May
(132) |
Jun
(77) |
Jul
(110) |
Aug
(57) |
Sep
(48) |
Oct
(83) |
Nov
(60) |
Dec
(40) |
| 2004 |
Jan
(67) |
Feb
(72) |
Mar
(74) |
Apr
(87) |
May
(70) |
Jun
(96) |
Jul
(75) |
Aug
(147) |
Sep
(128) |
Oct
(83) |
Nov
(67) |
Dec
(42) |
| 2005 |
Jan
(110) |
Feb
(84) |
Mar
(68) |
Apr
(55) |
May
(51) |
Jun
(192) |
Jul
(111) |
Aug
(100) |
Sep
(79) |
Oct
(127) |
Nov
(73) |
Dec
(112) |
| 2006 |
Jan
(95) |
Feb
(120) |
Mar
(138) |
Apr
(127) |
May
(124) |
Jun
(97) |
Jul
(103) |
Aug
(88) |
Sep
(138) |
Oct
(91) |
Nov
(112) |
Dec
(57) |
| 2007 |
Jan
(55) |
Feb
(35) |
Mar
(56) |
Apr
(16) |
May
(20) |
Jun
(77) |
Jul
(43) |
Aug
(47) |
Sep
(29) |
Oct
(54) |
Nov
(39) |
Dec
(40) |
| 2008 |
Jan
(69) |
Feb
(79) |
Mar
(122) |
Apr
(106) |
May
(114) |
Jun
(76) |
Jul
(83) |
Aug
(71) |
Sep
(53) |
Oct
(75) |
Nov
(54) |
Dec
(43) |
| 2009 |
Jan
(32) |
Feb
(31) |
Mar
(64) |
Apr
(48) |
May
(38) |
Jun
(43) |
Jul
(35) |
Aug
(15) |
Sep
(52) |
Oct
(62) |
Nov
(62) |
Dec
(21) |
| 2010 |
Jan
(44) |
Feb
(10) |
Mar
(47) |
Apr
(22) |
May
(5) |
Jun
(54) |
Jul
(19) |
Aug
(54) |
Sep
(16) |
Oct
(15) |
Nov
(7) |
Dec
(8) |
| 2011 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(41) |
Jun
(40) |
Jul
(29) |
Aug
(17) |
Sep
(12) |
Oct
(23) |
Nov
(22) |
Dec
(11) |
| 2012 |
Jan
(8) |
Feb
(24) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(5) |
Jul
(5) |
Aug
(5) |
Sep
(2) |
Oct
(9) |
Nov
(2) |
Dec
(18) |
| 2013 |
Jan
(25) |
Feb
(16) |
Mar
(8) |
Apr
(2) |
May
(16) |
Jun
(17) |
Jul
(2) |
Aug
(13) |
Sep
(3) |
Oct
(4) |
Nov
(1) |
Dec
|
| 2014 |
Jan
(2) |
Feb
|
Mar
(22) |
Apr
(9) |
May
(3) |
Jun
(1) |
Jul
(5) |
Aug
(11) |
Sep
(18) |
Oct
(4) |
Nov
(4) |
Dec
(3) |
| 2015 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
(37) |
Jul
|
Aug
(4) |
Sep
(6) |
Oct
(1) |
Nov
(4) |
Dec
(2) |
| 2016 |
Jan
(9) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(8) |
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
(3) |
Nov
(16) |
Dec
|
| 2017 |
Jan
(1) |
Feb
(15) |
Mar
(2) |
Apr
(12) |
May
(4) |
Jun
(7) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(23) |
Dec
(8) |
| 2018 |
Jan
(2) |
Feb
(4) |
Mar
(2) |
Apr
(8) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
| 2020 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
(5) |
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
| 2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2026 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Oren M. <or...@qu...> - 2005-10-07 19:05:41
|
You are not going to get better performace out of a database than the =
flat file logs. With a database you still need to do disk writes (and =
the database will definately err on the side of caution and make sure =
the buffer gets flushed with each transaction). You also have socket =
communication plus managing indexes on top of it. Assuming your =
database is on another machine, there is also network communication =
overhead.
The performance test runner (pt.exe in the bin directory), indicates I =
can store about 125,000 basic NewOrderSingle messages into a file on my =
laptop. Surely not a great harddrive. This seems to scale up pretty =
well (I got the pretty eqivalent numbers storing 5,000, 50,000, and =
500,000 messages into a single file). I doubt you will get nearly as =
good performance out of a relational database on any hardware.
Caleb has contributed an implementation for BerkelyDB (which has =
unfortunately not been integrated into a release yet), but even that =
will be slightly slower than the file logger.
If you are going to rely on the logs to analyze problems that result in =
a crash of the application, you will probably find that disabling the =
flush will essentially make the logs useless as it will be very likely =
that you are missing the most recent data, particularly the message that =
caused the crash.
You mentioned that the I/O is really heavy, but you have not mentioned =
how this is affecting your latency. Have you measured this?
--oren
----- Original Message -----=20
From: Alexey Zubko=20
To: Caleb Epstein=20
Cc: qui...@li...=20
Sent: Friday, October 07, 2005 1:20 PM
Subject: Re: [Quickfix-developers] FileLog, FileStore flush
Caleb,
Incoming and outgoing logs are important to control the main =
application.
Plus if something unusual happened how it's possible to analyze the =
situation without these logs?
I was thinking of using a database to store logs because it might be =
faster and the disk is not as fragmented as when you write into a file.
It would be nice to hear some feedbacks from guys using databases.
Are there any problems?
We have some problems of using MS SQL (not with QF) - particularly =
it's fast growing log file.
I'm not sure that MySQL will be much better.
Caleb Epstein wrote:=20
On 10/7/05, Alexey Zubko <ale...@gm...> wrote:
Unfortunately speeding is the highest priority for us and hardware =
upgrade may not to help much.
I added disabling of the flushing for the FileLog class because =
these files are the biggest.
If your are interesting in these changes I'll send them.
If you're concerned about speed and the size of these files, don't =
use any log at all (you can use the ScreenLog or derive your own =
LogFactory to do this). Only the MessageStore is required for =
operation. The incoming/outgoing logs are only for informational =
purposes and aren't used by QuickFIX once they are written.
--=20
Caleb Epstein
caleb dot epstein at gmail dot com=20
--=20
Regards,
Alexey Zubko
|
|
From: Oren M. <or...@qu...> - 2005-10-07 18:56:46
|
It's not complaining about your configuration file, it is complaining =
about your xml data dictionary.
--oren
----- Original Message -----=20
From: Shankar Krishnan=20
To: Shankar Krishnan ; qui...@li...=20
Sent: Friday, October 07, 2005 1:51 PM
Subject: RE: [Quickfix-developers] Error on running app
=20
Apologies for the earlier email,=20
=20
Tracked down the real problem to
=20
ConfigError: Could not parse data dictionary file at SocketInitiator, =
looking at source code points to the settings file,
The file is just key/value pairs, I am not sure what is incorrect, are =
there any strict formatting rules.
=20
=20
QuickFix.ConfigError: Configuration failed: FIX40.xml: Could not pa
ionary file
at QuickFix.SocketInitiator..ctor(Application application, Messa
y factory, SessionSettings settings, MessageFactory messageFactory)
uickfix\source\quickfix\src\.net\socketinitiator.h:line 55
at BarCapFill.Class1.Main(String[] args) in c:\documents and set
a\my documents\visual studio projects\barcapfill\class1.cs:line 31
=20
=20
=20
Thanks
=20
=20
-------------------------------------------------------------------------=
-----
From: Shankar Krishnan [mailto:skr...@jw...]=20
Sent: Friday, October 07, 2005 2:20 PM
To: qui...@li...
Subject: [Quickfix-developers] Error on running app
=20
=20
=20
=20
I have set the configuration files as needed, I get the following =
exception, any help appreciated.
=20
=20
=20
|
|
From: Shankar K. <skr...@jw...> - 2005-10-07 18:52:24
|
Apologies for the earlier email, Tracked down the real problem to ConfigError: Could not parse data dictionary file at SocketInitiator, looking at source code points to the settings file, The file is just key/value pairs, I am not sure what is incorrect, are there any strict formatting rules. QuickFix.ConfigError: Configuration failed: FIX40.xml: Could not pa ionary file at QuickFix.SocketInitiator..ctor(Application application, Messa y factory, SessionSettings settings, MessageFactory messageFactory) uickfix\source\quickfix\src\.net\socketinitiator.h:line 55 at BarCapFill.Class1.Main(String[] args) in c:\documents and set a\my documents\visual studio projects\barcapfill\class1.cs:line 31 Thanks _____ From: Shankar Krishnan [mailto:skr...@jw...] Sent: Friday, October 07, 2005 2:20 PM To: qui...@li... Subject: [Quickfix-developers] Error on running app I have set the configuration files as needed, I get the following exception, any help appreciated. |
|
From: Alexey Z. <ale...@gm...> - 2005-10-07 18:21:05
|
Caleb, Incoming and outgoing logs are important to control the main application. Plus if something unusual happened how it's possible to analyze the situation without these logs? I was thinking of using a database to store logs because it might be faster and the disk is not as fragmented as when you write into a file. It would be nice to hear some feedbacks from guys using databases. Are there any problems? We have some problems of using MS SQL (not with QF) - particularly it's fast growing log file. I'm not sure that MySQL will be much better. Caleb Epstein wrote: > On 10/7/05, *Alexey Zubko* <ale...@gm... > <mailto:ale...@gm...>> wrote: > > Unfortunately speeding is the highest priority for us and hardware > upgrade may not to help much. > > I added disabling of the flushing for the FileLog class because > these files are the biggest. > If your are interesting in these changes I'll send them. > > > If you're concerned about speed and the size of these files, don't use > any log at all (you can use the ScreenLog or derive your own > LogFactory to do this). Only the MessageStore is required for > operation. The incoming/outgoing logs are only for informational > purposes and aren't used by QuickFIX once they are written. > > -- > Caleb Epstein > caleb dot epstein at gmail dot com -- Regards, Alexey Zubko |
|
From: Caleb E. <cal...@gm...> - 2005-10-07 17:46:11
|
On 10/7/05, Alexey Zubko <ale...@gm...> wrote: > Unfortunately speeding is the highest priority for us and hardware upgrad= e > may not to help much. > > I added disabling of the flushing for the FileLog class because these > files are the biggest. > If your are interesting in these changes I'll send them. If you're concerned about speed and the size of these files, don't use any log at all (you can use the ScreenLog or derive your own LogFactory to do this). Only the MessageStore is required for operation. The incoming/outgoing logs are only for informational purposes and aren't used by QuickFIX once they are written. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Fanshteyn, T. <tfa...@bo...> - 2005-10-07 15:58:59
|
You do net get an event, but rather an overriden method is being called by the QuickFix engine. You can then fire off your own custom event -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Shankar Krishnan Sent: Friday, October 07, 2005 10:55 AM To: qui...@li... Subject: RE: [Quickfix-developers] Application class instance. QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi, Hopefully not too basic, did my homework, was not able to find too much. I looked up the one C# example which did not use the event handlers. I would like to add the OnLogon,OnLogout eventhandlers in the application. In the example (C#) I donot see the following usage to add an event handler Application.onlogon += new LogonEventHandler(onLogon); Which I presume is the way event handlers are added in C#, I looked up the application.cs file, I donot see how the events have been linked, I,e when will onMessage fire ? I found very little documentation elsewhere on the usage of Application Class. Could someone please shed some light on Application class and how it is used in this application. Or What do these lines mean, Application application = new Application(); SocketAcceptor acceptor = new SocketAcceptor(application,factory,settings,logFactory,...) ----- Is it correct to say that Application.cs holds the business logic ? and executor.cs did the socket connection part. Appreciate any help in getting started. These are very basic questions, hopefully no flames :) Regards -----Original Message----- From: Tom Jones [mailto:csh...@ho...] Sent: Thursday, October 06, 2005 5:00 PM To: qui...@li... Subject: [Quickfix-developers] RE: Effort QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html I realized I missed the most important thanks....Oren Miller. And to anyone else I forgot. Thanks again. Sorry for the spam. TJ _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Alexey Z. <ale...@gm...> - 2005-10-07 15:32:36
|
Caleb, Thank you for the reply. Unfortunately speeding is the highest priority for us and hardware upgrade may not to help much. I added disabling of the flushing for the FileLog class because these files are the biggest. If your are interesting in these changes I'll send them. -- Regards, Alexey Zubko Caleb Epstein wrote: > On 10/7/05, *Alexey Zubko* <ale...@gm... > <mailto:ale...@gm...>> wrote: > > I want to try to eliminate these flush calls from the classes. > Is it potential danger? Does anyone have such experience? > Is it better or faster to use a SQL server to store logs? > > > It is definitely a potential danger. Any data that hasn't been > flushed to disk (notably the .seqnums and also perhaps the .outgoing > file) won't be written to disk if your process dies unexpectedly or > the machine reboots. When you recover, your application may end up > re-processing messages it has already received. OIr perhaps even > worse, unable to resend messages that the counterparty has not received. > > This is a classic safety vs. speed tradeoff. The right answer depends > on the requirements of your own system, and the default implementation > of these classes in QuickFIX takes the safest possible (but also > slowest) approach to guarantee recoverability. > > -- > Caleb Epstein > caleb dot epstein at gmail dot com |
|
From: Caleb E. <cal...@gm...> - 2005-10-07 15:10:54
|
On 10/7/05, Alexey Zubko <ale...@gm...> wrote: > > I want to try to eliminate these flush calls from the classes. > Is it potential danger? Does anyone have such experience? > Is it better or faster to use a SQL server to store logs? It is definitely a potential danger. Any data that hasn't been flushed to disk (notably the .seqnums and also perhaps the .outgoing file) won't be written to disk if your process dies unexpectedly or the machine reboots. When you recover, your application may end up re-processing messages it has already received. OIr perhaps even worse, unable to resend messages that th= e counterparty has not received. This is a classic safety vs. speed tradeoff. The right answer depends on th= e requirements of your own system, and the default implementation of these classes in QuickFIX takes the safest possible (but also slowest) approach t= o guarantee recoverability. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Alexey Z. <ale...@gm...> - 2005-10-07 15:09:11
|
Hi, I have a similar one (Win32 C++). One application, two threads. One thread runs QF server to accept clients (ThreadedSocketAcceptor), another thread is a QF client to connect to exchange (SocketInitiator). Two configuration files - for the acceptor and for the initiator. It works fine. There is an issue when I close the application, but overall it's good. Be careful - sessions list is static :-( . The rest is really trivial. -- Regards, Alexey Zubko |
|
From: Oren M. <or...@qu...> - 2005-10-07 15:00:44
|
Doxygen can actually handle it, but we intentionally excluded them because the number of classes becomes overwhelming and makes it hard to navigate the core classes. If you look in the Doxyfile, you can see the the INPUT path is set to ../src/C++, and RECURSIVE is set to NO, effectively excluding the subdirectories which include the message files. Set recursive to YES and regenerate if you want to include them. --oren On Oct 7, 2005, at 9:39 AM, Caleb Epstein wrote: > On 10/7/05, Jim Lo <loh...@gm...> wrote: > i can't locate some class found in the examples. for example, class > inside FIX40, FIX41, FIX42... namespace also FIX::ClOrdID, > FIX::Symbol... > i just feel somethings missed in documention. anyone have idea > about this? > > > The various Field classes are all defined using macros (see src/C++/ > Fields.h) which probably confuses Doxygen. They are all classes > derived from one of the strongly-typed field classes like > StringField, DoubleField, etc, which themselves derive from > FieldBase, so you might want to look at: > > http://quickfixengine.org/quickfix/doc/html/ > class_f_i_x_1_1_field_base.html > http://quickfixengine.org/quickfix/doc/html/ > class_f_i_x_1_1_int_field.html > > etc > > There are so many specific fields that including documentation for > all of them would probably be overkill. The same could be said for > the FIX4x message classes too. > > > -- > Caleb Epstein > caleb dot epstein at gmail dot com |
|
From: Shankar K. <skr...@jw...> - 2005-10-07 14:56:19
|
Hi, Hopefully not too basic, did my homework, was not able to find too much. I looked up the one C# example which did not use the event handlers. I would like to add the OnLogon,OnLogout eventhandlers in the application. In the example (C#) I donot see the following usage to add an event handler Application.onlogon += new LogonEventHandler(onLogon); Which I presume is the way event handlers are added in C#, I looked up the application.cs file, I donot see how the events have been linked, I,e when will onMessage fire ? I found very little documentation elsewhere on the usage of Application Class. Could someone please shed some light on Application class and how it is used in this application. Or What do these lines mean, Application application = new Application(); SocketAcceptor acceptor = new SocketAcceptor(application,factory,settings,logFactory,...) ----- Is it correct to say that Application.cs holds the business logic ? and executor.cs did the socket connection part. Appreciate any help in getting started. These are very basic questions, hopefully no flames :) Regards -----Original Message----- From: Tom Jones [mailto:csh...@ho...] Sent: Thursday, October 06, 2005 5:00 PM To: qui...@li... Subject: [Quickfix-developers] RE: Effort QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html I realized I missed the most important thanks....Oren Miller. And to anyone else I forgot. Thanks again. Sorry for the spam. TJ _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Caleb E. <cal...@gm...> - 2005-10-07 14:56:06
|
On 10/6/05, Tom Jones <csh...@ho...> wrote: > I would first like to thank the whole QuickFIX team for making a great > application available to anyone who wants it. I would especially like to > send thanks to Caleb Epstein for making such a big effort in answering > questions and in developing this system. Sorry, I just spit coffee on my monitor. Thanks for the thanks, but I most definitely did NOT develop QuickFIX. I've submitted a bunch of patches, and contributed a handful of code, but I am most definitely not the one who wrote this thing. Credit there goes to Oren Miller. Stand up and take a bow, Oren. > Thanks again to the QuickFIX team and the members of this list who have > contributed to make this a great application. Indeed. Thanks to Oren and everyone else (at Thoughtworks?) who developed, maintains and supports QuickFIX. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Caleb E. <cal...@gm...> - 2005-10-07 14:46:44
|
On 10/7/05, Jim Lo <loh...@gm...> wrote: > i can't locate some class found in the examples. for example, class insid= e > FIX40, FIX41, FIX42... namespace also FIX::ClOrdID, FIX::Symbol... > i just feel somethings missed in documention. anyone have idea about this= ? > The various Field classes are all defined using macros (see src/C++/Fields.h) which probably confuses Doxygen. They are all classes derived from one of the strongly-typed field classes like StringField, DoubleField, etc, which themselves derive from FieldBase, so you might want to look at: http://quickfixengine.org/quickfix/doc/html/class_f_i_x_1_1_field_base.html http://quickfixengine.org/quickfix/doc/html/class_f_i_x_1_1_int_field.html etc There are so many specific fields that including documentation for all of them would probably be overkill. The same could be said for the FIX4x message classes too. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Alexey Z. <ale...@gm...> - 2005-10-07 14:43:11
|
Hello, I have a question regarding flushing of files in the FileLog and FileStore classes (C++). We have many QF applications running on one machine (Win2k). The CPU usage is almost nothing, but I believe the disk IO is really heavy (we save everything). I want to try to eliminate these flush calls from the classes. Is it potential danger? Does anyone have such experience? Is it better or faster to use a SQL server to store logs? Thank you in advance. -- Regards, Alexey Zubko |
|
From: Caleb E. <cal...@gm...> - 2005-10-07 14:41:15
|
On 10/6/05, udai bhaskar <pv...@ya...> wrote: > > I am using QuickFIX engine for creating a pass-through > server (Accepts a client connection, makes a > connection to a different server). In this case, how > do I define my session settings for both the sides of > the server? I tried using two settings files, one for > the acceptor and one for the initiator, but doesnt > work. Did anyone face the same problem? Have any idea > how to configure? I haven't tried this myself, but can't see why it *wouldn't* work. Can you be more specific about what problems you encountered than simply "doesn't work"? -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Steve B. <st...@te...> - 2005-10-07 14:41:05
|
Oracle treats an empty string as a null. :-( Steve Oren Miller wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Yeah, the way it is implemented right now, is that any sessionID > "without" a session qualifier, has a blank string as the qualifier. > Which as noted allows us to make it part of the primary key. In the > java wrappers for the C++ engine, the constructor for a sessionID > without a qualifier looks like this: > > public SessionID(String beginString, > String senderCompID, > String targetCompID) { > create( beginString, senderCompID, targetCompID, "" ) > } > > So you can see that a blank string is being assigned. It looks like > QuickFIX/J does the same thing with its sessionID. So far I'm not > aware of any problems this caused with the direct SQL implementations > I've seen (MySQL, PostgreSQL, MSSQL). If this is a problem, I'd be > surprised if it was an acceptor only problem, since most initiator > sessions are also created with blank session qualifiers unless they are > specifically added. Are there really databases you know of that cannot > differentiate between a NULL and a blank string? > > --oren > > On Oct 7, 2005, at 2:31 AM, Steve Bate wrote: > >> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ >> html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hi Toby, >> >> The session qualifier is logically part of the primary key that >> uniquely identifies a session. Multiple sessions can have the >> same begin string, target/sender company identifiers. This is >> also the way the QF C++ code is designed. You won't be able >> to remove the "not null" constraint for session qualifier >> without removing it from the primary key -- and that probably >> isn't a good thing. >> >> The SQL schema used by QFJ is the same one that the QF C++ >> code uses. However, there might be some additional issues in >> QFJ because it supports any JDBC database rather than just >> MySQL. Which database are you using? Is the session qualifier >> a Java null or an empty string? Some databases will convert >> an empty string to a NULL value when inserting a row into the >> database, so either way it could be a problem in some cases. >> >> Oren, any additional comments? >> >> Steve >> >> >> Shepheard, Toby (London) wrote: >> >>> QuickFIX Documentation: >>> >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> NB: This is using QuickFIX/J (1.0.0-beta1) with a minor fix from CVS >>> for FileLog.java >>> >>> I came across a problem when running as an Acceptor with the JDBC >>> message store (JDBCStore.java), and the fact that the SessionQualifier >>> is null for Acceptors, but is required in the database tables. See >>> http://www.quickfixengine.org/bugtracker/bug.php?op=show&bugid=115 >>> >>> Am I missing something here or is this a problem with QFJ - and are >>> SessionQualifiers really needed? From what I can see they look like >>> they're meant to be optional for initiators, and meaningless for >>> acceptors, but I'm not at all sure. >>> >>> As far as I can see I've got two options - either add a session >>> qualifier to the acceptor config, or alter the DB and JDBCStore code to >>> not require a session qualifier (which has a rather large impact due to >>> the primary key changes that would entail). I hope someone can advise! >>> >>> Many thanks, >>> Toby >>> -------------------------------------------------------- >>> >>> If you are not an intended recipient of this e-mail, please notify the >>> >> sender, delete it and do not read, act upon, print, disclose, copy, >> retain or redistribute it. Click here for important additional terms >> relating to this e-mail. http://www.ml.com/email_terms/ >> >>> -------------------------------------------------------- >>> >>> >>> ------------------------------------------------------- >>> This SF.Net email is sponsored by: >>> Power Architecture Resource Center: Free content, downloads, >>> discussions, >>> and more. http://solutions.newsforge.com/ibmarch.tmpl >>> _______________________________________________ >>> Quickfix-developers mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >>> >> >> >> >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by: >> Power Architecture Resource Center: Free content, downloads, >> discussions, >> and more. http://solutions.newsforge.com/ibmarch.tmpl >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> >> > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: > Power Architecture Resource Center: Free content, downloads, discussions, > and more. http://solutions.newsforge.com/ibmarch.tmpl > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Caleb E. <cal...@gm...> - 2005-10-07 14:40:21
|
On 10/6/05, udai bhaskar <pv...@ya...> wrote: > > I am using QuickFIX engine for creating a pass-through > server (Accepts a client connection, makes a > connection to a different server). In this case, how > do I define my session settings for both the sides of > the server? I tried using two settings files, one for > the acceptor and one for the initiator, but doesnt > work. Did anyone face the same problem? Have any idea > how to configure? i HAVEN'T T -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Shepheard, T. (London) <Tob...@ml...> - 2005-10-07 14:03:17
|
Problem solved I think; I found a fix in CVS for SessionID.java, with
the addition of an empty string sessionQualifier to replace null ones.
Line 31:
31:
+ if (sessionQualifier =3D=3D null) {
+ sessionQualifier =3D "";
+ }
-----Original Message-----
From: Shepheard, Toby (London)=20
Sent: 06 October 2005 15:58
To: 'qui...@li...'
Subject: QFJ: Acceptors and SessionQualifiers
NB: This is using QuickFIX/J (1.0.0-beta1) with a minor fix from CVS
for FileLog.java
I came across a problem when running as an Acceptor with the JDBC
message store (JDBCStore.java), and the fact that the SessionQualifier
is null for Acceptors, but is required in the database tables. See
http://www.quickfixengine.org/bugtracker/bug.php?op=3Dshow&bugid=3D115
Am I missing something here or is this a problem with QFJ - and are
SessionQualifiers really needed? From what I can see they look like
they're meant to be optional for initiators, and meaningless for
acceptors, but I'm not at all sure.
As far as I can see I've got two options - either add a session
qualifier to the acceptor config, or alter the DB and JDBCStore code to
not require a session qualifier (which has a rather large impact due to
the primary key changes that would entail). I hope someone can advise!
Many thanks,
Toby
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the =
sender, delete it and do not read, act upon, print, disclose, copy, =
retain or redistribute it. Click here for important additional terms =
relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------
|
|
From: Oren M. <or...@qu...> - 2005-10-07 13:36:55
|
Yeah, the way it is implemented right now, is that any sessionID
"without" a session qualifier, has a blank string as the qualifier.
Which as noted allows us to make it part of the primary key. In the
java wrappers for the C++ engine, the constructor for a sessionID
without a qualifier looks like this:
public SessionID(String beginString,
String senderCompID,
String targetCompID) {
create( beginString, senderCompID, targetCompID, "" )
}
So you can see that a blank string is being assigned. It looks like
QuickFIX/J does the same thing with its sessionID. So far I'm not
aware of any problems this caused with the direct SQL implementations
I've seen (MySQL, PostgreSQL, MSSQL). If this is a problem, I'd be
surprised if it was an acceptor only problem, since most initiator
sessions are also created with blank session qualifiers unless they
are specifically added. Are there really databases you know of that
cannot differentiate between a NULL and a blank string?
--oren
On Oct 7, 2005, at 2:31 AM, Steve Bate wrote:
> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/
> html/index.html
> QuickFIX Support: http://www.quickfixengine.org/services.html
>
> Hi Toby,
>
> The session qualifier is logically part of the primary key that
> uniquely identifies a session. Multiple sessions can have the
> same begin string, target/sender company identifiers. This is
> also the way the QF C++ code is designed. You won't be able
> to remove the "not null" constraint for session qualifier
> without removing it from the primary key -- and that probably
> isn't a good thing.
>
> The SQL schema used by QFJ is the same one that the QF C++
> code uses. However, there might be some additional issues in
> QFJ because it supports any JDBC database rather than just
> MySQL. Which database are you using? Is the session qualifier
> a Java null or an empty string? Some databases will convert
> an empty string to a NULL value when inserting a row into the
> database, so either way it could be a problem in some cases.
>
> Oren, any additional comments?
>
> Steve
>
>
> Shepheard, Toby (London) wrote:
>
>> QuickFIX Documentation:
>>
> http://www.quickfixengine.org/quickfix/doc/html/index.html
>
>> QuickFIX Support: http://www.quickfixengine.org/services.html
>>
>> NB: This is using QuickFIX/J (1.0.0-beta1) with a minor fix from CVS
>> for FileLog.java
>>
>> I came across a problem when running as an Acceptor with the JDBC
>> message store (JDBCStore.java), and the fact that the
>> SessionQualifier
>> is null for Acceptors, but is required in the database tables. See
>> http://www.quickfixengine.org/bugtracker/bug.php?op=show&bugid=115
>>
>> Am I missing something here or is this a problem with QFJ - and are
>> SessionQualifiers really needed? From what I can see they look like
>> they're meant to be optional for initiators, and meaningless for
>> acceptors, but I'm not at all sure.
>>
>> As far as I can see I've got two options - either add a session
>> qualifier to the acceptor config, or alter the DB and JDBCStore
>> code to
>> not require a session qualifier (which has a rather large impact
>> due to
>> the primary key changes that would entail). I hope someone can
>> advise!
>>
>> Many thanks,
>> Toby
>> --------------------------------------------------------
>>
>> If you are not an intended recipient of this e-mail, please notify
>> the
>>
> sender, delete it and do not read, act upon, print, disclose, copy,
> retain or redistribute it. Click here for important additional terms
> relating to this e-mail. http://www.ml.com/email_terms/
>
>> --------------------------------------------------------
>>
>>
>> -------------------------------------------------------
>> This SF.Net email is sponsored by:
>> Power Architecture Resource Center: Free content, downloads,
>> discussions,
>> and more. http://solutions.newsforge.com/ibmarch.tmpl
>> _______________________________________________
>> Quickfix-developers mailing list
>> Qui...@li...
>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers
>>
>
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Power Architecture Resource Center: Free content, downloads,
> discussions,
> and more. http://solutions.newsforge.com/ibmarch.tmpl
> _______________________________________________
> Quickfix-developers mailing list
> Qui...@li...
> https://lists.sourceforge.net/lists/listinfo/quickfix-developers
>
>
|
|
From: Jim Lo <loh...@gm...> - 2005-10-07 08:13:10
|
Hi All, i can't locate some class found in the examples. for example, class inside FIX40, FIX41, FIX42... namespace also FIX::ClOrdID, FIX::Symbol... i just feel somethings missed in documention. anyone have idea about this? thanks! jim -- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. by Rich Cook |
|
From: Steve B. <st...@te...> - 2005-10-07 07:31:29
|
Hi Toby, The session qualifier is logically part of the primary key that uniquely identifies a session. Multiple sessions can have the same begin string, target/sender company identifiers. This is also the way the QF C++ code is designed. You won't be able to remove the "not null" constraint for session qualifier without removing it from the primary key -- and that probably isn't a good thing. The SQL schema used by QFJ is the same one that the QF C++ code uses. However, there might be some additional issues in QFJ because it supports any JDBC database rather than just MySQL. Which database are you using? Is the session qualifier a Java null or an empty string? Some databases will convert an empty string to a NULL value when inserting a row into the database, so either way it could be a problem in some cases. Oren, any additional comments? Steve Shepheard, Toby (London) wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > NB: This is using QuickFIX/J (1.0.0-beta1) with a minor fix from CVS > for FileLog.java > > I came across a problem when running as an Acceptor with the JDBC > message store (JDBCStore.java), and the fact that the SessionQualifier > is null for Acceptors, but is required in the database tables. See > http://www.quickfixengine.org/bugtracker/bug.php?op=show&bugid=115 > > Am I missing something here or is this a problem with QFJ - and are > SessionQualifiers really needed? From what I can see they look like > they're meant to be optional for initiators, and meaningless for > acceptors, but I'm not at all sure. > > As far as I can see I've got two options - either add a session > qualifier to the acceptor config, or alter the DB and JDBCStore code to > not require a session qualifier (which has a rather large impact due to > the primary key changes that would entail). I hope someone can advise! > > Many thanks, > Toby > -------------------------------------------------------- > > If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail. http://www.ml.com/email_terms/ > -------------------------------------------------------- > > > ------------------------------------------------------- > This SF.Net email is sponsored by: > Power Architecture Resource Center: Free content, downloads, discussions, > and more. http://solutions.newsforge.com/ibmarch.tmpl > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Tom J. <csh...@ho...> - 2005-10-06 21:00:18
|
I realized I missed the most important thanks....Oren Miller. And to anyone else I forgot. Thanks again. Sorry for the spam. TJ _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ |
|
From: udai b. <pv...@ya...> - 2005-10-06 20:46:13
|
Hi, I am using QuickFIX engine for creating a pass-through server (Accepts a client connection, makes a connection to a different server). In this case, how do I define my session settings for both the sides of the server? I tried using two settings files, one for the acceptor and one for the initiator, but doesnt work. Did anyone face the same problem? Have any idea how to configure? thanks, udai. __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com |
|
From: Tom J. <csh...@ho...> - 2005-10-06 20:38:32
|
I would first like to thank the whole QuickFIX team for making a great application available to anyone who wants it. I would especially like to send thanks to Caleb Epstein for making such a big effort in answering questions and in developing this system. I just wanted to say that since the developers who made this application put forth their energy and time, that the users should at least try to put in some effort to understand it before they click on the send email button to this list. Its open source, if you dont understand something feel free to dig through the source code. There is also documentation and examples provided, I would suggest new users actually try out the examples before even attempting to develop their own implementations. The answers are in the source and documentation, you just have to dig around for them. Thanks again to the QuickFIX team and the members of this list who have contributed to make this a great application. _________________________________________________________________ Dont just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/ |
|
From: Shankar K. <skr...@jw...> - 2005-10-06 16:49:40
|
Thanks exactly what I was looking for . - S _____ From: Caleb Epstein [mailto:cal...@gm...] Sent: Thursday, October 06, 2005 12:40 PM To: Shankar Krishnan Cc: qui...@li... Subject: Re: [Quickfix-developers] Config files On 10/6/05, Shankar Krishnan <skr...@jw... <mailto:skr...@jw...> > wrote: For the session to start, I need to know the counterparty's IP address and the port he wants me to connect to. Where do these entries go ? It seems I should add them to my config file, but I have not seen an relevant tag for these entries, what tags should I use. These are not tags. They are entries in the configuration file. See: http://quickfixengine.org/quickfix/doc/html/configuration.html <http://quickfixengine.org/quickfix/doc/html/configuration.html> Specifially SocketConnectHost and SocketConnectPort. -- Caleb Epstein caleb dot epstein at gmail dot com |