MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rdbSaveModulesAux

Function rdbSaveModulesAux

app/redis-6.2.6/src/module.c:4880–4906  ·  view source on GitHub ↗

Iterate over modules, and trigger rdb aux saving for the ones modules types * who asked for it. */

Source from the content-addressed store, hash-verified

4878/* Iterate over modules, and trigger rdb aux saving for the ones modules types
4879 * who asked for it. */
4880ssize_t rdbSaveModulesAux(rio *rdb, int when) {
4881 size_t total_written = 0;
4882 dictIterator *di = dictGetIterator(modules);
4883 dictEntry *de;
4884
4885 while ((de = dictNext(di)) != NULL) {
4886 struct RedisModule *module = dictGetVal(de);
4887 listIter li;
4888 listNode *ln;
4889
4890 listRewind(module->types,&li);
4891 while((ln = listNext(&li))) {
4892 moduleType *mt = ln->value;
4893 if (!mt->aux_save || !(mt->aux_save_triggers & when))
4894 continue;
4895 ssize_t ret = rdbSaveSingleModuleAux(rdb, when, mt);
4896 if (ret==-1) {
4897 dictReleaseIterator(di);
4898 return -1;
4899 }
4900 total_written += ret;
4901 }
4902 }
4903
4904 dictReleaseIterator(di);
4905 return total_written;
4906}
4907
4908/* --------------------------------------------------------------------------
4909 * ## Key digest API (DEBUG DIGEST interface for modules types)

Callers 1

rdbSaveRioFunction · 0.85

Calls 6

listRewindFunction · 0.85
listNextFunction · 0.85
rdbSaveSingleModuleAuxFunction · 0.85
dictGetIteratorFunction · 0.70
dictNextFunction · 0.70
dictReleaseIteratorFunction · 0.70

Tested by

no test coverage detected