9 #ifndef lgrLegacyUncheckpointedFormat_H_
10 #define lgrLegacyUncheckpointedFormat_H_
14 #include <vlutil/vlNetTypes.h>
15 #include <vlutil/vlTime.h>
58 virtual bool isEofValid()
const;
68 virtual bool atEndOfFile();
74 virtual bool seekToFirstPacket();
80 virtual bool seekToFirstPacket(
int type);
86 virtual bool seekToLastPacket();
92 virtual bool seekToLastPacket(
int type);
98 virtual bool seekToFirstPacketBeforeTime(
double time);
103 virtual bool seekToFirstPacketBeforeTime(
int type,
double time);
109 virtual bool seekToFirstPacketAfterTime(
double time);
115 virtual bool seekToFirstPacketAfterTime(
int type,
double time);
120 virtual bool seekToNextPacket();
126 virtual bool seekToNextPacket(
int type);
131 virtual bool seekToPreviousPacket();
137 virtual bool seekToPreviousPacket(
int type);
145 virtual double currentPacketTime();
149 virtual int currentPacketType();
153 virtual size_t currentPacketSize();
157 virtual size_t currentPacketDataSize();
163 virtual bool hasCheckpoints()
const;
172 virtual void readMetaData();
196 double time,
bool inclusive =
true);
204 virtual void writePacket(
const DtPacket& packet);
210 virtual size_t writePacket(
const DtPacket& packet,
void* memory,
size_t memorySize,
211 int fileWriteBufferOffset = -1);
214 virtual void setDuration(
double duration);
217 virtual double duration()
const;
222 virtual size_t headerSize()
const;
225 virtual size_t tailSize()
const;
248 virtual double firstPacketTime()
const;
251 virtual double lastPacketTime()
const;
254 virtual size_t firstPacketSize()
const;
257 virtual size_t lastPacketSize()
const;
260 virtual size_t readPreviousPacketSize();
263 virtual void fillHeader(
void* header,
const DtPacket& packet);
266 virtual void writeHeader(
int fd,
const DtPacket& packet);
269 virtual DtNetU32 headerNumBytes(
void* header);
272 virtual DtNetU32 headerFlags(
void* header);
275 virtual DtNetFloat64 headerArrivalTime(
void* header);
278 virtual void setFileEmpty();
281 virtual void setFirstPacket();
284 virtual void setLastPacket();
297 virtual void validateTime(
double time);
301 virtual void initReadStartMetaData();
304 virtual void readStartMetaData();
308 virtual void initReadMiddleMetaData();
311 virtual void readMiddleMetaData();
315 virtual void initReadEndMetaData();
318 virtual void readEndMetaData();
321 virtual void writeStartMetaData();
324 virtual void writeMiddleMetaData();
327 virtual void writeEndMetaData();
340 virtual void validateType(
int type) = 0;
343 virtual int decodeTypeFromFlags(
unsigned int flags) = 0;