quickfix-developers Mailing List for QuickFIX (Page 184)
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: Dale W. <wil...@oc...> - 2005-09-26 16:30:48
|
Hi Rohan,
rohan joel pais wrote:
>
> Hi,
> What you are telling is right sir, i am unable to recieve the
> messages from the OpenFix Test Suite while testing for cases
> 1 - Field Includes SOH character
> 2 - Invalid First three fields.
>
According to the standard (FIX 4.2 w/ errata, page 30)
Note: The receiving application should disregard any message that is
garbled, cannot be parsed or
fails a data integrity check. Processing of the next valid FIX
message will cause detection of a
sequence gap and a Resend Request will be generated. Logic should be
included in the FIX engine to
recognize the possible infinite resend loop, which may be
encountered in this situation.
The errors you describe, including SOH in a non-data field, or
misordering the first three fields produce messages do not pass basic
data integrity tests, so sending a reject would violate the standard.
I believe the validation suite is in error in expecting a reject. After
all, a reject message must identify the sequece number of the message to
be rejected and you can't parse the message, you don't really know what
sequence number to reject, right?
Unfortunately this may not help in your situation, so if you MUST
generate a reject, you'll probably have to hack the QuickFIX code. At
least this is Open Source so you have that option.
<plug> If you decide you need to modify the QuickFIX code and are
uncomfortable with the idea of doing this yourself, OCI, the company I
work for, does this kind of work on a contract basis. Let me know
privately if you want to explore this option da...@oc... </plug>
Dale
>
> In the above 2 cases, i think quickfix engine is ingnoring the
> messages, and because of that i think these messages can't make it to
> the session layer. Since my application is not getting these messages,
> i am not able to send a reject message or so, as requested by the open
> fix test suite and so i am failing the tests in these 2 cases.
>
> The Test case "Support third party addressing" is not used in our
> project(and over that its optional) so i am thinking of ignoring it.
>
> The Test case "Synchronize Sequence Numbers" is also an optional test
> case, and so i am thinking of ignoring it too.
>
> The Test case "Missing Conditionally required field", i think i can
> handle it with some efforts from my side.
>
>
> Please give me suggestions if i am wrong.
> Thanks in Advance
> with regards
> rohan
>
>
> On Fri, 23 Sep 2005 Caleb Epstein wrote :
> >On 23 Sep 2005 11:17:21 -0000, rohan joel pais <roh...@re...>
> >wrote:
> > >
> > > I have developed an quickfix application which acts as a server.
> And now i
> > > am testing this application using www.openfix.net
> <http://www.openfix.net>
> > > .
> > >
> > > I have tested almost all cases except the cases mentioned below
> > >
> > > 1 - Synchronize Sequence Numbers.
> > > 2 - Support third party addressing.
> > > 3 - Invalid First three fields.
> > > 4 - Field Includes SOH character
> > > 5 - Missing Conditionally required field.
> > >
> > > First i thought the above cases (Except 2) will be handled by the
> quickfix
> > > engine, but it doesn't handle.
> > >
> >You'll need to provide specifics about the tests and what problems
> you ran
> >into (logfiles and event logs would be helpful). Certain things can
> probably
> >be made to work with configuration options, but others may not be do-able
> >because of the design of the QuickFIX library. For example, corrupted
> >messages will never make it into the Session layer.
> >
> >
> >--
> >Caleb Epstein
> >caleb dot epstein at gmail dot com
>
--
-----------------------------------------------------
Dale Wilson, Senior Software Engineer
Object Computing, Inc. (OCI)
http://www.ociweb.com/ http://www.theaceorb.com/
----------------------------------------------------
|
|
From: Oren M. <or...@qu...> - 2005-09-26 15:24:32
|
It is conditionally required in the case that a message is resent: 122 OrigSendingTime N Required for message resends. If data is not available set to same value as SendingTime (Can be embedded within encrypted data section.) ----- Original Message ----- From: "Alexey Zubko" <ale...@in...> To: <qui...@li...> Sent: Monday, September 26, 2005 10:12 AM Subject: [Quickfix-developers] OrigSendingTime > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hello, > > I have a question regarding processing of duplicated messages. > As I understand from the FIX (4.0) documentation the OrigSendingTime is > not a required field. > But QF generates a rejection message anyway. > See the code below (last QF version): > > bool Session::doPossDup( const Message& msg ) > { QF_STACK_PUSH(Session::doPossDup) > > const Header & header = msg.getHeader(); > OrigSendingTime origSendingTime; > SendingTime sendingTime; > MsgType msgType; > > header.getField( msgType ); > header.getField( sendingTime ); > > if ( msgType != MsgType_SequenceReset ) > { > if ( !header.isSetField( origSendingTime ) ) > { > generateReject( msg, 1, origSendingTime.getField() ); > return false; > } > header.getField( origSendingTime ); > > if ( origSendingTime > sendingTime ) > { > generateReject( msg, 10 ); > generateLogout(); > return false; > } > } > return true; > > QF_STACK_POP > } > > -- > > Regards, > Alexey Zubko > > Infinium Capital Corporation > (416) 360-7000 ext. 305 > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. > Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: Alexey Z. <ale...@in...> - 2005-09-26 15:12:51
|
Hello,
I have a question regarding processing of duplicated messages.
As I understand from the FIX (4.0) documentation the OrigSendingTime is
not a required field.
But QF generates a rejection message anyway.
See the code below (last QF version):
bool Session::doPossDup( const Message& msg )
{ QF_STACK_PUSH(Session::doPossDup)
const Header & header = msg.getHeader();
OrigSendingTime origSendingTime;
SendingTime sendingTime;
MsgType msgType;
header.getField( msgType );
header.getField( sendingTime );
if ( msgType != MsgType_SequenceReset )
{
if ( !header.isSetField( origSendingTime ) )
{
generateReject( msg, 1, origSendingTime.getField() );
return false;
}
header.getField( origSendingTime );
if ( origSendingTime > sendingTime )
{
generateReject( msg, 10 );
generateLogout();
return false;
}
}
return true;
QF_STACK_POP
}
--
Regards,
Alexey Zubko
Infinium Capital Corporation
(416) 360-7000 ext. 305
|
|
From: rohan j. p. <roh...@re...> - 2005-09-26 06:01:47
|
=A0=0AHi,=0A What you are telling is right sir, i am unable to recieve th= e messages from the OpenFix Test Suite while testing for cases =0A1 - Fiel= d Includes SOH character=0A2 - Invalid First three fields.=0A=0AIn the abov= e 2 cases, i think quickfix engine is ingnoring the messages, and because o= f that i think these messages can't make it to the session layer. Since my = application is not getting these messages, i am not able to send a reject m= essage or so, as requested by the open fix test suite and so i am failing t= he tests in these 2 cases. =0A=0AThe Test case "Support third party address= ing" is not used in our project(and over that its optional) so i am thinkin= g of ignoring it.=0A=0AThe Test case "Synchronize Sequence Numbers" is also= an optional test case, and so i am thinking of ignoring it too.=0A=0AThe T= est case "Missing Conditionally required field", i think i can handle it wi= th some efforts from my side.=0A=0A=0APlease give me suggestions if i am wr= ong.=0AThanks in Advance=0Awith regards=0Arohan=0A=0A=0AOn Fri, 23 Sep 2005= Caleb Epstein wrote :=0A>On 23 Sep 2005 11:17:21 -0000, rohan joel pais <r= oha...@re...>=0A>wrote:=0A> >=0A> > I have developed an quickfix= application which acts as a server. And now i=0A> > am testing this applic= ation using www.openfix.net <http://www.openfix.net>=0A> > .=0A> >=0A> > I = have tested almost all cases except the cases mentioned below=0A> >=0A> > 1= - Synchronize Sequence Numbers.=0A> > 2 - Support third party addressing.= =0A> > 3 - Invalid First three fields.=0A> > 4 - Field Includes SOH charact= er=0A> > 5 - Missing Conditionally required field.=0A> >=0A> > First i thou= ght the above cases (Except 2) will be handled by the quickfix=0A> > engine= , but it doesn't handle.=0A> >=0A>You'll need to provide specifics about th= e tests and what problems you ran=0A>into (logfiles and event logs would be= helpful). Certain things can probably=0A>be made to work with configuratio= n options, but others may not be do-able=0A>because of the design of the Qu= ickFIX library. For example, corrupted=0A>messages will never make it into = the Session layer.=0A>=0A>=0A>--=0A>Caleb Epstein=0A>caleb dot epstein at g= mail dot com=0A |
|
From: Caleb E. <cal...@gm...> - 2005-09-24 23:28:39
|
On 23 Sep 2005 11:17:21 -0000, rohan joel pais <roh...@re...> wrote: > > I have developed an quickfix application which acts as a server. And now = i > am testing this application using www.openfix.net <http://www.openfix.net= > > . > > I have tested almost all cases except the cases mentioned below > > 1 - Synchronize Sequence Numbers. > 2 - Support third party addressing. > 3 - Invalid First three fields. > 4 - Field Includes SOH character > 5 - Missing Conditionally required field. > > First i thought the above cases (Except 2) will be handled by the quickfi= x > engine, but it doesn't handle. > You'll need to provide specifics about the tests and what problems you ran into (logfiles and event logs would be helpful). Certain things can probabl= y be made to work with configuration options, but others may not be do-able because of the design of the QuickFIX library. For example, corrupted messages will never make it into the Session layer. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Caleb E. <cal...@gm...> - 2005-09-23 23:34:35
|
On 9/23/05, Martin Tanguay <mta...@ho...> wrote: > > Is there a way to extract all fields within a FIX message in an abstract > way? Is it through the message cracker? In the C++ API, the Message class is derived from FieldMap, which offers public methods begin()/end() and g_begin()/g_end() to get standard iterator= s to the maps of fields and groups. Message also contains two additional FieldMaps which store the Header and Trailer fields. for (FieldMap::iterator i =3D msg.begin (), e =3D msg.end (); i !=3D e; ++i= ) cout << i->first << '=3D' << i->second << ' '; That should print all of the non-group fields in a message in "tag=3Dvalue" format. Navigation of the header fields, trailer and repeating groups is an exercis= e left to the reader :-) -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Martin T. <mta...@ho...> - 2005-09-23 19:56:51
|
Hi, Is there a way to extract all fields within a FIX message in an abstract way? Is it through the message cracker? Thank you! Martin |
|
From: rohan j. p. <roh...@re...> - 2005-09-23 11:17:21
|
=A0=0AHi,=0AI have developed an quickfix application which acts as a serve= r. And now i am testing this application using www.openfix.net.=0A=0AI have= tested almost all cases except the cases mentioned below=0A=0A1 - Synchron= ize Sequence Numbers.=0A=0A2 - Support third party addressing.=0A=0A3 - Inv= alid First three fields.=0A=0A4 - Field Includes SOH character=0A=0A5 - Mis= sing Conditionally required field.=0A=0AFirst i thought the above cases (Ex= cept 2) will be handled by the quickfix engine, but it doesn't handle.=0A= =0ASo can any body help me out in passing these tests.=0A=0AThanks in Advan= ce=0A=0ARegards=0A=0ARohan Pais=0A |
|
From: Caleb E. <cal...@gm...> - 2005-09-23 08:05:02
|
On 22 Sep 2005 05:32:00 -0000, rohan joel pais <roh...@re...> wrote: > > Hi, > I have developed quickfix server, I am using mysql db for log.My problem > is the quickfix is saving only the outgoing messages in "messages" table,= how > can I make it such that it should save the incoming messges also,please h= elp > me regarding this.I am pasting the patch of code,please tell me what shal= l > I add to this to save the incoming messages also. > Look at the incoming_log and outgoing_log tables. The message table is for the MySQLStore, not the MySQLLog. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: rohan j. p. <roh...@re...> - 2005-09-22 05:31:51
|
Hi, =0A I have developed quickfix server, I am using mysql db for log.My = problem is the quickfix is saving only the outgoing messages in "messages" = table,how can I make it such that it should save the incoming messges also,= please help me regarding this.I am pasting the patch of code,please tell me= what shall I add to this to save the incoming messages also. =0ACode :=0A= =0AMessageStoreFactory messageStoreFactory =3D new MySQLStoreFactory(settin= gs);=0A =0ALogFactory logFactory =3D new MySQLLogFactory(settings);=0A = =0AMessageFactory messageFactory =3D=0A new DefaultMessageFactory();= =0A =0Aacceptor =3D new SocketAcceptor =0A(application, messageStoreFactor= y, settings, logFactory, messageFactory);=0ANote:- config file is attached = with the mail. =0A=0ARegards =0ARohan=0A=0A=0A=0A |
|
From: H. S. <st...@st...> - 2005-09-21 10:27:28
|
Dale, submitted as bug #110. regards, heri -- This e-mail was scanned with a private, non-commercial version of AntiVir MailGate. See http://www.antivir.de for details. |
|
From: Kristin M. <men...@oc...> - 2005-09-19 20:31:20
|
Good afternoon, Object Computing, Inc. (OCI) is pleased to announce the availability of a new training class - QuickFIX <http://www.ociweb.com/education/services/descrip/FINC01-01.html> for C++. In addition, a complimentary QuickFIX for Java is under development and is expected to be on the schedule for January 2006! The first of this 3-day course is dedicated to an introduction to the FIX protocol. Days 2 and 3 move quickly into specific information on QuickFIX in the C++ environment. Title: Intro to FIX & QuickFIX for C++ (Course <http://www.ociweb.com/education/services/descrip/FINC01-01.html> Description) Dates: 12/14-16, 2005 Times: 8:30am-3:30pm Cost: $1,350/individual Registration <http://www.ociweb.com/education/services/descrip/finc01-01/untitled?proxied Url=http%3A%2F%2Fwww.ociweb.com%2Feducation%2Fscripts%2Fregister.cgi%3Fcours eCode%3DFINC01-01%26type%3Done%26time%3D2005-12-14%252000%3A00%3A00&func=vie w> Here or contact me directly for additional information! If you are interested in a group training event at your facility, please contact me for additional details! OCI will also be exhibiting at the upcoming Futures <http://www.futuresindustry.org/expo2005-2424.asp> & Options Expo 05 for the dates of November 8-10th at the Hyatt Regency Chicago. If you will be in the area, please stop by our booth! Best regards, Kristin Menefee Educational Services Manager Object Computing, Inc. (OCI) 314-579-0066 x203 tel 314-579-0065 fax www.ociweb.com/education |
|
From: Chris v. O <chr...@gn...> - 2005-09-17 16:43:05
|
Can someone offer help? After running: ./bootstrap ./configure --with-java make I get the following compilation errors: g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I.. -g -O2 -I/usr/include/libxml2 -I/opt/j2sdk1.4.2_09/include -I/opt/j2sdk1.4.2_09/include/linux -O0 -g -MT FieldConvertorsTestCase.lo -MD -MP -MF .deps/FieldConvertorsTestCase.Tpo -c FieldConvertorsTestCase.cpp -fPIC -DPIC -o .libs/FieldConvertorsTestCase.o if /bin/sh ../../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I.. -g -O2 -I/usr/include/libxml2 -I/opt/j2sdk1.4.2_09/include -I/opt/j2sdk1.4.2_09/include/linux -O0 -g -MT MessagesTestCase.lo -MD -MP -MF ".deps/MessagesTestCase.Tpo" \ -c -o MessagesTestCase.lo `test -f 'MessagesTestCase.cpp' || echo './'`MessagesTestCase.cpp; \ then mv ".deps/MessagesTestCase.Tpo" ".deps/MessagesTestCase.Plo"; \ else rm -f ".deps/MessagesTestCase.Tpo"; exit 1; \ fi g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I.. -g -O2 -I/usr/include/libxml2 -I/opt/j2sdk1.4.2_09/include -I/opt/j2sdk1.4.2_09/include/linux -O0 -g -MT MessagesTestCase.lo -MD -MP -MF .deps/MessagesTestCase.Tpo -c MessagesTestCase.cpp -fPIC -DPIC -o .libs/MessagesTestCase.o ../DataDictionary.h:272: error: expected ',' or '...' before '&' token ../DataDictionary.h:272: error: ISO C++ forbids declaration of 'Message' with no type MessagesTestCase.cpp:403: error: explicit specialization of 'void FIX::MessageParseTestCase<FIX42::Logon>::getString::onRun(FIX42::Logon&)' must be introduced by 'template <>' <snip> many more errors MessagesTestCase.cpp:898: error: invalid function declaration make[4]: *** [MessagesTestCase.lo] Error 1 make[4]: Leaving directory `/home/chris/quickfix/src/C++/test' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/chris/quickfix/src/C++' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/chris/quickfix/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/chris/quickfix' make: *** [all] Error 2 Anyone know how I could fix this? Thanks, Chris |
|
From: Noa L. <noa...@gm...> - 2005-09-17 10:53:41
|
I would like to develop a Trade-client. Since my application works with Bar= s=20 list. I would like to know if it's possible to get the Bars list from the server= =20 (Target) side. or I need to build it by myself. I would like to create Bars list of 15 minutes or 1hour Please advise. Thanks, Noa |
|
From: Dale W. <wil...@oc...> - 2005-09-16 14:14:31
|
I have some more info on the problem below-- enough to convince myself that it is an error in QuickFIX, and not a misunderstanding on my part. The second logout message is sent because the SessionState::m_sentLogout is being set to false too soon. When the Logout arrives from the other end, this bool is false so, QuickFIX assumes that the other end is initiating the logout process. sentLogout(false) is being called from Session::disconnect which also calls Application::onLogout. Therefore it appears the two symptoms I observed below are related -- both seem to happen because Session::disconnect is being called too soon. I'll go ahead and put this information in Bugzilla. Dale Dale Wilson wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > QuickFIX 1.10.2: C++; Windows XP > > I have a question about the proper sequence of messages during logout > (and whether QuckFIX is doing "the right thing.") > > This shows up during a unit test for our application. > The application is acting as an initiator > The test is trivial: logon, wait for the onLogon callback; then > logout, wait for the onLogout callback > > A condensed version of the log produced by this test is: > > 15:00:47.893000 (FIX.4.2:CLIENT->EXSIM) session->logon() > 15:00:47.893000 (FIX.4.2:CLIENT->EXSIM) Application::toAdmin > 8=FIX.4.2|9=66|35=A|34=1|49=CLIENT|52=20050915-20:00:47.000|56=EXSIM|98=0|108=30|10=056| > > 15:00:47.908000 (FIX.4.2:CLIENT->EXSIM) Application::fromAdmin > 8=FIX.4.2|9=66|35=A|34=1|49=EXSIM|52=20050915-20:00:47.000|56=CLIENT|98=0|108=30|10=056| > > 15:00:47.924000 (FIX.4.2:CLIENT->EXSIM) Application::onLogon > 15:00:47.924000 (FIX.4.2:CLIENT->EXSIM) session->logout() > 15:00:48.033000 (FIX.4.2:CLIENT->EXSIM) Application::toAdmin > 8=FIX.4.2|9=54|35=5|34=2|49=CLIENT|52=20050915-20:00:48.000|56=EXSIM|10=018| > > 15:00:48.033000 (FIX.4.2:CLIENT->EXSIM) Application::onLogout > 15:00:48.033000 (FIX.4.2:CLIENT->EXSIM) Application::fromAdmin > 8=FIX.4.2|9=54|35=5|34=2|49=EXSIM|52=20050915-20:00:48.000|56=CLIENT|10=018| > > 15:00:48.049000 (FIX.4.2:CLIENT->EXSIM) Application::toAdmin > 8=FIX.4.2|9=54|35=5|34=3|49=CLIENT|52=20050915-20:00:48.000|56=EXSIM|10=019| > > > Two things I see: > #1: the onLogout callback happens before the Logout reply from the > counterparty, and > #2: an "extra" Logout message is being sent: presumably in response to > the Logout from the counterparty. > > Is this correct behavior? > > Dale > > PS: #1 led to an interesting race condition when we started the next > test which managed to send a login *before* the logout reply came > from the counterparty, but that's another issue. > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. > Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers -- ----------------------------------------------------- Dale Wilson, Senior Software Engineer Object Computing, Inc. (OCI) http://www.ociweb.com/ http://www.theaceorb.com/ ---------------------------------------------------- |
|
From: Dale W. <wil...@oc...> - 2005-09-15 20:26:13
|
QuickFIX 1.10.2: C++; Windows XP I have a question about the proper sequence of messages during logout (and whether QuckFIX is doing "the right thing.") This shows up during a unit test for our application. The application is acting as an initiator The test is trivial: logon, wait for the onLogon callback; then logout, wait for the onLogout callback A condensed version of the log produced by this test is: 15:00:47.893000 (FIX.4.2:CLIENT->EXSIM) session->logon() 15:00:47.893000 (FIX.4.2:CLIENT->EXSIM) Application::toAdmin 8=FIX.4.2|9=66|35=A|34=1|49=CLIENT|52=20050915-20:00:47.000|56=EXSIM|98=0|108=30|10=056| 15:00:47.908000 (FIX.4.2:CLIENT->EXSIM) Application::fromAdmin 8=FIX.4.2|9=66|35=A|34=1|49=EXSIM|52=20050915-20:00:47.000|56=CLIENT|98=0|108=30|10=056| 15:00:47.924000 (FIX.4.2:CLIENT->EXSIM) Application::onLogon 15:00:47.924000 (FIX.4.2:CLIENT->EXSIM) session->logout() 15:00:48.033000 (FIX.4.2:CLIENT->EXSIM) Application::toAdmin 8=FIX.4.2|9=54|35=5|34=2|49=CLIENT|52=20050915-20:00:48.000|56=EXSIM|10=018| 15:00:48.033000 (FIX.4.2:CLIENT->EXSIM) Application::onLogout 15:00:48.033000 (FIX.4.2:CLIENT->EXSIM) Application::fromAdmin 8=FIX.4.2|9=54|35=5|34=2|49=EXSIM|52=20050915-20:00:48.000|56=CLIENT|10=018| 15:00:48.049000 (FIX.4.2:CLIENT->EXSIM) Application::toAdmin 8=FIX.4.2|9=54|35=5|34=3|49=CLIENT|52=20050915-20:00:48.000|56=EXSIM|10=019| Two things I see: #1: the onLogout callback happens before the Logout reply from the counterparty, and #2: an "extra" Logout message is being sent: presumably in response to the Logout from the counterparty. Is this correct behavior? Dale PS: #1 led to an interesting race condition when we started the next test which managed to send a login *before* the logout reply came from the counterparty, but that's another issue. |
|
From: Dale W. <wil...@oc...> - 2005-09-15 16:40:37
|
This should probably become a bugzilla entry. Others (including me) have encountered variations on this problem. Would you like to submit it, Heri? If not, I will. Dale H. Steuer wrote: >QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >QuickFIX Support: http://www.quickfixengine.org/services.html > >Hi guys, > >I encountered an issue with quickfix regarding logon. If e.g. theres a time skew and the checks for clock sync are enabled or e.g. there are problems with the logon message, QuickFIX just shows something like "trying to send reject message while not logged on". > >I wrote a quick'n'dirty hack that just prints the field and error code. But it would be great if QF would at least log the reason. Currently it doesnt and its a mess to find out what happens if there are logon problems. > >Just a hint that might help others to debug logon problems. > > >Regards, >Heri > > > -- ----------------------------------------------------- Dale Wilson, Senior Software Engineer Object Computing, Inc. (OCI) http://www.ociweb.com/ http://www.theaceorb.com/ ---------------------------------------------------- |
|
From: H. S. <st...@un...> - 2005-09-15 15:25:54
|
Hi guys, I encountered an issue with quickfix regarding logon. If e.g. theres a time skew and the checks for clock sync are enabled or e.g. there are problems with the logon message, QuickFIX just shows something like "trying to send reject message while not logged on". I wrote a quick'n'dirty hack that just prints the field and error code. But it would be great if QF would at least log the reason. Currently it doesnt and its a mess to find out what happens if there are logon problems. Just a hint that might help others to debug logon problems. Regards, Heri -- This e-mail was scanned with a private, non-commercial version of AntiVir MailGate. See http://www.antivir.de for details. |
|
From: Oren M. <or...@qu...> - 2005-09-15 06:05:37
|
Thank you Amit,
My telephone number in the states is 312-560-4104
--oren
----- Original Message -----=20
From: amit sharma=20
To: or...@qu...=20
Cc: as...@in... ; qui...@li...=20
Sent: Thursday, September 15, 2005 12:44 AM
Subject: Re: AIX port
Hi Oren,
As per our last converstion IBM has managed to arrange a
AIX5.3 box for you.
Please revert back to this mail as soon as possible so that
we can send you the details.Can v have ur contact number also=20
Thanks and Regards,
Amit
On 9/9/05, amit sharma <aam...@gm...> wrote:=20
Hi Oren,
As per our last converstion IBM has managed to arrange a
AIX5.3 box for you.
Please revert back to this mail as soon as possible so =
that
we can send you the details
Thanks and Regards,
Amit
On 9/2/05, Sayed R Ahmed <as...@in... > wrote:
>
>
>
>
> FYI
>
> Warm regards
> Rashid S.
> Presales consulting - pSeries
> IBM India limited
> 4th Floor, ILFS Building,
> Bandra Kurla Complex, Mumbai- 400051=20
> Tel Board - 91-22-5696-2020
> Mobile 9820347962 Fax-91-22-26533570
> Internet: as...@in...
>
>
>
> =3D ; Oren Miller
> < oren@quickfixeng
> ine.org> =
To
> Sayed R =
Ahmed/India/IBM@IBMIN
> 31/08/2005 21:30 =
cc=20
> Gaurav =
Agarwal/India/IBM@IBMIN,
> Irfan B =
Shah/India/IBM@IBMIN, Rajiv
> Sreekantan/India/IBM@IBMIN=20
> =
Subject
> Re: [Quickfix-developers] =
AIX port
>
>
>
>
>
>
>=20
>
>
>
> Hi Sayed,
>
> This program requires me to have a PartnerWorld ID. How do I =
acquire
> one?
>
> Thanks,
>
> --oren
>
> On Aug 31, 2005, at 8:33 AM, Sayed R Ahmed wrote:=20
>
> >
> >
> >
> >
> > Dear Oren,
> >
> > Appreciate if you can use this VLP facility provided by IBM
> >
> > Please find below detail information on VLP. You may also want =
to=20
> > visit URL
> > for latest update
> >
> > http://www-03.ibm.com/servers/enable/site/vlp/vlp_detail.html
> >
> >
> >
> >
> >
> >
> > 1. VLP (Standard, for all PartnerWorld members, including SIs)
> > The Virtual Loaner Program (VLP) is an on-demand porting /=20
> > testing / demo
> > facility designed to greatly expand the reach and coverage of
> > Solutions
> > Enablement hardware loaner programs. VLP is open to any =
PartnerWorld
> > member -- all partner levels and all geographies with =
restrictions to=20
> > embargoed countries. The primary focus is on enabling Route 4 =
and
> > regional
> > partners. The capabilities and policy limits of the base VLP =
(see
> > details
> > in "Base VLP Program Details" section below) provide a modest =
level of=20
> > resource per company that seems to be a reasonably good match to
> > the needs
> > of smaller business partners targeted to the SMB market, but may =
be
> > of only
> > limited interest to larger partners.=20
> >
> > - Open to any member of PartnerWorld for Developers in any
> > geography
> > - Provides Power4 and Power5 LPARs running AIX or Linux
> > - Up to 5 reservations per company active or committed state =
at=20
> > any one
> > time
> > - Each reservation can have:
> > - Max of 2 LPARs and 2 cpus per LPAR per reservation (up =
to 2
> > CPUs
> > total)
> > - Fixed 2GB memory per CPU=20
> > - Fixed 36 GB root disk space per LPAR
> > - Fixed 20 GB home directory per user
> > - Max 2 weeks duration (repeat as needed using Save / =
Restore)
> > - Larger configs / longer reservations can be handled using =
VLP=20
> > Promotional Code (on a limited basis only)
> > - Save / Restore of 1 system image (36 GB root volume) per =
user
> > - Secure connection via VPN Client or Secure Shell
> >
> > Technical support:
> > - VLP Website and documentation available in English only
> > - All VLP users entitled to eMail Ask-A-Question support =
(also
> > English
> > only)=20
> > - Covers use of VLP, hardware, operating systems, and =
middleware
> > - VLP website and systems available 24 hours per day
> > - Tech support staffed 5 days / week, 8am-6pm Central Time=20
> > - 24-hour turnaround during weekdays
> >
> >
> >
> >
> > Warm regards
> > Rashid S.
> > Presales consulting - pSeries
> > IBM India limited=20
> > 4th Floor, ILFS Building,
> > Bandra Kurla Complex, Mumbai- 400051
> > Tel Board - 91-22-5696-2020
> > Mobile 9820347962 Fax-91-22-26533570
> > Internet: as...@in...
> >
> >
> >
> > "Oren Miller"
> > <oren@quickfixeng
> >
> > ine.org> To=20
> > Sayed R =
Ahmed/India/IBM@IBMIN
> > 29/08/2005
> > 23:35 cc
> > Gaurav =
Agarwal/India/IBM@IBMIN,
> > Rajiv Sreekantan/India/
> > IBM@IBMIN,
> > Irfan B =
Shah/India/IBM@IBMIN
> >
> > Subject
> > Re: [Quickfix-developers]
> > AIX port
> >
> >
> >
> >
> >
> >
> >
> >=20
> >
> >
> > Thank you Sayed. We are located in downtown Chicago. Is it
> > possible to
> > get
> > a machine to us over here?
> >
> > --oren
> >=20
> > ----- Original Message -----
> > From: "Sayed R Ahmed" <as...@in...>
> > To: <or...@qu... >
> > Cc: "Gaurav Agarwal" <gag...@in...>; "Rajiv Sreekantan"
> > <rsr...@in.... >; "Irfan B Shah" <irf...@in...>
> > Sent: Monday, August 29, 2005 4:27 AM
> > Subject: Fw: [Quickfix-developers] AIX port
> >=20
> >
> >
> >>
> >>
> >>
> >>
> >> Dear Oren,
> >>
> >> Please provide me more information about your location. We will
> >> arrange
> >> hardware and AIX.
> >>
> >> Irfan: This is important for TCS porting. please do the =
needful
> >>
> >> Warm regards
> >> Rashid S.=20
> >> Presales consulting - pSeries
> >> IBM India limited
> >> 4th Floor, ILFS Building,
> >> Bandra Kurla Complex, Mumbai- 400051
> >> Tel Board - 91-22-5696-2020=20
> >> Mobile 9820347962 Fax-91-22-26533570
> >> Internet: as...@in...
> >> ----- Forwarded by Sayed R Ahmed/India/IBM on 29/08/2005 14:38 =
-----=20
> >>
> >> amit sharma
> >> <aamit.aks@gmail.
> >>
> >> com> To
> >> Sayed R =
Ahmed/India/IBM@IBMIN,
> >> 29/08/2005 10:48 ak....@tc...
> >>
> >> cc
> >>
> >>
> >> Subject=20
> >> Fwd: =
[Quickfix-developers]
> >> AIX port
> >>
> >>
> >>
> >>
> >>
> >>
> >>=20
> >>
> >>
> >>
> >> Hi Rashid,
> >> This is the reply I have got from Oren Miller =
from
> >>
> > quickfix.
> >
> >> Could you please look into the possible.=20
> >> Thanks and Regards,
> >>
> >> ---------- Forwarded message ----------
> >> From: Oren Miller < >
> >> Date: Aug 26, 2005 7:44 PM
> >> Subject: [Quickfix-developers] AIX port=20
> >> To: qui...@li...
> >>
> >> QuickFIX Documentation:
> >> . http://www.quickfixengine.org/quickfix/doc/html/index.html
> >> QuickFIX Support: http://www.quickfixengine.org/services.html
> >>
> >> We have been getting many requests for an AIX port. We do not=20
> >> currently have the hardware or software to do this port. Is =
there
> >> any company that would be willing to either donate a machine, =
or
> >> provide access to one VIA ssh for to give us access to the =
necessary=20
> >> tools to complete this port?
> >>
> >> --oren
> >>
> >>
> >>
> >> -------------------------------------------------------
> >> SF.Net email is Sponsored by the Better Software Conference & =
EXPO
> >> September 19-22, 2005 * San Francisco, CA * Development =
Lifecycle
> >> Practices
> >>
> >> Agile & Plan-Driven Development * Managing Projects & Teams *=20
> >> Testing &
> >>
> > QA
> >
> >> Security * Process Improvement & Measurement * =
http://www.sqe.com/
> >> bsce5sf=20
> >> _______________________________________________
> >> Quickfix-developers mailing list
> >> Qui...@li...=20
> >> =
https://lists.sourceforge.net/lists/listinfo/quickfix-developers
> >>
> >>
> >>
> >>=20
> >
> >
> >
> >
> >
>
>
>
>
|
|
From: amit s. <aam...@gm...> - 2005-09-15 05:44:59
|
Hi Oren, As per our last converstion IBM has managed to arrange a AIX5.3 box for you. Please revert back to this mail as soon as possible so that we can send you the details.Can v have ur contact number also Thanks and Regards, Amit On 9/9/05, amit sharma <aam...@gm...> wrote:=20 >=20 > Hi Oren, > As per our last converstion IBM has managed to arrange a > AIX5.3 box for you. > Please revert back to this mail as soon as possible so that > we can send you the details. > Thanks and Regards, > Amit >=20 >=20 > On 9/2/05, Sayed R Ahmed <as...@in...> wrote: > > > > > > > > > > FYI > > > > Warm regards > > Rashid S. > > Presales consulting - pSeries > > IBM India limited > > 4th Floor, ILFS Building, > > Bandra Kurla Complex, Mumbai- 400051 > > Tel Board - 91-22-5696-2020 > > Mobile 9820347962 Fax-91-22-26533570 > > Internet: as...@in... > > > > > > > > Oren Miller > > <oren@quickfixeng > > ine.org <http://ine.org>> To > > Sayed R Ahmed/India/IBM@IBMIN > > 31/08/2005 21:30 cc > > Gaurav Agarwal/India/IBM@IBMIN, > > Irfan B Shah/India/IBM@IBMIN, Rajiv > > Sreekantan/India/IBM@IBMIN > > Subject > > Re: [Quickfix-developers] AIX port > > > > > > > > > > > > > > > > > > > > > > Hi Sayed, > > > > This program requires me to have a PartnerWorld ID. How do I acquire > > one? > > > > Thanks, > > > > --oren > > > > On Aug 31, 2005, at 8:33 AM, Sayed R Ahmed wrote: > > > > > > > > > > > > > > > > > Dear Oren, > > > > > > Appreciate if you can use this VLP facility provided by IBM > > > > > > Please find below detail information on VLP. You may also want to > > > visit URL > > > for latest update > > > > > > http://www-03.ibm.com/servers/enable/site/vlp/vlp_detail.html > > > > > > > > > > > > > > > > > > > > > 1. VLP (Standard, for all PartnerWorld members, including SIs) > > > The Virtual Loaner Program (VLP) is an on-demand porting / > > > testing / demo > > > facility designed to greatly expand the reach and coverage of > > > Solutions > > > Enablement hardware loaner programs. VLP is open to any PartnerWorld > > > member -- all partner levels and all geographies with restrictions to > > > embargoed countries. The primary focus is on enabling Route 4 and > > > regional > > > partners. The capabilities and policy limits of the base VLP (see > > > details > > > in "Base VLP Program Details" section below) provide a modest level o= f > > > resource per company that seems to be a reasonably good match to > > > the needs > > > of smaller business partners targeted to the SMB market, but may be > > > of only > > > limited interest to larger partners. > > > > > > - Open to any member of PartnerWorld for Developers in any > > > geography > > > - Provides Power4 and Power5 LPARs running AIX or Linux > > > - Up to 5 reservations per company active or committed state at > > > any one > > > time > > > - Each reservation can have: > > > - Max of 2 LPARs and 2 cpus per LPAR per reservation (up to 2 > > > CPUs > > > total) > > > - Fixed 2GB memory per CPU > > > - Fixed 36 GB root disk space per LPAR > > > - Fixed 20 GB home directory per user > > > - Max 2 weeks duration (repeat as needed using Save / Restore) > > > - Larger configs / longer reservations can be handled using VLP > > > Promotional Code (on a limited basis only) > > > - Save / Restore of 1 system image (36 GB root volume) per user > > > - Secure connection via VPN Client or Secure Shell > > > > > > Technical support: > > > - VLP Website and documentation available in English only > > > - All VLP users entitled to eMail Ask-A-Question support (also > > > English > > > only) > > > - Covers use of VLP, hardware, operating systems, and middleware > > > - VLP website and systems available 24 hours per day > > > - Tech support staffed 5 days / week, 8am-6pm Central Time > > > - 24-hour turnaround during weekdays > > > > > > > > > > > > > > > Warm regards > > > Rashid S. > > > Presales consulting - pSeries > > > IBM India limited > > > 4th Floor, ILFS Building, > > > Bandra Kurla Complex, Mumbai- 400051 > > > Tel Board - 91-22-5696-2020 > > > Mobile 9820347962 Fax-91-22-26533570 > > > Internet: as...@in... > > > > > > > > > > > > "Oren Miller" > > > <oren@quickfixeng > > > > > > ine.org <http://ine.org>> To > > > Sayed R Ahmed/India/IBM@IBMIN > > > 29/08/2005 > > > 23:35 cc > > > Gaurav Agarwal/India/IBM@IBMIN, > > > Rajiv Sreekantan/India/ > > > IBM@IBMIN, > > > Irfan B Shah/India/IBM@IBMIN > > > > > > Subject > > > Re: [Quickfix-developers] > > > AIX port > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you Sayed. We are located in downtown Chicago. Is it > > > possible to > > > get > > > a machine to us over here? > > > > > > --oren > > > > > > ----- Original Message ----- > > > From: "Sayed R Ahmed" <as...@in...> > > > To: <or...@qu...> > > > Cc: "Gaurav Agarwal" <gag...@in...>; "Rajiv Sreekantan" > > > <rsr...@in...>; "Irfan B Shah" <irf...@in...> > > > Sent: Monday, August 29, 2005 4:27 AM > > > Subject: Fw: [Quickfix-developers] AIX port > > > > > > > > > > > >> > > >> > > >> > > >> > > >> Dear Oren, > > >> > > >> Please provide me more information about your location. We will > > >> arrange > > >> hardware and AIX. > > >> > > >> Irfan: This is important for TCS porting. please do the needful > > >> > > >> Warm regards > > >> Rashid S. > > >> Presales consulting - pSeries > > >> IBM India limited > > >> 4th Floor, ILFS Building, > > >> Bandra Kurla Complex, Mumbai- 400051 > > >> Tel Board - 91-22-5696-2020 > > >> Mobile 9820347962 Fax-91-22-26533570 > > >> Internet: as...@in... > > >> ----- Forwarded by Sayed R Ahmed/India/IBM on 29/08/2005 14:38 ----- > > >> > > >> amit sharma > > >> <aamit.aks@gmail. > > >> > > >> com> To > > >> Sayed R Ahmed/India/IBM@IBMIN, > > >> 29/08/2005 10:48 ak....@tc... > > >> > > >> cc > > >> > > >> > > >> Subject > > >> Fwd: [Quickfix-developers] > > >> AIX port > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> Hi Rashid, > > >> This is the reply I have got from Oren Miller from > > >> > > > quickfix. > > > > > >> Could you please look into the possible. > > >> Thanks and Regards, > > >> > > >> ---------- Forwarded message ---------- > > >> From: Oren Miller < > > > >> Date: Aug 26, 2005 7:44 PM > > >> Subject: [Quickfix-developers] AIX port > > >> To: qui...@li... > > >> > > >> QuickFIX Documentation: > > >> http://www.quickfixengine.org/quickfix/doc/html/index.html > > >> QuickFIX Support: http://www.quickfixengine.org/services.html > > >> > > >> We have been getting many requests for an AIX port. We do not > > >> currently have the hardware or software to do this port. Is there > > >> any company that would be willing to either donate a machine, or > > >> provide access to one VIA ssh for to give us access to the necessary > > >> tools to complete this port? > > >> > > >> --oren > > >> > > >> > > >> > > >> ------------------------------------------------------- > > >> SF.Net email is Sponsored by the Better Software Conference & EXPO > > >> September 19-22, 2005 * San Francisco, CA * Development Lifecycle > > >> Practices > > >> > > >> Agile & Plan-Driven Development * Managing Projects & Teams * > > >> Testing & > > >> > > > QA > > > > > >> Security * Process Improvement & Measurement * http://www.sqe.com/ > > >> bsce5sf > > >> _______________________________________________ > > >> Quickfix-developers mailing list > > >> Qui...@li... > > >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > >> > > >> > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > > |
|
From: Steve B. <st...@te...> - 2005-09-14 12:46:54
|
> Brad Harvey wrote: > I've added the bug reports as requested. Would you prefer that "obvious" > ones go straight to the bug tracker in future? Are there guidelines on > the severity and priorities to use? Hi Brad, Thanks. If the bugs don't need any discussion on the list then it's probably a good idea to go ahead and enter them into the bug tracker. Maybe Oren can comment on the severity/priority guidelines. I'd recommend just leaving those at the defaults and we can adjust them after reviewing the bug. > > I see the Field, FieldMap, and the FieldOrderComparator inner class > > are missing serialVersionUIDs. I'll add those. Were there other > classes > > that were causing you problems? > > There are quite a few - the javadoc/serialized-form.html page will show > them (the ones that are ok list the serialVersionUID, the ones that > aren't don't), or you can configure eclipse to show a warning for them. > Many of the generated classes have inner classes that don't define it. OK, I was only looking at classes that directly implement the Serializable interface. I'll talk with the other developers about how to clean up the Serializable usage and be sure we have serial version IDs for all classes that derive from Serializable classes. > I think my problems were exacerbated by making the DataDictionary > serializable - all the Field classes were being sent around. I've made changes in the beta branch in CVS that no longer require the DataDictionary to be serialized with the message. Thanks again for the reports. Steve |
|
From: Brian M. <bri...@ro...> - 2005-09-13 19:44:03
|
Thanks Rich, I included the non-standard field in my data dictionary and it worked. Boy, does QF take the round-about way to compute the checksum! Brian -----Original Message----- From: Rich Holm [mailto:rh...@ql...]=20 Sent: Friday, September 09, 2005 11:00 PM To: Brian McAndrews Cc: qui...@li... Subject: Re: [Quickfix-developers] bad checksum on repeating groups I had this problem... the cause was not having a correct specification=20 in my data dictionary. Are you using a data dictionary? Cheers, Rich Brian McAndrews wrote: > We are get a quote acknowledgement (35=3Db) message and quickfix = appears > to be calculating the checksum incorrectly. It appears that the=20 > checksum is always the number of quote entries - 1 off from what the=20 > checksum should be. Here's an example message: > > 8=3DFIX.4.29=3D044935=3Db34=3D54349=3DAFIX20256=3DRNS52=3D20050908-16:44:= 37117=3DQU_VLO2 97=3D0300=3D0336=3DW_MAIN296=3D1302=3D1311=3DVLO304=3D4295=3D4299=3DQU_16= 25819#VLO#2005#9# 80#155=3DVLO167=3DOPT200=3D200509201=3D1202=3D80368=3D09006=3D0299=3DQU_1= 625832#VLO#2005 #9#85#155=3DVLO167=3DOPT200=3D200509201=3D1202=3D85368=3D09006=3D0299=3DQ= U_1674687#VLO#2 005#9#90#155=3DVLO167=3DOPT200=3D200509201=3D1202=3D90368=3D09006=3D0299=3D= QU_1838502#VL O#2005#9#95#155=3DVLO167=3DOPT200=3D200509201=3D1202=3D95368=3D09006=3D01= 0=3D101 > > Here, 4 quote entries are being acked however the quickfix event log=20 > shows the computed check sum to be 98 instead of 101. One thing=20 > unusual here is the user defined 9006 tag in each of the quote=20 > entries. In stepping through the debugger, I noticed those tags=20 > checksums being computed outside of the field group. > > Any help would be appreciated. > > Thanks, > > Brian McAndrews > |
|
From: Brian E. <azz...@ya...> - 2005-09-13 15:27:58
|
It appears that I am either somewhat confused as to how to configure a
weeklong session, or that the SessionTime code is wrong.
I am trying to have a weeklong session that includes about 5 minutes of
downtime. Originally we had sessions going from Sunday to Friday, but
we had odd results and switched to a Saturday-Saturday model, which
seemed to work pretty well until we had to modify the start and end
times. I am sure that the problem existed before that change, but due
to the nature of when our clients connect, the problem did not present
itself until now.
I currently have the session start/end times defined as such:
StartDay=Saturday
StartTime=23:50:00
EndDay=Saturday
EndTime=23:45:00
The thought is that wuold give us a weeklong session, from Saturday at
23:50 UMT to the next Saturday at 23:45 UMT - a weeklong session with 5
minutes of downtime to perform some system maintenance and have QF
reset the sequence numbers.
What we're finding instead is that QF is treating this as a daily
session that starts at 23:50 and ends at 23:45 - kicking off all our
users at the same time every day. As some of the markets we connect to
are open at this point, the users aren't real happy. >grin<
This is where either someone says "hey dummy, that's not how you set up
a weeklong session" or we look at SessionTime.cpp.
The problem (if there is one), would appear to be in the following code
fragment:
----SessionTime.cpp
bool SessionTime::isSessionTime( const UtcTimeOnly& startTime,
const UtcTimeOnly& endTime,
int startDay,
int endDay,
const UtcTimeStamp& time )
{ QF_STACK_PUSH(SessionTime::isSessionTime)
int currentDay = time.getWeekDay();
UtcTimeOnly timeOnly( time, 0 );
if( startDay == endDay )
{
if( timeOnly < startTime && timeOnly > endTime )
return false;
}
----end code fragment
The code to test whether we're "in session" appears to make the
assumption that if the start and end days are the same, we must be
talking about a daily session. That does not seem right to me. Instead,
there should be some sort of other indicator (daily vs. weeklong) that
can be set based on whether StartDay and EndDay are set in the
configuration file.
Using an "out of range" value for startDay and/or endDay (like -1 or 0)
is one way to get around this problem, or a separate boolean value that
gets set during configuration reads.
I also had a thought that perhaps I should only define a start OR end
day, but not both - there seems to be some code in SessionTime dealing
with days of "0", but I didn't have time to completely reverse engineer
the code paths. If this is the case, the documentation should be
updated to reflect this - the current documentation definitely implies
that StartDay and EndDay should both be set for weeklong sessions.
This is also perhaps an issue with having a start time that comes AFTER
the end time on the same day - the code might be written assuming that
we're trying to define a single-day (Saturday only) session and gets
tripped up by the reversed times. This is easy enough to code around
and I could provide a patch for this in a day or two.
Thanks,
Brian Erst
Thynk Software, Inc.
|
|
From: Brad H. <Bra...@gb...> - 2005-09-13 00:09:42
|
Hi Steve, I've added the bug reports as requested. Would you prefer that "obvious" ones go straight to the bug tracker in future? Are there guidelines on the severity and priorities to use? > I see the Field, FieldMap, and the FieldOrderComparator inner class > are missing serialVersionUIDs. I'll add those. Were there other classes > that were causing you problems? There are quite a few - the javadoc/serialized-form.html page will show them (the ones that are ok list the serialVersionUID, the ones that aren't don't), or you can configure eclipse to show a warning for them. Many of the generated classes have inner classes that don't define it. Eg: =20 Class quickfix.fix40.Allocation.NoAllocs extends Group implements Serializable=20 Class quickfix.fix40.Allocation.NoAllocs.NoDlvyInst extends Group implements Serializable=20 Class quickfix.fix40.Allocation.NoExecs extends Group implements Serializable=20 Class quickfix.fix40.Allocation.NoMiscFees extends Group implements Serializable=20 Class quickfix.fix40.Allocation.NoOrders extends Group implements Serializable=20 Rough list of the others: Class quickfix.BooleanField extends Field implements Serializable=20 Class quickfix.BusinessRejectReasonText extends quickfix.field.BusinessRejectReason implements Serializable=20 Class quickfix.CharField extends Field implements Serializable=20 Class quickfix.ConfigError extends java.lang.Exception implements Serializable=20 Class quickfix.DateField extends Field implements Serializable Class quickfix.DoubleField extends Field implements Serializable=20 Class quickfix.Field extends java.lang.Object implements Serializable=20 Class quickfix.FieldConvertError extends java.lang.Exception implements Serializable=20 Class quickfix.FieldMap extends java.lang.Object implements Serializable Class quickfix.FieldNotFound extends java.lang.Exception implements Serializable=20 Class quickfix.FieldType extends java.lang.Object implements Serializable=20 Class quickfix.Group extends FieldMap implements Serializable=20 Class quickfix.IncorrectDataFormat extends java.lang.Exception implements Serializable=20 Class quickfix.IncorrectTagValue extends java.lang.Exception implements Serializable=20 Class quickfix.IntField extends Field implements Serializable=20 Class quickfix.InvalidMessage extends java.lang.Exception implements Serializable=20 Class quickfix.Message.Header extends FieldMap implements Serializable=20 Class quickfix.Message.Trailer extends FieldMap implements Serializable=20 Class quickfix.RejectLogon extends java.lang.Exception implements Serializable=20 Class quickfix.RuntimeError extends java.lang.RuntimeException implements Serializable=20 Class quickfix.SessionException extends java.lang.RuntimeException implements Serializable=20 Class quickfix.SessionNotFound extends java.lang.Exception implements Serializable=20 Class quickfix.StringField extends Field implements Serializable=20 Class quickfix.UnsupportedMessageType extends java.lang.Exception implements Serializable=20 Class quickfix.UtcDateOnlyField extends DateField implements Serializable=20 Class quickfix.UtcTimeOnlyField extends DateField implements Serializable=20 Class quickfix.UtcTimeStampField extends DateField implements Serializable=20 I think my problems were exacerbated by making the DataDictionary serializable - all the Field classes were being sent around. =20 >> There were also some I didn't look into further: >>=20 >> - If I start an initiator and send a message before the logon process is >> completed the message doesn't go anywhere. If I explicitly wait until >> the session is logged on then it works fine. > Is there a resend request after the logon? What is the expected behavior > of FIX when a message is sent before a session has been associated with > a connection? What does the C++ engine do in this case? I haven't had a chance to look into this further yet - will let you know when I do. Cheers, Brad. -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Steve Bate Sent: Tuesday, 13 September 2005 1:21 AM To: qui...@li... Subject: RE: [Quickfix-developers] [qfj] Publishing Messages to JMS QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html > Brad Harvey wrote: > The DataDictionary class isn't serializable, and messages keep a > reference to this class which causes a java.io.NotSerializableException: > quickfix.DataDictionary when I try to publish to JMS. >=20 > There's nothing stopping the DataDictionary and dependent classes from > being made Serializable, but it may not be desirable to be sending this > on every message. I notice Message's clone method has been overridden > to not copy the data dictionary, so this can be used to workaround the > problem. What impact will this have when I go to actually trying to use > the message on the other side of the JMS queue? I haven't got to the > stage of trying messages with repeating groups yet. Hi Brad, This is a bug. We have unit tests for message serialization but the data dictionary is always null so it doesn't cause a problem. That=20 the problem when not doing test-first development. :-) It appears the data dictionary might only be used for message parsing. If so, I'm not sure if we need to keep a reference to it or not. I'll look into some more after modifying the unit test. Can you add a bug report for this? http://www.quickfixengine.org/bugtracker/ =20 > Many of the Serializable classes are missing serialVersionUID fields. I > think this is only a practical problem if you're using different > compiled classes on either side of the serialization (I was initially > publishing with eclipse compiled classes and receiving with the ant > built jar and ran into some serialVersionUID mismatch problems). I see the Field, FieldMap, and the FieldOrderComparator inner class are missing serialVersionUIDs. I'll add those. Were there other classes that were causing you problems? > I wanted to be able to pick up the data dictionaries from my classpath. > DefaultSessionFactory tries to load using FileInputStream(path) with no > easy way to plug in something else. As a temporary workaround I have > replaced this with a Spring resource loader: >=20 > ResourceLoader defaultResourceLoader =3D new > DefaultResourceLoader(); > dataDictionary =3D new > DataDictionary(defaultResourceLoader.getResource(path).getInputStream()) > ; The constructor that takes a string for the filename will try to load the data dictionary from either a URL or a file path. This was, more or less, the intent of the JNI data dictionary API. The constructor taking the input stream was intended to be used for the purpose you describe above and for testing. At some point I'd like to add a data dictionary locator class that encapsulates the mechanisms=20 for finding data dictionaries. =20 > I can now specify the data dictionary location as classpath:FIX42.xml to > pick it up from the classpath, FIX42.xml to read from file, or even > http://www.quickfixengine.org/FIX42.xml if I want to eat up some > bandwidth :) Obviously this approach isn't directly suitable for > quickfixj unless you want to add Spring as a dependency. Perhaps a > pluggable DataDictionaryFactory would be helpful? The string based constructor should already be able to load data dictionaries using HTTP. Opening a stream for a java.net.URL is the first technique the data dictionary class attempts to use to load it's data. The FileInputStream is the backup strategy. It's a hassle with Java, but you could actually write a "classpath:"=20 URL handler and use the existing URL-based constructor. The way you are doing it probably easier. =20 > quickfix.SocketInitiator.onPoll() throws a ClassCastException if it gets > a Session object from the event queue - it needs the same instanceof > checks as onBlock(). >=20 > quickfix.netty.AbstractSocketInitiator.quickfixSessions never gets > filled in as far as I can tell, so isLoggedOn() and getSessions() don't > work. Can you also add bug reports for these issues? =20 > There were also some I didn't look into further: >=20 > - If I start an initiator and send a message before the logon process is > completed the message doesn't go anywhere. If I explicitly wait until > the session is logged on then it works fine. Is there a resend request after the logon? What is the expected behavior of FIX when a message is sent before a session has been associated with a connection? What does the C++ engine do in this case? > - If a session is disconnected it doesn't seem to logon again. It says > 'Initiating Logon' but nothing further happens. This has already been fixed in the beta branch of CVS. =20 > Sorry if I seem to be pointing out a lot of negatives - I do realise > quickfixj is beta. Keep up the good work! It's no problem at all. I was hoping for more of this type of feedback, so I appreciate it. We were planning to do another release with a few previous bug fixes and an new SleepyCat JE message store, but=20 I'd like to fix these problems first. BTW, Barry Kaplan has been doing a lot of experimentation with Spring and QuickFIX/J (but not JMS, so far). The code is not currently in CVS but you may want to contact him about some collaboration or code sharing. Eventually, I'd like to add the Spring-related code to CVS assuming there is enough interest. Barry's email address is mailto://bkaplan@memelet.com/. Regards, Steve ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Caleb E. <cal...@gm...> - 2005-09-12 18:44:23
|
On 9/12/05, Steve Bate <st...@te...> wrote: >=20 > Is the Session::send() operation in C++ never expected to throw > an exception, even if the connection is down? It appears that I believe that is the case. Maybe Oren could comment. it's designed to return a boolean based on a low-level system > call return value. If so, then we'll need to slightly modify > the Java code to catch low-level socket-related exceptions and > return a boolean result value instead of propagating an exception. Anything that would prevent the persistence from happening would be a Bad= =20 Thing. --=20 Caleb Epstein caleb dot epstein at gmail dot com |