VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtMessageStream.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtMessageStream.h,v $ $Revision: 1.11 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #include <vrvUtil/vrvUtil.h>
16 #include <vrvUtil/DtMessage.h>
17 
18 #include <vector>
19 
20 namespace makVrv
21 {
26  {
27  public:
28  typedef std::vector<DtMessage*> MessageList;
29 
30  typedef unsigned char Byte;
31  typedef std::vector<Byte> ByteBuffer;
32 
33  //The message stream will be reset should not get larger than 5 MB.
34  static const size_t theMaxPersistentStreamSize = 0x500000;
35 
37  DtMessageStream(size_t initialReserve = 0xFFF);
38 
40  ~DtMessageStream();
41 
43  void clearStream();
44 
46 
48  void writeMessageToStream(DtMessage* message);
49 
51  void writeMessagesToStream(MessageList& messages );
52 
54 
56  Byte* streamData() const;
57 
59  size_t streamDataSize() const;
60 
63  void addDataToStream(char* data,size_t size);
64 
67  Byte* addSpaceToStream(size_t size);
68 
70  void trimEnd(size_t n);
71 
75  int readMessagesFromStream( MessageList& messages);
76 
77  protected:
79  };
80 }
81 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)