taskrambler
v0.1.8
Web server and task management solution.
|
#include <ctype.h>
#include <string.h>
#include <sys/types.h>
#include "class.h"
#include "stream.h"
#include "commons.h"
#include "utils/memory.h"
Go to the source code of this file.
Macros | |
#define | ECBUFOVFL 100 |
Functions | |
CLASS (Cbuf) | |
ssize_t | cbufRead (Cbuf, Stream) |
ssize_t | cbufWrite (Cbuf, Stream) |
char * | cbufGetLine (Cbuf, char **) |
char * | cbufGetData (Cbuf, size_t) |
char * | cbufSetData (Cbuf, const void *, size_t) |
void | cbufEmpty (Cbuf) |
char * | cbufGetRead (Cbuf this) |
char * | cbufGetWrite (Cbuf this) |
char * | cbufMemchr (Cbuf this, int c) |
size_t | cbufAddrIndex (Cbuf this, const void *c) |
void | cbufIncRead (Cbuf this, size_t n) |
void | cbufIncWrite (Cbuf this, size_t n) |
size_t | cbufGetFree (Cbuf this) |
char | cbufIsEmpty (Cbuf this) |
void | cbufSkipNonAlpha (Cbuf this) |
Bool | cbufIsLocked (Cbuf this) |
void | cbufLock (Cbuf this) |
void | cbufRelease (Cbuf this) |
My implementation of a ringbuffer. It maps a shared memory object twice directly following thus make it possible to read and write from any position within the buffer without the nasty wrap calculations. This is achived because the same memory region is mapped at the two addresses.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Definition in file cbuf.h.
#define ECBUFOVFL 100 |
Definition at line 43 of file cbuf.h.
Referenced by cbufRead(), and cbufSetData().
size_t cbufAddrIndex | ( | Cbuf | this, |
const void * | c | ||
) |
Definition at line 28 of file addr_index.c.
References cbufGetRead().
Referenced by cbufGetLine().
void cbufEmpty | ( | Cbuf | ) |
char* cbufGetData | ( | Cbuf | , |
size_t | |||
) |
Definition at line 29 of file get_data.c.
References cbufGetRead(), and cbufIncRead().
Referenced by httpParserParse().
size_t cbufGetFree | ( | Cbuf | this | ) |
Definition at line 28 of file get_free.c.
Referenced by cbufRead(), and cbufSetData().
char* cbufGetLine | ( | Cbuf | , |
char ** | |||
) |
Definition at line 30 of file get_line.c.
References cbufAddrIndex(), cbufGetRead(), cbufIncRead(), and cbufMemchr().
Referenced by httpParserParse().
char* cbufGetRead | ( | Cbuf | this | ) |
Definition at line 26 of file get_read.c.
Referenced by cbufAddrIndex(), cbufGetData(), cbufGetLine(), cbufMemchr(), cbufSkipNonAlpha(), and httpParserParse().
char* cbufGetWrite | ( | Cbuf | this | ) |
Definition at line 26 of file get_write.c.
Referenced by cbufRead(), and cbufSetData().
void cbufIncRead | ( | Cbuf | this, |
size_t | n | ||
) |
Definition at line 28 of file inc_read.c.
Referenced by cbufGetData(), cbufGetLine(), cbufSkipNonAlpha(), and httpParserParse().
void cbufIncWrite | ( | Cbuf | this, |
size_t | n | ||
) |
Definition at line 28 of file inc_write.c.
Referenced by cbufRead(), and cbufSetData().
char cbufIsEmpty | ( | Cbuf | this | ) |
Definition at line 26 of file is_empty.c.
Referenced by httpParserParse().
Bool cbufIsLocked | ( | Cbuf | this | ) |
Definition at line 28 of file is_locked.c.
Referenced by httpParserParse().
void cbufLock | ( | Cbuf | this | ) |
Definition at line 26 of file lock.c.
References TRUE.
Referenced by httpParserParse().
char* cbufMemchr | ( | Cbuf | this, |
int | c | ||
) |
Definition at line 28 of file memchr.c.
References cbufGetRead().
Referenced by cbufGetLine().
ssize_t cbufRead | ( | Cbuf | , |
Stream | |||
) |
Definition at line 32 of file cbuf/read.c.
References cbufGetFree(), cbufGetWrite(), cbufIncWrite(), ECBUFOVFL, and streamRead().
Referenced by httpParserParse().
void cbufRelease | ( | Cbuf | this | ) |
Definition at line 26 of file release.c.
References FALSE.
Referenced by httpParserDtor(), and httpParserParse().
char* cbufSetData | ( | Cbuf | , |
const void * | , | ||
size_t | |||
) |
Definition at line 30 of file set_data.c.
References cbufGetFree(), cbufGetWrite(), cbufIncWrite(), and ECBUFOVFL.
Referenced by httpParserParse().
void cbufSkipNonAlpha | ( | Cbuf | this | ) |
Definition at line 28 of file skip_non_alpha.c.
References cbufGetRead(), and cbufIncRead().
Referenced by httpParserParse().
ssize_t cbufWrite | ( | Cbuf | , |
Stream | |||
) |
CLASS | ( | Cbuf | ) |