mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 08:38:27 -05:00
rio.c file somewhat documented so that the casual reader can understand what's going on without reading the code.
This commit is contained in:
parent
a3af8d8e49
commit
5a181d43cb
18
src/rio.c
18
src/rio.c
@ -1,3 +1,17 @@
|
||||
/* rio.c is a simple stream-oriented I/O abstraction that provides an interface
|
||||
* to write code that can consume/produce data using different concrete input
|
||||
* and output devices. For instance the same rdb.c code using the rio abstraction
|
||||
* can be used to read and write the RDB format using in-memory buffers or files.
|
||||
*
|
||||
* A rio object provides the following methods:
|
||||
* read: read from stream.
|
||||
* write: write to stream.
|
||||
* tell: get the current offset.
|
||||
*
|
||||
* It is also possible to set a 'checksum' method that is used by rio.c in order
|
||||
* to compute a checksum of the data written or read, or to query the rio object
|
||||
* for the current checksum. */
|
||||
|
||||
#include "fmacros.h"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
@ -65,6 +79,10 @@ void rioInitWithBuffer(rio *r, sds s) {
|
||||
r->io.buffer.pos = 0;
|
||||
}
|
||||
|
||||
/* ------------------------------ Higher level interface ---------------------------
|
||||
* The following higher level functions use lower level rio.c functions to help
|
||||
* generating the Redis protocol for the Append Only File. */
|
||||
|
||||
/* Write multi bulk count in the format: "*<count>\r\n". */
|
||||
size_t rioWriteBulkCount(rio *r, char prefix, int count) {
|
||||
char cbuf[128];
|
||||
|
Loading…
Reference in New Issue
Block a user