9 #ifndef lgrLegacyUncheckpointedFormat_H_
10 #define lgrLegacyUncheckpointedFormat_H_
14 #include <vlutil/vlNetTypes.h>
15 #include <vlutil/vlTime.h>
59 virtual bool isEofValid()
const;
62 virtual bool hasLastPacket()
const;
66 virtual bool recoverLastPacket();
76 virtual bool atEndOfFile();
82 virtual bool seekToFirstPacket();
88 virtual bool seekToFirstPacket(
int type);
94 virtual bool seekToLastPacket();
100 virtual bool seekToLastPacket(
int type);
106 virtual bool seekToFirstPacketBeforeTime(
double time);
111 virtual bool seekToFirstPacketBeforeTime(
int type,
double time);
117 virtual bool seekToFirstPacketAfterTime(
double time);
123 virtual bool seekToFirstPacketAfterTime(
int type,
double time);
128 virtual bool seekToNextSerialPacket();
133 virtual bool seekToNextPacket();
139 virtual bool seekToNextPacket(
int type);
144 virtual bool seekToPreviousPacket();
150 virtual bool seekToPreviousPacketOfType(
int type);
158 virtual double currentPacketTime();
165 virtual bool validPacket(
double previousPacketTime = -1.0,
166 double* currentTime=0);
170 virtual int currentPacketType();
174 virtual size_t currentPacketSize();
178 virtual size_t currentPacketDataSize();
184 virtual bool hasCheckpoints()
const;
193 virtual void readMetaData();
217 double time,
bool inclusive =
true);
225 virtual void writePacket(
const DtPacket& packet);
231 virtual size_t writePacket(
const DtPacket& packet,
void* memory,
size_t memorySize,
232 int fileWriteBufferOffset = -1);
235 virtual void setDuration(
double duration);
238 virtual double duration()
const;
241 virtual void setStartEndTimes(
double start,
double end);
244 virtual void setDescription(
DtString description);
247 virtual DtString description()
const;
252 virtual size_t headerSize()
const;
255 virtual size_t tailSize()
const;
258 virtual double firstPacketTime()
const;
261 virtual size_t firstPacketSize()
const;
264 virtual double lastPacketTime()
const;
267 virtual size_t lastPacketSize()
const;
286 virtual void fillHeader(
void* header,
const DtPacket& packet);
290 virtual bool writeHeader(
int fd,
const DtPacket& packet);
294 virtual bool readHeader();
297 virtual DtU32 headerNumBytes()
const;
300 virtual DtU32 headerNumBytes(
const void* header)
const;
303 virtual DtU32 headerFlags()
const;
306 virtual DtU32 headerFlags(
const void* header)
const;
309 virtual DtFloat64 headerArrivalTime()
const;
312 virtual DtFloat64 headerArrivalTime(
const void* header)
const;
315 virtual void fillTail(
void* tail,
const DtPacket& packet);
319 virtual bool writeTail(
int fd,
const DtPacket& packet);
323 virtual bool readTail();
326 virtual DtU32 tailNumBytes()
const;
329 virtual DtU32 tailNumBytes(
const void* tail)
const;
332 virtual void setFileEmpty();
338 virtual void setFirstPacket();
344 virtual void setLastPacket();
347 virtual size_t previousPacketSize();
363 virtual void validateTime(
double time);
367 virtual void initReadStartMetaData();
370 virtual void readStartMetaData();
374 virtual void initReadMiddleMetaData();
377 virtual void readMiddleMetaData();
381 virtual void initReadEndMetaData();
384 virtual void readEndMetaData();
387 virtual void writeStartMetaData();
390 virtual void writeMiddleMetaData();
393 virtual void writeEndMetaData();
406 virtual void validateType(
int type) = 0;
409 virtual int decodeTypeFromFlags(
unsigned int flags) = 0;
416 virtual void indexCheckpoint(
double time,
DtFilePosition position,
int size);
DtInt64 DtFilePosition
The position in a file, stored as a 64bit unsigned integer.
Definition: filePosition.h:18
Contains MAKLogger::DtFilePosition typedef.
std::shared_ptr< DtMemoryBuffer > DtMemoryBufferSP
Definition: memoryBuffer.h:19
Message buffer class responsible for storing a list of messages and iterating through that list...
Definition: messageBuffer.h:23
A generic packed of typed binary data.
Definition: packet.h:41
A smart buffer has a shared pointer to the memory buffer and an offset and size of a 'smart' sub buff...
Definition: smartBuffer.h:21
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
Contains MAKLogger::DtMemoryBuffer class.
Base logger class which represents the basic Logger file.
Definition: loggerFile.h:25