Lines Matching refs:module
63 RedisModule *module; member
118 struct RedisModule *module; /* Module reference. */ member
182 struct RedisModule *module; member
218 RedisModule *module; /* Module blocking the client. */ member
246 RedisModule *module; member
284 RedisModule *module; member
511 ctx->module->name); in moduleFreeContext()
540 ctx.module = cp->module; in RedisModuleCommandDispatcher()
576 ctx.module = cp->module; in moduleGetCommandKeysViaAPI()
721 cp->module = ctx->module; in RM_CreateCommand()
744 RedisModule *module; in RM_SetModuleAttribs() local
746 if (ctx->module != NULL) return; in RM_SetModuleAttribs()
747 module = zmalloc(sizeof(*module)); in RM_SetModuleAttribs()
748 module->name = sdsnew((char*)name); in RM_SetModuleAttribs()
749 module->ver = ver; in RM_SetModuleAttribs()
750 module->apiver = apiver; in RM_SetModuleAttribs()
751 module->types = listCreate(); in RM_SetModuleAttribs()
752 module->usedby = listCreate(); in RM_SetModuleAttribs()
753 module->using = listCreate(); in RM_SetModuleAttribs()
754 module->filters = listCreate(); in RM_SetModuleAttribs()
755 module->in_call = 0; in RM_SetModuleAttribs()
756 ctx->module = module; in RM_SetModuleAttribs()
1221 "call.", ctx->module->name); in RM_ReplySetArrayLength()
2761 if (ctx->module) ctx->module->in_call++; in RM_Call()
2829 if (ctx->module) ctx->module->in_call--; in RM_Call()
2905 struct RedisModule *module = dictGetVal(de); in moduleTypeLookupModuleByName() local
2909 listRewind(module->types,&li); in moduleTypeLookupModuleByName()
2944 struct RedisModule *module = dictGetVal(de); in moduleTypeLookupModuleByID() local
2948 listRewind(module->types,&li); in moduleTypeLookupModuleByID()
3069 mt->module = ctx->module; in RM_CreateDataType()
3077 listAddNodeTail(ctx->module->types,mt); in RM_CreateDataType()
3133 io->type->module->name, in moduleRDBLoadError()
3466 io->ctx->module = io->type->module; in RM_GetContextFromIO()
3489 void RM_LogRaw(RedisModule *module, const char *levelstr, const char *fmt, va_list ap) { in RM_LogRaw() argument
3502 name_len = snprintf(msg, sizeof(msg),"<%s> ", module->name); in RM_LogRaw()
3522 if (!ctx->module) return; /* Can only log if module is initialized */ in RM_Log()
3526 RM_LogRaw(ctx->module,levelstr,fmt,ap); in RM_Log()
3538 RM_LogRaw(io->type->module,levelstr,fmt,ap); in RM_LogIOError()
3576 ctx.module = bc->module; in unblockClientFromModule()
3619 bc->module = ctx->module; in RM_BlockClient()
3724 ctx.module = bc->module; in moduleHandleBlockedClients()
3738 ctx.module = bc->module; in moduleHandleBlockedClients()
3787 ctx.module = bc->module; in moduleBlockedClientTimedOut()
3859 ctx->module = bc->module; in RM_GetThreadSafeContext()
3958 sub->module = ctx->module; in RM_SubscribeToKeyspaceEvents()
3987 ctx.module = sub->module; in moduleNotifyKeyspaceEvent()
4003 void moduleUnsubscribeNotifications(RedisModule *module) { in moduleUnsubscribeNotifications() argument
4009 if (sub->module == module) { in moduleUnsubscribeNotifications()
4029 struct RedisModule *module; member
4050 ctx.module = r->module; in moduleCallClusterReceivers()
4069 uint64_t module_id = moduleTypeEncodeId(ctx->module->name,0); in RM_RegisterClusterMessageReceiver()
4096 r->module = ctx->module; in RM_RegisterClusterMessageReceiver()
4112 uint64_t module_id = moduleTypeEncodeId(ctx->module->name,0); in RM_SendClusterMessage()
4295 RedisModule *module; /* Module reference. */ member
4323 ctx.module = timer->module; in moduleTimerHandler()
4347 timer->module = ctx->module; in RM_CreateTimer()
4395 if (timer == raxNotFound || timer->module != ctx->module) in RM_StopTimer()
4411 if (timer == raxNotFound || timer->module != ctx->module) in RM_GetTimerInfo()
4710 sapi->module = ctx->module; in RM_ExportSharedAPI()
4756 if (listSearchKey(sapi->module->usedby,ctx->module) == NULL) { in RM_GetSharedAPI()
4757 listAddNodeTail(sapi->module->usedby,ctx->module); in RM_GetSharedAPI()
4758 listAddNodeTail(ctx->module->using,sapi->module); in RM_GetSharedAPI()
4769 int moduleUnregisterSharedAPI(RedisModule *module) { in moduleUnregisterSharedAPI() argument
4776 if (sapi->module == module) { in moduleUnregisterSharedAPI()
4790 int moduleUnregisterUsedAPI(RedisModule *module) { in moduleUnregisterUsedAPI() argument
4795 listRewind(module->using,&li); in moduleUnregisterUsedAPI()
4798 listNode *ln = listSearchKey(used->usedby,module); in moduleUnregisterUsedAPI()
4800 listDelNode(module->using,ln); in moduleUnregisterUsedAPI()
4811 int moduleUnregisterFilters(RedisModule *module) { in moduleUnregisterFilters() argument
4816 listRewind(module->filters,&li); in moduleUnregisterFilters()
4887 filter->module = ctx->module; in RM_RegisterCommandFilter()
4892 listAddNodeTail(ctx->module->filters, filter); in RM_RegisterCommandFilter()
4902 if (filter->module != ctx->module) return REDISMODULE_ERR; in RM_UnregisterCommandFilter()
4908 ln = listSearchKey(ctx->module->filters,filter); in RM_UnregisterCommandFilter()
4910 listDelNode(ctx->module->filters,ln); in RM_UnregisterCommandFilter()
4933 if ((f->flags & REDISMODULE_CMDFILTER_NOSELF) && f->module->in_call) continue; in moduleCallCommandFilters()
5110 void moduleFreeModuleStructure(struct RedisModule *module) { in moduleFreeModuleStructure() argument
5111 listRelease(module->types); in moduleFreeModuleStructure()
5112 listRelease(module->filters); in moduleFreeModuleStructure()
5113 sdsfree(module->name); in moduleFreeModuleStructure()
5114 zfree(module); in moduleFreeModuleStructure()
5117 void moduleUnregisterCommands(struct RedisModule *module) { in moduleUnregisterCommands() argument
5127 if (cp->module == module) { in moduleUnregisterCommands()
5160 if (ctx.module) { in moduleLoad()
5161 moduleUnregisterCommands(ctx.module); in moduleLoad()
5162 moduleUnregisterSharedAPI(ctx.module); in moduleLoad()
5163 moduleUnregisterUsedAPI(ctx.module); in moduleLoad()
5164 moduleFreeModuleStructure(ctx.module); in moduleLoad()
5173 dictAdd(modules,ctx.module->name,ctx.module); in moduleLoad()
5174 ctx.module->handle = handle; in moduleLoad()
5175 serverLog(LL_NOTICE,"Module '%s' loaded from %s",ctx.module->name,path); in moduleLoad()
5188 struct RedisModule *module = dictFetchValue(modules,name); in moduleUnload() local
5190 if (module == NULL) { in moduleUnload()
5193 } else if (listLength(module->types)) { in moduleUnload()
5196 } else if (listLength(module->usedby)) { in moduleUnload()
5201 moduleUnregisterCommands(module); in moduleUnload()
5202 moduleUnregisterSharedAPI(module); in moduleUnload()
5203 moduleUnregisterUsedAPI(module); in moduleUnload()
5204 moduleUnregisterFilters(module); in moduleUnload()
5207 moduleUnsubscribeNotifications(module); in moduleUnload()
5212 if (dlclose(module->handle) == -1) { in moduleUnload()
5216 module->name, error); in moduleUnload()
5220 serverLog(LL_NOTICE,"Module %s unloaded",module->name); in moduleUnload()
5221 dictDelete(modules,module->name); in moduleUnload()
5222 module->name = NULL; /* The name was already freed by dictDelete(). */ in moduleUnload()
5223 moduleFreeModuleStructure(module); in moduleUnload()
5286 struct RedisModule *module = dictGetVal(de); in moduleCommand() local
5291 addReplyLongLong(c,module->ver); in moduleCommand()