OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
Listener Class Reference

Public Member Functions

 ~Listener () override=default
void onMessageSending (char *bytes, size_t size, Session *) override
void onLogonReport (const Messaging::LogonReport msg, Session *) override
void onLogoutReport (const Messaging::LogoutReport msg, Session *) override
void onHeartBeat (const Messaging::HeartBeat msg, Session *) override
void onError (const Messaging::Error msg, Session *) override
void onNews (const Messaging::News msg, Session *) override
void onSecurityDefinitionReport_Strategy (const Messaging::SecurityDefinitionReport_Strategy msg, Session *) override
void onSecurityDefinitionReport (const Messaging::SecurityDefinitionReport msg, Session *) override
void onSecurityDefinitionReject (const Messaging::SecurityDefinitionReject msg, Session *) override
void onSecurityDefinitionReport_Product (const Messaging::SecurityDefinitionReport_Product msg, Session *) override
void onIPReport (const Messaging::IPReport msg, Session *) override
void onTraderLogonReport (const Messaging::TraderLogonReport msg, Session *) override
void onTraderLogoutReport (const Messaging::TraderLogoutReport msg, Session *) override
void onExecutionReport_New (const Messaging::ExecutionReport_New msg, Session *) override
void onExecutionReport_Modify (const Messaging::ExecutionReport_Modify msg, Session *) override
void onExecutionReport_Cancel (const Messaging::ExecutionReport_Cancel msg, Session *) override
void onExecutionReport_Reject (const Messaging::ExecutionReport_Reject msg, Session *) override
void onExecutionReport_Snapshot (const Messaging::ExecutionReport_Snapshot msg, Session *) override
void onExecutionReport_Trade (const Messaging::ExecutionReport_Trade msg, Session *) override
void onQuoteReport (const Messaging::QuoteReport msg, Session *) override
void onNewOrderCrossReport (const Messaging::NewOrderCrossReport msg, Session *) override
void onOrderMassCancelReport (const Messaging::OrderMassCancelReport msg, Session *) override
void onMassQuoteReport (const Messaging::MassQuoteReport msg, Session *) override
void onStateChange (SessionStateId::Enum newState, SessionStateId::Enum prevState, Session *) override
void onError (SessionErrorReason::Enum, const std::string &description, Session *, Messaging::SbeMessage msg) override
void onWarning (SessionWarningReason::Enum, const std::string &description, Session *, Messaging::SbeMessage msg) override
Public Member Functions inherited from SessionListener
virtual void onSequenceReset (const Messaging::SequenceReset msg, Session *sn)
virtual void onResendReport (const Messaging::ResendReport msg, Session *sn)
virtual void onReceivedBytes (const char *bytes, size_t size, const ReceivedDataTimestamp &timestamp, Session *sn)

Public Attributes

std::promise< void > traderLoggedOn

Additional Inherited Members

Protected Member Functions inherited from SessionListener
virtual ~SessionListener ()=0

Detailed Description

Definition at line 53 of file Listener.h.

Constructor & Destructor Documentation

◆ ~Listener()

~Listener ( )
overridedefault

Member Function Documentation

◆ onError() [1/2]

void onError ( const Messaging::Error msg,
Session * sn )
inlineoverridevirtual

Called when an Error message is received from the counterparty.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 79 of file Listener.h.

80 {
81 std::clog << "\nReceived:\n" << msg << std::endl;
82 }

◆ onError() [2/2]

void onError ( SessionErrorReason::Enum reason,
const std::string & description,
Session * sn,
Messaging::SbeMessage msg )
inlineoverridevirtual

Called when an error condition is detected by the session.

Parameters
reasonError reason code.
descriptionHuman-readable description of the problem.
snSession instance that detected the error.
msgMessage that caused the problem (may be invalid; check validity before use).

Reimplemented from SessionListener.

Definition at line 195 of file Listener.h.

197 {
198 std::cerr << "\nSession-level error: " << description;
199
200 if(msg.valid())
201 {
202 std::cerr << ",\nCaused by the message: ";
203 MessagePrinter::printMsg(msg);
204 }
205
206 std::cerr << std::endl;
207 }

◆ onExecutionReport_Cancel()

void onExecutionReport_Cancel ( const Messaging::ExecutionReport_Cancel msg,
Session * sn )
inlineoverridevirtual

Called when an ExecutionReport_Cancel message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 145 of file Listener.h.

146 {
147 std::clog << "\nReceived:\n" << msg << std::endl;
148 }

