diff --git a/src/rio.c b/src/rio.c index 95b1ee7e6042f9f97e28691ffc9d95cee2fb3df3..5a745840609a9e2363d4eb0ad1e7bf4c011e1ff2 100644 --- 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 #include @@ -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: "*\r\n". */ size_t rioWriteBulkCount(rio *r, char prefix, int count) { char cbuf[128];