OnixS C++ B3 BOE Binary Order Entry 1.3.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/B3/BOE/ABI.h>
25
26#include <string>
27
28namespace OnixS {
29namespace B3 {
30namespace BOE {
31
33
103
176
200
201
204{
205public:
206 virtual void onNotApplied(const Messaging::NotApplied8 & /*msg*/, Session* /*sn*/) {}
207
210
213
215 virtual void onEstablishAck(const Messaging::EstablishAck5&, Session* /*sn*/){}
216
219
221 virtual void onTerminate(const Messaging::Terminate7&, Session* /*sn*/){}
222
224 virtual void onSequence(const Messaging::Sequence9&, Session* /*sn*/){}
225
228
231
234
237
240
243
246
249
252
255
257 virtual void onQuoteRequest(const Messaging::QuoteRequest401&, Session* /*sn*/){}
258
261
263 virtual void onQuote(const Messaging::Quote403&, Session* /*sn*/){}
264
266 virtual void onQuoteCancel(const Messaging::QuoteCancel404&, Session* /*sn*/){}
267
270
273
276
279
281 virtual void onReceivedBytes(const char * /*bytes*/, size_t /*size*/, const ReceivedDataTimestamp& /*timestamp*/, Session * /*sn*/) {}
282
284 virtual void onMessageSending(char * /*bytes*/, size_t /*size*/, Session * /*sn*/) {}
285
287 virtual void onStateChange(SessionStateId::Enum /*newState*/, SessionStateId::Enum /*prevState*/, Session * /*sn*/) {}
288
291 virtual void onError(SessionErrorReason::Enum /*reason*/, const std::string & /*description*/, Session * /*sn*/, Messaging::SbeMessage) {}
292
295 virtual void onWarning(SessionWarningReason::Enum /*reason*/, const std::string & /*description*/, Session * /*sn*/, Messaging::SbeMessage) {}
296
297protected:
298 virtual ~SessionListener() = 0;
299};
300
301}
302}
303}
#define ONIXS_B3_BOE_API_DECL(typeKind, typeName)
Definition ABI.h:29
#define ONIXS_B3_BOE_EXPORTED
Definition Compiler.h:181
#define ONIXS_B3_BOE_NOTHROW
Definition Compiler.h:182
The time point without the time-zone information.
Definition Time.h:468
virtual void onExecutionReportNew(const Messaging::ExecutionReportNew200 &, Session *)
Invoked when ExecutionReportNew200 message has received.
virtual void onNotApplied(const Messaging::NotApplied8 &, Session *)
virtual void onNegotiateReject(const Messaging::NegotiateReject3 &, Session *)
Invoked when NegotiateReject3 message has received.
virtual void onMessageSending(char *, size_t, Session *)
Called when the SBE message is about to be sent to the wire.
virtual void onSequence(const Messaging::Sequence9 &, Session *)
Invoked when Sequence9 message has received.
virtual void onQuoteRequest(const Messaging::QuoteRequest401 &, Session *)
Invoked when QuoteRequest401 message has received.
virtual void onExecutionReportTrade(const Messaging::ExecutionReportTrade203 &, Session *)
Invoked when ExecutionReportTrade203 message has received.
virtual void onRetransmission(const Messaging::Retransmission13 &, Session *)
Invoked when Retransmission13 message has received.
virtual void onEstablishAck(const Messaging::EstablishAck5 &, Session *)
Invoked when EstablishAck5 message has received.
virtual void onAllocationReport(const Messaging::AllocationReport602 &, Session *)
Invoked when AllocationReport602 message has received.
virtual void onEstablishReject(const Messaging::EstablishReject6 &, Session *)
Invoked when EstablishReject6 message has received.
virtual void onReceivedBytes(const char *, size_t, const ReceivedDataTimestamp &, Session *)
Called as soon as bytes are received from the wire.
virtual void onRetransmitReject(const Messaging::RetransmitReject14 &, Session *)
Invoked when RetransmitReject14 message has received.
virtual void onStateChange(SessionStateId::Enum, SessionStateId::Enum, Session *)
Called when the session changes its state.
virtual void onError(SessionErrorReason::Enum, const std::string &, Session *, Messaging::SbeMessage)
Called when an error condition is detected.
virtual void onQuote(const Messaging::Quote403 &, Session *)
Invoked when Quote403 message has received.
virtual void onQuoteRequestReject(const Messaging::QuoteRequestReject405 &, Session *)
Invoked when QuoteRequestReject405 message has received.
virtual void onWarning(SessionWarningReason::Enum, const std::string &, Session *, Messaging::SbeMessage)
Called when a warning condition is detected.
virtual void onQuoteStatusReport(const Messaging::QuoteStatusReport402 &, Session *)
Invoked when QuoteStatusReport402 message has received.
virtual void onTerminate(const Messaging::Terminate7 &, Session *)
Invoked when Terminate7 message has received.
virtual void onQuoteCancel(const Messaging::QuoteCancel404 &, Session *)
Invoked when QuoteCancel404 message has received.
virtual void onPositionMaintenanceReport(const Messaging::PositionMaintenanceReport503 &, Session *)
Invoked when PositionMaintenanceReport503 message has received.
virtual void onExecutionReportForward(const Messaging::ExecutionReportForward205 &, Session *)
Invoked when ExecutionReportForward205 message has received.
virtual void onSecurityDefinitionResponse(const Messaging::SecurityDefinitionResponse301 &, Session *)
Invoked when SecurityDefinitionResponse301 message has received.
virtual void onExecutionReportModify(const Messaging::ExecutionReportModify201 &, Session *)
Invoked when ExecutionReportModify201 message has received.
virtual void onExecutionReportCancel(const Messaging::ExecutionReportCancel202 &, Session *)
Invoked when ExecutionReportCancel202 message has received.
virtual void onOrderMassActionReport(const Messaging::OrderMassActionReport702 &, Session *)
Invoked when OrderMassActionReport702 message has received.
virtual void onBusinessMessageReject(const Messaging::BusinessMessageReject206 &, Session *)
Invoked when BusinessMessageReject206 message has received.
virtual void onNegotiateResponse(const Messaging::NegotiateResponse2 &, Session *)
Invoked when NegotiateResponse2 message has received.
virtual void onExecutionReportReject(const Messaging::ExecutionReportReject204 &, Session *)
Invoked when ExecutionReportReject204 message has received.
A FIXP Session.
Definition Session.h:48
AllocationReport message is as response of AllocationInstruction message.
Definition Messages.h:25187
BusinessMessageReject message can reject an application-level message which fulfills session level ru...
Definition Messages.h:16562
The EstablishmentAck message is sent when an Establish message is accepted by B3. EstablishmentAck me...
Definition Messages.h:1821
EstablishmentReject message is sent when an Establish message is rejected by B3 informing the reason ...
Definition Messages.h:2187
ExecutionReport - Cancel message is sent in response to Order Cancel Request as well as to report uns...
Definition Messages.h:11858
Execution Report – Forward message is sent with order fills were traded and processed on Matching Eng...
Definition Messages.h:15483
Execution Report - Modify message is sent in response to OrderCancelReplaceRequest or SimpleModifyOrd...
Definition Messages.h:10636
Execution Report - New message is sent in response to a NewOrderSingle or SimpleNewOrder messages,...
Definition Messages.h:9387
Execution Report - Reject message notifies the reason a client request was not accepted by Matching E...
Definition Messages.h:14315
Execution Report – Trade/Trade Bust message is sent with order fills that were traded and processed o...
Definition Messages.h:13013
NegotiateReject message is sent when B3 rejects a Negotiate message sent by the client.
Definition Messages.h:971
The NegotiationResponse message is sent when a Negotiate message from the client is accepted by B3.
Definition Messages.h:593
NotApplied message is sent when B3 detects messages that already been sent (concept of idempotence) o...
Definition Messages.h:2846
OrderMassActionReport message is used to acknowledge an OrderMassActionRequest message.
Definition Messages.h:26323
PositionMaintenanceReport message is sent owner of a position (holder) in response to a PositionMaint...
Definition Messages.h:23446
Quote message is used as the response to a QuoteRequest message, tradeable, and restricted tradeable ...
Definition Messages.h:20014
The QuoteCancel message is used to cancel a previous QuoteRequest message.
Definition Messages.h:20773
The Quote Request message is used within the context of this Forward transaction in which two parties...
Definition Messages.h:18036
The QuoteRequestReject message is used when a QuoteRequest is not accept by B3 due to missing or inco...
Definition Messages.h:21339
The QuoteStatusReport message is to inform the current status of forward acceptance.
Definition Messages.h:19016
Retransmission message is sent when a RetransmitRequest message from the client is accepted by B3.
Definition Messages.h:3672
RetransmitReject message is sent when a RetransmitRequest message is rejected by B3....
Definition Messages.h:3980
The SecurityDefinitioresponse message is sent in response to an attempt to create a new security defi...
Definition Messages.h:17565
Sequence message specifies the sequence number of the next business message both: Recoverable (B3 to ...
Definition Messages.h:3112
Terminate message is sent to indicate that the sender is going to disconnect the TCP socket connectio...
Definition Messages.h:2548
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
@ 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.
@ UnexpectedSessionVerId
A message with unexpected sessionVerId is received.
@ 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 NegotiationResponse or EstablishmentAck message.
@ LinkErrorIsDetected
Telecommunication link error is detected.
@ TerminateInReplyOnEstablish
The Terminate message is received in reply to the Establish message.
@ CannotRestoreConnection
Connection cannot be restored.
@ GeneralError
A general session-related error.
@ NegotiationReject
The Negotiation Reject message is received in reply to the Negotiation message.
@ MsgSeqNumTooLow
The incoming message has a sequence number less than expected and the PossRetransFlag is not set,...
@ LinkErrorIsDetectedDuringSessionEstablishment
After sending the initial Negotiate or Establish message the telecommunication link error is detected...
@ EstablishmentReject
The Establishment Reject message is received in reply to the Establish message.
@ ExceptionDuringProcessingOfIncomingMessage
Exception during processing of an incoming message.
static const char * toString(Enum type) noexcept
@ UnexpectedNextSeqNo
Received an unexpected NextSeqNo value.
@ PluggableSessionStorageException
An exception is thrown from the user-provided Session Storage.
@ CannotRestoreSessionState
Session state cannot be restored.
@ RetransmitReject
The Retransmit Reject message is received in reply to the Retransmit Request message.
@ UnexpectedSessionId
Received a message with an unexpected sessionId.
@ 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 PossRetransFlag is se...
@ 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 B3.
@ 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.