]> git.saurik.com Git - redis.git/commitdiff
rio.c file somewhat documented so that the casual reader can understand what's going...
authorantirez <antirez@gmail.com>
Mon, 9 Apr 2012 09:11:00 +0000 (11:11 +0200)
committerantirez <antirez@gmail.com>
Tue, 10 Apr 2012 14:26:37 +0000 (16:26 +0200)
src/rio.c

index 95b1ee7e6042f9f97e28691ffc9d95cee2fb3df3..5a745840609a9e2363d4eb0ad1e7bf4c011e1ff2 100644 (file)
--- a/src/rio.c
+++ b/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];