Re: [Quickfix-developers] ThreadedSocketInitiator vs SocketInitiator
Brought to you by:
orenmnero
|
From: Joerg T. <Joe...@ma...> - 2006-05-30 15:06:24
|
Hi Ajay,
> One useful property of QuickFIX's current processing of outbound
> messages is that the application can rely upon the knowledge that the
> message has been written written to the message store to the socket and
> by the time send() returns. This makes it relatively simple to make sur=
e
> all messages that the application thinks it has sent successfully will
> get to the counterparty.
Agreed, actually this is a very important property. As soon as QF sendToT=
arget() has=20
returned, QF has taken responsibility for the message.
> If an intermediate queue is introduced between the application and the
> processing of the message within the FIX engine, then depending upon
> whether the queue is introduced before QF writes to the message store o=
r
> after, there might be a need to invent additional mechanisms to allow
> the application to be informed when a message gets persisted so that it
> can track the message's progress through the engine. Otherwise messages
> that the application thought it had sent might still be waiting to be
> processed by a worker thread in an in-memory queue and might be lost in
> case of an engine failover.
The correct implementation would make the outbound queue and the message =
store identical.
sendToTarget() just writes the message to the (persistent) message store =
and then returns.=20
A separate thread picks up messages from the message store to be (re-)sen=
d.
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
|