vdr  1.7.27
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
cRingBuffer Class Reference

#include <ringbuffer.h>

List of all members.

Public Member Functions

 cRingBuffer (int Size, bool Statistics=false)
virtual ~cRingBuffer ()
void SetTimeouts (int PutTimeout, int GetTimeout)
void ReportOverflow (int Bytes)
 cRingBuffer (int Size, bool Statistics=false)
virtual ~cRingBuffer ()
void SetTimeouts (int PutTimeout, int GetTimeout)
void ReportOverflow (int Bytes)

Protected Member Functions

void UpdatePercentage (int Fill)
void WaitForPut (void)
void WaitForGet (void)
void EnablePut (void)
void EnableGet (void)
virtual void Clear (void)=0
virtual int Available (void)=0
virtual int Free (void)
int Size (void)
void UpdatePercentage (int Fill)
void WaitForPut (void)
void WaitForGet (void)
void EnablePut (void)
void EnableGet (void)
virtual void Clear (void)=0
virtual int Available (void)=0
virtual int Free (void)
int Size (void)

Protected Attributes

tThreadId getThreadTid
int maxFill
int lastPercent
bool statistics

Private Attributes

cCondWait readyForPut
cCondWait readyForGet
int putTimeout
int getTimeout
int size
time_t lastOverflowReport
int overflowCount
int overflowBytes

Detailed Description

Definition at line 16 of file include/vdr/ringbuffer.h.


Constructor & Destructor Documentation

cRingBuffer::cRingBuffer ( int  Size,
bool  Statistics = false 
)

Definition at line 36 of file ringbuffer.c.

References dsyslog, maxFill, size, and statistics.

cRingBuffer::cRingBuffer ( int  Size,
bool  Statistics = false 
)
virtual cRingBuffer::~cRingBuffer ( ) [virtual]

Member Function Documentation

virtual int cRingBuffer::Available ( void  ) [protected, pure virtual]
virtual int cRingBuffer::Available ( void  ) [protected, pure virtual]
virtual void cRingBuffer::Clear ( void  ) [protected, pure virtual]
virtual void cRingBuffer::Clear ( void  ) [protected, pure virtual]
void cRingBuffer::EnableGet ( void  ) [protected]
void cRingBuffer::EnableGet ( void  ) [protected]
void cRingBuffer::EnablePut ( void  ) [protected]
void cRingBuffer::EnablePut ( void  ) [protected]
virtual int cRingBuffer::Free ( void  ) [inline, protected, virtual]

Reimplemented in cRingBufferLinear, and cRingBufferLinear.

Definition at line 37 of file include/vdr/ringbuffer.h.

References Available(), and Size().

Referenced by EnablePut(), and cRingBufferFrame::Put().

virtual int cRingBuffer::Free ( void  ) [inline, protected, virtual]

Reimplemented in cRingBufferLinear, and cRingBufferLinear.

Definition at line 37 of file ringbuffer.h.

References Available(), and Size().

void cRingBuffer::ReportOverflow ( int  Bytes)

Definition at line 85 of file ringbuffer.c.

References esyslog, lastOverflowReport, overflowBytes, overflowCount, and OVERFLOWREPORTDELTA.

Referenced by cRecorder::Receive().

void cRingBuffer::ReportOverflow ( int  Bytes)
void cRingBuffer::SetTimeouts ( int  PutTimeout,
int  GetTimeout 
)

Definition at line 79 of file ringbuffer.c.

References getTimeout, and putTimeout.

Referenced by cRecorder::cRecorder(), and cTSBuffer::cTSBuffer().

void cRingBuffer::SetTimeouts ( int  PutTimeout,
int  GetTimeout 
)
int cRingBuffer::Size ( void  ) [inline, protected]

Definition at line 38 of file ringbuffer.h.

References size.

int cRingBuffer::Size ( void  ) [inline, protected]
void cRingBuffer::UpdatePercentage ( int  Fill) [protected]
void cRingBuffer::UpdatePercentage ( int  Fill) [protected]
void cRingBuffer::WaitForGet ( void  ) [protected]
void cRingBuffer::WaitForGet ( void  ) [protected]

Definition at line 61 of file ringbuffer.c.

References getTimeout, readyForGet, and cCondWait::Wait().

Referenced by cRingBufferLinear::Get().

void cRingBuffer::WaitForPut ( void  ) [protected]

Definition at line 55 of file ringbuffer.c.

References putTimeout, readyForPut, and cCondWait::Wait().

Referenced by cRingBufferLinear::Put(), and cRingBufferLinear::Read().

void cRingBuffer::WaitForPut ( void  ) [protected]

Member Data Documentation

Definition at line 26 of file include/vdr/ringbuffer.h.

Referenced by cRingBuffer(), cRingBufferLinear::Get(), and UpdatePercentage().

int cRingBuffer::getTimeout [private]

Definition at line 20 of file include/vdr/ringbuffer.h.

Referenced by cRingBuffer(), EnableGet(), SetTimeouts(), and WaitForGet().

Definition at line 22 of file include/vdr/ringbuffer.h.

Referenced by cRingBuffer(), and ReportOverflow().

int cRingBuffer::lastPercent [protected]

Definition at line 28 of file include/vdr/ringbuffer.h.

Referenced by cRingBuffer(), and UpdatePercentage().

int cRingBuffer::maxFill [protected]

Definition at line 24 of file include/vdr/ringbuffer.h.

Referenced by cRingBuffer(), and ReportOverflow().

Definition at line 23 of file include/vdr/ringbuffer.h.

Referenced by cRingBuffer(), and ReportOverflow().

int cRingBuffer::putTimeout [private]

Definition at line 19 of file include/vdr/ringbuffer.h.

Referenced by cRingBuffer(), EnablePut(), SetTimeouts(), and WaitForPut().

Definition at line 18 of file include/vdr/ringbuffer.h.

Referenced by EnableGet(), and WaitForGet().

Definition at line 18 of file include/vdr/ringbuffer.h.

Referenced by EnablePut(), and WaitForPut().

int cRingBuffer::size [private]

Definition at line 21 of file include/vdr/ringbuffer.h.

Referenced by cRingBuffer(), Size(), and ~cRingBuffer().

bool cRingBuffer::statistics [protected]

The documentation for this class was generated from the following files: