MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrPacketIndexer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrPacketIndexer_H_
10 #define lgrPacketIndexer_H_
11 
12 #include <lgrCore/lgrCore.h>
13 #include <lgrUtil/filePosition.h>
14 
15 #include <vector>
16 #include <vlutil/vlNetTypes.h>
17 
18 namespace MAKLogger
19 {
20  class DtPacket;
21 
25  {
26  public:
29 
32 
33  private:
37  DtLgrPacketIndexer& operator=(const DtLgrPacketIndexer&);
38  public:
39 
42  int addEntry(double time,DtFilePosition position,int size);
43 
46  void removeEntry(int index);
47 
49  void clearEntries();
50 
53  int firstIndex();
54 
57  int lastIndex();
58 
60  int indexCount() const;
61 
64  int getIndexAtOrBeforeTime(double time);
65 
68  int getIndexAtOrAfterTime(double time);
69 
72  DtFilePosition getPositionOfIndex(int index);
73 
76  double getTimeOfIndex(int index);
77 
80  int getSizeOfIndex(int index);
81 
83  DtPacket* encodePacket() const;
84 
89  void decodePacket(const DtPacket* packet);
90 
91  protected:
92 
93  struct IndexEntry
94  {
95  double time;
97  DtU32 packetSize;
98  DtU32 entityId;
99  DtU32 flags;
100  };
101 
104  {
105  DtNetFloat64 time;
106  DtNetU64 filePosition;
107  DtNetU32 packetSize;
108  };
109 
113  {
114  DtNetU32 numEntries;
115  DtNetU32 unused;
116  };
117 
118  typedef std::vector<IndexEntry> CheckpointEntryList;
120  };
121 }
122 
123 #endif
DtU32 flags
Definition: lgrPacketIndexer.h:99
DtInt64 DtFilePosition
The position in a file, stored as a 64bit unsigned integer.
Definition: filePosition.h:18
DtNetU32 unused
Definition: lgrPacketIndexer.h:115
DtNetU64 filePosition
Definition: lgrPacketIndexer.h:106
DtU32 packetSize
Definition: lgrPacketIndexer.h:97
std::vector< IndexEntry > CheckpointEntryList
Definition: lgrPacketIndexer.h:118
Contains MAKLogger::DtFilePosition typedef.
CheckpointEntryList myCheckpointEntries
Definition: lgrPacketIndexer.h:119
DtNetU32 numEntries
Definition: lgrPacketIndexer.h:114
DtU32 entityId
Definition: lgrPacketIndexer.h:98
A generic packed of typed binary data.
Definition: packet.h:41
Definition: lgrPacketIndexer.h:93
The entries stored in the packet.
Definition: lgrPacketIndexer.h:103
The table stored at the beginning of the packet followed by the net entries.
Definition: lgrPacketIndexer.h:112
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
double time
Definition: lgrPacketIndexer.h:95
DtNetFloat64 time
Definition: lgrPacketIndexer.h:105
Indexes packets in a file.
Definition: lgrPacketIndexer.h:24
DtFilePosition filePosition
Definition: lgrPacketIndexer.h:96
DtNetU32 packetSize
Definition: lgrPacketIndexer.h:107
Contains lgrCore library definitions.

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)