Index  Source Files  Annotated Class List  Alphabetical Class List  Class Hierarchy  Graphical Class Hierarchy 

FIX::MemoryStore Class Reference

Memory based implementation of MessageStore. More...

#include <MessageStore.h>

Inheritance diagram for FIX::MemoryStore:
Inheritance graph
[legend]
Collaboration diagram for FIX::MemoryStore:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MemoryStore ()
bool set (int, const std::string &) throw ( IOException )
void get (int, int, std::vector< std::string > &) const throw ( IOException )
int getNextSenderMsgSeqNum () const throw ( IOException )
int getNextTargetMsgSeqNum () const throw ( IOException )
void setNextSenderMsgSeqNum (int value) throw ( IOException )
void setNextTargetMsgSeqNum (int value) throw ( IOException )
void incrNextSenderMsgSeqNum () throw ( IOException )
void incrNextTargetMsgSeqNum () throw ( IOException )
void setCreationTime (const UtcTimeStamp &creationTime) throw ( IOException )
UtcTimeStamp getCreationTime () const throw ( IOException )
void reset () throw ( IOException )
void refresh () throw ( IOException )

Private Types

typedef std::map< int,
std::string > 
Messages

Private Attributes

Messages m_messages
int m_nextSenderMsgSeqNum
int m_nextTargetMsgSeqNum
UtcTimeStamp m_creationTime

Detailed Description

Memory based implementation of MessageStore.

This will lose all data on process terminition. This class should only be used for test applications, never in production.

Definition at line 96 of file MessageStore.h.


Member Typedef Documentation

typedef std::map< int, std::string > FIX::MemoryStore::Messages [private]

Definition at line 130 of file MessageStore.h.


Constructor & Destructor Documentation

FIX::MemoryStore::MemoryStore (  )  [inline]

Definition at line 99 of file MessageStore.h.


Member Function Documentation

void FIX::MemoryStore::get ( int  begin,
int  end,
std::vector< std::string > &  messages 
) const throw ( IOException ) [virtual]

Implements FIX::MessageStore.

Definition at line 51 of file MessageStore.cpp.

References QF_STACK_POP, and QF_STACK_PUSH.

00054 { QF_STACK_PUSH(MemoryStore::get)
00055 
00056   messages.clear();
00057   Messages::const_iterator find = m_messages.find( begin );
00058   for ( ; find != m_messages.end() && find->first <= end; ++find )
00059     messages.push_back( find->second );
00060 
00061   QF_STACK_POP
00062 }

UtcTimeStamp FIX::MemoryStore::getCreationTime (  )  const throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 119 of file MessageStore.h.

Referenced by FIX::FileStore::getCreationTime(), and FIX::FileStore::setSession().

00120   { return m_creationTime; }

int FIX::MemoryStore::getNextSenderMsgSeqNum (  )  const throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 104 of file MessageStore.h.

Referenced by FIX::FileStore::getNextSenderMsgSeqNum().

00105   { return m_nextSenderMsgSeqNum; }

int FIX::MemoryStore::getNextTargetMsgSeqNum (  )  const throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 106 of file MessageStore.h.

Referenced by FIX::FileStore::getNextTargetMsgSeqNum().

00107   { return m_nextTargetMsgSeqNum; }

void FIX::MemoryStore::incrNextSenderMsgSeqNum (  )  throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 112 of file MessageStore.h.

Referenced by FIX::FileStore::incrNextSenderMsgSeqNum().

00113   { ++m_nextSenderMsgSeqNum; }

void FIX::MemoryStore::incrNextTargetMsgSeqNum (  )  throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 114 of file MessageStore.h.

Referenced by FIX::FileStore::incrNextTargetMsgSeqNum().

00115   { ++m_nextTargetMsgSeqNum; }

void FIX::MemoryStore::refresh (  )  throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 127 of file MessageStore.h.

00127 {}

void FIX::MemoryStore::reset (  )  throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 122 of file MessageStore.h.

Referenced by FIX::FileStore::refresh(), and FIX::FileStore::reset().

00123   {
00124     m_nextSenderMsgSeqNum = 1; m_nextTargetMsgSeqNum = 1;
00125     m_messages.clear(); m_creationTime.setCurrent();
00126   }

bool FIX::MemoryStore::set ( int  msgSeqNum,
const std::string &  msg 
) throw ( IOException ) [virtual]

Implements FIX::MessageStore.

Definition at line 43 of file MessageStore.cpp.

References QF_STACK_POP, and QF_STACK_PUSH.

00045 { QF_STACK_PUSH(MemoryStore::set)
00046   m_messages[ msgSeqNum ] = msg;
00047   return true;
00048   QF_STACK_POP
00049 }

void FIX::MemoryStore::setCreationTime ( const UtcTimeStamp creationTime  )  throw ( IOException ) [inline]

Definition at line 117 of file MessageStore.h.

Referenced by FIX::FileStore::populateCache().

00118   { m_creationTime = creationTime; }

void FIX::MemoryStore::setNextSenderMsgSeqNum ( int  value  )  throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 108 of file MessageStore.h.

Referenced by FIX::FileStore::populateCache().

00109   { m_nextSenderMsgSeqNum = value; }

void FIX::MemoryStore::setNextTargetMsgSeqNum ( int  value  )  throw ( IOException ) [inline, virtual]

Implements FIX::MessageStore.

Definition at line 110 of file MessageStore.h.

Referenced by FIX::FileStore::populateCache().

00111   { m_nextTargetMsgSeqNum = value; }


Member Data Documentation

Definition at line 135 of file MessageStore.h.

Definition at line 132 of file MessageStore.h.

Definition at line 133 of file MessageStore.h.

Definition at line 134 of file MessageStore.h.


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

Generated on Mon Apr 5 21:00:08 2010 for QuickFIX by doxygen 1.6.1 written by Dimitri van Heesch, © 1997-2001