This post has NOT been accepted by the mailing list yet.
Hi, I have been using qucikfix C++ for a few weeks and while it works its pretty tortuous to understand anything about what goes on. You seem to gain knowledge by experiment.
The documentation is pretty useless.
Ok it lists all the classes and methods and where they are used in the source code (why ?), Its like saying to understand how to use your car audio system read the circuit diagram.
Why isn't there any documentation that describes the overall architecture, what threads are created and when, how many thread transitions are there when you send/receive a message, how it is queued, what are the synchronization methods used.
What's best practice to get lowest latency ?.
How about some documentation that compares and contrasts the different ways of doing things in QF so users can make informed judgments, not just guess.
ThreadedSocketAcceptor() what is that, I mean actually what does it do. I mean quickfix has threads already otherwise it could not call you back after you tell it to run. But how many, what do hey do, and whats different about a threadedsocketacceptor. Of course I could have an educated guess, but WFT, how difficult is it to provide some explanatory documentation describing the interface and how to use it and why, etc not just a bloody list of classes and their methods.
The source code is just a mess. There are many posts regarding people trying to work out what's actually going on and they cant, and I cant either and I don't have the time to sit there for days actually working out what objects have been created, where, and on which threads, and why.
A few days spent writing some decent application documentation would do wonders for your user base and customer satisfaction.
I picked qucikfix because I needed a fix server up and running in days, not weeks, and to be fair, after a few days of mucking about, it does seem to work, but when it doesn't, and sends out logoff messages on startup there is nowhere to turn to to ask why ?, or how to fix it.
I would probably continue to use it if it had proper descriptive documentation on its design and usage and performance tuning, but it doesn't and it seems from posts here as if the development is basically dead. So I shall write my own as latency is a big concern to me.