quickfix-developers Mailing List for QuickFIX (Page 239)
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
|
From: Patrick F. <pat...@ch...> - 2004-06-29 20:05:37
|
Oren, Is a session section required for each client in the server configuration file? Can clients ever be added dynamically? Is the = correct way to know when a client disconnects unexpectedly to capture the = onLogout event and check the sent logout function? Any suggestions you have for managing multiple clients with one Quick Fix application would be appreciated. =20 Patrick Flannery -----------------------------------------------------------=20 This email message is intended only for the addressee(s)=20 and contains information that may be confidential and/or=20 copyright. If you are not the intended recipient please=20 notify the sender by reply email and immediately delete=20 this email. Use, disclosure or reproduction of this email=20 by anyone other than the intended recipient(s) is strictly=20 prohibited. No representation is made that this email or=20 any attachments are free of viruses. Virus scanning is=20 recommended and is the responsibility of the recipient. Thank you. -----------------------------------------------------------=20 For more information on CTC, LLC please visit our website at:=20 http://www.chicagotrading.com. |
From: Oren M. <or...@qu...> - 2004-06-29 14:16:57
|
I would have guessed as much. This compiler is bad and is not a real gcc compiler. See this note from the gcc team: http://gcc.gnu.org/gcc-2.96.html. They do not recognize or support this compiler, and from first hand experience it has some serious bugs, particularly regarding C++. It is known that QuickFIX will not work with this compiler (along with a host of other projects). Even the C++ interface will not act nicely with this configuration. I would guess if you run the unit tests on this build, you will see several of them failing. I would recommend you upgrade to RH 9.0, or at least install a supported version of gcc (falling back to 2.95.x, or adopting 3.x.x). --oren On Jun 29, 2004, at 7:59 AM, Timothy Yates wrote: > I am running Red Hat Linux Advanced Server 2.1AS/i686. > > uname -a prints the following: > > Linux ptstrdmk01 2.4.9-e.24smp #1 SMP Tue May 27 16:07:39 EDT 2003 i686 > unknown > > g++ -v prints: > > gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-118.7.2) > > Gcc was installed as part of the Linux install. > > Do you know if anyone else has experience problems of this nature with > the > QuickFIX java version on Linux? > > > Tim. > > > -----Original Message----- > From: Oren Miller [mailto:or...@qu...] > Sent: Monday, June 28, 2004 8:38 PM > To: Timothy Yates > Subject: Re: [Quickfix-developers] out of memory error > > > What version of RedHat and gcc are you using? > > On Jun 28, 2004, at 12:59 PM, Timothy Yates wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html >> >> I have tried adjusting Java memory parameters, but I don't think this >> is the >> problem. >> >> I have written a very simple pair of Java quickfix applications: a >> client >> that sends orders and a server that sends executions. Each >> application >> starts sending messages asynchronously at about 20 per second as soon >> as the >> session logon has completed. >> >> I run the client on a separate Windows XP box and the server on a dual >> processor box running Redhat Linux Advanced Server. The Linux host >> has 4GB >> of memory of which the majority is free. The server app generally >> stops >> with 'out of memory' after a short time (typically less than a >> minute). If >> I run both client and server on the Linux host, 'out of memory' seems >> slightly less likely to occur (but still does). It always seems to be >> the >> server that has the memory problem. >> >> If I run ps -o vsz repeatedly while the server is running, there is no >> evidence of any significant increase in virtual memory size of the >> server; >> the memory usage is mainly dependent on how much is initially >> allocated to >> the JVM heap. >> >> I have another pair of applications that operate in a similar manner, >> except >> that they interchange market data subscription and refresh messages. >> The >> main difference here is that repeating groups are being used. In this >> case >> the server end crashes very often in random places, sometimes after as >> few >> as 5 or 6 messages, usually with a segmentation violation but >> occasionally >> with 'out of memory'. The segmentation violations occur in many >> different >> places. >> >> When I run the server on Windows XP it works fine. >> >> Is it possible that I am building quickfix incorrectly on Linux? My >> problems seem to be too severe to be normal. >> >> Tim. >> >> >> -----Original Message----- >> From: Oren Miller [mailto:or...@qu...] >> Sent: Tuesday, June 22, 2004 10:01 AM >> To: Timothy Yates >> Cc: 'qui...@li...' >> Subject: Re: [Quickfix-developers] out of memory error >> >> >> It is probably coming from the operating system/JVM. I'm guessing >> during high periods of traffic, too much memory is being allocated >> that >> doesn't have an opportunity to get garbage collected. Try increasing >> the memory available to the JVM with the -Xmx parameter, (e.g. >> -Xmx512m). By default heap size for the JVM is generally only 64MB in >> client mode, and 128MB in server mode. >> >> --oren >> >> On Jun 22, 2004, at 9:43 AM, Timothy Yates wrote: >> >>> QuickFIX Documentation: >>> http://www.quickfixengine.org/quickfix/doc/html/index.html >>> QuickFIX FAQ: >>> http://www.quickfixengine.org/quickfix/doc/html/FAQ.html >>> >>> I am running a quickfix 1.7.0 on Redhat Linux using the sun 1.4.2_04 >>> JVM. >>> >>> My application frequently exits unexpectedly after printing the >>> string >>> 'out >>> of memory'. This typically happens during periods of high message >>> traffic. >>> >>> Does anyone know where this message comes from? The string 'out of >>> memory' >>> seems to be present in both quickfix shared object libraries, but I >>> can't >>> see it in the source code. >>> >>> The strange thing is that the application does not seem to be using >>> very >>> much memory. >>> >>> Tim Yates >>> Lead Developer >>> Patsystems (US) LLC >>> 141 West Jackson Boulevard >>> Chicago 60604, USA >>> Tel +1 (312) 542-1336 >>> www.patsystems.com >>> >>> >>> >>> >>> >>> ------------------------------------------------------- >>> This SF.Net email sponsored by Black Hat Briefings & Training. >>> Attend Black Hat Briefings & Training, Las Vegas July 24-29 - >>> digital self defense, top technical experts, no vendor pitches, >>> unmatched networking opportunities. Visit www.blackhat.com >>> _______________________________________________ >>> Quickfix-developers mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >>> >> >> >> ------------------------------------------------------- >> This SF.Net email sponsored by Black Hat Briefings & Training. >> Attend Black Hat Briefings & Training, Las Vegas July 24-29 - >> digital self defense, top technical experts, no vendor pitches, >> unmatched networking opportunities. Visit www.blackhat.com >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > |
From: Timothy Y. <Tim...@pa...> - 2004-06-28 18:02:01
|
I have tried adjusting Java memory parameters, but I don't think this is the problem. I have written a very simple pair of Java quickfix applications: a client that sends orders and a server that sends executions. Each application starts sending messages asynchronously at about 20 per second as soon as the session logon has completed. I run the client on a separate Windows XP box and the server on a dual processor box running Redhat Linux Advanced Server. The Linux host has 4GB of memory of which the majority is free. The server app generally stops with 'out of memory' after a short time (typically less than a minute). If I run both client and server on the Linux host, 'out of memory' seems slightly less likely to occur (but still does). It always seems to be the server that has the memory problem. If I run ps -o vsz repeatedly while the server is running, there is no evidence of any significant increase in virtual memory size of the server; the memory usage is mainly dependent on how much is initially allocated to the JVM heap. I have another pair of applications that operate in a similar manner, except that they interchange market data subscription and refresh messages. The main difference here is that repeating groups are being used. In this case the server end crashes very often in random places, sometimes after as few as 5 or 6 messages, usually with a segmentation violation but occasionally with 'out of memory'. The segmentation violations occur in many different places. When I run the server on Windows XP it works fine. Is it possible that I am building quickfix incorrectly on Linux? My problems seem to be too severe to be normal. Tim. -----Original Message----- From: Oren Miller [mailto:or...@qu...] Sent: Tuesday, June 22, 2004 10:01 AM To: Timothy Yates Cc: 'qui...@li...' Subject: Re: [Quickfix-developers] out of memory error It is probably coming from the operating system/JVM. I'm guessing during high periods of traffic, too much memory is being allocated that doesn't have an opportunity to get garbage collected. Try increasing the memory available to the JVM with the -Xmx parameter, (e.g. -Xmx512m). By default heap size for the JVM is generally only 64MB in client mode, and 128MB in server mode. --oren On Jun 22, 2004, at 9:43 AM, Timothy Yates wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > I am running a quickfix 1.7.0 on Redhat Linux using the sun 1.4.2_04 > JVM. > > My application frequently exits unexpectedly after printing the string > 'out > of memory'. This typically happens during periods of high message > traffic. > > Does anyone know where this message comes from? The string 'out of > memory' > seems to be present in both quickfix shared object libraries, but I > can't > see it in the source code. > > The strange thing is that the application does not seem to be using > very > much memory. > > Tim Yates > Lead Developer > Patsystems (US) LLC > 141 West Jackson Boulevard > Chicago 60604, USA > Tel +1 (312) 542-1336 > www.patsystems.com > > > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - > digital self defense, top technical experts, no vendor pitches, > unmatched networking opportunities. Visit www.blackhat.com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Vladimir A. <Vla...@FF...> - 2004-06-28 17:03:46
|
Hello, I=20have=20found=20that=20the=20.NET=20version=20of=20FileLogFactory=20cla= ss=20is=20missing=20a constructor=20taking=20SessionSettings=20parameter.=20Only=20the=20String=20= version=20is provided.=20The=20C++=20version=20has=20both. Furthermore,=20the=20existing=20constructor=20leaves=20m_settings=20pointe= r uninitialized,=20which=20is=20a=20bad=20thing=20even=20if=20this=20member=20= is=20unused=20(the same=20problem=20exists=20in=20the=20FileMessageStore=20constructor=20too)= . Here=20are=20the=20diffs: ---=20FileLog.h=092004-04-29=2015:08:20.000000000=20+0200 +++=20FileLog.h.new=092004-06-28=2018:35:14.143721500=20+0200 @@=20-86,7=20+86,9=20@@ =20public=20__gc=20class=20FileLogFactory=20:=20public=20LogFactory =20{ =20public: -=20=20FileLogFactory(=20String*=20path=20)=20:=20m_path(=20path=20)=20{} +=20=20FileLogFactory(=20SessionSettings*=20settings=20)=20:=20m_path(=200= =20), m_settings(=20settings=20)=20{} + +=20=20FileLogFactory(=20String*=20path=20)=20:=20m_path(=20path=20),=20m_= settings(=200=20)=20{} =20 =20=20=20Log*=20create(=20SessionID*=20sessionID=20) =20=20=20{=20QF_STACK_TRY ---=20FileMessageStore.h=092004-04-29=2015:08:20.000000000=20+0200 +++=20FileMessageStore.h.new=092004-06-28=2018:55:00.700916200=20+0200 @@=20-54,7=20+54,7=20@@ =20=20=20FileStoreFactory(=20SessionSettings*=20settings=20) =20=20=20:=20m_path(=200=20),=20m_settings(=20settings=20)=20{} =20 -=20=20FileStoreFactory(=20String*=20path=20)=20:=20m_path(=20path=20)=20{= } +=20=20FileStoreFactory(=20String*=20path=20)=20:=20m_path(=20path=20),=20= m_settings(=200=20)=20{} =20 =20=20=20MessageStore*=20create(=20SessionID*=20sessionID=20) =20=20=20{=20QF_STACK_TRY Please=20put=20these=20patches=20to=20the=20official=20source=20tree. Thanks, =20=20Vlad ------------------------------------------------------------- Ing.=20Vladimir=20Arnost,=20Developer,=20FFastFill=20Europe=20Ltd. Vaclavske=20namesti=2055,=20Prague,=20Czech=20Republic ________________________________________________________________________ This=20email=20and=20any=20files=20transmitted=20with=20it=20are=20confide= ntial=20and intended=20solely=20for=20the=20use=20of=20the=20individual=20or=20entity=20= to=20whom=20they are=20addressed.=20If=20you=20have=20received=20this=20email=20in=20error=20= please=20notify sec...@ff... This=20email=20has=20been=20scanned=20for=20all=20viruses=20by=20the=20FFa= stFill=20Email Security=20System. ________________________________________________________________________ |
From: Ramprakash U. <ram...@ca...> - 2004-06-25 13:25:05
|
Hi Oren, =20 Long time back you suggested me before sending FIX Message to send ot = some TestRequest Message and begin sending messages when you get a response =20 I'm having a trouble in trapping the Response of the TestRequest = Message. =20 Right now In VB.NET code, I Send Test Request like this, =20 Public Sub GenerateTestRequest() Try Dim QFTest As New QuickFix42.TestRequest(New QuickFix.TestReqID("TEST MESSAGE")) =20 Session.sendToTarget(QFTest, "umapar1a", "s09183") Catch ex As System.Exception Throw (ex) End Try End Sub I got trap the response of the TestMessage in FromAdmin. I have = diffculting in trapping this response and then starting sending messages. Could = anyone of you help with a sample code in VB.NET? Is it a good practise to send = a testmessage before start sending messages or just check IsLoggedOn = property of the Session object returns True is enough? The code sample (or skeleton) should be like this, Just Send a Test Message and after the TestRequest Response is received start sending the messages. TIA, Ramprakash -----Original Message----- From: Oren Miller [mailto:or...@qu...]=20 Sent: venerd=EC 4 giugno 2004 20:02 To: Ramprakash Umapathy Cc: qui...@li... Subject: Re: [Quickfix-developers] Problem with VB.NET Ramprakash, The onLogoff and onLogon callbacks give you a sessionID. What I usually = do is keep a hash and add the sessionID in the onLogon call, and remove it = in the onLogoff call. Alternatively you can call the static lookupSession method on the = session class, and call isLoggedOn on the resulting Session object. This way you = can rely on QF to keep track of who is logged on for you. There isn't really anything special you need to do to handle an = application breakdown. QuickFIX will send you any messages that you hadn't processed = in the time you went down to when you come back up. This should be = transparent to you. One thing I would recommend for high speed lines, is to send out = a TestRequest message, and only begin sending new messages when you get a response. In addition to taking a filename, the sessionsettings class can take any stream in its constructor. So you can create a MemoryStream and pass it = in. Just make sure the contents of the stream are in the same format as a configuration file. --oren On Jun 4, 2004, at 3:12 AM, Ramprakash Umapathy wrote: Hi Oren, =20 The FIX works fine and thanks. =20 I looking for the code snippets to do the following, =20 1. How to check for a particular session user is already logged on or = the connection is alive? ( I see a method isLoggedOn in Acceptor and = Initiator classes but not sure how to use in my VB code) =20 2. How to handle a situation in case of application breakdown (with some code sample?!) ? =20 3. How can I pass the parameters for SessionSettings from own customized application (not by using configuration files (*.cfg or whatsoever)? =20 TIA, Ramprakash =20 =20 P.S : The sender is a newbie (to both QuickFix and :NET Technologies) = and prefers to have code samples in VB.NET / C# =20 =20 -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of or...@qu... Sent: luned=EC 31 maggio 2004 19:53 To: Ramprakash Umapathy Cc: qui...@li...; sa...@uc... Subject: RE: [Quickfix-developers] Problem with VB.NET Ok, I've fixed this and was able to run your sample application with no problem. It appears that VB.NET got confused about const pointers that = were declared in MC++. I've attached a new quickfix/src/.NET/Application.h = file. If you replace the one you have with this one you should be all set. = I'll check this into CVS and it will be in the next release as well. Sam, I CC'd you on this because while researching this I noticed you = posted the same problem earlier to the mailing list. Don't know if it is still = of interest to you but here is the fix. =20 --oren -------- Original Message -------- Subject: [Quickfix-developers] Problem with VB.NET From: "Ramprakash Umapathy" <ram...@ca...> Date: Mon, May 24, 2004 5:43 am To: qui...@li... Hi All, I'm a newbie trying to use QuickFix in VB.NET I ran into problems with my code here. Could anyone of help me to solve. = I have seen a similar post with no answers. I use like this in my VB.NET = code, Imports QuickFix Public Class QFapp Inherits QuickFix.MessageCracker Implements QuickFix.Application Public Sub toApp(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.toApp End Sub Public Sub fromAdmin(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.fromAdmin End Sub Public Sub onCreate(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onCreate End Sub Public Sub onLogon(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onLogon End Sub Public Sub onLogout(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onLogout End Sub Public Sub toAdmin(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.toAdmin End Sub Public Sub fromApp(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.fromApp End Sub End Class And then I call like this, Imports QuickFix Module Module1 Sub Main() Try 'Get Setting from ini file Dim ss As New SessionSettings("c:\client.ini") Dim sInit As SocketInitiator Dim sapp As New QFapp Dim storeFactory As New FileStoreFactory(ss) Dim logFactory As New FileLogFactory("c:\test.log") Dim msgFactory As New DefaultMessageFactory 'Initiator Section sInit =3D New SocketInitiator(sapp, storeFactory, ss, = msgFactory) 'sInit =3D New SocketAcceptor(sapp, storeFactory, ss, = logFactory, msgFactory) sInit.start() sInit.stop() Catch ex As System.Exception Trace.WriteLine(ex.Message) Trace.WriteLine(ex.StackTrace) End Try End Sub End Module The System throws an Error (doesn't even caught in Catch Block) with the following message, An unhandled exception of type 'System.TypeLoadException' occurred in Unknown Module. Additional information: Signature of the body and declaration in a = method implementation do not match. Type: TestFixEngine.QFapp. Assembly: TestFixEngine, Version=3D1.0.1605.20104, Culture=3Dneutral, = PublicKeyToken=3Dnull. TIA, Holy P.S: I could be helpful in anyone of you point out the QuickFix VB.NET Resources ------------------------------------------------------- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dclick _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Oren M. <or...@qu...> - 2004-06-23 11:34:55
|
Yeah, although I'd like to have it just fail the test and print the=20 exception. This is currently a shortcoming of the unit tester. It=20 only reports exceptions that happen in the test itself, and just dies=20 if an exception is thrown in the test setup. --oren On Jun 23, 2004, at 3:02 AM, Joerg Thoennes wrote: > Hi Clark, > >> Do you even have access to open port 234? Usually only root has=20 >> access to open reserved ports below 1024. >>> [...] if I do "runut 234" I get "segmentation fault line 6" > > As Oren said, this port is reserved, and since the test programs do no=20= > error checking, a segmentation fault happens where you would expect an=20= > error message (Access denied etc.) > > BTW, the same could happen if you use the same port again without=20 > waiting a bit. If OS did not reclaim the port quick enough, an=20 > "Address already in use" could occur + no error checking -->=20 > Segmentation fault. > > As a habit I use the following lines: > > ./runut 12345 > ./runat 12346 > > to avoid such problems. > > Cheers, J=F6rg > > --=20 > Joerg Thoennes > http://macd.com > Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH > Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen > |
From: Joerg T. <Joe...@ma...> - 2004-06-23 08:02:22
|
Hi Clark, > Do you even have access to open port 234? Usually only root has access > to open reserved ports below 1024. > >> [...] >> if I do "runut 234" I get "segmentation fault line 6" As Oren said, this port is reserved, and since the test programs do no error checking, a segmentation fault happens where you would expect an error message (Access denied etc.) BTW, the same could happen if you use the same port again without waiting a bit. If OS did not reclaim the port quick enough, an "Address already in use" could occur + no error checking --> Segmentation fault. As a habit I use the following lines: ./runut 12345 ./runat 12346 to avoid such problems. Cheers, Jörg -- Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |
From: James C. D. <jc...@co...> - 2004-06-22 23:51:17
|
Ok, I'll take a look at it and update the test.=20 Jim =20 James C. Downs Connamara Systems, LLC 53 W. Jackson Blvd Suite 1627 Chicago, IL 60604 312 - 282 - 7746 www.connamara.com -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of = Oren Miller Sent: Tuesday, June 22, 2004 6:19 PM To: Jos=E9 Carlos Benfati Cc: qui...@li... Subject: Re: [Quickfix-developers] Re: reconnecting after diconnect QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html Yeah, and actually this is really what we should be doing regardless. =20 The latest version of the spec recommends this very thing. I think this = is a change from the earlier recommendation of just disconnecting. =20 They suggest the format of the message be "MsgSeqNum too low, = expecting X but received Y". We can optionally wait for a logout response (or 2 seconds), or simply disconnect immediately after sending ours. If you generate a logout and also throw the exception, this will have = the effect of dropping the connection immediately after sending the logout. = If you do not throw the exception, the connection will drop when they = respond with their logout. We'll update the automated test for this and check in a fix for this for = the next release. Until then what you are doing should be fine. Jim, if you are monitoring this, the relevant test is 2c (http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/test/ definitions/server/fix42/2c_MsgSeqNumTooLow.def?view=3Dmarkup) --oren On Jun 22, 2004, at 4:47 PM, Jos=E9 Carlos Benfati wrote: > QuickFIX Documentation: =20 > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > Oren Miller wrote: > > Ok, looking at it I think the "Field not found" is an erroneous =20 > message. I bet what it really is, is the sequence number is lower=20 > than expected and there is no PossDupFlag (which is where the=20 > FieldNotFound is coming from). Try changing the doTargetToLow method = > to look like > this: > > bool Session::doTargetTooLow( const Message& msg ) {=20 > QF_STACK_PUSH(Session::doTargetTooLow) > > const Header & header =3D msg.getHeader(); > MsgType msgType; > PossDupFlag possDupFlag(false); > MsgSeqNum msgSeqNum; > header.getField( msgType ); > if( header.isSetField( possDupFlag ) ) > header.getField( possDupFlag ); > header.getField( msgSeqNum ); > > -------- > > I seem to have the same problem Clark Sims had some 18 days ago. BUT,=20 > my targetCompID wants me to send a logout message instead of just=20 > dropping the tcp connection. > > would it be OK to insert a call to > generateLogout( "Sequence number lower than expected" ); > > instead of the throw I now have at doTargeTooLow? > > > > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital=20 > self defense, top technical experts, no vendor pitches, unmatched=20 > networking opportunities. Visit www.blackhat.com=20 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital = self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Oren M. <or...@qu...> - 2004-06-22 23:19:12
|
Yeah, and actually this is really what we should be doing regardless. =20= The latest version of the spec recommends this very thing. I think =20 this is a change from the earlier recommendation of just disconnecting. =20= They suggest the format of the message be "MsgSeqNum too low, =20 expecting X but received Y". We can optionally wait for a logout =20 response (or 2 seconds), or simply disconnect immediately after sending =20= ours. If you generate a logout and also throw the exception, this will have =20= the effect of dropping the connection immediately after sending the =20 logout. If you do not throw the exception, the connection will drop =20 when they respond with their logout. We'll update the automated test for this and check in a fix for this =20 for the next release. Until then what you are doing should be fine. Jim, if you are monitoring this, the relevant test is 2c =20 (http://cvs.sourceforge.net/viewcvs.py/quickfix/quickfix/test/=20 definitions/server/fix42/2c_MsgSeqNumTooLow.def?view=3Dmarkup) --oren On Jun 22, 2004, at 4:47 PM, Jos=E9 Carlos Benfati wrote: > QuickFIX Documentation: =20 > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > Oren Miller wrote: > > Ok, looking at it I think the "Field not found" is an erroneous > message. I bet what it really is, is the sequence number is lower =20= > than > expected and there is no PossDupFlag (which is where the = FieldNotFound > is coming from). Try changing the doTargetToLow method to look like > this: > > bool Session::doTargetTooLow( const Message& msg ) > { QF_STACK_PUSH(Session::doTargetTooLow) > > const Header & header =3D msg.getHeader(); > MsgType msgType; > PossDupFlag possDupFlag(false); > MsgSeqNum msgSeqNum; > header.getField( msgType ); > if( header.isSetField( possDupFlag ) ) > header.getField( possDupFlag ); > header.getField( msgSeqNum ); > > -------- > > I seem to have the same problem Clark Sims had some 18 days ago. BUT, =20= > my > targetCompID wants me to send a logout message instead of just = dropping > the tcp connection. > > would it be OK to insert a call to > generateLogout( "Sequence number lower than expected" ); > > instead of the throw I now have at doTargeTooLow? > > > > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - > digital self defense, top technical experts, no vendor pitches, > unmatched networking opportunities. Visit www.blackhat.com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Oren M. <or...@qu...> - 2004-06-22 22:53:33
|
See the setNextSenderMsgSeqNum, and setNextTargetMsgSeqNum methods on =20= the Session class. http://www.quickfixengine.org/quickfix/doc/html/=20 class_f_i_x_1_1_session.html#a10 On Jun 22, 2004, at 5:06 PM, Jos=E9 Carlos Benfati wrote: > QuickFIX Documentation: =20 > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > Greetings, > > Does anyone know a way to adjust the inbound and outbound sequence > numbers while connected, from my program? > > If not, would it be hard to implement (I'm willing to do so, specially > if my changes would be back-incorporated into quickfix itself). > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - > digital self defense, top technical experts, no vendor pitches, > unmatched networking opportunities. Visit www.blackhat.com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: C. B. <ben...@et...> - 2004-06-22 22:06:20
|
Greetings, Does anyone know a way to adjust the inbound and outbound sequence numbers while connected, from my program? If not, would it be hard to implement (I'm willing to do so, specially if my changes would be back-incorporated into quickfix itself). |
From: C. B. <ben...@et...> - 2004-06-22 21:47:26
|
Oren Miller wrote: Ok, looking at it I think the "Field not found" is an erroneous message. I bet what it really is, is the sequence number is lower than expected and there is no PossDupFlag (which is where the FieldNotFound is coming from). Try changing the doTargetToLow method to look like this: bool Session::doTargetTooLow( const Message& msg ) { QF_STACK_PUSH(Session::doTargetTooLow) const Header & header = msg.getHeader(); MsgType msgType; PossDupFlag possDupFlag(false); MsgSeqNum msgSeqNum; header.getField( msgType ); if( header.isSetField( possDupFlag ) ) header.getField( possDupFlag ); header.getField( msgSeqNum ); -------- I seem to have the same problem Clark Sims had some 18 days ago. BUT, my targetCompID wants me to send a logout message instead of just dropping the tcp connection. would it be OK to insert a call to generateLogout( "Sequence number lower than expected" ); instead of the throw I now have at doTargeTooLow? |
From: Bernard S. <bsp...@gx...> - 2004-06-22 16:26:47
|
Oren, =09One of our counterparties was attempting to send us a QuoteStatus (field 297) value of 11=3DPASS. This isn't in the latest XML for 4.4. The specs on the fixprotocol site show the following: <x:EnumDoc value=3D"0" desc=3D"Accpt" />=20 <x:EnumDoc value=3D"1" desc=3D"CxlSym" />=20 <x:EnumDoc value=3D"2" desc=3D"CxlSecType" />=20 <x:EnumDoc value=3D"3" desc=3D"CxlUnder" />=20 <x:EnumDoc value=3D"4" desc=3D"CxlAll" />=20 <x:EnumDoc value=3D"5" desc=3D"Rej" />=20 <x:EnumDoc value=3D"6" desc=3D"Removed" />=20 <x:EnumDoc value=3D"7" desc=3D"Expired" />=20 <x:EnumDoc value=3D"8" desc=3D"Query" />=20 <x:EnumDoc value=3D"9" desc=3D"QuoteNotFound" />=20 <x:EnumDoc value=3D"10" desc=3D"Pending" />=20 <x:EnumDoc value=3D"11" desc=3D"Pass" />=20 <x:EnumDoc value=3D"12" desc=3D"LockedMarketWarning" />=20 <x:EnumDoc value=3D"13" desc=3D"CrossMarketWarning" />=20 <x:EnumDoc value=3D"14" desc=3D"CanceledDueToLockMarket" />=20 <x:EnumDoc value=3D"15" desc=3D"CanceledDueToCrossMarket" />=20 We suspect that the last 6 have been omitted. We have added to our XML for now. Thanks.=20 =09- Bernard Confidentiality. This message (including any attachments) (collectively,= the "Material") may contain confidential information and is intended onl= y for a specific individual and purpose. If you are not the intended rec= ipient, any copying, disclosure, distribution or other use of the Materia= l, or the taking of any action in reliance on the information contained t= herein, is strictly prohibited. If you have received the Material in err= or, please immediately notify us by telephone and delete the Material and= all copies thereof from your computer and network. No Investment Advice, Offer or Solicitation; Suitability. The Material h= as been prepared for informational purposes only without regard to any pa= rticular user's investment objectives, financial situation or means and d= oes not constitute an offer, solicitation or recommendation to take any a= ction. We are not providing investment advice, nor do we represent that = any securities or services described in the Material are suitable for a p= articular client. Before acting on the Material, each client should make= its own determination whether information contained therein is suitable = for its particular circumstances, and if necessary consult with a senior = officer. Conflicts. We, or persons involved in the preparation of issuance of the= Material, may from time to time effect transactions, or have positions i= n the securities mentioned in the Material (or options or futures contrac= ts with respect thereto). Disclaimer. Although the Material is based upon information that we cons= ider reliable, we do not warrant that the Material is reliable, accurate = or complete and it should not be relied upon as such. Neither we, nor any= of our affiliates or agents shall have any responsibility whatsoever for= any direct, indirect, consequential, special or other damages or lost pr= ofits or savings or other economic harm your may suffer as a result of yo= ur reliance on the Material or the reliability, accuracy, or completeness= thereof. We expressly disclaim all express and implied warranties, incl= uding, without limitation, warranties of merchantability and fitness for = a particular purpose. --------------------------------------------- -Checked for viruses by McAfee.- o1 --------------------------------------------- |
From: Oren M. <or...@qu...> - 2004-06-22 15:01:05
|
It is probably coming from the operating system/JVM. I'm guessing during high periods of traffic, too much memory is being allocated that doesn't have an opportunity to get garbage collected. Try increasing the memory available to the JVM with the -Xmx parameter, (e.g. -Xmx512m). By default heap size for the JVM is generally only 64MB in client mode, and 128MB in server mode. --oren On Jun 22, 2004, at 9:43 AM, Timothy Yates wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > I am running a quickfix 1.7.0 on Redhat Linux using the sun 1.4.2_04 > JVM. > > My application frequently exits unexpectedly after printing the string > 'out > of memory'. This typically happens during periods of high message > traffic. > > Does anyone know where this message comes from? The string 'out of > memory' > seems to be present in both quickfix shared object libraries, but I > can't > see it in the source code. > > The strange thing is that the application does not seem to be using > very > much memory. > > Tim Yates > Lead Developer > Patsystems (US) LLC > 141 West Jackson Boulevard > Chicago 60604, USA > Tel +1 (312) 542-1336 > www.patsystems.com > > > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - > digital self defense, top technical experts, no vendor pitches, > unmatched networking opportunities. Visit www.blackhat.com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Timothy Y. <Tim...@pa...> - 2004-06-22 14:46:02
|
I am running a quickfix 1.7.0 on Redhat Linux using the sun 1.4.2_04 JVM. My application frequently exits unexpectedly after printing the string 'out of memory'. This typically happens during periods of high message traffic. Does anyone know where this message comes from? The string 'out of memory' seems to be present in both quickfix shared object libraries, but I can't see it in the source code. The strange thing is that the application does not seem to be using very much memory. Tim Yates Lead Developer Patsystems (US) LLC 141 West Jackson Boulevard Chicago 60604, USA Tel +1 (312) 542-1336 www.patsystems.com |
From: Oren M. <or...@qu...> - 2004-06-22 14:19:32
|
Do you even have access to open port 234? Usually only root has access=20= to open reserved ports below 1024. --oren On Jun 22, 2004, at 7:40 AM, Clark Sims wrote: > I just installed and compiled=A0quickfix on yet another linux box. > Pentium 4,=A0 1.8 GH cpu > 500 meg Ram > kernel 2.4.18-bf2 > debian linux, stable, aka Woody > gcc 2.95.4 > mysql 11.16 > =A0 > if I do "runut 234" I get "segmentation fault line 6" > if I do "runut 2345", I get results total=3D"137" failures=3D"0" > =A0 > btw, I changed default user to root in MySQLStore.cpp > > Do you Yahoo!? > Yahoo! Mail - Helps protect you from nasty viruses.= |
From: Clark S. <cla...@ya...> - 2004-06-22 12:40:23
|
I just installed and compiled quickfix on yet another linux box. Pentium 4, 1.8 GH cpu 500 meg Ram kernel 2.4.18-bf2 debian linux, stable, aka Woody gcc 2.95.4 mysql 11.16 if I do "runut 234" I get "segmentation fault line 6" if I do "runut 2345", I get results total="137" failures="0" btw, I changed default user to root in MySQLStore.cpp --------------------------------- Do you Yahoo!? Yahoo! Mail - Helps protect you from nasty viruses. |
From: Joerg T. <Joe...@ma...> - 2004-06-22 11:38:16
|
Oren Miller wrote: > Yeah, but I think it should be, time.tv_nsec = (long) ((modf(s, > &intpart) * 1e9);, as a nanosecond is a billionth of a second. OK, stupid mistake :-( Will you do the checkin? Thanks, Jörg > --oren > > On Jun 22, 2004, at 3:33 AM, Joerg Thoennes wrote: > >> Oren Miller wrote: >> >>> Actually, if we aren't making use of that parameter, we can just use >>> NULL. The only time that the structure is written out if a signal has >>> been delivered to the process, thus interrupting the call and >>> allowing us to continue with the remainder. I don't think this is a >>> situation we need to really concern ourselves with, and it certainly >>> isn't handling this case right now. >> >> >> I would suggest to do it right now. nanosleep() is the POSIX compliant >> way to wait and it is designed to make restarts after a signal easy: >> >> while( -1 == nanosleep( &time_to_sleep, &remainder ) ) { >> time_to_sleep = remainder; >> } >> >>> If the structure is set to NULL, the system call will not try to >>> write to the structure. So perhaps we should just change the method >>> to the following. >>> void process_sleep( double s ) >>> { QF_STACK_PUSH(process_sleep) >>> #ifdef _MSC_VER >>> Sleep( ( long ) s * 1000 ); >>> #else >>> timespec time; >> >> >> timespec time, remainder; >> >>> double intpart; >>> time.tv_nsec = (int)modf(s, &intpart); >>> time.tv_nsec *= 1000000000; >> >> >> Am I stupid? If I cast the fractional part returned from modf() to >> int, wouldn't it get 0? I would expect something like: >> >> time.tv_nsec = (long) ((modf(s, &intpart) * 1e6); >> >>> time.tv_sec = (int)intpart; >> >> >> time.tv_sec = (time_t) intpart; >> >>> nanosleep(&time, NULL); >> >> >> while ( -1 == nanosleep( &time, &remainder ) ) { >> time = remainder; >> } >> >>> #endif >>> QF_STACK_POP >>> } >> >> >> -- >> Joerg Thoennes >> http://macd.com >> Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH >> Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen >> > > -- Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |
From: Oren M. <or...@qu...> - 2004-06-22 11:32:53
|
Yeah, but I think it should be, time.tv_nsec = (long) ((modf(s, &intpart) * 1e9);, as a nanosecond is a billionth of a second. --oren On Jun 22, 2004, at 3:33 AM, Joerg Thoennes wrote: > Oren Miller wrote: >> Actually, if we aren't making use of that parameter, we can just use >> NULL. The only time that the structure is written out if a signal has >> been delivered to the process, thus interrupting the call and >> allowing us to continue with the remainder. I don't think this is a >> situation we need to really concern ourselves with, and it certainly >> isn't handling this case right now. > > I would suggest to do it right now. nanosleep() is the POSIX compliant > way to wait and it is designed to make restarts after a signal easy: > > while( -1 == nanosleep( &time_to_sleep, &remainder ) ) { > time_to_sleep = remainder; > } > >> If the structure is set to NULL, the system call will not try to >> write to the structure. So perhaps we should just change the method >> to the following. >> void process_sleep( double s ) >> { QF_STACK_PUSH(process_sleep) >> #ifdef _MSC_VER >> Sleep( ( long ) s * 1000 ); >> #else >> timespec time; > > timespec time, remainder; > >> double intpart; >> time.tv_nsec = (int)modf(s, &intpart); >> time.tv_nsec *= 1000000000; > > Am I stupid? If I cast the fractional part returned from modf() to > int, wouldn't it get 0? I would expect something like: > > time.tv_nsec = (long) ((modf(s, &intpart) * 1e6); > >> time.tv_sec = (int)intpart; > > time.tv_sec = (time_t) intpart; > >> nanosleep(&time, NULL); > > while ( -1 == nanosleep( &time, &remainder ) ) { > time = remainder; > } > >> #endif >> QF_STACK_POP >> } > > -- > Joerg Thoennes > http://macd.com > Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH > Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen > |
From: Joerg T. <Joe...@ma...> - 2004-06-22 08:33:12
|
Oren Miller wrote: > Actually, if we aren't making use of that parameter, we can just use > NULL. The only time that the structure is written out if a signal has > been delivered to the process, thus interrupting the call and allowing > us to continue with the remainder. I don't think this is a situation we > need to really concern ourselves with, and it certainly isn't handling > this case right now. I would suggest to do it right now. nanosleep() is the POSIX compliant way to wait and it is designed to make restarts after a signal easy: while( -1 == nanosleep( &time_to_sleep, &remainder ) ) { time_to_sleep = remainder; } > If the structure is set to NULL, the system call > will not try to write to the structure. So perhaps we should just change > the method to the following. > > void process_sleep( double s ) > { QF_STACK_PUSH(process_sleep) > > #ifdef _MSC_VER > Sleep( ( long ) s * 1000 ); > #else > timespec time; timespec time, remainder; > double intpart; > time.tv_nsec = (int)modf(s, &intpart); > time.tv_nsec *= 1000000000; Am I stupid? If I cast the fractional part returned from modf() to int, wouldn't it get 0? I would expect something like: time.tv_nsec = (long) ((modf(s, &intpart) * 1e6); > time.tv_sec = (int)intpart; time.tv_sec = (time_t) intpart; > nanosleep(&time, NULL); while ( -1 == nanosleep( &time, &remainder ) ) { time = remainder; } > #endif > > QF_STACK_POP > } -- Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |
From: Oren M. <or...@qu...> - 2004-06-22 01:01:22
|
Actually, if we aren't making use of that parameter, we can just use=20 NULL. The only time that the structure is written out if a signal has=20= been delivered to the process, thus interrupting the call and allowing=20= us to continue with the remainder. I don't think this is a situation=20 we need to really concern ourselves with, and it certainly isn't=20 handling this case right now. If the structure is set to NULL, the=20 system call will not try to write to the structure. So perhaps we=20 should just change the method to the following. void process_sleep( double s ) { QF_STACK_PUSH(process_sleep) #ifdef _MSC_VER Sleep( ( long ) s * 1000 ); #else timespec time; double intpart; time.tv_nsec =3D (int)modf(s, &intpart); time.tv_nsec *=3D 1000000000; time.tv_sec =3D (int)intpart; nanosleep(&time, NULL); #endif QF_STACK_POP } On Jun 21, 2004, at 7:25 PM, Clark Sims wrote: > The pointer timespeck hasn't been initialized. Is this perhaps the=20 > cause of random wierdness? > > =A0 > > void process_sleep( double s ) > { QF_STACK_PUSH(process_sleep) > > #ifdef _MSC_VER > =A0=A0=A0 Sleep( ( long ) s * 1000 ); > #else > /* this causes random wierdness under Solaris > =A0 timespec time; > =A0 double intpart; > =A0 time.tv_nsec =3D (int)modf(s, &intpart); > =A0 time.tv_nsec *=3D 1000000000; > =A0 time.tv_sec =3D (int)intpart; > =A0 timespec* actual; > =A0 nanosleep(&time, actual);*/ > =A0sleep( ( long ) s ); > #endif > > =A0 QF_STACK_POP > } > > =A0 > > I think this would work better: > > > void process_sleep( double s ) > { QF_STACK_PUSH(process_sleep) > > #ifdef _MSC_VER > =A0=A0=A0 Sleep( ( long ) s * 1000 ); > #else > =A0 timespec time, actual; > =A0 double intpart; > =A0 time.tv_nsec =3D (int)modf(s, &intpart); > =A0 time.tv_nsec *=3D 1000000000; > =A0 time.tv_sec =3D (int)intpart; > =A0=A0 nanosleep(&time, &actual); > =A0sleep( ( long ) s ); > #endif > > =A0 QF_STACK_POP > } > > > Do you Yahoo!? > Yahoo! Mail is new and improved - Check it out!= |
From: Oren M. <or...@qu...> - 2004-06-22 00:52:13
|
Yeah, this makes sense. --oren On Jun 21, 2004, at 7:25 PM, Clark Sims wrote: > The pointer timespeck hasn't been initialized. Is this perhaps the=20 > cause of random wierdness? > > =A0 > > void process_sleep( double s ) > { QF_STACK_PUSH(process_sleep) > > #ifdef _MSC_VER > =A0=A0=A0 Sleep( ( long ) s * 1000 ); > #else > /* this causes random wierdness under Solaris > =A0 timespec time; > =A0 double intpart; > =A0 time.tv_nsec =3D (int)modf(s, &intpart); > =A0 time.tv_nsec *=3D 1000000000; > =A0 time.tv_sec =3D (int)intpart; > =A0 timespec* actual; > =A0 nanosleep(&time, actual);*/ > =A0sleep( ( long ) s ); > #endif > > =A0 QF_STACK_POP > } > > =A0 > > I think this would work better: > > > void process_sleep( double s ) > { QF_STACK_PUSH(process_sleep) > > #ifdef _MSC_VER > =A0=A0=A0 Sleep( ( long ) s * 1000 ); > #else > =A0 timespec time, actual; > =A0 double intpart; > =A0 time.tv_nsec =3D (int)modf(s, &intpart); > =A0 time.tv_nsec *=3D 1000000000; > =A0 time.tv_sec =3D (int)intpart; > =A0=A0 nanosleep(&time, &actual); > =A0sleep( ( long ) s ); > #endif > > =A0 QF_STACK_POP > } > > > Do you Yahoo!? > Yahoo! Mail is new and improved - Check it out!= |
From: Clark S. <cla...@ya...> - 2004-06-22 00:25:51
|
The pointer timespeck hasn't been initialized. Is this perhaps the cause of random wierdness? void process_sleep( double s ) { QF_STACK_PUSH(process_sleep) #ifdef _MSC_VER Sleep( ( long ) s * 1000 ); #else /* this causes random wierdness under Solaris timespec time; double intpart; time.tv_nsec = (int)modf(s, &intpart); time.tv_nsec *= 1000000000; time.tv_sec = (int)intpart; timespec* actual; nanosleep(&time, actual);*/ sleep( ( long ) s ); #endif QF_STACK_POP } I think this would work better: void process_sleep( double s ) { QF_STACK_PUSH(process_sleep) #ifdef _MSC_VER Sleep( ( long ) s * 1000 ); #else timespec time, actual; double intpart; time.tv_nsec = (int)modf(s, &intpart); time.tv_nsec *= 1000000000; time.tv_sec = (int)intpart; nanosleep(&time, &actual); sleep( ( long ) s ); #endif QF_STACK_POP } --------------------------------- Do you Yahoo!? Yahoo! Mail is new and improved - Check it out! |
From: Oren M. <or...@qu...> - 2004-06-21 19:14:04
|
I updated the Java and .NET generators to handle UtcDateOnly fields=20 correctly. --oren On Jun 21, 2004, at 11:27 AM, Joerg Thoennes wrote: > QuickFIX Documentation:=20 > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > Hi Oren, > > should it be > > public class MDEntryDate extends UtcDate > > Cheers, J=F6rg > > --=20 > Joerg Thoennes > http://macd.com > Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH > Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen > > > ------------------------------------------------------- > This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference > Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer > Conference, June 28 - July 1 at the Moscone Center in San Francisco, = CA > REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code=20 > NWMGYKND > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Oren M. <om...@ri...> - 2004-06-21 16:52:27
|
should be UtcDateField, In FIX 4.4 they changed the name from UtcDate to UtcDateOnly. The java=20= code generator needs to be updated to reflect that. It defaults to=20 StringField if it can't find a known type, which is what happened here. --oren On Jun 21, 2004, at 11:27 AM, Joerg Thoennes wrote: > QuickFIX Documentation:=20 > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > Hi Oren, > > should it be > > =A0=A0=A0=A0=A0=A0=A0 public class MDEntryDate extends UtcDate > > Cheers, J=F6rg > > --=20 > Joerg Thoennes > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 http://macd.com > Tel.: +49 (0)241 44597-24=A0=A0=A0=A0=A0 Macdonald Associates GmbH > Fax : +49 (0)241 44597-10=A0=A0=A0=A0=A0 Lothringer Str. 52, D-52070 = Aachen > > > > ------------------------------------------------------- > This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference > Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer > Conference, June 28 - July 1 at the Moscone Center in San Francisco,=20= > CA > REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code=20 > NWMGYKND > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |