QuickFIX C ++ Library - General ThreadedSocketInitiator Question

I am new to QuickFIX and I have a basic question regarding QuickFix:

1) Given that at one time between the acceptor and the initiator there will be only one fixation session. I do not quite understand the purpose of the ThreadedSocketInitiator and ThreadedSocketAcceptor classes.

Or do these classes exist to facilitate several sessions in which several "initiators" can talk with different acceptors and vice versa?

2) Does QuickFIX have some kind of message persistence, for example, what happens if the message is lost in transit? Does the engine check for re-sending a message?

+8
c ++ quickfix
source share
1 answer

1) Quickfix uses 1 thread per session. An engine that you can read is the whole process.

ThreadedSocketInitiator is used when you want to use the engine as a client. You connect to another server and send messages. You initiate connections, hence the name initiator. You create a new thread for each session configured by the server.

ThreadedSocketAcceptor is used when you want to use the engine as a server. You accept the compounds, therefore, the acceptor. When you set up a new session with a client, a new thread is generated only for that particular session.

Remember that all sessions have a unique identifier to distinguish between multiple sessions. A server can have multiple sessions with the same client and vice versa.

2) Yes. But the receiver must initiate a ResendRequest message for the sender to send it again. It will do this automatically by checking the delay flag in the configuration file if it does not receive a response to an already sent message.

+5
source share

All Articles