MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / RedisModule_OnLoad

Function RedisModule_OnLoad

tests/modules/defragtest.c:194–234  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

192}
193
194int RedisModule_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv, int argc) {
195 REDISMODULE_NOT_USED(argv);
196 REDISMODULE_NOT_USED(argc);
197
198 if (RedisModule_Init(ctx, "defragtest", 1, REDISMODULE_APIVER_1)
199 == REDISMODULE_ERR) return REDISMODULE_ERR;
200
201 if (RedisModule_GetTypeMethodVersion() < REDISMODULE_TYPE_METHOD_VERSION) {
202 return REDISMODULE_ERR;
203 }
204
205 long long glen;
206 if (argc != 1 || RedisModule_StringToLongLong(argv[0], &glen) == REDISMODULE_ERR) {
207 return REDISMODULE_ERR;
208 }
209
210 createGlobalStrings(ctx, glen);
211
212 RedisModuleTypeMethods tm = {
213 .version = REDISMODULE_TYPE_METHOD_VERSION,
214 .free = FragFree,
215 .free_effort = FragFreeEffort,
216 .defrag = FragDefrag
217 };
218
219 FragType = RedisModule_CreateDataType(ctx, "frag_type", 0, &tm);
220 if (FragType == NULL) return REDISMODULE_ERR;
221
222 if (RedisModule_CreateCommand(ctx, "frag.create",
223 fragCreateCommand, "write deny-oom", 1, 1, 1) == REDISMODULE_ERR)
224 return REDISMODULE_ERR;
225
226 if (RedisModule_CreateCommand(ctx, "frag.resetstats",
227 fragResetStatsCommand, "write deny-oom", 1, 1, 1) == REDISMODULE_ERR)
228 return REDISMODULE_ERR;
229
230 RedisModule_RegisterInfoFunc(ctx, FragInfo);
231 RedisModule_RegisterDefragFunc(ctx, defragGlobalStrings);
232
233 return REDISMODULE_OK;
234}

Callers

nothing calls this directly

Calls 2

createGlobalStringsFunction · 0.85
RedisModule_InitFunction · 0.50

Tested by

no test coverage detected