diff options
Diffstat (limited to 'src/server.h')
-rw-r--r-- | src/server.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server.h b/src/server.h index c6d5f987a..c7ddc9e84 100644 --- a/src/server.h +++ b/src/server.h @@ -513,6 +513,8 @@ typedef void (*moduleTypeRewriteFunc)(struct RedisModuleIO *io, struct redisObje typedef void (*moduleTypeDigestFunc)(struct RedisModuleDigest *digest, void *value); typedef size_t (*moduleTypeMemUsageFunc)(const void *value); typedef void (*moduleTypeFreeFunc)(void *value); +typedef size_t (*moduleTypeFreeEffortFunc)(struct redisObject *key, const void *value); +typedef void (*moduleTypeUnlinkFunc)(struct redisObject *key, void *value); /* This callback type is called by moduleNotifyUserChanged() every time * a user authenticated via the module API is associated with a different @@ -532,6 +534,8 @@ typedef struct RedisModuleType { moduleTypeMemUsageFunc mem_usage; moduleTypeDigestFunc digest; moduleTypeFreeFunc free; + moduleTypeFreeEffortFunc free_effort; + moduleTypeUnlinkFunc unlink; moduleTypeAuxLoadFunc aux_load; moduleTypeAuxSaveFunc aux_save; int aux_save_triggers; @@ -1651,6 +1655,7 @@ int moduleTryServeClientBlockedOnKey(client *c, robj *key); void moduleUnblockClient(client *c); int moduleClientIsBlockedOnKeys(client *c); void moduleNotifyUserChanged(client *c); +void moduleNotifyKeyUnlink(robj *key, robj *val); /* Utils */ long long ustime(void); @@ -2201,7 +2206,8 @@ int dbAsyncDelete(redisDb *db, robj *key); void emptyDbAsync(redisDb *db); void slotToKeyFlushAsync(void); size_t lazyfreeGetPendingObjectsCount(void); -void freeObjAsync(robj *o); +size_t lazyfreeGetFreedObjectsCount(void); +void freeObjAsync(robj *key, robj *obj); /* API to get key arguments from commands */ int *getKeysPrepareResult(getKeysResult *result, int numkeys); |