OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
MySessionStorage Class Referencefinal

Public Types

using Message = std::vector<char>
using Messages = std::list<Message>

Public Member Functions

 MySessionStorage ()
const std::string & id () const override
SeqNumber inSeqNum () const override
void inSeqNum (SeqNumber msgSeqNum) override
SeqNumber outSeqNum () const override
void outSeqNum (SeqNumber msgSeqNum) override
Timestamp sessionCreationTime () const override
void sessionCreationTime (Timestamp) override
void close (bool doBackup=false) override
void storeInboundMessage (const NetworkMessage message, SeqNumber msgSeqNum, Timestamp messageReceivingUtcTimestamp=Timestamp()) override
void storeOutboundMessage (const NetworkMessage message, SeqNumber msgSeqNum, Timestamp messageSendingUtcTimestamp=Timestamp()) override
void flush () override
void warmup (size_t, Timestamp) override
Public Member Functions inherited from SessionStorage
virtual ~SessionStorage ()=default

Detailed Description

Definition at line 31 of file MySessionStorage.h.

Member Typedef Documentation

◆ Message

using Message = std::vector<char>

Definition at line 60 of file MySessionStorage.h.

◆ Messages

using Messages = std::list<Message>

Definition at line 61 of file MySessionStorage.h.

Constructor & Destructor Documentation

◆ MySessionStorage()

Definition at line 46 of file MySessionStorage.cpp.

46 :
47 inSeqNum_(1),
48 outSeqNum_(1),
49 id_(std::to_string(IdGenerator::newId())),
50 terminated_(false),
51 sessionCreationTime_()
52{}

Member Function Documentation

◆ close()

void close ( bool doBackup = false)
overridevirtual

Closes the storage.

Implements SessionStorage.

Definition at line 54 of file MySessionStorage.cpp.

55{
56 std::clog << "\nClose the session storage (doBackup=" << doBackup << ").\n";
57
58 inSeqNum_ = 1;
59 outSeqNum_ = 1;
60 terminated_ = false;
61 inboundMessages_.clear();
62 outboundMessages_.clear();
63}

◆ flush()

void flush ( )
overridevirtual

Flushes all internal buffers.

Implements SessionStorage.

Definition at line 119 of file MySessionStorage.cpp.

120{
121}

◆ id()

const std::string & id ( ) const
overridevirtual
Returns
Storage Id.

Implements SessionStorage.

Definition at line 65 of file MySessionStorage.cpp.

66{
67 return id_;
68}

◆ inSeqNum() [1/2]

SeqNumber inSeqNum ( ) const
overridevirtual
Returns
the expected sequence number of the next inbound message.

Implements SessionStorage.

Definition at line 70 of file MySessionStorage.cpp.

71{
72 return inSeqNum_;
73}

◆ inSeqNum() [2/2]

void inSeqNum ( SeqNumber msgSeqNum)
overridevirtual

Sets the expected sequence number of the next inbound message.

Implements SessionStorage.

Definition at line 75 of file MySessionStorage.cpp.

76{
77 std::clog << "\nSet inSeqNum to " << msgSeqNum << ".\n";
78 inSeqNum_ = msgSeqNum;
79}

◆ outSeqNum() [1/2]

SeqNumber outSeqNum ( ) const
overridevirtual
Returns
the sequence number of the next outgoing message.

Implements SessionStorage.

Definition at line 81 of file MySessionStorage.cpp.

82{
83 return outSeqNum_;
84}

◆ outSeqNum() [2/2]

void outSeqNum ( SeqNumber msgSeqNum)
overridevirtual

Sets the sequence number of the next outgoing message.

Implements SessionStorage.

Definition at line 86 of file MySessionStorage.cpp.

87{
88 std::clog << "\nSet outSeqNum to " << msgSeqNum << ".\n";
89 outSeqNum_ = msgSeqNum;
90}

◆ sessionCreationTime() [1/2]

Timestamp sessionCreationTime ( ) const
overridevirtual
Returns
the session creation time.

Implements SessionStorage.

Definition at line 92 of file MySessionStorage.cpp.

93{
94 return sessionCreationTime_;
95}

◆ sessionCreationTime() [2/2]

void sessionCreationTime ( Timestamp )
overridevirtual

Sets the session creation time.

Implements SessionStorage.

Definition at line 97 of file MySessionStorage.cpp.

98{
99 std::clog << "\nSet sessionCreationTime to " << time << "\n";
100 sessionCreationTime_ = time;
101}

◆ storeInboundMessage()

void storeInboundMessage ( const NetworkMessage message,
SeqNumber msgSeqNum,
Timestamp messageReceivingUtcTimestamp = Timestamp() )
overridevirtual

Logs the given inbound message.

Implements SessionStorage.

Definition at line 103 of file MySessionStorage.cpp.

104{
105 std::clog << "\nStore inbound message:\n";
106 storeMessage(inboundMessages_, message);
107
108 inSeqNum_ = msgSeqNum;
109}

◆ storeOutboundMessage()

void storeOutboundMessage ( const NetworkMessage message,
SeqNumber msgSeqNum,
Timestamp messageSendingUtcTimestamp = Timestamp() )
overridevirtual

Logs the given outgoing message.

Implements SessionStorage.

Definition at line 111 of file MySessionStorage.cpp.

112{
113 std::clog << "\nStore outbound message:\n";
114 storeMessage(outboundMessages_, message);
115
116 outSeqNum_ = msgSeqNum;
117}

◆ warmup()

void warmup ( size_t messageSize,
Timestamp ts )
overridevirtual

Warmup the storage.

Implements SessionStorage.

Definition at line 123 of file MySessionStorage.cpp.

124{
125}