B2BITS FIX Antenna HFT  1.0.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
Engine::AdminApplication Class Reference

Administrative application interface. More...

#include <B2BITS_AdminApplication.h>

+ Inheritance diagram for Engine::AdminApplication:
+ Collaboration diagram for Engine::AdminApplication:

Classes

struct  Context
 Context within session calls AdminApplication event handlers. More...
 

Public Types

enum  SessionAction { SSN_NEW = 0, SSN_DELETED, SSN_UPDATED }
 Posiable session actions. More...
 
typedef std::map< std::string,
Session * > 
SESSIONS_CONTAINER
 Type for the administrative sessions container. More...
 

Public Member Functions

 AdminApplication ()
 
void bindApplication (AdminApplication *appl)
 Binds session from embedded AdminApplication. More...
 
bool bindSession (Session *pSession)
 Binds session with AdminApplication. More...
 
void subscriptionListNotify (SessionAction status, Session *changedSsn, const SessionContext &reciverSsnInfo)
 Handle notification on sessions creation or deleting. More...
 
void terminate ()
 Terminates all administrative sessions. More...
 
virtual ~AdminApplication ()
 

Protected Types

typedef std::map< std::string,
std::string > 
CommandTable
 Type is used to get description of available commands. More...
 

Protected Member Functions

void executeAverageReceivedStat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the AverageReceivedStat command. More...
 
void executeAverageSentStat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the AverageSentStat command. More...
 
void executeAverageValidateStat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the AverageValidateStat command. More...
 
