50#ifdef DEBUGRINGBUFFERS
52 int lastHead, lastTail;
58 static void PrintDebugRBL(
void);
81 virtual void Clear(
void);
85 int Read(
int FileHandle,
int Max = 0);
93 int Put(
const uchar *Data,
int Count);
145 virtual void Clear(
void);
eFrameType Type(void) const
bool Independent(void) const
virtual int Available(void)
void Delete(cFrame *Frame)
virtual ~cRingBufferFrame()
void Del(int Count)
Deletes at most Count bytes from the ring buffer.
int Put(const uchar *Data, int Count)
Puts at most Count bytes of Data into the ring buffer.
virtual int Available(void)
virtual int DataReady(const uchar *Data, int Count)
By default a ring buffer has data ready as soon as there are at least 'margin' bytes available.
virtual void Clear(void)
Immediately clears the ring buffer.
uchar * Get(int &Count)
Gets data from the ring buffer.
virtual ~cRingBufferLinear()
int Read(int FileHandle, int Max=0)
Reads at most Max bytes from FileHandle and stores them in the ring buffer.
void SetTimeouts(int PutTimeout, int GetTimeout)
time_t lastOverflowReport
void UpdatePercentage(int Fill)
void ReportOverflow(int Bytes)
virtual void Clear(void)=0
virtual int Available(void)=0
cUnbufferedFile is used for large files that are mainly written or read in a streaming manner,...