9 #ifndef lgrLegacyUncheckpointedFormat_H_
10 #define lgrLegacyUncheckpointedFormat_H_
14 #include <vlutil/vlNetTypes.h>
15 #include <vlutil/vlTime.h>
58 virtual bool isEofValid()
const;
61 virtual bool hasLastPacket()
const;
65 virtual bool recoverLastPacket();
75 virtual bool atEndOfFile();
81 virtual bool seekToFirstPacket();
87 virtual bool seekToFirstPacket(
int type);
93 virtual bool seekToLastPacket();
99 virtual bool seekToLastPacket(
int type);
105 virtual bool seekToFirstPacketBeforeTime(
double time);
110 virtual bool seekToFirstPacketBeforeTime(
int type,
double time);
116 virtual bool seekToFirstPacketAfterTime(
double time);
122 virtual bool seekToFirstPacketAfterTime(
int type,
double time);
127 virtual bool seekToNextSerialPacket();
132 virtual bool seekToNextPacket();
138 virtual bool seekToNextPacket(
int type);
143 virtual bool seekToPreviousPacket();
149 virtual bool seekToPreviousPacket(
int type);
157 virtual double currentPacketTime();
164 virtual bool validPacket(
double previousPacketTime = -1.0,
165 double* currentTime=0);
169 virtual int currentPacketType();
173 virtual size_t currentPacketSize();
177 virtual size_t currentPacketDataSize();
183 virtual bool hasCheckpoints()
const;
192 virtual void readMetaData();
216 double time,
bool inclusive =
true);
224 virtual void writePacket(
const DtPacket& packet);
230 virtual size_t writePacket(
const DtPacket& packet,
void* memory,
size_t memorySize,
231 int fileWriteBufferOffset = -1);
234 virtual void setDuration(
double duration);
237 virtual double duration()
const;
242 virtual size_t headerSize()
const;
245 virtual size_t tailSize()
const;
268 virtual double firstPacketTime()
const;
271 virtual double lastPacketTime()
const;
274 virtual size_t firstPacketSize()
const;
277 virtual size_t lastPacketSize()
const;
280 virtual size_t readPreviousPacketSize();
283 virtual void fillHeader(
void* header,
const DtPacket& packet);
286 virtual void writeHeader(
int fd,
const DtPacket& packet);
289 virtual DtNetU32 headerNumBytes(
void* header);
292 virtual DtNetU32 headerFlags(
void* header);
295 virtual DtNetFloat64 headerArrivalTime(
void* header);
298 virtual void setFileEmpty();
301 virtual void setFirstPacket();
304 virtual void setLastPacket();
317 virtual void validateTime(
double time);
321 virtual void initReadStartMetaData();
324 virtual void readStartMetaData();
328 virtual void initReadMiddleMetaData();
331 virtual void readMiddleMetaData();
335 virtual void initReadEndMetaData();
338 virtual void readEndMetaData();
341 virtual void writeStartMetaData();
344 virtual void writeMiddleMetaData();
347 virtual void writeEndMetaData();
360 virtual void validateType(
int type) = 0;
363 virtual int decodeTypeFromFlags(
unsigned int flags) = 0;