diff options
author | antirez <antirez@gmail.com> | 2019-06-29 20:08:41 -0400 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2019-06-29 20:08:41 -0400 |
commit | 45d64f229eaa0fa17e56bf0589da78d81065344c (patch) | |
tree | e6acd28984763701ae8b40de3cf94aa7af217b3c /src/networking.c | |
parent | a28d7918d7ba229666670f29f8202cc67f4f3a1a (diff) | |
download | redis-45d64f229eaa0fa17e56bf0589da78d81065344c.tar.gz |
Client side caching: fields and flags for tracking mode.
Diffstat (limited to 'src/networking.c')
-rw-r--r-- | src/networking.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/networking.c b/src/networking.c index 4bc22120a..44979770c 100644 --- a/src/networking.c +++ b/src/networking.c @@ -158,6 +158,7 @@ client *createClient(int fd) { c->pubsub_patterns = listCreate(); c->peerid = NULL; c->client_list_node = NULL; + c->client_tracking_redirection = 0; listSetFreeMethod(c->pubsub_patterns,decrRefCountVoid); listSetMatchMethod(c->pubsub_patterns,listMatchObjects); if (fd != -1) linkClient(c); @@ -966,6 +967,9 @@ void unlinkClient(client *c) { listDelNode(server.unblocked_clients,ln); c->flags &= ~CLIENT_UNBLOCKED; } + + /* Clear the tracking status. */ + if (c->flags & CLIENT_TRACKING) disableTracking(c); } void freeClient(client *c) { @@ -1849,6 +1853,7 @@ sds catClientInfoString(sds s, client *client) { if (client->flags & CLIENT_PUBSUB) *p++ = 'P'; if (client->flags & CLIENT_MULTI) *p++ = 'x'; if (client->flags & CLIENT_BLOCKED) *p++ = 'b'; + if (client->flags & CLIENT_TRACKING) *p++ = 't'; if (client->flags & CLIENT_DIRTY_CAS) *p++ = 'd'; if (client->flags & CLIENT_CLOSE_AFTER_REPLY) *p++ = 'c'; if (client->flags & CLIENT_UNBLOCKED) *p++ = 'u'; |