mirror of
https://github.com/fluencelabs/redis
synced 2025-06-24 06:21:32 +00:00
Add checksum computation to rio.c
This commit is contained in:
10
src/rio.c
10
src/rio.c
@ -58,6 +58,8 @@ static const rio rioBufferIO = {
|
||||
rioBufferRead,
|
||||
rioBufferWrite,
|
||||
rioBufferTell,
|
||||
NULL, /* update_checksum */
|
||||
0, /* current checksum */
|
||||
{ { NULL, 0 } } /* union for io-specific vars */
|
||||
};
|
||||
|
||||
@ -65,6 +67,8 @@ static const rio rioFileIO = {
|
||||
rioFileRead,
|
||||
rioFileWrite,
|
||||
rioFileTell,
|
||||
NULL, /* update_checksum */
|
||||
0, /* current checksum */
|
||||
{ { NULL, 0 } } /* union for io-specific vars */
|
||||
};
|
||||
|
||||
@ -79,6 +83,12 @@ void rioInitWithBuffer(rio *r, sds s) {
|
||||
r->io.buffer.pos = 0;
|
||||
}
|
||||
|
||||
/* This function can be installed both in memory and file streams when checksum
|
||||
* computation is needed. */
|
||||
void rioGenericUpdateChecksum(rio *r, const void *buf, size_t len) {
|
||||
r->checksum = crc64(r->checksum,buf,len);
|
||||
}
|
||||
|
||||
/* ------------------------------ 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. */
|
||||
|
Reference in New Issue
Block a user