OnixS C++ FIX Engine 4.13.0
API Documentation
Loading...
Searching...
No Matches
ISessionStorage.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 <string>
23#include <vector>
24
29
30namespace OnixS {
31namespace FIX {
34{
35public:
38
40 virtual void clear() = 0;
41
46 virtual void close(bool keepSequenceNumbers, bool doBackup) = 0;
47
51
52 RawMessagePointer(const char * buffer, size_t length);
53
55 const char * buffer_;
56
57 size_t length_;
58 };
59
62 {
63 public:
66
68 virtual void onReplayedMessage(const RawMessagePointer & pointer) = 0;
69 };
70
80 virtual void getOutbound(SequenceNumber beginSequenceNumber, SequenceNumber endSequenceNumber, ISessionStorageListener * listener) = 0;
81
83 virtual SequenceNumber inSeqNum() = 0;
84
86 virtual void inSeqNum(SequenceNumber messageSequenceNumber) = 0;
87
95 virtual void storeInbound(const Message & message, SequenceNumber sequenceNumber, const RawMessagePointer & pointer, bool logMessage) = 0;
96
104 virtual void storeInbound(const FlatMessage & message, SequenceNumber sequenceNumber, const RawMessagePointer & pointer, bool logMessage) = 0;
105
113 virtual void storeOutbound(const Message & message, const RawMessagePointer & pointer, bool logMessage) = 0;
114
123 virtual void storeOutbound(const FlatMessage & message, SequenceNumber sequenceNumber, const RawMessagePointer & pointer, bool logMessage) = 0;
124
129 virtual void setSessionTerminationFlag(bool terminated) = 0;
130
133
135 virtual void outSeqNum(SequenceNumber messageSequenceNumber) = 0;
136
142 virtual void sessionCreationTime(Timestamp timestamp) = 0;
143
160
162 virtual void flush() = 0;
163
165 virtual size_t resendingQueueSize() const = 0;
166
168 virtual void resendingQueueSize(size_t value) = 0;
169
171 virtual void warmup(size_t /*messageSize*/) {}
172};
173}
174}
#define ONIXS_FIXENGINE_API
Definition ABI.h:45
#define ONIXS_FIXENGINE_DEFAULT
Definition Compiler.h:194
Provides an access to FIX fields from a flat (tag=value) message.
The Session Storage listener that is used to replay messages.
virtual void onReplayedMessage(const RawMessagePointer &pointer)=0
The Implementation should pass required messages one by one to this method.
virtual ~ISessionStorageListener() ONIXS_FIXENGINE_DEFAULT
The session's pluggable storage.
virtual void close(bool keepSequenceNumbers, bool doBackup)=0
Closes the storage.
virtual size_t resendingQueueSize() const =0
Returns the number of sent messages that are available for resending on counterparty's Resend Request...
virtual void setSessionTerminationFlag(bool terminated)=0
Sets the session termination flag.
virtual void sessionCreationTime(Timestamp timestamp)=0
Sets the session creation time.
virtual SequenceNumber inSeqNum()=0
Returns the last inbound sequence number.
virtual void flush()=0
Flushes all internal buffers.
virtual SequenceNumber outSeqNum()=0
Returns the last outgoing sequence number.
virtual void storeInbound(const Message &message, SequenceNumber sequenceNumber, const RawMessagePointer &pointer, bool logMessage)=0
Stores the given inbound message.
virtual void clear()=0
Clears the storage.
virtual void storeOutbound(const Message &message, const RawMessagePointer &pointer, bool logMessage)=0
Stores the given outgoing message.
virtual ~ISessionStorage() ONIXS_FIXENGINE_DEFAULT
The destructor.
virtual void getOutbound(SequenceNumber beginSequenceNumber, SequenceNumber endSequenceNumber, ISessionStorageListener *listener)=0
Gets the messages that have been sent earlier.
virtual void warmup(size_t)
Warm ups the storage.
Encapsulates operations over a FIX Message.
Definition Message.h:52
The timestamps related functionality.
Definition Timestamp.h:92
unsigned int SequenceNumber
Alias for the sequence number.
The pointer to the native (tag=value) FIX Message.
RawMessagePointer(const char *buffer, size_t length)