summaryrefslogtreecommitdiff
path: root/src/redismodule.h
diff options
context:
space:
mode:
authorShaya Potter <shaya@redislabs.com>2022-03-07 17:37:57 +0200
committerGitHub <noreply@github.com>2022-03-07 17:37:57 +0200
commit23f03e7965649ca3bbdac8d5e9bd64f4e8c37b2c (patch)
tree1b0234a3d272a1838ec700e8a1923278e143b57b /src/redismodule.h
parent45d83fb2d49c9d44249265b3ccb63cd39fa50501 (diff)
downloadredis-23f03e7965649ca3bbdac8d5e9bd64f4e8c37b2c.tar.gz
Modules: Add REDISMODULE_EVENT_CONFIG (#10311)
Add a new REDISMODULE_EVENT_CONFIG event type for notifying modules when Redis configuration changes.
Diffstat (limited to 'src/redismodule.h')
-rw-r--r--src/redismodule.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/redismodule.h b/src/redismodule.h
index 79ce2c697..1f16708c0 100644
--- a/src/redismodule.h
+++ b/src/redismodule.h
@@ -429,7 +429,8 @@ typedef void (*RedisModuleEventLoopOneShotFunc)(void *user_data);
#define REDISMODULE_EVENT_FORK_CHILD 13
#define REDISMODULE_EVENT_REPL_ASYNC_LOAD 14
#define REDISMODULE_EVENT_EVENTLOOP 15
-#define _REDISMODULE_EVENT_NEXT 16 /* Next event flag, should be updated if a new event added. */
+#define REDISMODULE_EVENT_CONFIG 16
+#define _REDISMODULE_EVENT_NEXT 17 /* Next event flag, should be updated if a new event added. */
typedef struct RedisModuleEvent {
uint64_t id; /* REDISMODULE_EVENT_... defines. */
@@ -532,7 +533,11 @@ static const RedisModuleEvent
RedisModuleEvent_EventLoop = {
REDISMODULE_EVENT_EVENTLOOP,
1
-};
+ },
+ RedisModuleEvent_Config = {
+ REDISMODULE_EVENT_CONFIG,
+ 1
+ };
/* Those are values that are used for the 'subevent' callback argument. */
#define REDISMODULE_SUBEVENT_PERSISTENCE_RDB_START 0
@@ -574,6 +579,9 @@ static const RedisModuleEvent
#define REDISMODULE_SUBEVENT_MODULE_UNLOADED 1
#define _REDISMODULE_SUBEVENT_MODULE_NEXT 2
+#define REDISMODULE_SUBEVENT_CONFIG_CHANGE 0
+#define _REDISMODULE_SUBEVENT_CONFIG_NEXT 1
+
#define REDISMODULE_SUBEVENT_LOADING_PROGRESS_RDB 0
#define REDISMODULE_SUBEVENT_LOADING_PROGRESS_AOF 1
#define _REDISMODULE_SUBEVENT_LOADING_PROGRESS_NEXT 2
@@ -674,6 +682,17 @@ typedef struct RedisModuleModuleChange {
#define RedisModuleModuleChange RedisModuleModuleChangeV1
+#define REDISMODULE_CONFIGCHANGE_VERSION 1
+typedef struct RedisModuleConfigChange {
+ uint64_t version; /* Not used since this structure is never passed
+ from the module to the core right now. Here
+ for future compatibility. */
+ uint32_t num_changes; /* how many redis config options were changed */
+ const char **config_names; /* the config names that were changed */
+} RedisModuleConfigChangeV1;
+
+#define RedisModuleConfigChange RedisModuleConfigChangeV1
+
#define REDISMODULE_CRON_LOOP_VERSION 1
typedef struct RedisModuleCronLoopInfo {
uint64_t version; /* Not used since this structure is never passed