OnixS C++ FIX Engine 4.13.0
API Documentation
Loading...
Searching...
No Matches
ISessionStorage Class Referenceabstract

Classes

class  ISessionStorageListener
struct  RawMessagePointer

Public Member Functions

virtual ~ISessionStorage () ONIXS_FIXENGINE_DEFAULT
virtual void clear ()=0
virtual void close (bool keepSequenceNumbers, bool doBackup)=0
virtual void getOutbound (SequenceNumber beginSequenceNumber, SequenceNumber endSequenceNumber, ISessionStorageListener *listener)=0
virtual SequenceNumber inSeqNum ()=0
virtual void inSeqNum (SequenceNumber messageSequenceNumber)=0
virtual void storeInbound (const Message &message, SequenceNumber sequenceNumber, const RawMessagePointer &pointer, bool logMessage)=0
virtual void storeInbound (const FlatMessage &message, SequenceNumber sequenceNumber, const RawMessagePointer &pointer, bool logMessage)=0
virtual void storeOutbound (const Message &message, const RawMessagePointer &pointer, bool logMessage)=0
virtual void storeOutbound (const FlatMessage &message, SequenceNumber sequenceNumber, const RawMessagePointer &pointer, bool logMessage)=0
virtual void setSessionTerminationFlag (bool terminated)=0
virtual SequenceNumber outSeqNum ()=0
virtual void outSeqNum (SequenceNumber messageSequenceNumber)=0
virtual void sessionCreationTime (Timestamp timestamp)=0
virtual Timestamp sessionCreationTime ()=0
virtual void flush ()=0
virtual size_t resendingQueueSize () const =0
virtual void resendingQueueSize (size_t value)=0
virtual void warmup (size_t)

Detailed Description

Definition at line 33 of file ISessionStorage.h.

Constructor & Destructor Documentation

◆ ~ISessionStorage()

virtual ~ISessionStorage ( )
virtual

The destructor.

Member Function Documentation

◆ clear()

virtual void clear ( )
pure virtual

Clears the storage.

◆ close()

virtual void close ( bool keepSequenceNumbers,
bool doBackup )
pure virtual

Closes the storage.

Parameters
keepSequenceNumbersThe flag to indicate if it needs to clear sequence numbers on close or not. It corresponds to the same parameter in the Session's constructor.
doBackupThe flag to indicate if it needs to back up the stored data. It is true, when the Session::resetLocalSequenceNumbers() method is called.

◆ flush()

virtual void flush ( )
pure virtual

Flushes all internal buffers.

◆ getOutbound()

virtual void getOutbound ( SequenceNumber beginSequenceNumber,
SequenceNumber endSequenceNumber,
ISessionStorageListener * listener )
pure virtual

Gets the messages that have been sent earlier.

The implementation should pass required messages one by one to the ISessionStorageListener::onReplayedMessage(const RawMessagePointer& pointer) method. It is possible to omit some or even all messages in the requested range, in this case the Engine will automatically generate appropriate SequenceReset-GapFill messages to replace omitted ones.

Parameters
beginSequenceNumberThe sequence number of first message to resend.
endSequenceNumberthe sequence number of last message to resend.
listenerRequested messages have to be passed to the interface using the ISessionStorageListener::onReplayedMessage method.
Note
The FIX Engine/Session Storage does NOT manage the lifetime of this listener.

◆ inSeqNum() [1/2]

virtual SequenceNumber inSeqNum ( )
pure virtual

Returns the last inbound sequence number.

◆ inSeqNum() [2/2]

virtual void inSeqNum ( SequenceNumber messageSequenceNumber)
pure virtual

Sets the last inbound sequence number.

◆ outSeqNum() [1/2]

virtual SequenceNumber outSeqNum ( )
pure virtual

Returns the last outgoing sequence number.

◆ outSeqNum() [2/2]

virtual void outSeqNum ( SequenceNumber messageSequenceNumber)
pure virtual

