53 void Open (std::string fileName,
bool read,
bool ignoreTimes =
false);
59 ssize_t
Read (
void *data,
size_t count,
Timeout &timeout);
61 bool CheckWrite (
const void *
const data,
const size_t count,
size_t *
const numWritten,
62 const Timeout *
const timeout = NULL);
67 void WriteRead (
const void *
const data,
size_t count);
68 void WriteWrite (
const void *
const data,
size_t count);
71 std::string _fileName;
73 FILE *_readFile, *_writeFile;
74 long _readFileSize, _writeFileSize;
77 struct timeval _openTime;
79 size_t _readUsage, _writeUsage;
80 size_t _readSize, _writeSize;
81 uint8_t *_readBuffer, *_writeBuffer;
84 void AllocateReadBuffer (
unsigned int size = 0);
85 void AllocateWriteBuffer (
unsigned int size = 0);
86 void DeallocateReadBuffer ();
87 void DeallocateWriteBuffer ();
89 void GetCurrentFileTime (
struct timeval &dest);
90 bool DataAvailableWithinLimit (FILE *
const file,
const struct timeval &limit);
91 void GetNextChunkInfo (FILE *
const file,
struct timeval &timeStamp,
size_t &size);
92 size_t GetChunksToTimeLimit (FILE *
const file,
void *data,
size_t count,
93 const struct timeval &limit);
94 size_t GetChunkSizesToTimeLimit (FILE *
const file,
const struct timeval &limit);
95 size_t GetSingleChunk (FILE *
const file,
void *data,
size_t count,
96 struct timeval &timeStamp,
size_t &size);
97 size_t GetFileSize (FILE *
const file);
99 void ReadFromFile (FILE *
const file,
void *
const dest,
size_t count);
100 void WriteToFile (FILE *
const file,
const void *
const data,
size_t count);
101 void WriteTimeStamp (FILE *
const file);
106 #endif // __LOGFILE_H
ssize_t Read(void *data, size_t count, Timeout &timeout)
void WriteWrite(const void *const data, size_t count)
bool CheckWrite(const void *const data, const size_t count, size_t *const numWritten, const Timeout *const timeout=NULL)
void WriteRead(const void *const data, size_t count)
void Open(std::string fileName, bool read, bool ignoreTimes=false)
ssize_t BytesAvailable(const Timeout &timeout)
LogFile(unsigned int debug)
An object used to represent timeouts.