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:
antirez 2012-04-09 11:11:00 +02:00
parent a3af8d8e49
commit 5a181d43cb

View File

@ -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];