We're updating the issue view to help you get more done. 

delay in receiving fix messages

Description

Hi ,

I am using fix8 in my windows as a client.
I am connecting to a server on linux which is not a fix8 server.

I am seeing considerable delay in receving message even if the server sent log shows that messages is sent way before.
The delay depends on the amount of time my client application is running, with time the delay grows.
when I am starting the application all is good with all in sync, but the delay in receiving messages grows with time.

Even some time it grows to hrs.
I am using fix8 1.3.2.

Below is my config :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <session name="META_CLIENT" role="initiator" no_chksum="true" fix_version="4.4" active="true" ip="IP" port="Port" sender_comp_id="23" target_comp_id="MDS" login_retry_interval="15000" heartbeat_interval="5" reset_sequence_numbers="true" tcp_nodelay="true" login_retries="5000" tcp_recv_buffer="100663296" tcp_send_buffer="100663296" process_model="threaded" session_log="session_log" protocol_log="protocol_log" global_log="global_log" />

Below is my client session creation code:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 if (pthis->m_sSessName != FEEDER_SESS_NAME_CLIENT) FIX8::GlobalLogger::set_global_filename(ORDERMANAGER_LOGFILE_GLOBAL_CLIENT); else FIX8::GlobalLogger::set_global_filename(FEEDER_LOGFILE_GLOBAL_CLIENT); pthis->log("gfix::gfixthread()-Client mode"); std::unique_ptr<FIX8::ClientSession<gfix_client_session> > mc(pthis->m_gFixType == clientreliable ? new FIX8::ReliableClientSession<gfix_client_session>(FIX8::TEX::ctx(), pthis->m_sCfgFile, pthis->m_sSessName) : new FIX8::ClientSession<gfix_client_session>(FIX8::TEX::ctx(), pthis->m_sCfgFile, pthis->m_sSessName)); if (false) mc->session_ptr()->control() |= FIX8::Session::print; const FIX8::ProcessModel pm(mc->get_process_model(mc->_ses)); if (pthis->m_gFixType == clientreliable) mc->start(false, pthis->m_nNextSend, pthis->m_nNextRecv, mc->session_ptr()->get_login_parameters()._davi()); else mc->start(false, pthis->m_nNextSend, pthis->m_nNextRecv); pthis->m_cliSession = mc->session_ptr(); while (!mc->session_ptr()->is_shutdown()) FIX8::hypersleep<FIX8::h_milliseconds>(100); mc->session_ptr()->stop(); pthis->log("gfix::gfixthread()-Instance stopped");

Environment

windows client connecting to other fix servers.

Status

Assignee

Sergey Sedreev

Reporter

Utkal

Labels

Branch

dev

Products

Open Source

Components

Fix versions

Affects versions

1.3.2

Priority

Pending