dictAdd(server.pubsub_channels,channel,clients);
incrRefCount(channel);
} else {
- clients = dictGetEntryVal(de);
+ clients = dictGetVal(de);
}
listAddNodeTail(clients,c);
}
/* Remove the client from the channel -> clients list hash table */
de = dictFind(server.pubsub_channels,channel);
redisAssertWithInfo(c,NULL,de != NULL);
- clients = dictGetEntryVal(de);
+ clients = dictGetVal(de);
ln = listSearchKey(clients,c);
redisAssertWithInfo(c,NULL,ln != NULL);
listDelNode(clients,ln);
int count = 0;
while((de = dictNext(di)) != NULL) {
- robj *channel = dictGetEntryKey(de);
+ robj *channel = dictGetKey(de);
count += pubsubUnsubscribeChannel(c,channel,notify);
}
/* Send to clients listening for that channel */
de = dictFind(server.pubsub_channels,channel);
if (de) {
- list *list = dictGetEntryVal(de);
+ list *list = dictGetVal(de);
listNode *ln;
listIter li;
void publishCommand(redisClient *c) {
int receivers = pubsubPublishMessage(c->argv[1],c->argv[2]);
+ if (server.cluster_enabled) clusterPropagatePublish(c->argv[1],c->argv[2]);
addReplyLongLong(c,receivers);
}