33 #define DISABLE_DEBUGLOG
35 #include "ringbuffer_p.h"
36 #include <gwenhywfar/misc.h>
37 #include <gwenhywfar/debug.h>
48 rb->ptr=(
char*)malloc(size);
71 if ((rb->bufferSize-rb->bytesUsed)==0) {
79 if ((rb->bufferSize-rb->bytesUsed)==0)
81 if (rb->writePos>=rb->readPos)
82 psize=rb->bufferSize-rb->writePos;
84 psize=rb->readPos-rb->writePos;
88 memmove(rb->ptr+rb->writePos, buffer, psize);
90 if (rb->writePos>=rb->bufferSize)
97 if (rb->bytesUsed>rb->maxBytesUsed)
98 rb->maxBytesUsed=rb->bytesUsed;
109 if (rb->bytesUsed==0) {
115 if (rb->readPos>=rb->writePos)
116 psize=rb->bufferSize-rb->readPos;
118 psize=rb->writePos-rb->readPos;
130 if ((rb->bufferSize-rb->bytesUsed)==0) {
136 if (rb->writePos>=rb->readPos)
137 psize=rb->bufferSize-rb->writePos;
139 psize=rb->readPos-rb->writePos;
150 if (rb->bytesUsed<psize) {
155 if (rb->readPos>=rb->bufferSize)
157 rb->bytesUsed-=psize;
158 rb->throughput+=psize;
167 if ((rb->bufferSize-rb->bytesUsed)<psize) {
173 if (rb->writePos>=rb->bufferSize)
175 rb->bytesUsed+=psize;
176 if (rb->bytesUsed>rb->maxBytesUsed)
177 rb->maxBytesUsed=rb->bytesUsed;
188 if (rb->bytesUsed==0) {
196 if (rb->bytesUsed==0)
198 if (rb->readPos>=rb->writePos)
199 psize=rb->bufferSize-rb->readPos;
201 psize=rb->writePos-rb->readPos;
205 memmove(buffer, rb->ptr+rb->readPos, psize);
207 if (rb->readPos>=rb->bufferSize)
209 rb->bytesUsed-=psize;
214 rb->throughput+=*size;
222 return rb->bytesUsed;
229 return rb->bufferSize-rb->bytesUsed;
236 return rb->bufferSize;
244 if ((rb->bufferSize-rb->bytesUsed)==0) {
250 rb->ptr[rb->writePos]=c;
252 if (rb->writePos>=rb->bufferSize)
255 if (rb->bytesUsed>rb->maxBytesUsed)
256 rb->maxBytesUsed=rb->bytesUsed;
266 if (rb->bytesUsed==0) {
272 c=(
unsigned char)rb->ptr[rb->readPos];
274 if (rb->readPos>=rb->bufferSize)
285 return rb->maxBytesUsed;
299 return rb->throughput;
313 return rb->fullCounter;
327 return rb->emptyCounter;
341 return rb->ptr+rb->readPos;
348 return rb->ptr+rb->writePos;