◆ onExecutionReport_Modify()

void onExecutionReport_Modify ( const Messaging::ExecutionReport_Modify msg,
Session * sn )
inlineoverridevirtual

Called when an ExecutionReport_Modify message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 140 of file Listener.h.

141 {
142 std::clog << "\nReceived:\n" << msg << std::endl;
143 }

◆ onExecutionReport_New()

void onExecutionReport_New ( const Messaging::ExecutionReport_New msg,
Session * sn )
inlineoverridevirtual

Called when an ExecutionReport_New message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 135 of file Listener.h.

136 {
137 std::clog << "\nReceived:\n" << msg << std::endl;
138 }

◆ onExecutionReport_Reject()

void onExecutionReport_Reject ( const Messaging::ExecutionReport_Reject msg,
Session * sn )
inlineoverridevirtual

Called when an ExecutionReport_Reject message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 150 of file Listener.h.

151 {
152 std::clog << "\nReceived:\n" << msg << std::endl;
153 }

◆ onExecutionReport_Snapshot()

void onExecutionReport_Snapshot ( const Messaging::ExecutionReport_Snapshot msg,
Session * sn )
inlineoverridevirtual

Called when an ExecutionReport_Snapshot message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 155 of file Listener.h.

156 {
157 std::clog << "\nReceived:\n" << msg << std::endl;
158 }

◆ onExecutionReport_Trade()

void onExecutionReport_Trade ( const Messaging::ExecutionReport_Trade msg,
Session * sn )
inlineoverridevirtual

Called when an ExecutionReport_Trade message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 160 of file Listener.h.

161 {
162 std::clog << "\nReceived:\n" << msg << std::endl;
163 }

◆ onHeartBeat()

void onHeartBeat ( const Messaging::HeartBeat msg,
Session * sn )
inlineoverridevirtual

Called when a HeartBeat message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 74 of file Listener.h.

75 {
76 std::clog << "\nReceived:\n" << msg << std::endl;
77 }

◆ onIPReport()

void onIPReport ( const Messaging::IPReport msg,
Session * sn )
inlineoverridevirtual

Called when an IPReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 109 of file Listener.h.

110 {
111 std::clog << "\nReceived:\n" << msg << std::endl;
112 }

◆ onLogonReport()

void onLogonReport ( const Messaging::LogonReport msg,
Session * sn )
inlineoverridevirtual

Called when a LogonReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 64 of file Listener.h.

65 {
66 std::clog << "\nReceived:\n" << msg << std::endl;
67 }

◆ onLogoutReport()

void onLogoutReport ( const Messaging::LogoutReport msg,
Session * sn )
inlineoverridevirtual

Called when a LogoutReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 69 of file Listener.h.

70 {
71 std::clog << "\nReceived:\n" << msg << std::endl;
72 }

◆ onMassQuoteReport()

void onMassQuoteReport ( const Messaging::MassQuoteReport msg,
Session * sn )
inlineoverridevirtual

Called when a MassQuoteReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 180 of file Listener.h.

181 {
182 std::clog << "\nReceived:\n" << msg << std::endl;
183 }

◆ onMessageSending()

void onMessageSending ( char * bytes,
size_t size,
Session * sn )
inlineoverridevirtual

Called right before an SBE message is sent to the wire.

Parameters
bytesPointer to the outbound buffer.
sizeSize of bytes in bytes.
snSession instance that is sending the message.

Reimplemented from SessionListener.

Definition at line 58 of file Listener.h.

59 {
60 std::clog << "\nOutbound message:\n";
61 MessagePrinter::printMsg(SbeMessage(bytes, static_cast<Messaging::MessageSize>(size)));
62 }

◆ onNewOrderCrossReport()

void onNewOrderCrossReport ( const Messaging::NewOrderCrossReport msg,
Session * sn )
inlineoverridevirtual

Called when a NewOrderCrossReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 170 of file Listener.h.

171 {
172 std::clog << "\nReceived:\n" << msg << std::endl;
173 }

◆ onNews()

void onNews ( const Messaging::News msg,
Session * sn )
inlineoverridevirtual

Called when a News message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 84 of file Listener.h.

85 {
86 std::clog << "\nReceived:\n" << msg << std::endl;
87 }

◆ onOrderMassCancelReport()

void onOrderMassCancelReport ( const Messaging::OrderMassCancelReport msg,
Session * sn )
inlineoverridevirtual

