Skip to content

Commit

Permalink
rio.c file somewhat documented so that the casual reader can understa…
Browse files Browse the repository at this point in the history
…nd what's going on without reading the code.
  • Loading branch information
antirez committed Apr 9, 2012
1 parent a3af8d8 commit 5a181d4
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/rio.c
Original file line number Diff line number Diff line change
@@ -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>
Expand Down Expand Up @@ -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];
Expand Down

0 comments on commit 5a181d4

Please sign in to comment.