MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / addReplyCommand

Function addReplyCommand

src/server.cpp:5443–5482  ·  view source on GitHub ↗

Output the representation of a Redis command. Used by the COMMAND command. */

Source from the content-addressed store, hash-verified

5441
5442/* Output the representation of a Redis command. Used by the COMMAND command. */
5443void addReplyCommand(client *c, struct redisCommand *cmd) {
5444 if (!cmd) {
5445 addReplyNull(c);
5446 } else {
5447 /* We are adding: command name, arg count, flags, first, last, offset, categories */
5448 addReplyArrayLen(c, 7);
5449 addReplyBulkCString(c, cmd->name);
5450 addReplyLongLong(c, cmd->arity);
5451
5452 int flagcount = 0;
5453 void *flaglen = addReplyDeferredLen(c);
5454 flagcount += addReplyCommandFlag(c,cmd,CMD_WRITE, "write");
5455 flagcount += addReplyCommandFlag(c,cmd,CMD_READONLY, "readonly");
5456 flagcount += addReplyCommandFlag(c,cmd,CMD_DENYOOM, "denyoom");
5457 flagcount += addReplyCommandFlag(c,cmd,CMD_ADMIN, "admin");
5458 flagcount += addReplyCommandFlag(c,cmd,CMD_PUBSUB, "pubsub");
5459 flagcount += addReplyCommandFlag(c,cmd,CMD_NOSCRIPT, "noscript");
5460 flagcount += addReplyCommandFlag(c,cmd,CMD_RANDOM, "random");
5461 flagcount += addReplyCommandFlag(c,cmd,CMD_SORT_FOR_SCRIPT,"sort_for_script");
5462 flagcount += addReplyCommandFlag(c,cmd,CMD_LOADING, "loading");
5463 flagcount += addReplyCommandFlag(c,cmd,CMD_STALE, "stale");
5464 flagcount += addReplyCommandFlag(c,cmd,CMD_SKIP_MONITOR, "skip_monitor");
5465 flagcount += addReplyCommandFlag(c,cmd,CMD_SKIP_SLOWLOG, "skip_slowlog");
5466 flagcount += addReplyCommandFlag(c,cmd,CMD_ASKING, "asking");
5467 flagcount += addReplyCommandFlag(c,cmd,CMD_FAST, "fast");
5468 flagcount += addReplyCommandFlag(c,cmd,CMD_NO_AUTH, "no_auth");
5469 flagcount += addReplyCommandFlag(c,cmd,CMD_MAY_REPLICATE, "may_replicate");
5470 if (cmdHasMovableKeys(cmd)) {
5471 addReplyStatus(c, "movablekeys");
5472 flagcount += 1;
5473 }
5474 setDeferredSetLen(c, flaglen, flagcount);
5475
5476 addReplyLongLong(c, cmd->firstkey);
5477 addReplyLongLong(c, cmd->lastkey);
5478 addReplyLongLong(c, cmd->keystep);
5479
5480 addReplyCommandCategories(c,cmd);
5481 }
5482}
5483
5484/* COMMAND <subcommand> <args> */
5485void commandCommand(client *c) {

Callers 1

commandCommandFunction · 0.85

Calls 10

addReplyNullFunction · 0.85
addReplyArrayLenFunction · 0.85
addReplyBulkCStringFunction · 0.85
addReplyLongLongFunction · 0.85
addReplyDeferredLenFunction · 0.85
addReplyCommandFlagFunction · 0.85
cmdHasMovableKeysFunction · 0.85
addReplyStatusFunction · 0.85
setDeferredSetLenFunction · 0.85

Tested by

no test coverage detected