quickfix-developers Mailing List for QuickFIX (Page 169)
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: Caleb E. <cal...@gm...> - 2006-01-24 13:48:10
|
On 1/24/06, Ambreen Shahzadi <sha...@ho...> wrote:
>
> then at this line i press F11 it goes to the following code, which is in
> VC98/INCLUDE/Map
So you have Visual Studio 98? If so make sure you download and apply all
relevant service packs. This looks like a bug in the STL implementation.
_Tref operator[](const key_type& _Kv)
> { iterator _P =3D insert(value_type(_Kv, _Ty())).first;
> return ((*_P).second); }
>
> Project crashes and give a message "Unhandled Exception 0xC0000005 :
> Access
> voilation"
>
--
Caleb Epstein
caleb dot epstein at gmail dot com
|
|
From: Ambreen S. <sha...@ho...> - 2006-01-24 12:41:39
|
Sir,
As i was developing Fix Server (acceptor), that i completed.
Now I m developing Fix Client (initiator), a very stupid kind of thing
happening that when i use the tradeclient.dsw project , with the same config
file which i m using in my project.
my config file :
# default settings for sessions
[DEFAULT]
ConnectionType=initiator
HeartBtInt=300
FileStorePath=D:\FIX CLNT
FileLogPath=D:\FIX CLNT
StartTime=00:00:00
EndTime=00:00:00
UseDataDictionary=N
SocketConnectHost=132.147.193.222
SocketConnectPort=4545
# session definition
[SESSION]
BeginString=FIX.4.2
SenderCompID=MEM0040900
TargetCompID=SVR
while calling the same constructor of session settings
std::string fileName="test1.txt";
FIX::SessionSettings settings(fileName);
my project crashes , when i debug all the flow , i got that when the
debugging reaches at
void sessionsettings::set(....)
{
m_settings[ sessionID ] = settings;
}
then at this line i press F11 it goes to the following code, which is in
VC98/INCLUDE/Map
_Tref operator[](const key_type& _Kv)
{ iterator _P = insert(value_type(_Kv, _Ty())).first;
return ((*_P).second); }
Project crashes and give a message "Unhandled Exception 0xC0000005 : Access
voilation"
Pressing ok to this message box , the control goes to VC98/INCLUDE/XSTRING
file
and point to the following lines
void _Tidy(bool _Built = false)
{if (!_Built || _Ptr == 0)
;
----> else if (_Refcnt(_Ptr) == 0 || _Refcnt(_Ptr) == _FROZEN)
allocator.deallocate(_Ptr - 1, _Res + 2);
else
--_Refcnt(_Ptr);
_Ptr = 0, _Len = 0, _Res = 0; }
Plz help me , bcz of what this is happeniing , even my session settings are
going fine in acceptor and also in tradeclient.dsw.
what can be the matter .....?
waiting for ur reply.
with Regards.
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
|
|
From: Ian J. <Ian...@bt...> - 2006-01-23 19:14:44
|
Version 1.0.0 b2 (Jan 06) Hi, Does anyone know how i might control TCP options and/or buffering in = Quickfix/J? I realise that the current version is implemented over netty = and I don't know how/if it can be configured. Options i am interested in = are send/receive buffering and TCP_NODELAY. I understand that incorrect use of these options can affect throughput = adversely, but i am trying to address latency of updates at lower = message volumes. Does anyone have any other suggestions of where latency in message = transmission and/or reception can be addressed? An example of the scale of my problem is that i am experiencing "jitter" = in messages (MarketDataIncrementalRefresh) sent fairly constantly. At rates of 15-20 msg/sec (around 3-4k bytes per second), the jitter is = 2-300ms.=20 At rates of 60-70 msg/sec (around 12-15k), the jitter is still 100+ ms Its not until throughput increases significantly that the latency = becomes less significant (2-250 msg/sec), the jitter is < 50ms I am using enhanced Java 1.5 precision timers, so timings have = granularity of better than 1 ms (my measurement threshold) I have implemented SystemTimeSource to use System.nanoTime() (with mods) = and time the SendingTime FIX stamp (with ms) to received delay. The = absolute delay is not relevant (due to mismatched clocks) - i am just = looking at the variation in delay from msg to msg.=20 The server/client are in US/UK, and normal ping times between them are = approx 80ms (and pretty solid), available bandwidth is up to 1Mb. Does anyone have any experience of how this jitter will be affected by = SSL tunnelling (stunnel). I don't have control over the sender but can = affect "tuning" of stunnel parameters at either end.=20 |
|
From: Shawn Y. <sya...@ge...> - 2006-01-19 20:43:01
|
Oren, Got it, I think our QuickFIX/Python client is working properly now. = Thanks so much for the assistance! Regards, Shawn -----Original Message----- From: Oren Miller [mailto:or...@qu...] Sent: Thursday, January 19, 2006 12:25 PM To: Shawn Yarbrough Cc: Nick Podosenov Subject: Re: bad python example? Yeah. The only difference between start and block is that start will=20 load the engine up in a new thread, while block will load it in the=20 current thread (hence blocking as long as the engine is running). You would use block if you application is entirely driven off of FIX=20 events (.i.e., someone sends you a message, you do something). In which = case block is sufficient. You want to use something like start (or in=20 your case, calling block in another thread), if you need to process=20 other events as well (user events, market data events, etc). It=20 essentially just gives back control of the main thread to your = application. --oren Shawn Yarbrough wrote: >Thanks! Actually, for Python we are currently trying to get a client = working. Do you think we should we try this block() function for our = Python client, in place of where the start() would have been called in = C++? > > >Shawn Yarbrough >Senior E-Trading Developer >Gelber Group, LLC >(312) 692-2819 >sya...@ge... > > > >-----Original Message----- >From: Oren Miller [mailto:or...@qu...] >Sent: Thursday, January 19, 2006 12:01 PM >To: Shawn Yarbrough >Cc: qui...@li... >Subject: Re: bad python example? > > >Indeed. I think this is because python wasn't happy about running code = >from a thread started outside the runtime environment. The executor=20 >example should be more true to form as it has actually be run through=20 >the interpreter: > >http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/examples/executo= r/python/executor.py?view=3Dmarkup > >You will notice that instead of using start(), a python thread is=20 >created which then calls acceptor.block(). This pretty much duplicates = >what acceptor.start() would be doing underneath. I'll look into seeing = >having swig add a native start() method so that you this extra step=20 >won't be necessary in the future. > >--oren > >Shawn Yarbrough wrote: > > =20 > >>Hi Oren, >> >>My company is trying to use the QuickFIX engine for the first time,=20 >>both in C++ and in Python. C++ seems to work OK but we are having=20 >>trouble with the Python binding. >> >>This example here looks really old -- it contains several trivial = errors: >> =20 >>http://www.quickfixengine.org/quickfix/doc/html/python/application_2.ht= ml >> >>Also, there's a major error. The "acceptor.start()" line is confusing = >>us because there is no start function in class Acceptor in Python (but = >>there is in C++). >> >>Can you give us any pointers? >>Thanks, >> >> >>Shawn >> >> =20 >> > > > =20 > |
|
From: Oren M. <or...@qu...> - 2006-01-19 18:01:09
|
Indeed. I think this is because python wasn't happy about running code from a thread started outside the runtime environment. The executor example should be more true to form as it has actually be run through the interpreter: http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/examples/executor/python/executor.py?view=markup You will notice that instead of using start(), a python thread is created which then calls acceptor.block(). This pretty much duplicates what acceptor.start() would be doing underneath. I'll look into seeing having swig add a native start() method so that you this extra step won't be necessary in the future. --oren Shawn Yarbrough wrote: > Hi Oren, > > My company is trying to use the QuickFIX engine for the first time, > both in C++ and in Python. C++ seems to work OK but we are having > trouble with the Python binding. > > This example here looks really old -- it contains several trivial errors: > > http://www.quickfixengine.org/quickfix/doc/html/python/application_2.html > > Also, there's a major error. The "acceptor.start()" line is confusing > us because there is no start function in class Acceptor in Python (but > there is in C++). > > Can you give us any pointers? > Thanks, > > > Shawn > |
|
From: Shawn Y. <sya...@ge...> - 2006-01-19 17:43:34
|
Hi Oren,
My company is trying to use the QuickFIX engine for the first time, both =
in C++ and in Python. C++ seems to work OK but we are having trouble =
with the Python binding.
This example here looks really old -- it contains several trivial =
errors:
=
http://www.quickfixengine.org/quickfix/doc/html/python/application_2.html=
Also, there's a major error. The "acceptor.start()" line is confusing =
us because there is no start function in class Acceptor in Python (but =
there is in C++).
Can you give us any pointers?
Thanks,
Shawn
|
|
From: Jain, A. <Ani...@rb...> - 2006-01-19 17:20:01
|
Correction - in oAdmin callback, I do not wait for heartbeat, but for any n= ext event and check the flag. -----Original Message----- From: qui...@li... [mailto:quickfix-deve= lop...@li...]On Behalf Of Jain, Anil Sent: Thursday, January 19, 2006 12:06 PM To: qui...@li... Subject: [Quickfix-developers] RE: In-Session Logon to Reset Sequence Number OK, I was able to do daily in-session logon reset (for weekly session conne= ction) ONLY from the toAdmin callback. =20 Sure 1.10.2 release notes say that the "logon" message may be modified for = inserting ResetSeqNumFlag=3DY in toAdmin callback.=20 However "in-session logon" needed to reset sequence numbers, probably would= make more sense from fromAdmin, as it has to be done only after we receive= heartbeat response? The FIX protocol document says: =20 One side will initiate the process by sending a TestRequest and wait for a = Heartbeat in response to ensure of no sequence number gaps. Once the Heart= beat has been received, the initiator should send a Logon with ResetSeqNumF= lag set to Y and with MsgSeqNum of 1. The acceptor should respond with a L= ogon with ResetSeqNumFlag set to Y and with MsgSeqNum of 1. At this point = new messages from either side should continue with MsgSeqNum of 2. To achieve this, I merely flagged for logon reset in fromAdmin heartbeat in= tercept and than waited for next heartbeat intercept in toAdmin to initiate= in-session logon. I wonder, if somebody out here was able to do it in a cleaner way. =20 Thanks. =20 Anil =20 =20 -----Original Message----- From: Jain, Anil=20 Sent: Tuesday, January 17, 2006 2:31 PM To: qui...@li... Subject: In-Session Logon to Reset Sequence Number Hi, =20 It's been a good experience for us using QuickFIX. Thank you very much. Recently, I attempted using In-Session logon to reset sequence numbers at s= tart of day. I am the initiator. The logon is successfully responded by the acceptor ECN, but QuickFIX immed= iately reacts with a logout message "MsgSeqNum too low, expecting 2 but re= ceived 1". Am I missing something? =20 Cheers. =20 Anil =20 P=2ES. Code snippet: ... // In-Session Logon to Reset Sequence Number FIX::Message logon =3D message; logon.getHeader().setField( FIX::MsgType( FIX::MsgType_LOGON ) ); logon.setField( FIX::EncryptMethod( 0 ) ); logon.setField( FIX::HeartBtInt( 30 ) ); FIX::ResetSeqNumFlag resetSeqNumFlag=3D"Y"; logon.setField (resetSeqNumFlag); logon.getHeader().setField(FIX::MsgSeqNum(1)); get_session() -> setNextTargetMsgSeqNum(0); get_session() -> setNextSenderMsgSeqNum(1); get_session() -> send(logon); _______________________________________________________________________ This E-Mail (including any attachments) may contain privileged or confident= ial information. It is intended only for the addressee(s) indicated above. The sender does not waive any of its rights, privileges or other protection= s respecting this information. =20 Any distribution, copying or other use of this E-Mail or the information it= contains, by other than an intended recipient, is not sanctioned and is pr= ohibited. If you received this E-Mail in error, please delete it and advise the sende= r (by return E-Mail or otherwise) immediately. This E-Mail (including any attachments) has been scanned for viruses.=20 It is believed to be free of any virus or other defect that might affect an= y computer system into which it is received and opened.=20 However, it is the responsibility of the recipient to ensure that it is vir= us free.=20 The sender accepts no responsibility for any loss or damage arising in any = way from its use. E-Mail received by or sent from RBC Capital Markets is subject to review by= Supervisory personnel.=20 Such communications are retained and may be produced to regulatory authorit= ies or others with legal rights to the information. _______________________________________________________________________ This E-Mail (including any attachments) may contain privileged or confident= ial information. It is intended only for the addressee(s) indicated above. The sender does not waive any of its rights, privileges or other protection= s respecting this information. =20 Any distribution, copying or other use of this E-Mail or the information it= contains, by other than an intended recipient, is not sanctioned and is pr= ohibited. If you received this E-Mail in error, please delete it and advise the sende= r (by return E-Mail or otherwise) immediately. This E-Mail (including any attachments) has been scanned for viruses.=20 It is believed to be free of any virus or other defect that might affect an= y computer system into which it is received and opened.=20 However, it is the responsibility of the recipient to ensure that it is vir= us free.=20 The sender accepts no responsibility for any loss or damage arising in any = way from its use. E-Mail received by or sent from RBC Capital Markets is subject to review by= Supervisory personnel.=20 Such communications are retained and may be produced to regulatory authorit= ies or others with legal rights to the information. |
|
From: Jain, A. <Ani...@rb...> - 2006-01-19 17:05:58
|
OK, I was able to do daily in-session logon reset (for weekly session conne= ction) ONLY from the toAdmin callback. =20 Sure 1.10.2 release notes say that the "logon" message may be modified for = inserting ResetSeqNumFlag=3DY in toAdmin callback.=20 However "in-session logon" needed to reset sequence numbers, probably would= make more sense from fromAdmin, as it has to be done only after we receive= heartbeat response? The FIX protocol document says: =20 One side will initiate the process by sending a TestRequest and wait for a = Heartbeat in response to ensure of no sequence number gaps. Once the Heart= beat has been received, the initiator should send a Logon with ResetSeqNumF= lag set to Y and with MsgSeqNum of 1. The acceptor should respond with a L= ogon with ResetSeqNumFlag set to Y and with MsgSeqNum of 1. At this point = new messages from either side should continue with MsgSeqNum of 2. To achieve this, I merely flagged for logon reset in fromAdmin heartbeat in= tercept and than waited for next heartbeat intercept in toAdmin to initiate= in-session logon. I wonder, if somebody out here was able to do it in a cleaner way. =20 Thanks. =20 Anil =20 =20 -----Original Message----- From: Jain, Anil=20 Sent: Tuesday, January 17, 2006 2:31 PM To: qui...@li... Subject: In-Session Logon to Reset Sequence Number Hi, =20 It's been a good experience for us using QuickFIX. Thank you very much. Recently, I attempted using In-Session logon to reset sequence numbers at s= tart of day. I am the initiator. The logon is successfully responded by the acceptor ECN, but QuickFIX immed= iately reacts with a logout message "MsgSeqNum too low, expecting 2 but re= ceived 1". Am I missing something? =20 Cheers. =20 Anil =20 P=2ES. Code snippet: ... // In-Session Logon to Reset Sequence Number FIX::Message logon =3D message; logon.getHeader().setField( FIX::MsgType( FIX::MsgType_LOGON ) ); logon.setField( FIX::EncryptMethod( 0 ) ); logon.setField( FIX::HeartBtInt( 30 ) ); FIX::ResetSeqNumFlag resetSeqNumFlag=3D"Y"; logon.setField (resetSeqNumFlag); logon.getHeader().setField(FIX::MsgSeqNum(1)); get_session() -> setNextTargetMsgSeqNum(0); get_session() -> setNextSenderMsgSeqNum(1); get_session() -> send(logon); _______________________________________________________________________ This E-Mail (including any attachments) may contain privileged or confident= ial information. It is intended only for the addressee(s) indicated above. The sender does not waive any of its rights, privileges or other protection= s respecting this information. =20 Any distribution, copying or other use of this E-Mail or the information it= contains, by other than an intended recipient, is not sanctioned and is pr= ohibited. If you received this E-Mail in error, please delete it and advise the sende= r (by return E-Mail or otherwise) immediately. This E-Mail (including any attachments) has been scanned for viruses.=20 It is believed to be free of any virus or other defect that might affect an= y computer system into which it is received and opened.=20 However, it is the responsibility of the recipient to ensure that it is vir= us free.=20 The sender accepts no responsibility for any loss or damage arising in any = way from its use. E-Mail received by or sent from RBC Capital Markets is subject to review by= Supervisory personnel.=20 Such communications are retained and may be produced to regulatory authorit= ies or others with legal rights to the information. |
|
From: NicP (s. by Nabble.com) <li...@na...> - 2006-01-19 16:05:16
|
I am new to Quickfix. I need to put together Python client. The doc provided in the package has very limited info how to create Python clinet. Also I could not find python's start() method that acceptor and initiator (that I need to create) need. Does anybody know where to get this start() method? I tried to use poll() instead, but it looks like it does not support call-back function that I would prefer.. Any info would be helpfull and apreciated. -- View this message in context: http://www.nabble.com/QuickFix-Python-client-start-method-t954169.html#a2471966 Sent from the QuickFIX - Dev forum at Nabble.com. |
|
From: Oren M. <or...@qu...> - 2006-01-18 18:13:37
|
This goes back to the original implementation of QuickFIX. We looked at implementing component blocks in an OO manner when first implementing support for them. The current implementation allowed us to get support in with very little work and almost no changes to the code (as well as no changes to the java/.net wrappers). So it won out by getting us there quicker without being very invasive. It certainly would be worthwhile revisiting components to make their use better reflect the object model defined by the specification. The easiest first step would be to generate component objects. That would at least give us the ability to pass them around to methods even if we have to fill them up manually from the message. After that we can look at generating methods which would set/get the appropriate fields for those components with a getComponent/setComponent method. --oren Shepheard, Toby (London) wrote: > I make it look a bit worse than it is - fieldMap.getField can of > course take a TransactTime object rather than the base type, which > protects it against data dictionary changes and the need to know the > base type. > > Still, the question around using component blocks in an OO manner > remains :) > > -----Original Message----- > *From:* qui...@li... > [mailto:qui...@li...] *On > Behalf Of *Shepheard, Toby (London) > *Sent:* 18 January 2006 14:52 > *To:* qui...@li... > *Subject:* [Quickfix-developers] Component blocks > > Hi all, > > I'm using QuickFIX/J, though I think this may be applicable to the > other implementations I'm not sure. > > What I'd like to do is write some helper methods to carry out > certain common actions based on component blocks. A typical > example would be the Instrument block, which appears in a number > of guises: > > QuoteRequest message - here it is part of a repeating group, > NoRelatedSym. > NewOrderSingle message - here it is part of the main > NewOrderSingle message > > I'd love to be able to pass in an "Instrument" object to a method > and do my thing with it, but there doesn't seem to be any such > object. Indeed, the only way I could find to extract Instrument > data from a common base class was to treat is as a FieldMap > object, which covers both Group and Message types. This seems to > mean using a format such as > > fieldMap.getField(new UtcTimeStampField(TransactTime.FIELD) > > Which is not very type-safe, as I'm just assuming the fieldMap > will have the Instrument block's fields, and is liable to break if > anything changes in the underlying data-dictionary. Is there a > better way to do this that is type-safe and reusable, regardless > of the underlying fieldMap type that the instrument block is a > part of? I realise component blocks have no "real" meaning, but > they do provide a common, logical construct that it seems shame I > can't leverage in a nice OO way, especially considering the data > dictionary contains all the required data for generating such > objects. If I am missing something, please let me know :) > > Regards, > Toby > > If you are not an intended recipient of this e-mail, please notify the > sender, delete it and do not read, act upon, print, disclose, copy, > retain or redistribute it. Click here > <http://www.ml.com/email_terms/>for important additional terms > relating to this e-mail. http://www.ml.com/email_terms/ |
|
From: Shepheard, T. (London) <Tob...@ml...> - 2006-01-18 14:56:58
|
I make it look a bit worse than it is - fieldMap.getField can of course take a TransactTime object rather than the base type, which protects it against data dictionary changes and the need to know the base type.=20 =20 Still, the question around using component blocks in an OO manner remains :) -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Shepheard, Toby (London) Sent: 18 January 2006 14:52 To: qui...@li... Subject: [Quickfix-developers] Component blocks =09 =09 Hi all,=20 I'm using QuickFIX/J, though I think this may be applicable to the other implementations I'm not sure.=20 What I'd like to do is write some helper methods to carry out certain common actions based on component blocks. A typical example would be the Instrument block, which appears in a number of guises: QuoteRequest message - here it is part of a repeating group, NoRelatedSym.=20 NewOrderSingle message - here it is part of the main NewOrderSingle message=20 I'd love to be able to pass in an "Instrument" object to a method and do my thing with it, but there doesn't seem to be any such object. Indeed, the only way I could find to extract Instrument data from a common base class was to treat is as a FieldMap object, which covers both Group and Message types. This seems to mean using a format such as fieldMap.getField(new UtcTimeStampField(TransactTime.FIELD)=20 Which is not very type-safe, as I'm just assuming the fieldMap will have the Instrument block's fields, and is liable to break if anything changes in the underlying data-dictionary. Is there a better way to do this that is type-safe and reusable, regardless of the underlying fieldMap type that the instrument block is a part of? I realise component blocks have no "real" meaning, but they do provide a common, logical construct that it seems shame I can't leverage in a nice OO way, especially considering the data dictionary contains all the required data for generating such objects. If I am missing something, please let me know :) Regards,=20 Toby -------------------------------------------------------- If you are not an intended recipient of this e-mail, please notify the = sender, delete it and do not read, act upon, print, disclose, copy, = retain or redistribute it. Click here for important additional terms = relating to this e-mail. http://www.ml.com/email_terms/ -------------------------------------------------------- |
|
From: Shepheard, T. (London) <Tob...@ml...> - 2006-01-18 14:52:11
|
Hi all, I'm using QuickFIX/J, though I think this may be applicable to the other implementations I'm not sure. What I'd like to do is write some helper methods to carry out certain common actions based on component blocks. A typical example would be the Instrument block, which appears in a number of guises: QuoteRequest message - here it is part of a repeating group, NoRelatedSym.=20 NewOrderSingle message - here it is part of the main NewOrderSingle message I'd love to be able to pass in an "Instrument" object to a method and do my thing with it, but there doesn't seem to be any such object. Indeed, the only way I could find to extract Instrument data from a common base class was to treat is as a FieldMap object, which covers both Group and Message types. This seems to mean using a format such as fieldMap.getField(new UtcTimeStampField(TransactTime.FIELD) Which is not very type-safe, as I'm just assuming the fieldMap will have the Instrument block's fields, and is liable to break if anything changes in the underlying data-dictionary. Is there a better way to do this that is type-safe and reusable, regardless of the underlying fieldMap type that the instrument block is a part of? I realise component blocks have no "real" meaning, but they do provide a common, logical construct that it seems shame I can't leverage in a nice OO way, especially considering the data dictionary contains all the required data for generating such objects. If I am missing something, please let me know :) Regards, Toby -------------------------------------------------------- If you are not an intended recipient of this e-mail, please notify the = sender, delete it and do not read, act upon, print, disclose, copy, = retain or redistribute it. Click here for important additional terms = relating to this e-mail. http://www.ml.com/email_terms/ -------------------------------------------------------- |
|
From: Oren M. <or...@qu...> - 2006-01-18 01:49:31
|
It uses the time zone set in the operating system. Are you sure you have this set correctly? --oren Steinberg, Jonathan wrote: > I am confused about the times I am seeing in QuickFIX (Running > *quickfix_net.dll* on Windows XP SP2) > > I am in the US Eastern Time zone (GMT -5) > > All the UTC times I am seeing appear to be for GMT -7. > > Is there a setting for the time zone? > > > > > > Jonathan Steinberg > > Client Application Development > > Banc of America Securities, Prime Brokerage Services > > > > > |
|
From: Steinberg, J. <Jon...@bo...> - 2006-01-18 00:00:21
|
I am confused about the times I am seeing in QuickFIX (Running quickfix_net.dll on Windows XP SP2) I am in the US Eastern Time zone (GMT -5) All the UTC times I am seeing appear to be for GMT -7. Is there a setting for the time zone? Jonathan Steinberg Client Application Development Banc of America Securities, Prime Brokerage Services |
|
From: Jain, A. <Ani...@rb...> - 2006-01-17 19:31:29
|
Hi, =20 It's been a good experience for us using QuickFIX. Thank you very much. Recently, I attempted using In-Session logon to reset sequence numbers at s= tart of day. I am the initiator. The logon is successfully responded by the acceptor ECN, but QuickFIX immed= iately reacts with a logout message "MsgSeqNum too low, expecting 2 but re= ceived 1". Am I missing something? =20 Cheers. =20 Anil =20 P=2ES. Code snippet: ... // In-Session Logon to Reset Sequence Number FIX::Message logon =3D message; logon.getHeader().setField( FIX::MsgType( FIX::MsgType_LOGON ) ); logon.setField( FIX::EncryptMethod( 0 ) ); logon.setField( FIX::HeartBtInt( 30 ) ); FIX::ResetSeqNumFlag resetSeqNumFlag=3D"Y"; logon.setField (resetSeqNumFlag); logon.getHeader().setField(FIX::MsgSeqNum(1)); get_session() -> setNextTargetMsgSeqNum(0); get_session() -> setNextSenderMsgSeqNum(1); get_session() -> send(logon); _______________________________________________________________________ This E-Mail (including any attachments) may contain privileged or confident= ial information. It is intended only for the addressee(s) indicated above. The sender does not waive any of its rights, privileges or other protection= s respecting this information. =20 Any distribution, copying or other use of this E-Mail or the information it= contains, by other than an intended recipient, is not sanctioned and is pr= ohibited. If you received this E-Mail in error, please delete it and advise the sende= r (by return E-Mail or otherwise) immediately. This E-Mail (including any attachments) has been scanned for viruses.=20 It is believed to be free of any virus or other defect that might affect an= y computer system into which it is received and opened.=20 However, it is the responsibility of the recipient to ensure that it is vir= us free.=20 The sender accepts no responsibility for any loss or damage arising in any = way from its use. E-Mail received by or sent from RBC Capital Markets is subject to review by= Supervisory personnel.=20 Such communications are retained and may be produced to regulatory authorit= ies or others with legal rights to the information. |
|
From: Oren M. <or...@qu...> - 2006-01-17 14:59:38
|
Please post your configuration files. --oren Ambreen Shahzadi wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Sir, > > I have a problem regarding, creating multiple sessions. As i m > creating 2 acceptor sessions , writing this code : > > FIX::SessionSettings settings("test1.txt"); > Application myApplication; > FIX::FileStoreFactory storeFactory(settings); > FIX::ScreenLogFactory logFactory( true, true, true ); > FIX::SocketAcceptor > Acceptor1(myApplication,storeFactory,settings,logFactory); > > /*-----creating another acceptor session----*/ > > FIX::SessionSettings settings2("test2.txt"); > FIX::FileStoreFactory storeFactory2(settings2); > FIX::ScreenLogFactory logFactory2( true, true, true ); > FIX::SocketAcceptor > Acceptor2(myApplication,storeFactory2,settings2,logFactory2); > > > Acceptor1.start(); > Acceptor2.start(); > > The problem is when i execute this code and logon from client side for > the first acceptor's client , then it will display > Logon - FIX.4.2:MEM0040900->SVR > and for another client > Logoff - FIX.4.2:MEM0070000->SVR2 > > but when i call > Acceptor2.start(); > Acceptor1.start(); > then it allow logon in reverse order like > Logon - FIX.4.2:MEM0070000->SVR2 > Logoff - FIX.4.2:MEM0040900->SVR > > > Inshort, it allows that client (innitiator) to be login if which > acceptor session created first and logoff that client (initiator) of > which acceptor session was created later. > > Needing Ur Help............. > > waiting for ur reply. > > with Regards. > > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today it's > FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > |
|
From: Ambreen S. <sha...@ho...> - 2006-01-17 12:36:24
|
Sir,
I have a problem regarding, creating multiple sessions. As i m creating 2
acceptor sessions , writing this code :
FIX::SessionSettings settings("test1.txt");
Application myApplication;
FIX::FileStoreFactory storeFactory(settings);
FIX::ScreenLogFactory logFactory( true, true, true );
FIX::SocketAcceptor
Acceptor1(myApplication,storeFactory,settings,logFactory);
/*-----creating another acceptor session----*/
FIX::SessionSettings settings2("test2.txt");
FIX::FileStoreFactory storeFactory2(settings2);
FIX::ScreenLogFactory logFactory2( true, true, true );
FIX::SocketAcceptor
Acceptor2(myApplication,storeFactory2,settings2,logFactory2);
Acceptor1.start();
Acceptor2.start();
The problem is when i execute this code and logon from client side for the
first acceptor's client , then it will display
Logon - FIX.4.2:MEM0040900->SVR
and for another client
Logoff - FIX.4.2:MEM0070000->SVR2
but when i call
Acceptor2.start();
Acceptor1.start();
then it allow logon in reverse order like
Logon - FIX.4.2:MEM0070000->SVR2
Logoff - FIX.4.2:MEM0040900->SVR
Inshort, it allows that client (innitiator) to be login if which acceptor
session created first and logoff that client (initiator) of which acceptor
session was created later.
Needing Ur Help.............
waiting for ur reply.
with Regards.
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
|
|
From: Ambreen S. <sha...@ho...> - 2006-01-17 12:36:05
|
Sir,
I have a problem regarding, creating multiple sessions. As i m creating 2
acceptor sessions , writing this code :
FIX::SessionSettings settings("test1.txt");
Application myApplication;
FIX::FileStoreFactory storeFactory(settings);
FIX::ScreenLogFactory logFactory( true, true, true );
FIX::SocketAcceptor
Acceptor1(myApplication,storeFactory,settings,logFactory);
/*-----creating another acceptor session----*/
FIX::SessionSettings settings2("test2.txt");
FIX::FileStoreFactory storeFactory2(settings2);
FIX::ScreenLogFactory logFactory2( true, true, true );
FIX::SocketAcceptor
Acceptor2(myApplication,storeFactory2,settings2,logFactory2);
Acceptor1.start();
Acceptor2.start();
The problem is when i execute this code and logon from client side for the
first acceptor's client , then it will display
Logon - FIX.4.2:MEM0040900->SVR
and for another client
Logoff - FIX.4.2:MEM0070000->SVR2
but when i call
Acceptor2.start();
Acceptor1.start();
then it allow logon in reverse order like
Logon - FIX.4.2:MEM0070000->SVR2
Logoff - FIX.4.2:MEM0040900->SVR
Inshort, it allows that client (innitiator) to be login if which acceptor
session created first and logoff that client (initiator) of which acceptor
session was created later.
Needing Ur Help.............
waiting for ur reply.
with Regards.
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
|
|
From: Andrei G. <an...@gm...> - 2006-01-16 17:40:44
|
On 1/16/06, Oren Miller <or...@qu...> wrote: > The wrapper is not generated, it is written by hand, which is why not > everything is perfect. The wrapper was put together before SWIG > really had significant support for .NET. We may look at moving to > SWIG for the java and .NET wrappers at some point in the future. We > do use SWIG for the python API. > > --oren OK Oren, thanks for clarifying the issue. Please do not take my observation as harsh criticism: QF is really great. I saw in the tree somewhere a reference to appwizard, and I wondered if the inconsistencies could be the result from errors in code generation. |
|
From: Fabien G. <fab...@pr...> - 2006-01-16 17:18:02
|
Hi there, I posted the following question several days ago. Is anyone can help me ? Thanks Fabien -----Message d'origine----- De : qui...@li... [mailto:qui...@li...]De la part de Fabien Galampoix Envoy=E9 : jeudi 5 janvier 2006 12:11 =C0 : Quickfix-Developers Objet : [Quickfix-developers] terminate the session thread QuickFIX Documentation: = http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hello all, I work with version 1.10.2 of QF under Java (with JNI). I can see that each time i connect my acceptor, a new thread is created = (of course). The problem is that i cant terminate this thread properly and this is = very annoying for our project. I tried all of these methods : - Acceptor.stop(true/false) - Acceptor.getSessions().clear() (?) - Session.logout() - Session.reset() - set Acceptor/Session objects to null and force garbage collector Anyway, i still cant terminate this thread. How can i solve this ? At least, is it possible ? Thanks for your help, Fabien ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log = files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37&alloc_id=16865&op=3Dick _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Oren M. <or...@qu...> - 2006-01-16 16:45:21
|
The wrapper is not generated, it is written by hand, which is why not =20= everything is perfect. The wrapper was put together before SWIG =20 really had significant support for .NET. We may look at moving to =20 SWIG for the java and .NET wrappers at some point in the future. We =20 do use SWIG for the python API. --oren On Jan 16, 2006, at 10:03 AM, Andrei Goldchleger wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/=20 > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi there, > > Can anyone explain why there isn't a direct correspondence between > some C++ classes and their .NET wrappers? For example, consider the > FieldMap, Group, and Message classes (CVS head). In the native code, > both Group and Message inherit from FieldMap. However, in their .NET > versions only Message inherits from FieldMap. Another one: a lot of > methods available in the C++ version of FieldMap seem to be missing > from its .NET counterpart. > > So is this intentional or it is a flaw in the wrapper generation? > > Regards, > > Andrei > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through =20 > log files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD =20 > SPLUNK! > http://ads.osdn.com/?ad_idv37&alloc_id=16865&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: Andrei G. <an...@gm...> - 2006-01-16 16:03:36
|
Hi there, Can anyone explain why there isn't a direct correspondence between some C++ classes and their .NET wrappers? For example, consider the FieldMap, Group, and Message classes (CVS head). In the native code, both Group and Message inherit from FieldMap. However, in their .NET versions only Message inherits from FieldMap. Another one: a lot of methods available in the C++ version of FieldMap seem to be missing from its .NET counterpart. So is this intentional or it is a flaw in the wrapper generation? Regards, Andrei |
|
From: Steve B. <sb...@sm...> - 2006-01-16 13:47:39
|
The QFJ Beta 2 is available. This release is primarily a bug fix release. There is also an addition message store that uses the SleepyCat JE database engine. Download: http://tinyurl.com/dfoac With the exception of some intermittent issues at the networking layer, the engine is very stable. I haven't seen the networking issues myself, but before the version 1.0.0 release I intend to switch to MINA as the networking layer. At the same time, I'll be doing some significant refactoring of the initiator/acceptor code (it will remain API-compatible with C++ JNI however). Thanks to everyone who has submitted patches and bug reports. I encourage you to use the QF bug tracker for bug reports and for feature requests. This is the best way to increase the chances that your fix or feature will be in the next version. I use the bug tracker extensively, especially when preparing for a release. For the people having the intermittent networking issues, it would help if you could provide as much information as possible about your setup. For example, which initiator and acceptor implementation are you using (thread per session or not)? Example code that reproduces the problem would be ideal, but I realize this might be difficult if the problem can't be reproduced reliably. We are also not going to continue developing on the existing 1.0.0 branch but will work on the CVS HEAD instead. This will make it easier for people to generate and incorporate patches (most were generated from on the HEAD anyway). I don't expect the HEAD to change significantly before the=20 1.0.0 release. 1.0.0 Beta 2 Change Log ----- =20 New Features: * Added SleepyCat JE message store. =20 Bug Fixes: * Bug #104 Fixed serialization problem when using DD * Bug #106 Fixed onPoll ClassCastException * Bug #106 Fixed initiator management of session list * Bug #115 Fixed bug in logs and default session qualifier. * Bug #120 Fixed connect after reconnect problems=20 (initiator race condition) * Bug #127 Fixed bugs in fragmented message parsing * Bug #131 Fixed timer race condition during initiator shutdown * Bug #132 Fixed message clone of groups * Bug #133 Added timer to acceptor for automatically ending heartbeats * Bug #139 The Logout message in response to a bad Logon is mishandled * Bug #140 FileLog does not append * Bug #141 Resend logic is incorrect * Bug #142 Fixed support for custom message factories =20 Steve Bate Smart Trade Technologies Phone: +33 4 42 90 03 97 http://www.smart-trade.net/ |
|
From: Scott H. <sco...@fo...> - 2006-01-15 23:34:50
|
According to http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf: "JDK5.0 is compiled on Windows using Microsoft Visual C++ 6.0 Service Pack 3. This is an old but stable release of the compiler. If you experience a crash with a J2SE-based application and if you have native/JNI libraries that are compiled with a newer release of the compiler (VC.++ NET 2002 or VC++ .NET 2003 for example) then you need to be aware of compatibility issues between the 6.0 and newer runtimes." Granted, the QuickFIX/J code may reduce the number of people needing the JNI version, but as long as you're supporting QuickFIX JNI you might even want to consider VC6 the "preferred" compiler for it, or at least direct developers to Sun's troubleshooting document linked above. On Fri, 13 Jan 2006, Oren Miller wrote: > Support will remain for as long as a significant number of companies are > using it, and it seems there is. > > --oren |
|
From: Oren M. <or...@qu...> - 2006-01-13 10:28:59
|
Support will remain for as long as a significant number of companies are using it, and it seems there is. --oren eng choong (sent by Nabble.com) wrote: > hi oren, > > yes, we are still using vc6 at this moment, and not sure when we will > move up to vc7 or 2005 yet. how long do you plan to continue > supporting vc6? > > thanks, > > eng > > Oren Miller wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > I'd like to stop maintaining the project files for Visual Studio 6 > if it's > not being used anymore. Are people still using this development > environment? > > --oren > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through > log files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD > SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > <http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click> > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > View this message in context: Re: Anybody still using Visual Studio 6 > <http://www.nabble.com/Anybody-still-using-Visual-Studio-6-t881579.html#a2355646> > Sent from the QuickFIX - Dev > <http://www.nabble.com/QuickFIX---Dev-f1041.html> forum at Nabble.com. |