OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
SessionStorage.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#pragma once
20
21#include <OnixS/ICE/BOE/ABI.h>
26
27#include <string>
28#include <vector>
29
31
33
60
63{
64public:
66 virtual ~SessionStorage() = default;
67
69 virtual const std::string & id() const = 0;
70
72 virtual SeqNumber inSeqNum() const = 0;
73
75 virtual void inSeqNum(SeqNumber msgSeqNum) = 0;
76
78 virtual SeqNumber outSeqNum() const = 0;
79
81 virtual void outSeqNum(SeqNumber msgSeqNum) = 0;
82
84 virtual Timestamp sessionCreationTime() const = 0;
85
87 virtual void sessionCreationTime(Timestamp) = 0;
88
90 virtual void close(bool doBackup = false) = 0;
91
93 virtual void storeInboundMessage(const NetworkMessage message, SeqNumber msgSeqNum, Timestamp messageReceivingUtcTimestamp = Timestamp()) = 0;
94
96 virtual void storeOutboundMessage(const NetworkMessage message, SeqNumber msgSeqNum, Timestamp messageSendingUtcTimestamp = Timestamp()) = 0;
97
99 virtual void flush() = 0;
100
102 virtual void warmup(size_t messageSize, Timestamp ts = Timestamp()) = 0;
103};
104
#define ONIXS_ICEBOE_NAMESPACE_BEGIN
Definition ABI.h:94
#define ONIXS_ICEBOE_MESSAGING_NAMESPACE
Definition ABI.h:114
#define ONIXS_ICEBOE_NAMESPACE_END
Definition ABI.h:98
#define ONIXS_ICEBOE_EXPORTED
Definition Compiler.h:155
The time point without the time-zone information.
Definition Time.h:470
virtual void close(bool doBackup=false)=0
Closes the storage.
virtual const std::string & id() const =0
virtual void outSeqNum(SeqNumber msgSeqNum)=0
Sets the sequence number of the next outgoing message.
virtual void storeOutboundMessage(const NetworkMessage message, SeqNumber msgSeqNum, Timestamp messageSendingUtcTimestamp=Timestamp())=0
Logs the given outgoing message.
virtual void flush()=0
Flushes all internal buffers.
virtual void storeInboundMessage(const NetworkMessage message, SeqNumber msgSeqNum, Timestamp messageReceivingUtcTimestamp=Timestamp())=0
Logs the given inbound message.
virtual void warmup(size_t messageSize, Timestamp ts=Timestamp())=0
Warmup the storage.
virtual ~SessionStorage()=default
Destructor.
virtual SeqNumber inSeqNum() const =0
virtual void sessionCreationTime(Timestamp)=0
Sets the session creation time.
virtual Timestamp sessionCreationTime() const =0
virtual SeqNumber outSeqNum() const =0
virtual void inSeqNum(SeqNumber msgSeqNum)=0
Sets the expected sequence number of the next inbound message.
decltype(std::declval< const Messaging::SbeMessage & >().sequenceId()) SeqNumber
Definition Messaging.h:53
static Enum parse(const std::string &)
@ Undefined
Undefined Session Storage.
@ FileBased
File-based Session Storage.
@ AsyncFileBased
Asynchronous File-Based Session Storage.
@ Pluggable
Pluggable Session Storage.
@ MemoryBased
Memory-based Session Storage.
static const char * toString(SessionStorageType::Enum)