Go to the documentation of this file.
44 #ifndef CCXX_BUFFER_H_
45 #define CCXX_BUFFER_H_
47 #ifndef CCXX_THREAD_H_
50 #ifndef CCXX_STRING_H_
53 #ifdef CCXX_NAMESPACES
97 virtual size_t onPeek(
void *buf) = 0;
104 virtual size_t onWait(
void *buf) = 0;
111 virtual size_t onPost(
void *buf) = 0;
135 inline size_t getSize(
void)
144 inline size_t getUsed(
void)
166 size_t post(
void *buf,
timeout_t timeout = 0);
174 size_t peek(
void *buf);
180 virtual bool isValid(
void);
193 char *buf, *head, *tail;
202 size_t onPeek(
void *buf);
209 size_t onWait(
void *buf);
216 size_t onPost(
void *buf);
283 virtual void final();
289 virtual void startQueue(
void);
296 virtual void stopQueue(
void);
301 virtual void onTimer(
void);
311 virtual void runQueue(
void *data) = 0;
321 ThreadQueue(
const char *
id,
int pri,
size_t stack = 0);
345 void post(
const void *data,
unsigned len);
351 {
return b.wait(o, t);}
355 {
return b.
post(o, t);}
362 #ifdef CCXX_NAMESPACES