quickfix-developers Mailing List for QuickFIX (Page 176)
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: Quek T. W. <qt...@ya...> - 2005-12-01 07:12:02
|
Hi ,
i am getting execution reports from a Fix engine where tag 44 (Price)
has trailing spaces ( eg : 44=10.58 ^A48=HOKU.O^A54=2^).
If i turn on validation in QuickFix, this execution report will be rejected
with error "Incorrect data format ...". Therefore i have to turn off
validation to be able to receive the execution report. However, there
are other messages such as the SecurityDefinition where i need to
turn on validation to process the repeating groups.
Is there a workaround for the trailing spaces problem ?
thanks,
Tai Wee
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com |
|
From: Oren M. <or...@qu...> - 2005-11-29 15:52:33
|
Do you have a stack trace?
--oren
lar...@su... wrote:
> Hello, while using the QuickFix JNI Wrapper I encountered an memory
> error using Initiator
>
>
>
> The problem occurred in xstring on line 601 : in function _Myt&
> assign(const _Myt& _Right,
>
> size_type _Roff, size_type _Count)
>
>
>
>
>
> else if (_Grow(_Num))
>
> { // make room and assign
> new stuff
>
> _Traits::copy(_Myptr(),
> _Right._Myptr() + _Roff, _Num);
>
> _Eos(_Num);
>
>
>
>
>
>
>
> The thread 'Win32 Thread' (0x258) has exited with code 0 (0x0).
>
> First-chance exception at 0x6d68089d in java.exe: 0xC0000005: Access
> violation writing location 0x003c0f98.
>
> Unhandled exception at 0x6d68089d in java.exe: 0xC0000005: Access
> violation writing location 0x003c0f98.
>
> The program '[3260] java.exe: Native' has exited with code 0 (0x0).
>
>
>
>
>
>
>
> *Lars Mattsson*
>
>
>
|
|
From: <lar...@su...> - 2005-11-29 15:02:40
|
Hello, while using the QuickFix JNI Wrapper I encountered an memory
error using Initiator
=20
The problem occurred in xstring on line 601 : in function _Myt&
assign(const _Myt& _Right,
size_type _Roff, size_type _Count)
=20
=20
else if (_Grow(_Num))
{ // make room and assign new
stuff
_Traits::copy(_Myptr(), _Right._Myptr()
+ _Roff, _Num);
_Eos(_Num);
=20
=20
=20
The thread 'Win32 Thread' (0x258) has exited with code 0 (0x0).
First-chance exception at 0x6d68089d in java.exe: 0xC0000005: Access
violation writing location 0x003c0f98.
Unhandled exception at 0x6d68089d in java.exe: 0xC0000005: Access
violation writing location 0x003c0f98.
The program '[3260] java.exe: Native' has exited with code 0 (0x0).
=20
=20
=20
Lars Mattsson =20
=20
|
|
From: Andrei G. <an...@gm...> - 2005-11-28 13:21:02
|
Hi there, This may sound strange, but anyone has experience in compiling QuickFIX for a PocketPC? Regards, Andrei |
|
From: Caleb E. <cal...@gm...> - 2005-11-26 13:31:20
|
On 11/25/05, Alexey Zubko <ale...@gm...> wrote: > > To compile quickfix you need to add a define into the project: > _CRT_SECURE_NO_DEPRECATE. That macro isn't strictly necessary, but does quiet a lot of compiler warnings about POSIX functions which MS now considers to be deprecated. This is the biggest headache everyone seems to run into with this new compiler. The internal implementation of the UTC* classes was changed after the last release and so the patches you submitted for struct tm/time_t related manipulations are no longer necessary with the latest code in CVS. I don't know if it's stable and faster yet, I'll try the new version Monday= . Everything seems stable, and the code passes all regression tests. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: girish <gi...@om...> - 2005-11-26 08:08:38
|
Hi,
I am unable to build libquickfix_jni.so on Linux.Can any one tell me
this step wise.I have Java intalled in it,I have gcc version 3.2.3 20030502
(Red Hat Linux 3.2.3-47) installed in it.I followed the steps provided in
quickfix doc,still it is not generating,please help.
Thanks in advance.
Regards
Girish
|
|
From: Alexey Z. <ale...@gm...> - 2005-11-25 18:04:29
|
Hello,
I compiled one of my quickfix projects with the new Microsoft compiler
(VC8) today.
So, as usual, M$ has its own way.
To compile quickfix you need to add a define into the project:
_CRT_SECURE_NO_DEPRECATE.
Plus there is an issue with time_t structure which is 64 bit now (even
if you compile on a 32 machine).
I added two fixes in QUICKFIX/src/C++/FieldTypes.h to solve it:
inline long operator-( const UtcTimeStamp& lhs, const UtcTimeStamp& rhs )
{
tm l_copy = lhs; tm r_copy = rhs;
time_t l_time = mktime( &l_copy );
time_t r_time = mktime( &r_copy );
return *(long)*(l_time - r_time);
}
inline long operator-( const UtcDate& lhs, const UtcDate& rhs )
{
tm l_copy = lhs; tm r_copy = rhs;
time_t l_time = mktime( &l_copy );
time_t r_time = mktime( &r_copy );
return *(long)*(( l_time - r_time ) / UTC_DAY);
}
I don't know if it's stable and faster yet, I'll try the new version Monday.
--
Regards,
Alexey Zubko
|
|
From: Quek T. W. <qt...@ya...> - 2005-11-25 11:36:38
|
Hi,
i am currently porting and testing a production quickfix app from Solaris to AIX 5.2. The version of quickfix used is 1.10.2 and compiler is VisualAge C++ 6.0
My tests consists of :
1) Fix client ( SocketInitiator )
a) continuously sends Fix42::NewOrderSingle every second
b) receives the execution reports. Prints out the message
and does no further processing.
2) Fix server (SocketAcceptor)
- accepts the fix messages from the client and returns
execution report.
What i observed is that the Fix client memory usage goes up and
eventually it will crash. The Fix server is stable and there is no
memory leak.
I read a recent post here on "ThreadedSocketConnection: fix for memory growth under heavy load". Will the use of the SocketInitiator class also result
in some sort of memory leak ? Should i switch to the ThreadedSocketInitiator
instead ?
thanks,
Quek Tai Wee
---------------------------------
Yahoo! Music Unlimited - Access over 1 million songs. Try it free. |
|
From: Shepheard, T. (London) <Tob...@ml...> - 2005-11-25 10:04:54
|
You might want to try getting the latest version from CVS, as there are some changes to the initiator/acceptor code since the beta 1.0.0 release. I don't know if it solves that particular problem, but there were certainly a number of issues that have since been fixed and this might be one of them. =20 Regards. Toby -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Mathieu DEJASSE Sent: 24 November 2005 19:42 To: Qui...@li... Subject: [Quickfix-developers] QuickFix/J : Exception on disconnection =09 =09 Hello,=20 I'm using quickfixj 1.0.0 beta.=20 I can establish a connection, heartbeats and message exchanges are ok but=20 when I try to logout and disconnect with a initiator.stop(), I get an exception,=20 the initiator process exit and the acceptor doesn't receive the logout request.=20 So, am I doing something wrong or is there an other way to stop a session ?=20 Here's the log I obtain :=20 <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, event> (Created session)=20 <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, outgoing>=20 =09 (8=3DFIX.4.3=019=3D73=0135=3DA=0134=3D11=0149=3DINITIATOR=0152=3D20051124= -14:58:43.390=0156=3DACCE PTOR=0198=3D0=01108=3D30=0110=3D056=01)=20 <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, event> (Initiated logon request)=20 <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, incoming>=20 =09 (8=3DFIX.4.3=019=3D73=0135=3DA=0134=3D10=0149=3DACCEPTOR=0152=3D20051124-= 14:58:43.453=0156=3DINITI ATOR=0198=3D0=01108=3D30=0110=3D055=01)=20 <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, event> (Received logon response)=20 <20051124-14:59:14, FIX.4.3:INITIATOR->ACCEPTOR, outgoing>=20 =09 (8=3DFIX.4.3=019=3D61=0135=3D0=0134=3D12=0149=3DINITIATOR=0152=3D20051124= -14:59:14.046=0156=3DACCE PTOR=0110=3D009=01)=20 <20051124-14:59:14, FIX.4.3:INITIATOR->ACCEPTOR, incoming>=20 =09 (8=3DFIX.4.3=019=3D61=0135=3D0=0134=3D11=0149=3DACCEPTOR=0152=3D20051124-= 14:59:14.062=0156=3DINITI ATOR=0110=3D006=01)=20 <20051124-14:59:44, FIX.4.3:INITIATOR->ACCEPTOR, outgoing>=20 =09 (8=3DFIX.4.3=019=3D61=0135=3D0=0134=3D13=0149=3DINITIATOR=0152=3D20051124= -14:59:44.046=0156=3DACCE PTOR=0110=3D013=01)=20 <20051124-14:59:49, FIX.4.3:INITIATOR->ACCEPTOR, event> (Initiated logout request)=20 <20051124-14:59:49, FIX.4.3:INITIATOR->ACCEPTOR, outgoing>=20 =09 (8=3DFIX.4.3=019=3D61=0135=3D5=0134=3D14=0149=3DINITIATOR=0152=3D20051124= -14:59:49.046=0156=3DACCE PTOR=0110=3D024=01)=20 java.lang.IllegalStateException: IoProcessor is not started.=20 at net.gleamynode.netty2.IoProcessor.ensureStarted(IoProcessor.java:303)=20 at net.gleamynode.netty2.IoProcessor.notifyWriteRequest(IoProcessor.java:29 2)=20 at net.gleamynode.netty2.Session.write(Session.java:319) at net.gleamynode.netty2.Session.write(Session.java:302) at quickfix.netty.AbstractSocketInitiator$SessionConnection$QuickFixSession Responder.send(AbstractSocketInitiator.java:415)=20 at quickfix.Session.send(Session.java:1426)=20 at quickfix.Session.sendRaw(Session.java:1386)=20 at quickfix.Session.generateLogout(Session.java:749)=20 at quickfix.Session.generateLogout(Session.java:740)=20 at quickfix.Session.next(Session.java:1068)=20 at quickfix.netty.AbstractSocketInitiator.processTimerEvent(AbstractSocketI nitiator.java:210)=20 at quickfix.SocketInitiator.onTimerEvent(SocketInitiator.java:109)=20 at quickfix.netty.AbstractSocketInitiator$SessionConnection.onTimerEvent(Ab stractSocketInitiator.java) at quickfix.netty.AbstractSocketInitiator$SessionTimerTask.run(AbstractSock etInitiator.java:150)=20 at java.util.TimerThread.mainLoop(Timer.java:432)=20 at java.util.TimerThread.run(Timer.java:382)=20 Process exited with exit code 0.=20 Thanks.=20 Mathieu Dejasse -------------------------------------------------------- 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: Mathieu D. <md...@DV...> - 2005-11-24 19:46:31
|
Hello, I'm using quickfixj 1.0.0 beta. I can establish a connection, heartbeats and message exchanges are ok = but when I try to logout and disconnect with a initiator.stop(), I get an = exception, the initiator process exit and the acceptor doesn't receive the logout = request. So, am I doing something wrong or is there an other way to stop a = session ? Here's the log I obtain : <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, event> (Created = session) <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, outgoing>=20 (8=3DFIX.4.3=019=3D73=0135=3DA=0134=3D11=0149=3DINITIATOR=0152=3D20051124= -14:58:43.390=0156=3DACCEPTOR=0198=3D0=01108=3D30=0110=3D056=01)=20 <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, event> (Initiated logon = request)=20 <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, incoming>=20 (8=3DFIX.4.3=019=3D73=0135=3DA=0134=3D10=0149=3DACCEPTOR=0152=3D20051124-= 14:58:43.453=0156=3DINITIATOR=0198=3D0=01108=3D30=0110=3D055=01)=20 <20051124-14:58:43, FIX.4.3:INITIATOR->ACCEPTOR, event> (Received logon = response)=20 <20051124-14:59:14, FIX.4.3:INITIATOR->ACCEPTOR, outgoing>=20 (8=3DFIX.4.3=019=3D61=0135=3D0=0134=3D12=0149=3DINITIATOR=0152=3D20051124= -14:59:14.046=0156=3DACCEPTOR=0110=3D009=01)=20 <20051124-14:59:14, FIX.4.3:INITIATOR->ACCEPTOR, incoming>=20 (8=3DFIX.4.3=019=3D61=0135=3D0=0134=3D11=0149=3DACCEPTOR=0152=3D20051124-= 14:59:14.062=0156=3DINITIATOR=0110=3D006=01)=20 <20051124-14:59:44, FIX.4.3:INITIATOR->ACCEPTOR, outgoing>=20 (8=3DFIX.4.3=019=3D61=0135=3D0=0134=3D13=0149=3DINITIATOR=0152=3D20051124= -14:59:44.046=0156=3DACCEPTOR=0110=3D013=01)=20 <20051124-14:59:49, FIX.4.3:INITIATOR->ACCEPTOR, event> (Initiated = logout request)=20 <20051124-14:59:49, FIX.4.3:INITIATOR->ACCEPTOR, outgoing>=20 (8=3DFIX.4.3=019=3D61=0135=3D5=0134=3D14=0149=3DINITIATOR=0152=3D20051124= -14:59:49.046=0156=3DACCEPTOR=0110=3D024=01)=20 java.lang.IllegalStateException: IoProcessor is not started. at = net.gleamynode.netty2.IoProcessor.ensureStarted(IoProcessor.java:303) at = net.gleamynode.netty2.IoProcessor.notifyWriteRequest(IoProcessor.java:292= )=20 at net.gleamynode.netty2.Session.write(Session.java:319)=20 at net.gleamynode.netty2.Session.write(Session.java:302)=20 at = quickfix.netty.AbstractSocketInitiator$SessionConnection$QuickFixSessionR= esponder.send(AbstractSocketInitiator.java:415)=20 at quickfix.Session.send(Session.java:1426)=20 at quickfix.Session.sendRaw(Session.java:1386)=20 at quickfix.Session.generateLogout(Session.java:749)=20 at quickfix.Session.generateLogout(Session.java:740)=20 at quickfix.Session.next(Session.java:1068)=20 at = quickfix.netty.AbstractSocketInitiator.processTimerEvent(AbstractSocketIn= itiator.java:210)=20 at quickfix.SocketInitiator.onTimerEvent(SocketInitiator.java:109)=20 at = quickfix.netty.AbstractSocketInitiator$SessionConnection.onTimerEvent(Abs= tractSocketInitiator.java) at = quickfix.netty.AbstractSocketInitiator$SessionTimerTask.run(AbstractSocke= tInitiator.java:150)=20 at java.util.TimerThread.mainLoop(Timer.java:432) at java.util.TimerThread.run(Timer.java:382)=20 Process exited with exit code 0. Thanks. Mathieu Dejasse=20 =20 |
|
From: John G. <joh...@wa...> - 2005-11-24 13:13:32
|
@all, Thanks for your answers, I'll try (to) catch in the fromApp method. Sincerely, JG |
|
From: Ferran C. <fer...@vi...> - 2005-11-23 09:53:53
|
Hi,
I have just download the 1.10.2 version.
When I try to compile my application that includes "quickfix/Messages.h"
I get an error.
The content of Messages.h is:
#ifndef FIX_MESSAGES_H
#define FIX_MESSAGES_H
#include "fix40/Messages.h"
#include "fix41/Messages.h"
#include "fix42/Messages.h"
#include "fix43/Messages.h"
#include "fix44/Messages.h"
#endif //FIX_MESSAGES_H
The error :
'fix40/Messages.h': No such file or directory
I suppose it must be "fix40/Message.h" (without 's'). Is it?
I add this to the bug tracker.
Regards,
Ferran Casarramona
|
|
From: Dale W. <wil...@oc...> - 2005-11-22 20:08:24
|
Hi Caleb (et. al.)
Caleb Epstein wrote:
> On 11/22/05, *Reiner Nix* <rei...@ma...
> <mailto:rei...@ma...>> wrote:
>
> Having get and set method without throwing an exception but able
> to manage
> null values. So a setFieldXXX (null) should suppress submitting
> the value in
> the FIX message where getFieldXXX() for an unset value should
> return null.
>
>
> I don't think this particular interface would work in C++ (we're
> dealing with either FIX::FieldBase or std::string objects and there is
> no "null"). It would be possible to provide some additional
> getField/setField overloads in FieldMap that would do what you want
> though:
>
> namespace FIX {
>
> struct nothrow {};
>
> class FieldMap {
> ...
> bool getField (FieldBase& field, nothrow) // doesn't throw; returns
> true is hasField (field)
> bool getField (int field, std::string&) // doesn't throw, returns
> true if hasField (field)
>
Rather than overload based on a bool (or adding a bool with a default)
I'd much rather see:
bool getOptionalField(FieldBase& field);
This makes it much more obvious (to me anyway) when to use this method:
If the field is optional then it's not an exception for it to be missing.
That being said, I really like the idea, 'cause I'm certainly tired of
typing:
if(message.isSetField(filbert))
{
message.getField(filbert);
etc
}
> I can't really see the value in them, but these could also be added:
>
> bool setField (const FieldBase&, nothrow) // doesn't throw (and
> has no effect) if value is empty
> bool setField (int field, const std::string& value, nothrow) //
> same as above
Agreed, these don't make a whole lot of sense.
Dale
>
> If people really want these interfaces they'd be very simple to add.
>
> --
> Caleb Epstein
> caleb dot epstein at gmail dot com
--
-----------------------------------------------------
Dale Wilson, Senior Software Engineer
Object Computing, Inc. (OCI)
http://www.ociweb.com/ http://www.theaceorb.com/
----------------------------------------------------
|
|
From: Caleb E. <cal...@gm...> - 2005-11-22 19:21:50
|
On 11/22/05, Reiner Nix <rei...@ma...> wrote:
>
> Having get and set method without throwing an exception but able to manag=
e
> null values. So a setFieldXXX (null) should suppress submitting the value
> in
> the FIX message where getFieldXXX() for an unset value should return null=
.
I don't think this particular interface would work in C++ (we're dealing
with either FIX::FieldBase or std::string objects and there is no "null").
It would be possible to provide some additional getField/setField overloads
in FieldMap that would do what you want though:
namespace FIX {
struct nothrow {};
class FieldMap {
...
bool getField (FieldBase& field, nothrow) // doesn't throw; returns true is
hasField (field)
bool getField (int field, std::string&) // doesn't throw, returns true if
hasField (field)
I can't really see the value in them, but these could also be added:
bool setField (const FieldBase&, nothrow) // doesn't throw (and has no
effect) if value is empty
bool setField (int field, const std::string& value, nothrow) // same as
above
If people really want these interfaces they'd be very simple to add.
--
Caleb Epstein
caleb dot epstein at gmail dot com
|
|
From: Shepheard, T. (London) <Tob...@ml...> - 2005-11-22 14:15:58
|
Bleh, I missed something in that last email - there's a return statement in the code after the nettySession.start() now. This was added in 1.15.2.2 and merged into the main branch for 1.18 but I didn't spot it.=20 However... there is still a problem. This is because of the isTimeForReconnect() check which is part of the overall if(...) statement - if it's not time for a reconnect yet then it still goes on to process AbstractSocketInitiator.this.onTimerEvent(quickfixSession) as before, regardless of whether there's a connection or not. So the fix below is still required, but the explanation was slightly flawed. Regards, Toby -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Shepheard, Toby (London) Sent: 22 November 2005 13:54 To: qui...@li... Subject: RE: [Quickfix-developers] Quickfix/J: AbstractSocketInitiator issues QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html First of all, thanks Brad for the session workaround - worked a treat :) On the other issue, with the re-attempting connections...I got round to testing this myself and the problem is from the onTimer event. There's actually a fix to this already posted in bugzilla, see http://www.quickfixengine.org/bugtracker/bug.php?op=3Dshow&bugid=3D120&po= s=3D5 and in particular, the last part of Jeff's code. It'd be nice to get this added to CVS if nobody sees any problems with it; whilst the bug status says fixed, the last part doesn't seem to have made it in. For reference, here's the extract: quickfix.netty.AbstractSocketInitiator.SessionConnection.onTimerEvent() { if (!nettySession.isConnected() && quickfixSession.isEnabled() && isTimeForReconnect() && quickfixSession.isSessionTime()) { nettySession =3D (Session) nettySessions .get((nettySessions.indexOf(nettySession) + 1) % nettySessions.size()); lastReconnectAttemptTime =3D System.currentTimeMillis(); nettySession.start(); } // Delegate timer event to base class to it can hand off the event // to the appropriate thread //Added if statement, so higher layer events //Are not processed unless the connection is made. if( nettySession.isConnected() ) =09 AbstractSocketInitiator.this.onTimerEvent(quickfixSession); } } What was happening before is that the call to=20 AbstractSocketInitiator.this.onTimerEvent(quickfixSession); will eventually call quickfixSession.next(), which then sees its not logged on, calls the generateLogon() method which sets logonSent to true (regardless of what actually happens). Of course the generateLogon() call then fails to send the rawLogon as its not connected. After this point it *thinks* its sent the logon method so will never retry it. It would perhaps be also worth checking the return status of sendRaw in Session.generateLogon() - if this returns false then it could skip the call to state.setLogonSent(true). (@ Lines 1349-1350) Any comments from Oren or Steve & co welcomed! Regards, Toby -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Brad Harvey Sent: 13 November 2005 04:14 To: qui...@li... Subject: RE: [Quickfix-developers] Quickfix/J: AbstractSocketInitiator issues <snip> I've actually run into a different issue with the initiator. It doesn't seem to logon properly after a failed connection attempt. Reproducing is fairly simple with Banzai and Order Matcher: 1. Start Banzai It gets a connection refused and periodically retries the connection as expected. 2. Start Order Matcher Banzai then logs this: <20051113-03:56:49, FIX.4.2:BANZAI->EXEC, event> (connection established: net.gleamynode.netty2.Session@afae4a) So it connects, but it doesn't seem to send a logon, and the order matcher logs nothing. The session doesn't show up in Banzai's drop down list of sessions. If I then restart Banzai it connects properly.=20 Regards, Brad. =20 <snip> -------------------------------------------------------- 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...> - 2005-11-22 13:54:15
|
First of all, thanks Brad for the session workaround - worked a treat :) On the other issue, with the re-attempting connections...I got round to testing this myself and the problem is from the onTimer event. There's actually a fix to this already posted in bugzilla, see http://www.quickfixengine.org/bugtracker/bug.php?op=3Dshow&bugid=3D120&po= s=3D5 and in particular, the last part of Jeff's code. It'd be nice to get this added to CVS if nobody sees any problems with it; whilst the bug status says fixed, the last part doesn't seem to have made it in. For reference, here's the extract: quickfix.netty.AbstractSocketInitiator.SessionConnection.onTimerEvent() { if (!nettySession.isConnected() && quickfixSession.isEnabled() && isTimeForReconnect() && quickfixSession.isSessionTime()) { nettySession =3D (Session) nettySessions .get((nettySessions.indexOf(nettySession) + 1) % nettySessions.size()); lastReconnectAttemptTime =3D System.currentTimeMillis(); nettySession.start(); } // Delegate timer event to base class to it can hand off the event // to the appropriate thread //Added if statement, so higher layer events //Are not processed unless the connection is made. if( nettySession.isConnected() ) =09 AbstractSocketInitiator.this.onTimerEvent(quickfixSession); } } What was happening before is that the call to=20 AbstractSocketInitiator.this.onTimerEvent(quickfixSession); will eventually call quickfixSession.next(), which then sees its not logged on, calls the generateLogon() method which sets logonSent to true (regardless of what actually happens). Of course the generateLogon() call then fails to send the rawLogon as its not connected. After this point it *thinks* its sent the logon method so will never retry it. It would perhaps be also worth checking the return status of sendRaw in Session.generateLogon() - if this returns false then it could skip the call to state.setLogonSent(true). (@ Lines 1349-1350) Any comments from Oren or Steve & co welcomed! Regards, Toby -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Brad Harvey Sent: 13 November 2005 04:14 To: qui...@li... Subject: RE: [Quickfix-developers] Quickfix/J: AbstractSocketInitiator issues <snip> I've actually run into a different issue with the initiator. It doesn't seem to logon properly after a failed connection attempt. Reproducing is fairly simple with Banzai and Order Matcher: 1. Start Banzai It gets a connection refused and periodically retries the connection as expected. 2. Start Order Matcher Banzai then logs this: <20051113-03:56:49, FIX.4.2:BANZAI->EXEC, event> (connection established: net.gleamynode.netty2.Session@afae4a) So it connects, but it doesn't seem to send a logon, and the order matcher logs nothing. The session doesn't show up in Banzai's drop down list of sessions. If I then restart Banzai it connects properly.=20 Regards, Brad. =20 <snip> -------------------------------------------------------- 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: Reiner N. <rei...@ma...> - 2005-11-22 10:14:20
|
Hi there, it would be wounderfull to use simple Java bean approach. Having get and set method without throwing an exception but able to manage null values. So a setFieldXXX (null) should suppress submitting the value in the FIX message where getFieldXXX() for an unset value should return null. Cheers Reiner > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX > Support: http://www.quickfixengine.org/services.html > > Hi there, > > The more different Fix engines I connect to, the more I see that no one > cares about conditionnaly required fields. So very often, I use a > getField() method that fails and sends a Business Reject. The counterparty > then complains about this (well of course, they don't send the correct > data so it's only logical they should complain when they are told they > don't). Anyway, I'd rather not have to always use the > if(isSetField(...)){getField()...} construct when I *know* the message is > supposed to have the tag, but at the same time, manage the error myself. > > What would be the central point for catching which exception to do that ? > The fromApp() method catching FIX::FieldNotFound ? > > TIA > JG > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the JBoss Inc. Get Certified Today > Register for a JBoss Training Course. Free Certification Exam > for All Training Attendees Through End of 2005. For more info visit: > http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers -- Reiner B. Nix IT-Architect rei...@ma... http://www.macd.com Tel.: +49 (0)241 44597-23 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |
|
From: Chris A. <chr...@be...> - 2005-11-21 22:53:27
|
A very good question, I should have answered it in my first post. We want to try and find a way to build the DLL without a dependency on an external C runtime DLL. We are going to distribute our application through WebStart, and getting the application to run on machines that do not already have the requisite C runtime DLL's is giving us a lot of problems. To get around the problem all together, we wanted to build quickfix_jni.dll with the runtime staticly linked in. =20 Thanks for suggesting Visual Studio Express C++, I wasn't aware of it. I'll take a look. =20 Cheers Chris Audley ________________________________ From: Caleb Epstein [mailto:cal...@gm...]=20 Sent: Monday, November 21, 2005 5:07 PM To: Chris Audley Cc: qui...@li... Subject: Re: [Quickfix-developers] Building Quickfix on windows On 11/21/05, Chris Audley <chr...@be...> wrote:=20 Has anybody tried (and hopefully succeeded) in building quickfix on win32 without developer studio. I have the microsoft command line compilers installed and can compile, I just need instructions on the right makefiles to run. We do our development in Java and don't want to=20 buy MSVC just to compile quickfix. There are binary releases for Windows. Why not grab one of those, or download the Visual Studio Express C++ edition, which is free for the next year or so. --=20 Caleb Epstein caleb dot epstein at gmail dot com=20 |
|
From: Caleb E. <cal...@gm...> - 2005-11-21 22:13:28
|
On 11/21/05, Chris Audley <chr...@be...> wrote: > > Has anybody tried (and hopefully succeeded) in building quickfix on > win32 without developer studio. I have the microsoft command line > compilers installed and can compile, I just need instructions on the > right makefiles to run. We do our development in Java and don't want to > buy MSVC just to compile quickfix. There are binary releases for Windows. Why not grab one of those, or download the Visual Studio Express C++ edition, which is free for the next year or so. -- Caleb Epstein caleb dot epstein at gmail dot com |
|
From: Oren M. <or...@qu...> - 2005-11-21 18:18:01
|
Yeah. The fromApp method normally propogates the FieldNotFound error, which the session catches and send a reject indicating the conditionally required field is missing. If you want to handle this yourself, you would wrap the implementation of your method in a try/catch block and trap the exception. You can then handle it yourself, and rethrow if you would like the session to also send its normal reject. --oren John GALLET wrote: >QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >QuickFIX Support: http://www.quickfixengine.org/services.html > >Hi there, > >The more different Fix engines I connect to, the more I see that no one >cares about conditionnaly required fields. So very often, I use a >getField() method that fails and sends a Business Reject. The counterparty >then complains about this (well of course, they don't send the correct >data so it's only logical they should complain when they are told they >don't). Anyway, I'd rather not have to always use the >if(isSetField(...)){getField()...} construct when I *know* the message is >supposed to have the tag, but at the same time, manage the error myself. > >What would be the central point for catching which exception to do that ? >The fromApp() method catching FIX::FieldNotFound ? > >TIA >JG > > > > >------------------------------------------------------- >This SF.Net email is sponsored by the JBoss Inc. Get Certified Today >Register for a JBoss Training Course. Free Certification Exam >for All Training Attendees Through End of 2005. For more info visit: >http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click >_______________________________________________ >Quickfix-developers mailing list >Qui...@li... >https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > |
|
From: Chris A. <chr...@be...> - 2005-11-21 18:09:22
|
Has anybody tried (and hopefully succeeded) in building quickfix on win32 without developer studio. I have the microsoft command line compilers installed and can compile, I just need instructions on the right makefiles to run. We do our development in Java and don't want to buy MSVC just to compile quickfix. Thanks Chris Audley |
|
From: John G. <joh...@wa...> - 2005-11-21 17:49:02
|
Hi there,
The more different Fix engines I connect to, the more I see that no one
cares about conditionnaly required fields. So very often, I use a
getField() method that fails and sends a Business Reject. The counterparty
then complains about this (well of course, they don't send the correct
data so it's only logical they should complain when they are told they
don't). Anyway, I'd rather not have to always use the
if(isSetField(...)){getField()...} construct when I *know* the message is
supposed to have the tag, but at the same time, manage the error myself.
What would be the central point for catching which exception to do that ?
The fromApp() method catching FIX::FieldNotFound ?
TIA
JG
|
|
From: Oren M. <or...@qu...> - 2005-11-19 23:58:55
|
When you deploy, are you doing so with the debug or release build? Also, have you compiled in support for MySQL? --oren Håkan Höglund wrote: > Hello, > > I'm developing a .NET application using QuickFix. > Everything works just fine on my developing machine (Windows XP Pro) > with the QuickFix 1.10.2 source installed. > But I run into problems when I try to deploy it to the server (Windows > Server 2003) with the QuickFix 1.10.2 bin installed. > > The application immediately crashes showing a message box: > "Application has generated an exception that could not be handled. > > Process id=0x130(304), Thread id=0x55c(1372)." > > The following console message is then showed: > > "Unhandled Exception: System.IO.FileNotFoundException: File or > assembly name quickfix_net, or one of its dependencies, was not found. > File name: "quickfix_net" > at SecurityCollector.SecurityColl > ector._run() > at SecurityCollector.SecurityCollector.Main(String[] args) in > c:\documents and settings\taw2\my documents\visual studio > projects\securitycollector\securitycollector.cs:line 35 > > === Pre-bind state information === > LOG: DisplayName = quickfix_net, Version=1.0.2090.18765, > Culture=neutral, PublicKeyToken=null > (Fully-specified) > LOG: Appbase = D:\data\tmp\SecurityCollector\ > LOG: Initial PrivatePath = NULL > Calling assembly : SecurityCollector, Version=1.0.2148.24242, > Culture=neutral, PublicKeyToken=null. > === > > LOG: Policy not being applied to reference at this time (private, > custom, partial, or location-based assembly bind). > LOG: Post-policy reference: quickfix_net, Version=1.0.2090.18765, > Culture=neutral, PublicKeyToken=null > LOG: Attempting download of new URL > file:///D:/data/tmp/SecurityCollector/quickfix_net.DLL." > > [SecurityCollector is the name of the application. > SecurityCollector._run() is the first place in the code where I use > QuickFix-classes.] > > The file quickfix_net.dll is placed in the same directory as the > application (D:/data/tmp/SecurityCollector/ > <file:///D:/data/tmp/SecurityCollector/quickfix_net.DLL>) and the > version fits. I even tried to copy mscorelib.dll and > Microsoft.VisualC.dll to the same directory but it still doesn't work. > > (A strange thing is that the Microsoft .NET Framework 1.1 > Configuration utility fails to View the Assembly Dependencies for > quickfix_net.dll on the server. " Unfortunately, the .NET Framework > Configuration tool cannot show this list of assembly dependencies for > this application due to an error during the generation of the list. " > On the developing machine this works however and shows the > dependencies: mscorlib and Microsoft.VisualC.) > > I've wasted two days now, trying to make this work. > So I would be very grateful for all help. > > Thank you in advance! > > /Håkan |
|
From: <hak...@gm...> - 2005-11-19 17:12:15
|
Hello, I'm developing a .NET application using QuickFix. Everything works just fine on my developing machine (Windows XP Pro) with the QuickFix 1.10.2 source installed. But I run into problems when I try to deploy it to the server (Windows Server 2003) with the QuickFix 1.10.2 bin installed. The application immediately crashes showing a message box: "Application has generated an exception that could not be handled. Process id=3D0x130(304), Thread id=3D0x55c(1372)." The following console message is then showed: "Unhandled Exception: System.IO.FileNotFoundException: File or assembly nam= e quickfix_net, or one of its dependencies, was not found. File name: "quickfix_net" at SecurityCollector.SecurityColl ector._run() at SecurityCollector.SecurityCollector.Main(String[] args) in c:\documents and settings\taw2\my documents\visual studio projects\securitycollector\securitycollector.cs:line 35 =3D=3D=3D Pre-bind state information =3D=3D=3D LOG: DisplayName =3D quickfix_net, Version=3D1.0.2090.18765, Culture=3Dneutral, PublicKeyToken=3Dnull (Fully-specified) LOG: Appbase =3D D:\data\tmp\SecurityCollector\ LOG: Initial PrivatePath =3D NULL Calling assembly : SecurityCollector, Version=3D1.0.2148.24242, Culture=3Dneutral, PublicKeyToken=3Dnull. =3D=3D=3D LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Post-policy reference: quickfix_net, Version=3D1.0.2090.18765, Culture=3Dneutral, PublicKeyToken=3Dnull LOG: Attempting download of new URL file:///D:/data/tmp/SecurityCollector/quickfix_net.DLL." [SecurityCollector is the name of the application. SecurityCollector._run() is the first place in the code where I use QuickFix-classes.] The file quickfix_net.dll is placed in the same directory as the applicatio= n (D:/data/tmp/SecurityCollector/<file:///D:/data/tmp/SecurityCollector/quick= fix_net.DLL>) and the version fits. I even tried to copy mscorelib.dll and Microsoft.VisualC.dll to the same directory but it still doesn't work. (A strange thing is that the Microsoft .NET Framework 1.1 Configuration utility fails to View the Assembly Dependencies for quickfix_net.dll on the server. "Unfortunately, the .NET Framework Configuration tool cannot show this list of assembly dependencies for this application due to an error during the generation of the list." On the developing machine this works however and shows the dependencies: mscorlib and Microsoft.VisualC.) I've wasted two days now, trying to make this work. So I would be very grateful for all help. Thank you in advance! /H=E5kan |
|
From: Brad H. <Bra...@gb...> - 2005-11-17 22:17:49
|
Hi,
The Message.clone() method isn't copying groups to the cloned message.
We updated FieldMap.initializeFrom to add the groups from the FieldMap
source and this seems to fix this problem.
protected void initializeFrom(FieldMap source) {
fields.clear();
fields.putAll(source.fields);
groups.clear();
groups.putAll(source.groups);
}
Using CVS head from 11 Nov.
Regards,
Brad.
|