|
taskrambler
0.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"
Include dependency graph for cbuf.h:
This graph shows which files directly or indirectly include this file: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().
Here is the call graph for this function:
Here is the caller graph for this function:| void cbufEmpty | ( | Cbuf | ) |
| char* cbufGetData | ( | Cbuf | , |
| size_t | |||
| ) |
Definition at line 29 of file get_data.c.
References cbufGetRead(), and cbufIncRead().
Referenced by httpParserParse().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t cbufGetFree | ( | Cbuf | this | ) |
Definition at line 28 of file get_free.c.
Referenced by cbufRead(), and cbufSetData().
Here is the caller graph for this function:| char* cbufGetLine | ( | Cbuf | , |
| char ** | |||
| ) |
Definition at line 30 of file get_line.c.
References cbufAddrIndex(), cbufGetRead(), cbufIncRead(), and cbufMemchr().
Referenced by httpParserParse().
Here is the call graph for this function:
Here is the caller graph for this function:| char* cbufGetRead | ( | Cbuf | this | ) |
Definition at line 26 of file get_read.c.
Referenced by cbufAddrIndex(), cbufGetData(), cbufGetLine(), cbufMemchr(), cbufSkipNonAlpha(), and httpParserParse().
Here is the caller graph for this function:| char* cbufGetWrite | ( | Cbuf | this | ) |
Definition at line 26 of file get_write.c.
Referenced by cbufRead(), and cbufSetData().
Here is the caller graph for this function:| void cbufIncRead | ( | Cbuf | this, |
| size_t | n | ||
| ) |
Definition at line 28 of file inc_read.c.
Referenced by cbufGetData(), cbufGetLine(), cbufSkipNonAlpha(), and httpParserParse().
Here is the caller graph for this function:| void cbufIncWrite | ( | Cbuf | this, |
| size_t | n | ||
| ) |
Definition at line 28 of file inc_write.c.
Referenced by cbufRead(), and cbufSetData().
Here is the caller graph for this function:| char cbufIsEmpty | ( | Cbuf | this | ) |
Definition at line 26 of file is_empty.c.
Referenced by httpParserParse().
Here is the caller graph for this function:| Bool cbufIsLocked | ( | Cbuf | this | ) |
Definition at line 28 of file is_locked.c.
Referenced by httpParserParse().
Here is the caller graph for this function:| void cbufLock | ( | Cbuf | this | ) |
Definition at line 26 of file lock.c.
References TRUE.
Referenced by httpParserParse().
Here is the caller graph for this function:| char* cbufMemchr | ( | Cbuf | this, |
| int | c | ||
| ) |
Definition at line 28 of file memchr.c.
References cbufGetRead().
Referenced by cbufGetLine().
Here is the call graph for this function:
Here is the caller graph for this function:| ssize_t cbufRead | ( | Cbuf | , |
| Stream | |||
| ) |
Definition at line 32 of file cbuf/read.c.
References cbufGetFree(), cbufGetWrite(), cbufIncWrite(), ECBUFOVFL, and streamRead().
Referenced by httpParserParse().
Here is the call graph for this function:
Here is the caller graph for this function:| void cbufRelease | ( | Cbuf | this | ) |
Definition at line 26 of file release.c.
References FALSE.
Referenced by httpParserDtor(), and httpParserParse().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| void cbufSkipNonAlpha | ( | Cbuf | this | ) |
Definition at line 28 of file skip_non_alpha.c.
References cbufGetRead(), and cbufIncRead().
Referenced by httpParserParse().
Here is the call graph for this function:
Here is the caller graph for this function:| ssize_t cbufWrite | ( | Cbuf | , |
| Stream | |||
| ) |
| CLASS | ( | Cbuf | ) |