X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/c563ce463b169c768ced856167d3ee09652207b1..aba4adb7dcf202246b2663e34b18c9968003509c:/src/redis.h diff --git a/src/redis.h b/src/redis.h index e6058caa..07680903 100644 --- a/src/redis.h +++ b/src/redis.h @@ -55,6 +55,10 @@ #define REDIS_AUTO_AOFREWRITE_MIN_SIZE (1024*1024) #define REDIS_SLOWLOG_LOG_SLOWER_THAN 10000 #define REDIS_SLOWLOG_MAX_LEN 64 +#define REDIS_MAX_CLIENTS 10000 + +#define REDIS_REPL_TIMEOUT 60 +#define REDIS_REPL_PING_SLAVE_PERIOD 10 /* Hash table parameters */ #define REDIS_HT_MINFILL 10 /* Minimal hash table fill 10% */ @@ -133,6 +137,7 @@ #define REDIS_UNBLOCKED 256 /* This client was unblocked and is stored in server.unblocked_clients */ #define REDIS_LUA_CLIENT 512 /* This is a non connected client used by Lua */ +#define REDIS_ASKING 1024 /* Client issued the ASKING command */ /* Client request types */ #define REDIS_REQ_INLINE 1 @@ -208,7 +213,7 @@ #define REDIS_MAXMEMORY_NO_EVICTION 5 /* Scripting */ -#define REDIS_LUA_TIME_LIMIT 60000 /* milliseconds */ +#define REDIS_LUA_TIME_LIMIT 5000 /* milliseconds */ /* We can print the stacktrace, so our assert is defined this way: */ #define redisAssertWithInfo(_c,_o,_e) ((_e)?(void)0 : (_redisAssertWithInfo(_c,_o,#_e,__FILE__,__LINE__),_exit(1))) @@ -344,7 +349,7 @@ struct sharedObjectsStruct { robj *crlf, *ok, *err, *emptybulk, *czero, *cone, *cnegone, *pong, *space, *colon, *nullbulk, *nullmultibulk, *queued, *emptymultibulk, *wrongtypeerr, *nokeyerr, *syntaxerr, *sameobjecterr, - *outofrangeerr, *noscripterr, *loadingerr, *plus, + *outofrangeerr, *noscripterr, *loadingerr, *slowscripterr, *plus, *select0, *select1, *select2, *select3, *select4, *select5, *select6, *select7, *select8, *select9, *messagebulk, *pmessagebulk, *subscribebulk, *unsubscribebulk, *mbulk3, @@ -515,6 +520,7 @@ struct redisServer { int port; char *bindaddr; char *unixsocket; + mode_t unixsocketperm; int ipfd; int sofd; int cfd; @@ -588,6 +594,8 @@ struct redisServer { char *masterauth; char *masterhost; int masterport; + int repl_ping_slave_period; + int repl_timeout; redisClient *master; /* client that is master for this slave */ int repl_syncio_timeout; /* timeout for synchronous I/O calls */ int replstate; /* replication status if the instance is a slave */ @@ -637,6 +645,8 @@ struct redisServer { long long lua_time_start; int lua_random_dirty; /* True if a random command was called during the exection of the current script. */ + int lua_timedout; /* True if we reached the time limit for script + execution. */ }; typedef struct pubsubPattern { @@ -943,6 +953,7 @@ int pubsubUnsubscribeAllChannels(redisClient *c, int notify); int pubsubUnsubscribeAllPatterns(redisClient *c, int notify); void freePubsubPattern(void *p); int listMatchPubsubPattern(void *a, void *b); +int pubsubPublishMessage(robj *channel, robj *message); /* Configuration */ void loadServerConfig(char *filename); @@ -1119,11 +1130,13 @@ void unwatchCommand(redisClient *c); void clusterCommand(redisClient *c); void restoreCommand(redisClient *c); void migrateCommand(redisClient *c); +void askingCommand(redisClient *c); void dumpCommand(redisClient *c); void objectCommand(redisClient *c); void clientCommand(redisClient *c); void evalCommand(redisClient *c); void evalShaCommand(redisClient *c); +void scriptCommand(redisClient *c); #if defined(__GNUC__) void *calloc(size_t count, size_t size) __attribute__ ((deprecated));