struct HelloTypeObject *createHelloTypeObject(void) { struct HelloTypeObject *o; o = RedisModule_Alloc(sizeof(*o)); o->head = NULL; o->len = 0; return o; }
/* HELLOTIMER.TIMER*/ int TimerCommand_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, int argc) { REDISMODULE_NOT_USED(argv); REDISMODULE_NOT_USED(argc); for (int j = 0; j < 10; j++) { int delay = rand() % 5000; char *buf = RedisModule_Alloc(256); snprintf(buf,256,"After %d", delay); RedisModuleTimerID tid = RedisModule_CreateTimer(ctx,delay,timerHandler,buf); REDISMODULE_NOT_USED(tid); } return RedisModule_ReplyWithSimpleString(ctx, "OK"); }
void HelloTypeInsert(struct HelloTypeObject *o, int64_t ele) { struct HelloTypeNode *next = o->head, *newnode, *prev = NULL; while(next && next->value < ele) { prev = next; next = next->next; } newnode = RedisModule_Alloc(sizeof(*newnode)); newnode->value = ele; newnode->next = next; if (prev) { prev->next = newnode; } else { o->head = newnode; } o->len++; }