Home

Dokumentation

Impressum

Dokumentation VDR
 

Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

cRingBufferLinear Class Reference

#include <ringbuffer.h>

Inheritance diagram for cRingBufferLinear:

Inheritance graph
[legend]
Collaboration diagram for cRingBufferLinear:

Collaboration graph
[legend]

Detailed Description

Linear ring buffer.

Definition at line 43 of file ringbuffer.h.

Public Methods

 cRingBufferLinear (int Size, bool Statistics=false)
virtual ~cRingBufferLinear ()
virtual int Available (void)
virtual void Clear (void)
int Put (const uchar *Data, int Count)
int Get (uchar *Data, int Count)

Private Attributes

int head
int tail
ucharbuffer
pid_t getThreadPid


Constructor & Destructor Documentation

cRingBufferLinear::cRingBufferLinear int    Size,
bool    Statistics = false
 

Definition at line 60 of file ringbuffer.c.

References buffer, Clear(), esyslog, getThreadPid, and uchar.

cRingBufferLinear::~cRingBufferLinear   [virtual]
 

Definition at line 75 of file ringbuffer.c.

References buffer.


Member Function Documentation

int cRingBufferLinear::Available void    [virtual]
 

Implements cRingBuffer.

Definition at line 80 of file ringbuffer.c.

References head, cRingBuffer::Lock(), cRingBuffer::Size(), tail, and cRingBuffer::Unlock().

void cRingBufferLinear::Clear void    [virtual]
 

Implements cRingBuffer.

Definition at line 88 of file ringbuffer.c.

References cRingBuffer::EnableGet(), cRingBuffer::EnablePut(), head, cRingBuffer::Lock(), tail, and cRingBuffer::Unlock().

Referenced by cRingBufferLinear().

int cRingBufferLinear::Get uchar   Data,
int    Count
 

Definition at line 141 of file ringbuffer.c.

References getThreadPid, head, cRingBuffer::Lock(), cRingBuffer::Size(), tail, cRingBuffer::Unlock(), and cRingBuffer::WaitForGet().

Referenced by cTransfer::Action(), and cRecorder::Action().

int cRingBufferLinear::Put const uchar   Data,
int    Count
 

Definition at line 97 of file ringbuffer.c.

References dsyslog, cRingBuffer::EnableGet(), head, cRingBuffer::lastPercent, cRingBuffer::Lock(), cRingBuffer::maxFill, cRingBuffer::Size(), tail, and cRingBuffer::Unlock().

Referenced by cTransfer::Receive(), and cRecorder::Receive().


Field Documentation

uchar* cRingBufferLinear::buffer [private]
 

Definition at line 46 of file ringbuffer.h.

Referenced by cRingBufferLinear(), and ~cRingBufferLinear().

pid_t cRingBufferLinear::getThreadPid [private]
 

Definition at line 47 of file ringbuffer.h.

Referenced by cRingBufferLinear(), and Get().

int cRingBufferLinear::head [private]
 

Definition at line 45 of file ringbuffer.h.

Referenced by Available(), Clear(), Get(), and Put().

int cRingBufferLinear::tail [private]
 

Definition at line 45 of file ringbuffer.h.

Referenced by Available(), Clear(), Get(), and Put().


The documentation for this class was generated from the following files:
Generated on Wed Feb 5 23:31:53 2003 for VDR by doxygen1.3-rc2