OnixS C++ ICE Binary Order Entry Handler 1.0.0
API Documentation
Loading...
Searching...
No Matches
SessionListener.h
Go to the documentation of this file.
1/*
2* Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3*
4* This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5* and international copyright treaties.
6*
7* Access to and use of the software is governed by the terms of the applicable OnixS Software
8* Services Agreement (the Agreement) and Customer end user license agreements granting
9* a non-assignable, non-transferable and non-exclusive license to use the software
10* for it's own data processing purposes under the terms defined in the Agreement.
11*
12* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13* of this source code or associated reference material to any other location for further reproduction
14* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15*
16* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17* the terms of the Agreement is a violation of copyright law.
18*/
19
20#pragma once
21
22#include <OnixS/ICE/BOE/ABI.h>
24
28
29#include <string>
30
32
33ONIXS_ICEBOE_API_DECL(class, Session);
34
101
171
195
196
199{
200public:
203 virtual void onHeartBeat(const Messaging::HeartBeat, Session*) {}
204 virtual void onError(const Messaging::Error, Session*) {}
205 virtual void onNews(const Messaging::News, Session*) {}
210 virtual void onIPReport(const Messaging::IPReport, Session*) {}
213
224
227
228
230 virtual void onReceivedBytes(const char * /*bytes*/, size_t /*size*/, const ReceivedDataTimestamp& /*timestamp*/, Session *) {}
231
233 virtual void onMessageSending(char * /*bytes*/, size_t /*size*/, Session *) {}
234
236 virtual void onStateChange(SessionStateId::Enum /*newState*/, SessionStateId::Enum /*prevState*/, Session *) {}
237
240 virtual void onError(SessionErrorReason::Enum, const std::string& /*description*/, Session *, Messaging::SbeMessage) {}
241
244 virtual void onWarning(SessionWarningReason::Enum, const std::string& /*description*/, Session *, Messaging::SbeMessage) {}
245
246protected:
247 virtual ~SessionListener() = 0;
248};
249
#define ONIXS_ICEBOE_NAMESPACE_BEGIN
Definition ABI.h:94
#define ONIXS_ICEBOE_NAMESPACE_END
Definition ABI.h:98
#define ONIXS_ICEBOE_API_DECL(typeKind, typeName)
Definition ABI.h:27
#define ONIXS_ICEBOE_EXPORTED
Definition Compiler.h:153
The time point without the time-zone information.
Definition Time.h:470
virtual void onSecurityDefinitionReport(const Messaging::SecurityDefinitionReport, Session *)
virtual void onExecutionReport_Reject(const Messaging::ExecutionReport_Reject, Session *)
virtual void onExecutionReport_Snapshot(const Messaging::ExecutionReport_Snapshot, Session *)
virtual void onLogoutReport(const Messaging::LogoutReport, Session *)
virtual void onTraderLogoutReport(const Messaging::TraderLogoutReport, Session *)
virtual void onSecurityDefinitionReport_Strategy(const Messaging::SecurityDefinitionReport_Strategy, Session *)
virtual void onExecutionReport_New(const Messaging::ExecutionReport_New, Session *)
virtual void onMessageSending(char *, size_t, Session *)
Called when the SBE message is about to be sent to the wire.
virtual void onNews(const Messaging::News, Session *)
virtual void onExecutionReport_Cancel(const Messaging::ExecutionReport_Cancel, Session *)
virtual void onSequenceReset(const Messaging::SequenceReset, Session *)
virtual void onReceivedBytes(const char *, size_t, const ReceivedDataTimestamp &, Session *)
Called as soon as bytes are received from the wire.
virtual void onStateChange(SessionStateId::Enum, SessionStateId::Enum, Session *)
Called when the session changes its state.
virtual void onQuoteReport(const Messaging::QuoteReport, Session *)
virtual void onError(SessionErrorReason::Enum, const std::string &, Session *, Messaging::SbeMessage)
Called when an error condition is detected.
virtual void onExecutionReport_Modify(const Messaging::ExecutionReport_Modify, Session *)
virtual void onLogonReport(const Messaging::LogonReport, Session *)
virtual void onWarning(SessionWarningReason::Enum, const std::string &, Session *, Messaging::SbeMessage)
Called when a warning condition is detected.
virtual void onOrderMassCancelReport(const Messaging::OrderMassCancelReport, Session *)
virtual void onTraderLogonReport(const Messaging::TraderLogonReport, Session *)
virtual void onResendReport(const Messaging::ResendReport, Session *)
virtual void onError(const Messaging::Error, Session *)
virtual void onMassQuoteReport(const Messaging::MassQuoteReport, Session *)
virtual void onSecurityDefinitionReject(const Messaging::SecurityDefinitionReject, Session *)
virtual void onNewOrderCrossReport(const Messaging::NewOrderCrossReport, Session *)
virtual void onSecurityDefinitionReport_Product(const Messaging::SecurityDefinitionReport_Product, Session *)
virtual void onIPReport(const Messaging::IPReport, Session *)
virtual void onExecutionReport_Trade(const Messaging::ExecutionReport_Trade, Session *)
virtual void onHeartBeat(const Messaging::HeartBeat, Session *)
Error processing client request.
Definition Messages.h:1339
New Order, cancel-replace, or cancel reject.
Definition Messages.h:18849
Heartbeat message. Sent in the absence of application messages.
Definition Messages.h:1160
Response to IPRequest for Binary Gateways.
Definition Messages.h:8474
Logon Report for Gateway ID.
Definition Messages.h:393
Logout Report for Gateway ID.
Definition Messages.h:903
Message identifiers and length of message root.
Definition Messages.h:22567
Report for Order Mass Cancel Request.
Definition Messages.h:22158
Response to Quote Request (RFQ).
Definition Messages.h:21460
Resend response for retransmission of messages.
Definition Messages.h:23476
Security Definition for futures, options, and FLEX creations. Each report will contain a single marke...
Definition Messages.h:4235
Trader Logon Report for Trader ID.
Definition Messages.h:9418
Represents a timestamp of the received data.
@ Software
Timestamp provided by the OS kernel / user-level network stack.
@ Hardware
Timestamp provided by the network card.
Messaging::Timestamp time_
The timestamp.
static const char * toString(Enum type) noexcept
@ UnsuccessfulLogonReportInReplyOnLogonRequest
The unsuccessful Logon Report message is received in reply to the LogonRequest message.
@ PluggableSessionStorageException
An exception is thrown from the user-provided Session Storage.
@ CannotRestoreSessionState
Session state cannot be restored.
@ CannotEstablishConnection
Connection cannot be established.
@ DecodingError
Received an invalid incoming message.
@ IncomingMessageGapQueueOverflow
The maximum size of the incoming message gap queue is exceeded.
@ KeepAliveIntervalLapsed
When two times the KeepAliveInterval has expired and no keep alive message is received then the sessi...
@ ExchangeInitiatedTerminateMessage
The Exchange sent the initial Terminate message.
@ UnexpectedMessageType
First message received is not the LogonReport message.
@ LinkErrorIsDetected
Telecommunication link error is detected.
@ CannotRestoreConnection
Connection cannot be restored.
@ GeneralError
A general session-related error.
@ ErrorInReplyOnLogonRequest
The Error message is received in reply to the LogonRequest message.
@ MsgSeqNumTooLow
The incoming message has a sequence number less than expected and the PossRetransFlag is not set,...
@ LogoutReportInReplyOnLogonRequest
The LogoutReport message is received in reply to the LogonRequest message.
@ LinkErrorIsDetectedDuringSessionEstablishment
After sending the initial Negotiate or Establish message the telecommunication link error is detected...
@ ExceptionDuringProcessingOfIncomingMessage
Exception during processing of an incoming message.
static const char * toString(Enum type) noexcept
@ IncorrectResponseTimestamp
A response message with unexpected requestTimestamp field value is received.
@ UnexpectedNextSeqNo
Received an unexpected NextSeqNo value.
@ PluggableSessionStorageException
An exception is thrown from the user-provided Session Storage.
@ CannotRestoreSessionState
Session state cannot be restored.
@ LicenseExpiration
Raised when the license will expire in less than SessionSettings::licenseAlertingDaysBeforeExpiration
@ RestoreSessionStateWarning
Session state cannot be restored.
@ SequenceGapIsDetected
Incoming message sequence gap is detected.
@ CannotSetSocketOption
Error setting socket option.
@ MsgSeqNumOutOfRange
The incoming message has a sequence number is out of the expected range and the HeaderFlags::possRese...
@ ExceptionInEventHandler
Exception was thrown from user's event handler.
@ LinkErrorIsDetected
Telecommunication link error is detected.
@ AsyncFileBasedStorageQueueOverflow
Raised when the AsyncFileBasedStorage queue exceeded SessionSettings::asyncFileBasedStorageQueueMaxSi...
@ GeneralWarning
General session-related warning.
@ UnexpectedSbeSchemaVersion
Unexpected SBE Schema version is received from the exchange.
@ ReceiveTimeoutIsDetected
Raised when the KeepAliveInterval has expired and no keep alive message is received.
@ LinkErrorIsDetectedDuringSessionEstablishment
After sending the initial Negotiate or Establish message the telecommunication link error is detected...
@ CannotBackup
Cannot backup the file.
@ UnsupportedMessageType
Received an unsupported message type.