quickfix-users Mailing List for QuickFIX (Page 15)
Brought to you by:
orenmnero
You can subscribe to this list here.
2002 |
Jan
|
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
(11) |
Oct
(3) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(7) |
Feb
(3) |
Mar
(10) |
Apr
(40) |
May
(63) |
Jun
(12) |
Jul
(26) |
Aug
(13) |
Sep
(6) |
Oct
(13) |
Nov
(17) |
Dec
(28) |
2004 |
Jan
(13) |
Feb
(6) |
Mar
(9) |
Apr
(20) |
May
(15) |
Jun
(29) |
Jul
(22) |
Aug
(11) |
Sep
(32) |
Oct
(34) |
Nov
(22) |
Dec
(33) |
2005 |
Jan
(17) |
Feb
(8) |
Mar
(3) |
Apr
(20) |
May
(19) |
Jun
(29) |
Jul
(30) |
Aug
(10) |
Sep
(24) |
Oct
|
Nov
(17) |
Dec
(11) |
2006 |
Jan
(32) |
Feb
(54) |
Mar
(34) |
Apr
(43) |
May
(14) |
Jun
(11) |
Jul
(10) |
Aug
(43) |
Sep
(37) |
Oct
(44) |
Nov
(16) |
Dec
(11) |
2007 |
Jan
(26) |
Feb
(5) |
Mar
(23) |
Apr
(3) |
May
(22) |
Jun
(17) |
Jul
(22) |
Aug
(34) |
Sep
(17) |
Oct
(18) |
Nov
(4) |
Dec
(8) |
2008 |
Jan
(28) |
Feb
(28) |
Mar
(23) |
Apr
(37) |
May
(53) |
Jun
(20) |
Jul
(30) |
Aug
(12) |
Sep
(19) |
Oct
(16) |
Nov
(15) |
Dec
(10) |
2009 |
Jan
(19) |
Feb
(8) |
Mar
(21) |
Apr
(8) |
May
(15) |
Jun
(22) |
Jul
(34) |
Aug
(18) |
Sep
(23) |
Oct
(26) |
Nov
(16) |
Dec
(13) |
2010 |
Jan
(38) |
Feb
(17) |
Mar
(39) |
Apr
(34) |
May
(5) |
Jun
(15) |
Jul
(7) |
Aug
(18) |
Sep
(4) |
Oct
(16) |
Nov
(3) |
Dec
(17) |
2011 |
Jan
(28) |
Feb
(12) |
Mar
(36) |
Apr
(9) |
May
(26) |
Jun
(27) |
Jul
(6) |
Aug
(10) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
|
2012 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(9) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(9) |
Nov
(10) |
Dec
(8) |
2013 |
Jan
(3) |
Feb
(2) |
Mar
(7) |
Apr
(2) |
May
|
Jun
(7) |
Jul
(22) |
Aug
(5) |
Sep
(3) |
Oct
(3) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(4) |
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(4) |
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(5) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: jyua44 <jy...@ho...> - 2010-12-17 16:38:26
|
Thanks Djalma Rosa dos Santos Filho. I checked my config and I did set PersitMessage=Y. So this probles in Session::nextResendRequest() must have been fixed, right? Which version of QF would you recommend to use? I am using QF C#, essentially QF C++ jyua44 wrote: > > I am doing CME dropcopy cert and have a problem as follows: > 1. CME sends me a resend request with 35=2, say with seq number 34 = > 10; > 2. My quickfix engine sends back gapfill with 35 = 4; > 3. My quickfix engine send back heartbeat; > 4. CME sends me a heartbeat with seq number 34 = 11; > 5. send back resend request with 35 = 2 for seq number 10. This is not > desired. Some how, the quickfix engine does not remember RESEND REQUEST > seq number 10 already received. The desired behavior by the > certification is sending back a heartbeat. > > Anybody know how to resolve this? > > Here are the fix messages: > 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 > 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 > 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 > 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 > 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30482646.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Djalma R. d. S. F. <drs...@gm...> - 2010-12-17 15:38:42
|
In the documentation, default is Y. "If set to N, no messages will be persisted. This will force QuickFIX to always send GapFills instead of resending messages. Use this if you know you never want to resend a message. Useful for market data streams..." The problem I faced some time ago (which also seems to be yours) is that there is a bug in the function Session::nextResendRequest which is correctly generating the GapFill but is returning without incrementing NextTargetMsgSeqNum when PersistMessages=N. It was easy to fix. if ( !m_persistMessages ) { endSeqNo = EndSeqNo(endSeqNo + 1); int next = m_state.getNextSenderMsgSeqNum(); if( endSeqNo > next ) endSeqNo = EndSeqNo(next); generateSequenceReset( beginSeqNo, endSeqNo ); // don't forget to increment next Target Sequence Number MsgSeqNum msgSeqNum(0); resendRequest.getHeader().getField( msgSeqNum ); if( !isTargetTooHigh(msgSeqNum) && !isTargetTooLow(msgSeqNum) ) { m_state.incrNextTargetMsgSeqNum(); } return; } I suggest that you retest forcing PersistMessages=Y, before making the source code modification (since this is a drop-copy connection, I don't beleive the message persistence is critical for you). On Fri, Dec 17, 2010 at 12:55 PM, jyua44 <jy...@ho...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I did not. But default value is 'N', otherwise the QF will not send 35=4. > > jyua44 wrote: >> >> Sorry, the 5th step means: My quickfix engine sends back resend request >> with 35=2 ... >> >> Thank >> >> jyua44 wrote: >>> >>> I am doing CME dropcopy cert and have a problem as follows: >>> 1. CME sends me a resend request with 35=2, say with seq number 34 = >>> 10; >>> 2. My quickfix engine sends back gapfill with 35 = 4; >>> 3. My quickfix engine send back heartbeat; >>> 4. CME sends me a heartbeat with seq number 34 = 11; >>> 5. send back resend request with 35 = 2 for seq number 10. This is >>> not desired. Some how, the quickfix engine does not remember RESEND >>> REQUEST seq number 10 already received. The desired behavior by the >>> certification is sending back a heartbeat. >>> >>> Anybody know how to resolve this? >>> >>> Here are the fix messages: >>> 8=FIX.4.2 9=89 35=2 34=2831 49=CME 50=G 52=20101216-06:57:17.060 56=OAACPON 57=AJX 369=2246 7=2247 16=0 10=139 >>> 8=FIX.4.2 9=123 35=4 34=2247 43=Y 49=OAACPON 50=AJX 52=20101216-06:57:17.272 56=CME 57=G 122=20101216-06:57:17.272 142=AJXDC 36=2249 123=Y 10=215 >>> 8=FIX.4.2 9=78 35=0 34=2249 49=OAACPON 50=AJX 52=20101216-06:57:47.271 56=CME 57=G 142=AJXDC 10=009 >>> 8=FIX.4.2 9=77 35=0 34=2832 49=CME 50=G 52=20101216-06:57:47.068 56=OAACPON 57=AJX 369=2247 10=122 >>> 8=FIX.4.2 9=90 35=2 34=2250 49=OAACPON 50=AJX 52=20101216-06:57:47.287 56=CME 57=G 142=AJXDC 7=2831 16=0 10=028 >>> >>> >> >> > > -- > View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30481585.html > Sent from the QuickFIX - User mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: jyua44 <jy...@ho...> - 2010-12-17 14:55:57
|
I did not. But default value is 'N', otherwise the QF will not send 35=4. jyua44 wrote: > > Sorry, the 5th step means: My quickfix engine sends back resend request > with 35=2 ... > > Thank > > jyua44 wrote: >> >> I am doing CME dropcopy cert and have a problem as follows: >> 1. CME sends me a resend request with 35=2, say with seq number 34 = >> 10; >> 2. My quickfix engine sends back gapfill with 35 = 4; >> 3. My quickfix engine send back heartbeat; >> 4. CME sends me a heartbeat with seq number 34 = 11; >> 5. send back resend request with 35 = 2 for seq number 10. This is >> not desired. Some how, the quickfix engine does not remember RESEND >> REQUEST seq number 10 already received. The desired behavior by the >> certification is sending back a heartbeat. >> >> Anybody know how to resolve this? >> >> Here are the fix messages: >> 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 >> 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 >> 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 >> 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 >> 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 >> >> > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30481585.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Djalma R. d. S. F. <drs...@gm...> - 2010-12-17 14:27:35
|
Hi, Did you set up PersistMessages=N in your configuration? On Fri, Dec 17, 2010 at 11:14 AM, jyua44 <jy...@ho...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > The version of quickfix is 1.12.4. I am running on Windows. > > > jyua44 wrote: >> >> I am doing CME dropcopy cert and have a problem as follows: >> 1. CME sends me a resend request with 35=2, say with seq number 34 = >> 10; >> 2. My quickfix engine sends back gapfill with 35 = 4; >> 3. My quickfix engine send back heartbeat; >> 4. CME sends me a heartbeat with seq number 34 = 11; >> 5. send back resend request with 35 = 2 for seq number 10. This is not >> desired. Some how, the quickfix engine does not remember RESEND REQUEST >> seq number 10 already received. The desired behavior by the >> certification is sending back a heartbeat. >> >> Anybody know how to resolve this? >> >> Here are the fix messages: >> 8=FIX.4.2 9=89 35=2 34=2831 49=CME 50=G 52=20101216-06:57:17.060 56=OAACPON 57=AJX 369=2246 7=2247 16=0 10=139 >> 8=FIX.4.2 9=123 35=4 34=2247 43=Y 49=OAACPON 50=AJX 52=20101216-06:57:17.272 56=CME 57=G 122=20101216-06:57:17.272 142=AJXDC 36=2249 123=Y 10=215 >> 8=FIX.4.2 9=78 35=0 34=2249 49=OAACPON 50=AJX 52=20101216-06:57:47.271 56=CME 57=G 142=AJXDC 10=009 >> 8=FIX.4.2 9=77 35=0 34=2832 49=CME 50=G 52=20101216-06:57:47.068 56=OAACPON 57=AJX 369=2247 10=122 >> 8=FIX.4.2 9=90 35=2 34=2250 49=OAACPON 50=AJX 52=20101216-06:57:47.287 56=CME 57=G 142=AJXDC 7=2831 16=0 10=028 >> >> > > -- > View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30480770.html > Sent from the QuickFIX - User mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: jyua44 <jy...@ho...> - 2010-12-17 13:14:27
|
The version of quickfix is 1.12.4. I am running on Windows. jyua44 wrote: > > I am doing CME dropcopy cert and have a problem as follows: > 1. CME sends me a resend request with 35=2, say with seq number 34 = > 10; > 2. My quickfix engine sends back gapfill with 35 = 4; > 3. My quickfix engine send back heartbeat; > 4. CME sends me a heartbeat with seq number 34 = 11; > 5. send back resend request with 35 = 2 for seq number 10. This is not > desired. Some how, the quickfix engine does not remember RESEND REQUEST > seq number 10 already received. The desired behavior by the > certification is sending back a heartbeat. > > Anybody know how to resolve this? > > Here are the fix messages: > 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 > 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 > 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 > 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 > 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30480770.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: jyua44 <jy...@ho...> - 2010-12-17 07:08:35
|
Sorry, the 5th step means: My quickfix engine sends back resend request with 35=2 ... Thank jyua44 wrote: > > I am doing CME dropcopy cert and have a problem as follows: > 1. CME sends me a resend request with 35=2, say with seq number 34 = > 10; > 2. My quickfix engine sends back gapfill with 35 = 4; > 3. My quickfix engine send back heartbeat; > 4. CME sends me a heartbeat with seq number 34 = 11; > 5. send back resend request with 35 = 2 for seq number 10. This is not > desired. Some how, the quickfix engine does not remember RESEND REQUEST > seq number 10 already received. The desired behavior by the > certification is sending back a heartbeat. > > Anybody know how to resolve this? > > Here are the fix messages: > 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 > 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 > 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 > 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 > 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30478783.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: jyua44 <jy...@ho...> - 2010-12-17 07:00:13
|
I am doing CME dropcopy cert and have a problem as follows: 1. CME sends me a resend request with 35=2, say with seq number 34 = 10; 2. My quickfix engine sends back gapfill with 35 = 4; 3. My quickfix engine send back heartbeat; 4. CME sends me a heartbeat with seq number 34 = 11; 5. send back resend request with 35 = 2 for seq number 10. This is not desired. Some how, the quickfix engine does not remember RESEND REQUEST seq number 10 already received. The desired behavior by the certification is sending back a heartbeat. Anybody know how to resolve this? Here are the fix messages: 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30478491.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Grant B. <gbi...@co...> - 2010-11-24 14:32:23
|
This looks like it might be related to an incorrect configuration file. Could you post a redacted version for us to look at? On Wed, Nov 24, 2010 at 2:32 AM, Christiaan de Vries <ch...@ba...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hello all, > > I have a client who is trying to connect to our FIX engine, but for some > reason he cannot establish a session. Now, in the logs I can see the > following error, one which I have never seen before. > > Can anybody give me some pointers as what could cause these kind of errors? > > INFO: MINA session created: /XXX.XXX.XXX.XXX:XXXXX > 22-Nov-2010 16:45:08 quickfix.mina.AbstractIoHandler exceptionCaught > SEVERE: protocol handler exception > org.quickfixj.QFJException: quickfix.ConfigError: Unable to find a > session template for FIX.4.2:"XXXXXXXX"->XXX > at > quickfix.mina.acceptor.DynamicAcceptorSessionProvider.getSession(DynamicAcceptorSessionProvider.java:151) > at > quickfix.mina.acceptor.AcceptorIoHandler.findQFSession(AcceptorIoHandler.java:104) > at > quickfix.mina.AbstractIoHandler.messageReceived(AbstractIoHandler.java:115) > at > org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703) > at > org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) > at > org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:54) > at > org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800) > at > org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:62) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:200) > at > org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) > at > org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:54) > at > org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800) > at > org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messageReceived(AbstractIoFilterChain.java:617) > at > org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) > at > org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:353) > at > org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:246) > at > org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:206) > at > org.apache.mina.transport.socket.nio.SocketIoProcessor.access$500(SocketIoProcessor.java:44) > at > org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:506) > at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43) > at java.lang.Thread.run(Thread.java:619) > Caused by: quickfix.ConfigError: Unable to find a session template for > FIX.4.2:"XXXXXXXX"->XXX > at > quickfix.mina.acceptor.DynamicAcceptorSessionProvider.getSession(DynamicAcceptorSessionProvider.java:137) > ... 20 more > > Thanks in advance, > Christiaan de Vries > Baxter-FX.com > > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > Tap into the largest installed PC base & get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: Christiaan de V. <ch...@ba...> - 2010-11-24 08:50:27
|
Hello all, I have a client who is trying to connect to our FIX engine, but for some reason he cannot establish a session. Now, in the logs I can see the following error, one which I have never seen before. Can anybody give me some pointers as what could cause these kind of errors? INFO: MINA session created: /XXX.XXX.XXX.XXX:XXXXX 22-Nov-2010 16:45:08 quickfix.mina.AbstractIoHandler exceptionCaught SEVERE: protocol handler exception org.quickfixj.QFJException: quickfix.ConfigError: Unable to find a session template for FIX.4.2:"XXXXXXXX"->XXX at quickfix.mina.acceptor.DynamicAcceptorSessionProvider.getSession(DynamicAcceptorSessionProvider.java:151) at quickfix.mina.acceptor.AcceptorIoHandler.findQFSession(AcceptorIoHandler.java:104) at quickfix.mina.AbstractIoHandler.messageReceived(AbstractIoHandler.java:115) at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:54) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800) at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:62) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:200) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:54) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800) at org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messageReceived(AbstractIoFilterChain.java:617) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:353) at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:246) at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:206) at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$500(SocketIoProcessor.java:44) at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:506) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43) at java.lang.Thread.run(Thread.java:619) Caused by: quickfix.ConfigError: Unable to find a session template for FIX.4.2:"XXXXXXXX"->XXX at quickfix.mina.acceptor.DynamicAcceptorSessionProvider.getSession(DynamicAcceptorSessionProvider.java:137) ... 20 more Thanks in advance, Christiaan de Vries Baxter-FX.com |
From: Joaquín G. <j.g...@ra...> - 2010-11-02 14:28:26
|
Hi all, Is it posible to customize the names of the log files generated by QuickFix? I want to generate different log files every day, and one method I like is to include the date in the file name. How can I do this? Thank you. |
From: George C. <geo...@qu...> - 2010-10-21 00:43:43
|
How do I set the value of any timestamp field from the Python wrapper? I cannot figure out what python type is expected when trying to set the value of any field derived from UTCTimeStamp. This is quite confusing. |
From: Joaquín G. <j.g...@ra...> - 2010-10-15 17:00:20
|
Yes, it looks better. Thanks. El 15/10/2010, a las 18:58, Grant Birchmeier escribió: An even better fix would be to simply check if 200 is present before reading it. e.g. Wrap your read call in something like this: if (msg.isSetField(200)) { // read field } With that, it won't matter what SecurityType or any other field is. -Grant On Fri, Oct 15, 2010 at 11:53 AM, Joaquín Gracia <j.g...@ra...> wrote: > Hi Grant, > > You're right. That's exactly what is happening. > > I just added a bit of code to check if SecurityType is FUTURES before > reading field 200 and the problem is over. > > Thank you! > > > > > El 15/10/2010, a las 17:59, Grant Birchmeier escribió: > > Oh, sorry, I read your first mail wrong (obviously). > > I have two thoughts: > > 1) Does your data dictionary indicate that this field is optional and > not required? (It's probably fine.) > > 2) In my experience with the Java version of QF, if your app code > requests a field that isn't there, the exception that is thrown will > give a bahavior similar to what you are seeing. (I guess the > reasoning is: "it's not required in the dictionary, but the code is > requesting it, so it must be conditionally required!") So I suggest > checking your app code and making sure you aren't extracting field 200 > without first checking that it's there. > > -Grant > > > On Fri, Oct 15, 2010 at 10:49 AM, Joaquín Gracia <j.g...@ra...> > wrote: >> >> Thanks for your reply, Grant. >> >> My broker is not requiring this field for stock trades, nor sending >> it in >> the execution report message. They say that somehow my fix engine is >> expecting this field eventhough it's not required. >> >> And that sounds logical to me because I send a NewOrderSingle >> message to >> buy >> a stock (no field 200), and an execution report comes in (no field >> 200 >> either) and quickfix rejects it because: "Conditionally Required >> Field >> Missing:200" >> >> >> El 15/10/2010, a las 17:38, Grant Birchmeier escribió: >> >> You should first check your broker's interface specification. >> >> Even though the base FIX specificaiton says the field is optional, >> your counterparty may mandate it. >> >> -Grant >> >> On Fri, Oct 15, 2010 at 10:22 AM, Joaquín Gracia <j.g...@ra...> >> wrote: >>> >>> QuickFIX Documentation: >>> http://www.quickfixengine.org/quickfix/doc/html/index.html >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> Hi All, >>> >>> My quickfix engine is rejecting fill messages from my broker because >>> of a missing optional field. >>> >>> This particular field is the contract maturity, which is not needed >>> for stocks. In fact, I am not sending this field when I place the >>> order. >>> >>> Why a message is rejected when it's missing an optional field and it >>> is not needed? >>> >>> Thank you. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Download new Adobe(R) Flash(R) Builder(TM) 4 >>> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly >>> Flex(R) Builder(TM)) enable the development of rich applications >>> that run >>> across multiple browsers and platforms. Download your free trials >>> today! >>> http://p.sf.net/sfu/adobe-dev2dev >>> _______________________________________________ >>> Quickfix-users mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-users >>> >> >> > > |
From: Grant B. <gbi...@co...> - 2010-10-15 16:58:55
|
An even better fix would be to simply check if 200 is present before reading it. e.g. Wrap your read call in something like this: if (msg.isSetField(200)) { // read field } With that, it won't matter what SecurityType or any other field is. -Grant On Fri, Oct 15, 2010 at 11:53 AM, Joaquín Gracia <j.g...@ra...> wrote: > Hi Grant, > > You're right. That's exactly what is happening. > > I just added a bit of code to check if SecurityType is FUTURES before > reading field 200 and the problem is over. > > Thank you! > > > > > El 15/10/2010, a las 17:59, Grant Birchmeier escribió: > > Oh, sorry, I read your first mail wrong (obviously). > > I have two thoughts: > > 1) Does your data dictionary indicate that this field is optional and > not required? (It's probably fine.) > > 2) In my experience with the Java version of QF, if your app code > requests a field that isn't there, the exception that is thrown will > give a bahavior similar to what you are seeing. (I guess the > reasoning is: "it's not required in the dictionary, but the code is > requesting it, so it must be conditionally required!") So I suggest > checking your app code and making sure you aren't extracting field 200 > without first checking that it's there. > > -Grant > > > On Fri, Oct 15, 2010 at 10:49 AM, Joaquín Gracia <j.g...@ra...> wrote: >> >> Thanks for your reply, Grant. >> >> My broker is not requiring this field for stock trades, nor sending it in >> the execution report message. They say that somehow my fix engine is >> expecting this field eventhough it's not required. >> >> And that sounds logical to me because I send a NewOrderSingle message to >> buy >> a stock (no field 200), and an execution report comes in (no field 200 >> either) and quickfix rejects it because: "Conditionally Required Field >> Missing:200" >> >> >> El 15/10/2010, a las 17:38, Grant Birchmeier escribió: >> >> You should first check your broker's interface specification. >> >> Even though the base FIX specificaiton says the field is optional, >> your counterparty may mandate it. >> >> -Grant >> >> On Fri, Oct 15, 2010 at 10:22 AM, Joaquín Gracia <j.g...@ra...> wrote: >>> >>> QuickFIX Documentation: >>> http://www.quickfixengine.org/quickfix/doc/html/index.html >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> Hi All, >>> >>> My quickfix engine is rejecting fill messages from my broker because >>> of a missing optional field. >>> >>> This particular field is the contract maturity, which is not needed >>> for stocks. In fact, I am not sending this field when I place the order. >>> >>> Why a message is rejected when it's missing an optional field and it >>> is not needed? >>> >>> Thank you. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Download new Adobe(R) Flash(R) Builder(TM) 4 >>> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly >>> Flex(R) Builder(TM)) enable the development of rich applications that run >>> across multiple browsers and platforms. Download your free trials today! >>> http://p.sf.net/sfu/adobe-dev2dev >>> _______________________________________________ >>> Quickfix-users mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-users >>> >> >> > > |
From: Joaquín G. <j.g...@ra...> - 2010-10-15 16:53:55
|
Hi Grant, You're right. That's exactly what is happening. I just added a bit of code to check if SecurityType is FUTURES before reading field 200 and the problem is over. Thank you! El 15/10/2010, a las 17:59, Grant Birchmeier escribió: Oh, sorry, I read your first mail wrong (obviously). I have two thoughts: 1) Does your data dictionary indicate that this field is optional and not required? (It's probably fine.) 2) In my experience with the Java version of QF, if your app code requests a field that isn't there, the exception that is thrown will give a bahavior similar to what you are seeing. (I guess the reasoning is: "it's not required in the dictionary, but the code is requesting it, so it must be conditionally required!") So I suggest checking your app code and making sure you aren't extracting field 200 without first checking that it's there. -Grant On Fri, Oct 15, 2010 at 10:49 AM, Joaquín Gracia <j.g...@ra...> wrote: > Thanks for your reply, Grant. > > My broker is not requiring this field for stock trades, nor sending > it in > the execution report message. They say that somehow my fix engine is > expecting this field eventhough it's not required. > > And that sounds logical to me because I send a NewOrderSingle > message to buy > a stock (no field 200), and an execution report comes in (no field 200 > either) and quickfix rejects it because: "Conditionally Required Field > Missing:200" > > > El 15/10/2010, a las 17:38, Grant Birchmeier escribió: > > You should first check your broker's interface specification. > > Even though the base FIX specificaiton says the field is optional, > your counterparty may mandate it. > > -Grant > > On Fri, Oct 15, 2010 at 10:22 AM, Joaquín Gracia <j.g...@ra...> > wrote: >> >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hi All, >> >> My quickfix engine is rejecting fill messages from my broker because >> of a missing optional field. >> >> This particular field is the contract maturity, which is not needed >> for stocks. In fact, I am not sending this field when I place the >> order. >> >> Why a message is rejected when it's missing an optional field and it >> is not needed? >> >> Thank you. >> >> >> ------------------------------------------------------------------------------ >> Download new Adobe(R) Flash(R) Builder(TM) 4 >> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly >> Flex(R) Builder(TM)) enable the development of rich applications >> that run >> across multiple browsers and platforms. Download your free trials >> today! >> http://p.sf.net/sfu/adobe-dev2dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> > > |
From: Joaquín G. <j.g...@ra...> - 2010-10-15 16:36:08
|
1) Data dictionary is ok. 2) I use C++ but I think these must be what's going on. I'll check. El 15/10/2010, a las 17:59, Grant Birchmeier escribió: Oh, sorry, I read your first mail wrong (obviously). I have two thoughts: 1) Does your data dictionary indicate that this field is optional and not required? (It's probably fine.) 2) In my experience with the Java version of QF, if your app code requests a field that isn't there, the exception that is thrown will give a bahavior similar to what you are seeing. (I guess the reasoning is: "it's not required in the dictionary, but the code is requesting it, so it must be conditionally required!") So I suggest checking your app code and making sure you aren't extracting field 200 without first checking that it's there. -Grant On Fri, Oct 15, 2010 at 10:49 AM, Joaquín Gracia <j.g...@ra...> wrote: > Thanks for your reply, Grant. > > My broker is not requiring this field for stock trades, nor sending > it in > the execution report message. They say that somehow my fix engine is > expecting this field eventhough it's not required. > > And that sounds logical to me because I send a NewOrderSingle > message to buy > a stock (no field 200), and an execution report comes in (no field 200 > either) and quickfix rejects it because: "Conditionally Required Field > Missing:200" > > > El 15/10/2010, a las 17:38, Grant Birchmeier escribió: > > You should first check your broker's interface specification. > > Even though the base FIX specificaiton says the field is optional, > your counterparty may mandate it. > > -Grant > > On Fri, Oct 15, 2010 at 10:22 AM, Joaquín Gracia <j.g...@ra...> > wrote: >> >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hi All, >> >> My quickfix engine is rejecting fill messages from my broker because >> of a missing optional field. >> >> This particular field is the contract maturity, which is not needed >> for stocks. In fact, I am not sending this field when I place the >> order. >> >> Why a message is rejected when it's missing an optional field and it >> is not needed? >> >> Thank you. >> >> >> ------------------------------------------------------------------------------ >> Download new Adobe(R) Flash(R) Builder(TM) 4 >> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly >> Flex(R) Builder(TM)) enable the development of rich applications >> that run >> across multiple browsers and platforms. Download your free trials >> today! >> http://p.sf.net/sfu/adobe-dev2dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> > > |
From: Grant B. <gbi...@co...> - 2010-10-15 16:00:05
|
Oh, sorry, I read your first mail wrong (obviously). I have two thoughts: 1) Does your data dictionary indicate that this field is optional and not required? (It's probably fine.) 2) In my experience with the Java version of QF, if your app code requests a field that isn't there, the exception that is thrown will give a bahavior similar to what you are seeing. (I guess the reasoning is: "it's not required in the dictionary, but the code is requesting it, so it must be conditionally required!") So I suggest checking your app code and making sure you aren't extracting field 200 without first checking that it's there. -Grant On Fri, Oct 15, 2010 at 10:49 AM, Joaquín Gracia <j.g...@ra...> wrote: > Thanks for your reply, Grant. > > My broker is not requiring this field for stock trades, nor sending it in > the execution report message. They say that somehow my fix engine is > expecting this field eventhough it's not required. > > And that sounds logical to me because I send a NewOrderSingle message to buy > a stock (no field 200), and an execution report comes in (no field 200 > either) and quickfix rejects it because: "Conditionally Required Field > Missing:200" > > > El 15/10/2010, a las 17:38, Grant Birchmeier escribió: > > You should first check your broker's interface specification. > > Even though the base FIX specificaiton says the field is optional, > your counterparty may mandate it. > > -Grant > > On Fri, Oct 15, 2010 at 10:22 AM, Joaquín Gracia <j.g...@ra...> wrote: >> >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hi All, >> >> My quickfix engine is rejecting fill messages from my broker because >> of a missing optional field. >> >> This particular field is the contract maturity, which is not needed >> for stocks. In fact, I am not sending this field when I place the order. >> >> Why a message is rejected when it's missing an optional field and it >> is not needed? >> >> Thank you. >> >> >> ------------------------------------------------------------------------------ >> Download new Adobe(R) Flash(R) Builder(TM) 4 >> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly >> Flex(R) Builder(TM)) enable the development of rich applications that run >> across multiple browsers and platforms. Download your free trials today! >> http://p.sf.net/sfu/adobe-dev2dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> > > |
From: Grant B. <gbi...@co...> - 2010-10-15 15:38:28
|
You should first check your broker's interface specification. Even though the base FIX specificaiton says the field is optional, your counterparty may mandate it. -Grant On Fri, Oct 15, 2010 at 10:22 AM, Joaquín Gracia <j.g...@ra...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi All, > > My quickfix engine is rejecting fill messages from my broker because > of a missing optional field. > > This particular field is the contract maturity, which is not needed > for stocks. In fact, I am not sending this field when I place the order. > > Why a message is rejected when it's missing an optional field and it > is not needed? > > Thank you. > > ------------------------------------------------------------------------------ > Download new Adobe(R) Flash(R) Builder(TM) 4 > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly > Flex(R) Builder(TM)) enable the development of rich applications that run > across multiple browsers and platforms. Download your free trials today! > http://p.sf.net/sfu/adobe-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: Joaquín G. <j.g...@ra...> - 2010-10-15 15:22:29
|
Hi All, My quickfix engine is rejecting fill messages from my broker because of a missing optional field. This particular field is the contract maturity, which is not needed for stocks. In fact, I am not sending this field when I place the order. Why a message is rejected when it's missing an optional field and it is not needed? Thank you. |
From: Grant B. <gbi...@co...> - 2010-10-15 00:16:40
|
I don't know what you mean by "my counterparty requires logon". QuickFIX automatically sends a logon message when your initiator starts. The counterparty may refuse or reject your logon message for any number of reasons. Does your log tell you why? If your counterparty wants a user/password, you may need to put logic in toAdmin() so you can intercept the message and insert these fields. I'm not familiar with Ruby QuickFIX myself, but I see that the documentation often has Ruby examples along with other languages. Have you seen the "RUBY" links, for instance, on this page? http://www.quickfixengine.org/quickfix/doc/html/receiving_messages.html Since Ruby is not typesafe, the more typesafe practices for using QuickFIX do not apply, hence the "Most Type Safe... DO THIS!" section does not have a Ruby example. The "More Type Safe" section does, however, and it should work. You'll have to examine field 35 in the header to know what kind of message you received, though. -Grant On Thu, Oct 14, 2010 at 5:45 PM, Noel R. Morais <noe...@gm...> wrote: > I did that and it worked. > > My problem now is that my counterparty requires logon and I need to > implement the onMessage. > > How does MessageCracker works in ruby implementation? > > Cheers, > > -- > Noel Rocha > http://blog.noelrocha.com.br > > > > On Thu, Oct 14, 2010 at 7:29 PM, Grant Birchmeier > <gbi...@co...> wrote: >> The interfaces for Initiator and Acceptor are very similar. >> >> As soon as you call Initiator::start(), it'll try to connect to >> whatever counterparty it's configured to connect to. Similarly, >> Acceptor::start() will make your acceptor start listening for >> connections. >> >> For basic SocketAcceptors/Initiators, you shouldn't need to do much >> with them besides start() and stop(). The Application class (given to >> the constructor) is where the interesting stuff happens. >> >> If you take your example and switch all instances of "acceptor" to >> "initiator", you should be most of the way there. >> >> -Grant >> >> >> On Thu, Oct 14, 2010 at 5:10 PM, Noel R. Morais <noe...@gm...> wrote: >>> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >>> QuickFIX Support: http://www.quickfixengine.org/services.html >>> >>> I've checked the ruby examples in the quickfix source. But its an >>> acceptor example. Im trying to build an initiator and didn't know how >>> to logon. >>> >>> Cheers, >>> >>> -- >>> Noel Rocha >>> http://blog.noelrocha.com.br >>> >>> >>> >>> On Thu, Oct 14, 2010 at 6:34 PM, Noel R. Morais <noe...@gm...> wrote: >>>> Hi Guys, >>>> >>>> Im trying to use ruby and quickfix. >>>> >>>> But Im a little confused about the MessageCracker. >>>> >>>> How does it works in using ruby? >>>> >>>> How do I implement an "onMessage" for Logon messages since ruby isn't type safe? >>>> >>>> Thanks in advance, >>>> >>>> -- >>>> Noel Rocha >>>> http://blog.noelrocha.com.br >>>> >>> >>> ------------------------------------------------------------------------------ >>> Download new Adobe(R) Flash(R) Builder(TM) 4 >>> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly >>> Flex(R) Builder(TM)) enable the development of rich applications that run >>> across multiple browsers and platforms. Download your free trials today! >>> http://p.sf.net/sfu/adobe-dev2dev >>> _______________________________________________ >>> Quickfix-users mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-users >>> >> > |
From: Noel R. M. <noe...@gm...> - 2010-10-14 22:45:14
|
I did that and it worked. My problem now is that my counterparty requires logon and I need to implement the onMessage. How does MessageCracker works in ruby implementation? Cheers, -- Noel Rocha http://blog.noelrocha.com.br On Thu, Oct 14, 2010 at 7:29 PM, Grant Birchmeier <gbi...@co...> wrote: > The interfaces for Initiator and Acceptor are very similar. > > As soon as you call Initiator::start(), it'll try to connect to > whatever counterparty it's configured to connect to. Similarly, > Acceptor::start() will make your acceptor start listening for > connections. > > For basic SocketAcceptors/Initiators, you shouldn't need to do much > with them besides start() and stop(). The Application class (given to > the constructor) is where the interesting stuff happens. > > If you take your example and switch all instances of "acceptor" to > "initiator", you should be most of the way there. > > -Grant > > > On Thu, Oct 14, 2010 at 5:10 PM, Noel R. Morais <noe...@gm...> wrote: >> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> I've checked the ruby examples in the quickfix source. But its an >> acceptor example. Im trying to build an initiator and didn't know how >> to logon. >> >> Cheers, >> >> -- >> Noel Rocha >> http://blog.noelrocha.com.br >> >> >> >> On Thu, Oct 14, 2010 at 6:34 PM, Noel R. Morais <noe...@gm...> wrote: >>> Hi Guys, >>> >>> Im trying to use ruby and quickfix. >>> >>> But Im a little confused about the MessageCracker. >>> >>> How does it works in using ruby? >>> >>> How do I implement an "onMessage" for Logon messages since ruby isn't type safe? >>> >>> Thanks in advance, >>> >>> -- >>> Noel Rocha >>> http://blog.noelrocha.com.br >>> >> >> ------------------------------------------------------------------------------ >> Download new Adobe(R) Flash(R) Builder(TM) 4 >> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly >> Flex(R) Builder(TM)) enable the development of rich applications that run >> across multiple browsers and platforms. Download your free trials today! >> http://p.sf.net/sfu/adobe-dev2dev >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> > |
From: Grant B. <gbi...@co...> - 2010-10-14 22:29:23
|
The interfaces for Initiator and Acceptor are very similar. As soon as you call Initiator::start(), it'll try to connect to whatever counterparty it's configured to connect to. Similarly, Acceptor::start() will make your acceptor start listening for connections. For basic SocketAcceptors/Initiators, you shouldn't need to do much with them besides start() and stop(). The Application class (given to the constructor) is where the interesting stuff happens. If you take your example and switch all instances of "acceptor" to "initiator", you should be most of the way there. -Grant On Thu, Oct 14, 2010 at 5:10 PM, Noel R. Morais <noe...@gm...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > I've checked the ruby examples in the quickfix source. But its an > acceptor example. Im trying to build an initiator and didn't know how > to logon. > > Cheers, > > -- > Noel Rocha > http://blog.noelrocha.com.br > > > > On Thu, Oct 14, 2010 at 6:34 PM, Noel R. Morais <noe...@gm...> wrote: >> Hi Guys, >> >> Im trying to use ruby and quickfix. >> >> But Im a little confused about the MessageCracker. >> >> How does it works in using ruby? >> >> How do I implement an "onMessage" for Logon messages since ruby isn't type safe? >> >> Thanks in advance, >> >> -- >> Noel Rocha >> http://blog.noelrocha.com.br >> > > ------------------------------------------------------------------------------ > Download new Adobe(R) Flash(R) Builder(TM) 4 > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly > Flex(R) Builder(TM)) enable the development of rich applications that run > across multiple browsers and platforms. Download your free trials today! > http://p.sf.net/sfu/adobe-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: Noel R. M. <noe...@gm...> - 2010-10-14 22:10:38
|
I've checked the ruby examples in the quickfix source. But its an acceptor example. Im trying to build an initiator and didn't know how to logon. Cheers, -- Noel Rocha http://blog.noelrocha.com.br On Thu, Oct 14, 2010 at 6:34 PM, Noel R. Morais <noe...@gm...> wrote: > Hi Guys, > > Im trying to use ruby and quickfix. > > But Im a little confused about the MessageCracker. > > How does it works in using ruby? > > How do I implement an "onMessage" for Logon messages since ruby isn't type safe? > > Thanks in advance, > > -- > Noel Rocha > http://blog.noelrocha.com.br > |
From: Noel R. M. <noe...@gm...> - 2010-10-14 21:34:52
|
Hi Guys, Im trying to use ruby and quickfix. But Im a little confused about the MessageCracker. How does it works in using ruby? How do I implement an "onMessage" for Logon messages since ruby isn't type safe? Thanks in advance, -- Noel Rocha http://blog.noelrocha.com.br |
From: Idriss F. <idr...@gm...> - 2010-10-13 08:49:01
|
I am using quickfix 1.13.3 recompiled with ODBC and I have a strange behavior on my acceptors (two acceptors on different machines sharing the same ODBC database and enabled for hot failover). My daily session is setup with: RefreshOnLogon=Y StartTime=00:02:00 EndTime=23:58:00 PersistMessages=Y and the necessary Odbc Settings. At 23:54, the initiator sends a Logout with MsgSeqNum = 1711, my quickfix acceptor responds with Logout MsgSeqNum = 1711, so no problem there. At 00:05:16, the initiator sends a Logon with MsgSeqNum = 2, but my quickfix acceptor responds with Logout MsgSeqNum = 1712 ! At 00:05:18, the initiator retries with Logon and MsgSeqNumm = 4, and this time, my quickfix acceptor responds with Logon MsgSeqNum = 1 Thinking that maybe, in the table "sessions", the incoming_seqnum and outgoing_seqnum were not properly reset by ODBC, I even tried to force a reset manually at 00:00 but in vain, I still get the same behavior. My guess at the moment is that quickfix with this configuration still matches the Logon request against the yesterday session which results in the logout with the yesterday sequence number.... With the same `StartTime`, `EndTime`, 1 acceptor, `FileStore`, and no `RefreshOnLogon` setting (because I had only 1 acceptor) it used to work with quickfix 1.12.4. UPDATE: I also tried with `RefreshOnLogon=N` but the problem remains the same... seqnums are not properly reset at midnight. Any ideas? Many thanks, Idriss |
From: George C. <geo...@qu...> - 2010-10-09 01:23:28
|
When I create a constructor in my application, I get an error from swig when I try to pass my app class to the initiator or acceptor constructor: NotImplementedError: Wrong number of arguments This goes away when I comment out my constructor. Any ideas on what might cause this behavior? I know from looking at a previous thread concerning this error that SWIG reports this erro when the type or the number of args is wrong, but I fail to see how a constructor would confuse the swig layer like that. Any ideas on why this would happen? I am running v 1.13 on ubuntu linux 10.04, v 2.6 of python. |