SRingBuffer

Speicher, der mit Daten gefüllt wird und nie überläuft. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SMem
SRingBuffer  

Attribute

protected:

Attribut Typ Beschreibung
isEmpty BOOL
offsetFirst int Zeiger im Buffer, der auf die ältesten Daten zeigt.
offsetNext int Position, an der die nächsten Daten eingefügt werden
overrun unsigned int beinhaltet Anzahl der "verlorenen" Bytes

Operationen

public:

Name Parameter Rückgabewert Beschreibung
addByte BYTE byte int Schreibt ein BYTE in den Ringbuffer
clear void
getAt int offset, BYTE* byte BOOL Gibt eine Eintrag aus dem Ringbuffer zurück.
getNext BYTE* pByte, int count=1 BOOL Liefert das erste Byte und entfernt es aus dem Puffer.
getOverrun unsigned int Gibt die Anzahl der "verlorenen" Bytes zurück
getSize int liefert die aktuelle Größe der Daten im Puffer
getSizeMax int liefer die Geamtgröße des Puffers
setSize int newSize BOOL

Detailbeschreibung SRingBuffer

Speicher, der mit Daten gefüllt wird und nie überläuft.


Ist die Kapazität erreicht, so werden die ältesten Daten überschrieben.

Funktionsbeschreibungen

addByte(BYTE byte) int

Schreibt ein BYTE in den Ringbuffer

Parameter:

byte einzutragender Wert

Rückgabe:

int Überlauf (startzeiger weitergesetzt)

clear() void

getAt(int offset, BYTE* byte) BOOL

Gibt eine Eintrag aus dem Ringbuffer zurück.

Parameter:

offset Position, wenn 0 -> das älteste
byte Zeiger auf eine Speicherzelle, vor der die Daten gelesen werden sollen

Rückgabe:

BOOL false wenn keine Daten mehr vorhanden, sonst true

getNext(BYTE* pByte, int count=1) BOOL

Liefert das erste Byte und entfernt es aus dem Puffer.

Achtung der Ringpuffer wird verbrauchend gelesen.

Parameter:

pByte Zeiger auf den Beginn des Empang-Buffers
count Anzahl der zu lesenden Byte

Rückgabe:

BOOL Ein Byte konnte gelesen werden.
byte gelesenes Byte

getOverrun() unsigned int

Gibt die Anzahl der "verlorenen" Bytes zurück

getSize() int

liefert die aktuelle Größe der Daten im Puffer

getSizeMax() int

liefer die Geamtgröße des Puffers

setSize(int newSize) BOOL