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

Issue on MarketDataRequest Process in Server Session

Description

Dear Support,
I'm working to add server capabilities to my application based on Fix8.org v.1.4 FIX layer.
I experience an issue receiving MarketDataRequest messages.
It happens that the class MyFixRouter.hpp, where virtual bool operator() (const class MarketDataRequest *msg) const { return false; } is defined,
is called in place of my piece of code defined on class Myfix_session.cpp.
Note that this behaviour is for such type of FIX message only, and for example, NewSingleOrder is processed as expected.

When the server thread receives incoming MarketRequest, the message is taken by
bool Myfix_session_server_42::handle_application(const unsigned seqnum, const FIX8::Message *&msg)
{
bool retval;
retval = enforce(seqnum, msg);
retval = retval || msg->process(_router);
return retval;
}

at this point I can see in debugger the msg->process(_router) is called and the _router at vptr[35] has the refernce to my function but it is not called,
on the contrary, the execution follows the virtual interface returning false.

I would like to understand how to address this issue.

Thanks
Daniele

Environment

Linux

Status

Assignee

David Dight

Reporter

daniele

Labels

Branch

dev

Products

Open Source

Components

Fix versions

Affects versions

1.4.0

Priority

Major