void executeChangeSeqNum (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the ChangeSeqNum command. More...
 
void executeCreateAcceptor (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the CreateAcceptor command. More...
 
void executeCreateInitiator (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the CeateInitiator command. More...
 
void executeDelete (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the Delete command. More...
 
void executeDeleteAll (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the DeleteAll command. More...
 
void executeGeneralSessionsStat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the GeneralSessionStat command. More...
 
void executeHeartbeat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the HeartBeat command. More...
 
void executeHelp (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the help command. More...
 
void executeProceedStat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the Proceed command. More...
 
void executeReceivedStat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the ReceivedStat command. More...
 
void executeResetSeqNum (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the ResetSeqNum command. More...
 
void executeRestartSessions (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the RestartSessions command. More...
 
void executeSendMessage (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the SendMessage command. More...
 
void executeSentStat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the SentStat command. More...
 
void executeSessionList (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the SessionList command. More...
 
void executeSessionParams (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the SessionParams command. More...
 
void executeSessionsSnapshot (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the SessionsSnapshot command. More...
 
void executeSessionStat (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the SessionStat command. More...
 
void executeSessionStatus (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the SessionStatus command. More...
 
void executeStartSession (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the StartSession command. More...
 
void executeStopSession (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the StopSession command. More...
 
void executeTestRequest (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the TestRequest command. More...
 
void executeToBackup (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the ToBackup command. More...
 
void executeToPrimary (const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Process the ToPrimary command. More...
 
virtual void getAvailableCommands (CommandTable *commands) const
 Returns description of commands. More...
 
bool getChildNodeValue (const XERCES_CPP_NAMESPACE::DOMNode *element, const XMLCh *name, std::string *value) const
 Method locates child node and returns it's value. More...
 
bool getChildNodeValueBool (const XERCES_CPP_NAMESPACE::DOMNode *element, const XMLCh *name, bool *value, std::string *) const
 Method locates child node and returns boolearn value. More...
 
bool getChildNodeValueInt (const XERCES_CPP_NAMESPACE::DOMNode *element, const XMLCh *name, int *value, std::string *) const
 Method locates child node and returns integer value. More...
 
bool getChildNodeValues (const XERCES_CPP_NAMESPACE::DOMNode *parentNode, const XMLCh *subnodeName, const XMLCh *paramName, std::list< std::string > &values) const
 Method locates child nodes and returns values. More...
 
bool getChildNodeValues (const XERCES_CPP_NAMESPACE::DOMNode *element, const XMLCh *name, std::list< std::string > &values) const
 Method locates child nodes and returns values. More...
 
virtual void onBindAdminSession (const Session *)
 Method is called when application is binded with new session. More...
 
virtual bool onCreateAcceptorEvent (Session &sn, FIXMessage &logonMsg)
 This call-back method is called when executing a CreateAcceptor command. More...
 
virtual bool onCreateInitiatorEvent (Session &sn, FIXMessage &logonMsg)
 This call-back method is called when executing a CreateInitiator command. More...
 
virtual void onHeartbeatWithTestReqIDEvent (const HeartbeatWithTestReqIDEvent &, const Session &)
 This call-back method is called when a Heartbeat message (MsgType = 0) with the TestReqID field (tag = 112) has been received. More...
 
virtual void onLogonEvent (const LogonEvent *event, const Session &sn)
 This call-back method is called to notify that the Logon message has been received from the counterpart. More...
 
virtual void onLogoutEvent (const LogoutEvent *, const Session &)
 This call-back method is called to notify that the Logout message has been received from the counterpart or the session was disconnected. More...
 
virtual void onMsgRejectEvent (const MsgRejectEvent *, const Session &)
 This call-back method is called when a message have to be rejected. More...
 
virtual void onNewStateEvent (const NewStateEvent &, const Session &)
 This call-back method is called when the session has changed its state. More...
 
virtual bool onResend (const FIXMessage &msg, const Session &sn)
 This call-back method is called when an outgoing message is about to be resent as a reply to the incoming ResendRequest message. More...
 
virtual void onResendRequestEvent (const ResendRequestEvent &, const Session &)
 This call-back method is called when a Resend Request (MsgType = 2) has been received. More...
 
virtual void onSequenceGapEvent (const SequenceGapEvent *, const Session &)
 This call-back method is called when a message gap is detected in incoming messages. More...
 
virtual void onSessionLevelRejectEvent (const SessionLevelRejectEvent *, const Session &)
 This call-back method is called when a session-level Reject message (MsgType = 3) is received. More...
 
virtual void onUnableToRouteMessage (const UnableToRouteMessageEvent &event, const Session &sn)
 This call-back method is called when the message has to be routed to the session, which does not exist. More...
 
virtual void onUnexpectedMessageEvent (const UnexpectedMessageEvent *, const Session &)
 This call-back method is called to notify about received unexpected message. More...
 
virtual bool process (const std::string &action, const XERCES_CPP_NAMESPACE::DOMNode *element, const Context &context)
 Processes action. More...
 
virtual bool process (const FIXMessage &msg, const Session &sn)
 A call-back method to process incoming messages. More...
 
virtual bool process (Engine::FIXMessageProcessElem *work, const Engine::Session &sn)
 The call-back method to process incoming messages. More...
 
void sendReject (const Session &sn, const FIXMessage &msg, const std::string &text)
 Sends Reject message into the session. More...
 
void sendResponse (const XERCES_CPP_NAMESPACE::DOMDocument *response, const Context &context) const
 Sends response message to client. More...
 
virtual void sendResponse (const std::string &response, const Context &context) const
 Sends response message to client. More...
 
void sendResponse (const std::string &resultCode, const std::string &description, const std::string &additionalData, const Context &context) const
 Sends response message to client in format: <?xml version="1.0"?> <Response resultcode="[resultCode]"> [description] [additionalData] </Response> More...
 
void sendResponse (const std::string &response, const std::string &targetID, const FIXMessage &msg, const XMLCh *requestId) const
 Sends response message to client. More...
 
- Protected Member Functions inherited from Engine::Application
virtual bool onAdminCommand (const Session &sn, const AdminCommand commandCode, const std::string &commandText, std::string &rejectReason)
 Faired when an admin command is received. More...
 
virtual void * onAfterMessageIsReceived (char const *msg, std::size_t msgSize, const Session &sn)
 Faired just after message is received from socket. More...
 
virtual void onAsyncConnectCompleted (int error, const Session &sn)
 Fired when async connect operation has completed. More...
 
virtual void onBeforeLogonIsSerialized (FIXMessage &msg, const Session &sn)
 The callback is called before the Logon message is serialized for sending. More...
 
virtual void onBeforeMessageIsSent (int msgSeqNum, const Session &sn, std::size_t msgCount)
 
virtual bool onBeforeStoreAndForward (const Engine::FIXMessage &fixMsg, char const *msg, size_t msgSize, const Session &sn)
 Faired just before the message is stored to an output log file. More...
 
virtual void onInvalidResendRequestEvent (const ResendRequestEvent &event, const Session &sn)
 This call-back method is called when a ill-formed Resend Request (MsgType = 2) has been received. More...
 
virtual void onMessagePreparedForSending (const FIXMessage &msg, const Session &sn)
 Faired when message is prepared for sending to socket. More...
 
virtual void onReconnectTryEvent (int remainTries, const Session &sn)
 This call-back method is called each time session tries to reconnect. More...
 
virtual bool onResendRequestLoop (const ResendRequestEvent &event, const Session &sn)
 This call-back method is called when #DuplicateResendRequestLimit ResendRequest messages are received. More...
 
virtual bool onSessionLevelRejectEvent (Engine::FIXMessageProcessElem *work, const Session &sn)
 This call-back method is called when a session-level Reject message (MsgType = 3) is received. More...
 
virtual bool onSessionLevelRejectWithSeqNumTooHigh (const FIXMessage &msg, const Session &sn)
 Faired when Session Level Reject message is received with the sequence number too high. More...
 
virtual void onSwitchConnectionEvent (const SwitchConnectionEvent &event, const Session &sn)
 This call-back method is called when the session is switching to another connection. More...
 
virtual void onTerminated (const Session &sn)
 Faired when Session is terminated and all internal threads are stopped. More...
 
virtual ~Application ()
 Destructor. More...
 

Detailed Description

Administrative application interface.

Member Typedef Documentation

typedef std::map<std::string, std::string> Engine::AdminApplication::CommandTable
protected

Type is used to get description of available commands.

Parameters
keycommand name
valuecommand description in XML format: <[Command name]> [command description] <Parameter> <Name>[parameter name (required)]</Name> [parameter description (required)] <IsRequired>[true/false (required)]</IsRequired> <DefaultValue>[default value]</DefaultValue> </Parameter> ... </[Command name]>
typedef std::map<std::string, Session*> Engine::AdminApplication::SESSIONS_CONTAINER

Type for the administrative sessions container.

Member Enumeration Documentation

Posiable session actions.

Enumerator
SSN_NEW 
SSN_DELETED 
SSN_UPDATED 

Constructor & Destructor Documentation

Engine::AdminApplication::AdminApplication ( )
virtual Engine::AdminApplication::~AdminApplication ( )
virtual

Member Function Documentation

void Engine::AdminApplication::bindApplication ( AdminApplication appl)

Binds session from embedded AdminApplication.

Used for custom admin applications only

bool Engine::AdminApplication::bindSession ( Session pSession)

Binds session with AdminApplication.

Application takes reference to the session

void Engine::AdminApplication::executeAverageReceivedStat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the AverageReceivedStat command.

void Engine::AdminApplication::executeAverageSentStat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the AverageSentStat command.

void Engine::AdminApplication::executeAverageValidateStat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the AverageValidateStat command.

void Engine::AdminApplication::executeChangeSeqNum ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the ChangeSeqNum command.

void Engine::AdminApplication::executeCreateAcceptor ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the CreateAcceptor command.

void Engine::AdminApplication::executeCreateInitiator ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the CeateInitiator command.

void Engine::AdminApplication::executeDelete ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the Delete command.

void Engine::AdminApplication::executeDeleteAll ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the DeleteAll command.

void Engine::AdminApplication::executeGeneralSessionsStat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the GeneralSessionStat command.

void Engine::AdminApplication::executeHeartbeat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the HeartBeat command.

void Engine::AdminApplication::executeHelp ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the help command.

void Engine::AdminApplication::executeProceedStat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the Proceed command.

void Engine::AdminApplication::executeReceivedStat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the ReceivedStat command.

void Engine::AdminApplication::executeResetSeqNum ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the ResetSeqNum command.

void Engine::AdminApplication::executeRestartSessions ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the RestartSessions command.

void Engine::AdminApplication::executeSendMessage ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the SendMessage command.

void Engine::AdminApplication::executeSentStat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the SentStat command.

void Engine::AdminApplication::executeSessionList ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the SessionList command.

void Engine::AdminApplication::executeSessionParams ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the SessionParams command.

void Engine::AdminApplication::executeSessionsSnapshot ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the SessionsSnapshot command.

void Engine::AdminApplication::executeSessionStat ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the SessionStat command.

void Engine::AdminApplication::executeSessionStatus ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the SessionStatus command.

void Engine::AdminApplication::executeStartSession ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the StartSession command.

void Engine::AdminApplication::executeStopSession ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the StopSession command.

void Engine::AdminApplication::executeTestRequest ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the TestRequest command.

void Engine::AdminApplication::executeToBackup ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the ToBackup command.

void Engine::AdminApplication::executeToPrimary ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protected

Process the ToPrimary command.

virtual void Engine::AdminApplication::getAvailableCommands ( CommandTable commands) const
protectedvirtual

Returns description of commands.

Derived class can modify list of commands at its discretion.

bool Engine::AdminApplication::getChildNodeValue ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const XMLCh name,
std::string *  value 
) const
protected

Method locates child node and returns it's value.

bool Engine::AdminApplication::getChildNodeValueBool ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const XMLCh name,
bool *  value,
std::string *   
) const
protected

Method locates child node and returns boolearn value.

bool Engine::AdminApplication::getChildNodeValueInt ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const XMLCh name,
int *  value,
std::string *   
) const
protected

Method locates child node and returns integer value.

bool Engine::AdminApplication::getChildNodeValues ( const XERCES_CPP_NAMESPACE::DOMNode *  parentNode,
const XMLCh subnodeName,
const XMLCh paramName,
std::list< std::string > &  values 
) const
protected

Method locates child nodes and returns values.

bool Engine::AdminApplication::getChildNodeValues ( const XERCES_CPP_NAMESPACE::DOMNode *  element,
const XMLCh name,
std::list< std::string > &  values 
) const
protected

Method locates child nodes and returns values.

virtual void Engine::AdminApplication::onBindAdminSession ( const Session )
inlineprotectedvirtual

Method is called when application is binded with new session.

virtual bool Engine::AdminApplication::onCreateAcceptorEvent ( Session sn,
FIXMessage logonMsg 
)
inlineprotectedvirtual

This call-back method is called when executing a CreateAcceptor command.

Parameters
snFIX session.
logonMsgthe incoming Logon message.
Returns
true if session sould be created, otherwise false.

References B2B_USE_ARG.

virtual bool Engine::AdminApplication::onCreateInitiatorEvent ( Session sn,
FIXMessage logonMsg 
)
inlineprotectedvirtual

This call-back method is called when executing a CreateInitiator command.

Parameters
snFIX session.
logonMsgthe incoming Logon message.
Returns
true if session sould be created, otherwise false.

References B2B_USE_ARG.

virtual void Engine::AdminApplication::onHeartbeatWithTestReqIDEvent ( const HeartbeatWithTestReqIDEvent ,
const Session  
)
inlineprotectedvirtual

This call-back method is called when a Heartbeat message (MsgType = 0) with the TestReqID field (tag = 112) has been received.

Usually such a message is sent in reply to a Test Request (MsgType = 1) message.

Parameters
eventInformation about occurred event.
snThe corresponding FIX session.

Implements Engine::Application.

virtual void Engine::AdminApplication::onLogonEvent ( const LogonEvent event,
const Session sn 
)
protectedvirtual

This call-back method is called to notify that the Logon message has been received from the counterpart.

Parameters
eventEvent information.
snThe corresponding FIX session.

Implements Engine::Application.

virtual void Engine::AdminApplication::onLogoutEvent ( const LogoutEvent ,
const Session  
)
protectedvirtual

This call-back method is called to notify that the Logout message has been received from the counterpart or the session was disconnected.

Parameters
eventInformation about occurred event.
snThe corresponding FIX session.

Implements Engine::Application.

virtual void Engine::AdminApplication::onMsgRejectEvent ( const MsgRejectEvent ,
const Session  
)
inlineprotectedvirtual

This call-back method is called when a message have to be rejected.

Parameters
event- object that encapsulates rejected message
sn- session object that rejects message

Implements Engine::Application.

virtual void Engine::AdminApplication::onNewStateEvent ( const NewStateEvent ,
const Session  
)
inlineprotectedvirtual

This call-back method is called when the session has changed its state.

Parameters
eventInformation about occurred event.
snThe corresponding FIX session.

Implements Engine::Application.

virtual bool Engine::AdminApplication::onResend ( const FIXMessage msg,
const Session sn 
)
inlineprotectedvirtual

This call-back method is called when an outgoing message is about to be resent as a reply to the incoming ResendRequest message.

If the method returns 'true' then the Engine resends the message to counterpart, otherwise it sends the SequenceReset Gap Fill message.

Parameters
msgOutgoing message.
snFIX session.
Returns
true if the message should be resent, otherwise false.

Implements Engine::Application.

References B2B_USE_ARG.

virtual void Engine::AdminApplication::onResendRequestEvent ( const ResendRequestEvent ,
const Session  
)
inlineprotectedvirtual

This call-back method is called when a Resend Request (MsgType = 2) has been received.

Parameters
eventInformation about occurred event.
snThe corresponding FIX session.

Implements Engine::Application.

virtual void Engine::AdminApplication::onSequenceGapEvent ( const SequenceGapEvent ,
const Session  
)
inlineprotectedvirtual

This call-back method is called when a message gap is detected in incoming messages.

Parameters
eventInformation about occurred event.
snThe corresponding FIX session.

Implements Engine::Application.

virtual void Engine::AdminApplication::onSessionLevelRejectEvent ( const SessionLevelRejectEvent ,
const Session  
)
inlineprotectedvirtual

This call-back method is called when a session-level Reject message (MsgType = 3) is received.

Parameters
eventInformation about occurred event.
snThe corresponding FIX session.

Implements Engine::Application.

virtual void Engine::AdminApplication::onUnableToRouteMessage ( const UnableToRouteMessageEvent event,
const Session sn 
)
inlineprotectedvirtual

This call-back method is called when the message has to be routed to the session, which does not exist.

Parameters
eventInformation about occurred event.
snThe corresponding FIX session.

Implements Engine::Application.

References B2B_USE_ARG.

virtual void Engine::AdminApplication::onUnexpectedMessageEvent ( const UnexpectedMessageEvent ,
const Session  
)
inlineprotectedvirtual

This call-back method is called to notify about received unexpected message.

For example - when first message in session is not a Logon.

Parameters
eventInformation about occurred event.
snThe corresponding FIX session.

Reimplemented from Engine::Application.

virtual bool Engine::AdminApplication::process ( const std::string &  action,
const XERCES_CPP_NAMESPACE::DOMNode *  element,
const Context context 
)
protectedvirtual

Processes action.

Parameters
actionname.
elementxml element of action.
Returns
true if action was identify and succesfully executed.
virtual bool Engine::AdminApplication::process ( const FIXMessage msg,
const Session sn 
)
protectedvirtual

A call-back method to process incoming messages.

If the application can not process the given message, the FIX Engine will try to deliver it later according to "Delayed Processing Algorithm".

Warning
This method should complete as quickly as possible. Do not perform time-consuming tasks inside it.
Parameters
msgthe incoming message.
snThe corresponding FIX session.
Returns
true if the application can process the given message, otherwise false.

Implements Engine::Application.

virtual bool Engine::AdminApplication::process ( Engine::FIXMessageProcessElem work,
const Engine::Session sn 
)
protectedvirtual

The call-back method to process incoming messages.

If the application can not process the given message, the FIX Engine will try to deliver it later. If an exception is thrown from the callback the reject message will be sent. If the callee hasn't commited the message into the session's log the engine will commit it when the call-back returns.

Warning
This method should complete as quickly as possible. Do not perform time-consuming tasks inside it.
Parameters
workthe incoming message and the additional message processing related information.
snThe corresponding FIX session.
Returns
true if the application can process the given message right now, otherwise false to delay (throttle). Please note that throttling is not supported if the message is delivered from out-of-sequence queue
See Also
OutOfSequenceMessagesStrategy So the message must be processed in place or some application level queueing be used.

Reimplemented from Engine::Application.

void Engine::AdminApplication::sendReject ( const Session sn,
const FIXMessage msg,
const std::string &  text 
)
protected

Sends Reject message into the session.

void Engine::AdminApplication::sendResponse ( const XERCES_CPP_NAMESPACE::DOMDocument *  response,
const Context context 
) const
protected

Sends response message to client.

Parameters
responseresponse body.
virtual void Engine::AdminApplication::sendResponse ( const std::string &  response,
const Context context 
) const
protectedvirtual

Sends response message to client.

Parameters
responseresponse body.
void Engine::AdminApplication::sendResponse ( const std::string &  resultCode,
const std::string &  description,
const std::string &  additionalData,
const Context context 
) const
protected

Sends response message to client in format: <?xml version="1.0"?> <Response resultcode="[resultCode]"> [description] [additionalData] </Response>

void Engine::AdminApplication::sendResponse ( const std::string &  response,
const std::string &  targetID,
const FIXMessage msg,
const XMLCh requestId 
) const
protected

Sends response message to client.

Parameters
responseResponse body.
targetIDAdmin session's TargetCompID.
msgAdmin session's TargetCompID.
requestIdCommand request ID.
msgThe incoming message.
void Engine::AdminApplication::subscriptionListNotify ( SessionAction  status,
Session changedSsn,
const SessionContext reciverSsnInfo 
)

Handle notification on sessions creation or deleting.

void Engine::AdminApplication::terminate ( )

Terminates all administrative sessions.