Iterate over modules, and trigger rdb aux saving for the ones modules types * who asked for it. */
| 4878 | /* Iterate over modules, and trigger rdb aux saving for the ones modules types |
| 4879 | * who asked for it. */ |
| 4880 | ssize_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) |
no test coverage detected