Sets the last outgoing sequence number.

◆ resendingQueueSize() [1/2]

virtual size_t resendingQueueSize ( ) const
pure virtual

Returns the number of sent messages that are available for resending on counterparty's Resend Request <2> message.

◆ resendingQueueSize() [2/2]

virtual void resendingQueueSize ( size_t value)
pure virtual

Sets the number of sent messages that are available for resending on counterparty's Resend Request <2> message.

◆ sessionCreationTime() [1/2]

virtual Timestamp sessionCreationTime ( )
pure virtual

Returns a value stored by the ISessionStorage::sessionCreationTime(Timestamp) call.

If the timestamp was never updated the method should return an instance of the OnixS::FIX::Timestamp class created by the default constructor.

The code snippet below illustrate this approach:

virtual Timestamp sessionCreationTime() {

if (!creationTimeUpdated_) return Timestamp();

/* Return previously stored value. *‍/

}

◆ sessionCreationTime() [2/2]

virtual void sessionCreationTime ( Timestamp timestamp)
pure virtual

Sets the session creation time.

The implementation should store the timestamp value. This value have to be returned without changes by subsequent ISessionStorage::sessionCreationTime() calls.

Parameters
timestampThe timestamp to store in the storage.

◆ setSessionTerminationFlag()

virtual void setSessionTerminationFlag ( bool terminated)
pure virtual

Sets the session termination flag.

Parameters
terminatedIf 'true' then the session is terminated and its state information is not needed any more. It happens when the session is disconnected gracefully, and the keepSequenceNumbers parameter is false.

◆ storeInbound() [1/2]

virtual void storeInbound ( const FlatMessage & message,
SequenceNumber sequenceNumber,
const RawMessagePointer & pointer,
bool logMessage )
pure virtual

Stores the given inbound message.

Parameters
messageThe incoming message.
sequenceNumberThe sequence number of the inbound message.
pointerThe raw buffer of the inbound message.
logMessageThe flag to indicate whether it needs to store the content of the message in the session storage or not. This parameter depends on the Session::logInboundMessages() and Session::inboundMessageLogFilter() settings.

◆ storeInbound() [2/2]

virtual void storeInbound ( const Message & message,
SequenceNumber sequenceNumber,
const RawMessagePointer & pointer,
bool logMessage )
pure virtual

Stores the given inbound message.

Parameters
messageThe incoming message.
sequenceNumberThe sequence number of the inbound message.
pointerThe raw buffer of the inbound message.
logMessageThe flag to indicate whether it needs to store the content of the message in the session storage or not. This parameter depends on the Session::logInboundMessages() and Session::inboundMessageLogFilter() settings.

◆ storeOutbound() [1/2]

virtual void storeOutbound ( const FlatMessage & message,
SequenceNumber sequenceNumber,
const RawMessagePointer & pointer,
bool logMessage )
pure virtual

Stores the given outgoing message.

It is called when the messageMode is set to FlatMessage.

Parameters
messageThe outgoing message.
sequenceNumberThe sequence number of the outgoing message.
pointerThe raw buffer of the outgoing message.
logMessageThe flag to indicate whether it needs to store the content of the message in the session storage or not. This parameter depends on the Session::logOutboundMessages() and Session::outboundMessageLogFilter() settings.

◆ storeOutbound() [2/2]

virtual void storeOutbound ( const Message & message,
const RawMessagePointer & pointer,
bool logMessage )
pure virtual

Stores the given outgoing message.

It is called when the messageMode is set to Message.

Parameters
messageThe outgoing message.
pointerThe raw buffer of the outgoing message.
logMessageThe flag to indicate whether it needs to store the content of the message in the session storage or not. This parameter depends on the Session::logOutboundMessages() and Session::outboundMessageLogFilter() settings.

◆ warmup()

virtual void warmup ( size_t )
inlinevirtual

Warm ups the storage.

Definition at line 171 of file ISessionStorage.h.