Called when an OrderMassCancelReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 175 of file Listener.h.

176 {
177 std::clog << "\nReceived:\n" << msg << std::endl;
178 }

◆ onQuoteReport()

void onQuoteReport ( const Messaging::QuoteReport msg,
Session * sn )
inlineoverridevirtual

Called when a QuoteReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 165 of file Listener.h.

166 {
167 std::clog << "\nReceived:\n" << msg << std::endl;
168 }

◆ onSecurityDefinitionReject()

void onSecurityDefinitionReject ( const Messaging::SecurityDefinitionReject msg,
Session * sn )
inlineoverridevirtual

Called when a SecurityDefinitionReject message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 99 of file Listener.h.

100 {
101 std::clog << "\nReceived:\n" << msg << std::endl;
102 }

◆ onSecurityDefinitionReport()

void onSecurityDefinitionReport ( const Messaging::SecurityDefinitionReport msg,
Session * sn )
inlineoverridevirtual

Called when a SecurityDefinitionReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 94 of file Listener.h.

95 {
96 std::clog << "\nReceived:\n" << msg << std::endl;
97 }

◆ onSecurityDefinitionReport_Product()

void onSecurityDefinitionReport_Product ( const Messaging::SecurityDefinitionReport_Product msg,
Session * sn )
inlineoverridevirtual

Called when a SecurityDefinitionReport_Product message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 104 of file Listener.h.

105 {
106 std::clog << "\nReceived:\n" << msg << std::endl;
107 }

◆ onSecurityDefinitionReport_Strategy()

void onSecurityDefinitionReport_Strategy ( const Messaging::SecurityDefinitionReport_Strategy msg,
Session * sn )
inlineoverridevirtual

Called when a SecurityDefinitionReport_Strategy message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 89 of file Listener.h.

90 {
91 std::clog << "\nReceived:\n" << msg << std::endl;
92 }

◆ onStateChange()

void onStateChange ( SessionStateId::Enum newState,
SessionStateId::Enum prevState,
Session * sn )
inlineoverridevirtual

Called when the session changes its state.

Parameters
newStateNew session state.
prevStatePrevious session state.
snSession instance whose state has changed.

Reimplemented from SessionListener.

Definition at line 185 of file Listener.h.

186 {
187 std::clog
188 << "\nSession's state is changed, prevState="
189 << SessionStateId::toString(prevState)
190 << ", newState="
191 << SessionStateId::toString(newState)
192 << std::endl;
193 }

◆ onTraderLogonReport()

void onTraderLogonReport ( const Messaging::TraderLogonReport msg,
Session * sn )
inlineoverridevirtual

Called when a TraderLogonReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 114 of file Listener.h.

115 {
116 std::clog << "\nReceived:\n" << msg << std::endl;
117
118 if(const auto code = msg.exchangeCode())
119 {
120 const auto text = msg.text();
121 assert(nullOpt != text);
122
123 traderLoggedOn.set_exception(std::make_exception_ptr(std::runtime_error(Messaging::format(*code, *text))));
124 return;
125 }
126
127 traderLoggedOn.set_value();
128 }

◆ onTraderLogoutReport()

void onTraderLogoutReport ( const Messaging::TraderLogoutReport msg,
Session * sn )
inlineoverridevirtual

Called when a TraderLogoutReport message is received.

Parameters
msgReceived message.
snSession instance that received the message.

Reimplemented from SessionListener.

Definition at line 130 of file Listener.h.

131 {
132 std::clog << "\nReceived:\n" << msg << std::endl;
133 }

◆ onWarning()

void onWarning ( SessionWarningReason::Enum reason,
const std::string & description,
Session * sn,
Messaging::SbeMessage msg )
inlineoverridevirtual

Called when a warning condition is detected by the session.

Parameters
reasonWarning reason code.
descriptionHuman-readable description of the warning.
snSession instance that detected the warning.
msgMessage that caused the warning (may be invalid; check validity before use).

Reimplemented from SessionListener.

Definition at line 209 of file Listener.h.

211 {
212 std::cerr << "\nSession-level warning: " << description;
213
214 if(msg.valid())
215 {
216 std::cerr << ",\nCaused by the message: ";
217 MessagePrinter::printMsg(msg);
218 }
219
220 std::cerr << std::endl;
221 }

Member Data Documentation

◆ traderLoggedOn

std::promise<void> traderLoggedOn

Definition at line 223 of file Listener.h.