OnixS C++ FIX Engine  4.9.0
API Documentation
ISessionStorage Class Referenceabstract

#include <OnixS/FIXEngine/FIX/ISessionStorage.h>

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

virtual ~ISessionStorage ( )
virtual

Destructor.

Member Function Documentation

virtual void clear ( )
pure virtual

Clears the storage.

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

Closes the storage.

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

Flushes all internal buffers.

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

Gets the messages that have been sent earlier.

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

Parameters
beginSequenceNumberSequence number of first message to resend.
endSequenceNumberSequence number of last message to resend.
listenerRequested messages have to be passed to the interface using ISessionStorageListener::onReplayedMessage method.
Note
FIX Engine/Session Storage does NOT manage the lifetime of this listener.
virtual SequenceNumber inSeqNum ( )
pure virtual

Returns the last inbound sequence number.

virtual void inSeqNum ( SequenceNumber  messageSequenceNumber)
pure virtual

Sets the last inbound sequence number.

virtual SequenceNumber outSeqNum ( )
pure virtual

Returns the last outgoing sequence number.

virtual void outSeqNum ( SequenceNumber  messageSequenceNumber)
pure virtual

Sets the last outgoing sequence number.

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.

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.

virtual void sessionCreationTime ( Timestamp  timestamp)
pure virtual

Sets session creation time.

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

Parameters
timestampTimestamp to store in the storage.
virtual Timestamp sessionCreationTime ( )
pure virtual

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

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

Code snippet below illustrate this approach:

virtual Timestamp sessionCreationTime() {
if (!creationTimeUpdated_)
return Timestamp();
/* Return previously stored value. */
}
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.
virtual void storeInbound ( const Message message,
SequenceNumber  sequenceNumber,
const RawMessagePointer pointer,
bool  logMessage 
)
pure virtual

Stores the given inbound message.

Parameters
messageIncoming message.
sequenceNumberSequence number of the inbound message.
pointerRaw buffer of the inbound message.
logMessageFlag 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.
virtual void storeInbound ( const FlatMessage message,
SequenceNumber  sequenceNumber,
const RawMessagePointer pointer,
bool  logMessage 
)
pure virtual

Stores the given inbound message.

Parameters
messageIncoming message.
sequenceNumberSequence number of the inbound message.
pointerRaw buffer of the inbound message.
logMessageFlag 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.
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
messageOutgoing message.
pointerRaw buffer of the outgoing message.
logMessageFlag 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.
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
messageOutgoing message.
sequenceNumberSequence number of the outgoing message.
pointerRaw buffer of the outgoing message.
logMessageFlag 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.
virtual void warmup ( size_t  )
inlinevirtual

Warmup the storage.

Definition at line 171 of file ISessionStorage.h.


The documentation for this class was generated from the following file: