MCPcopy Create free account
hub / github.com/acl-dev/acl / build_request2

Method build_request2

lib_acl_cpp/src/redis/redis_command.cpp:1054–1081  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1052}
1053
1054void redis_command::build_request2(size_t argc, const char* argv[], const size_t lens[])
1055{
1056 size_t size = 1 + argc * 3;
1057 if (request_obj_ == NULL) {
1058 request_obj_ = NEW redis_request();
1059 } else {
1060 request_obj_->clear();
1061 }
1062 request_obj_->reserve(size);
1063
1064#define BLEN 32
1065
1066 char* buf = (char*) dbuf_->dbuf_alloc(BLEN);
1067 int len = safe_snprintf(buf, BLEN, "*%lu\r\n", (unsigned long) argc);
1068 request_obj_->put(buf, len);
1069
1070 for (size_t i = 0; i < argc; i++) {
1071 buf = (char*) dbuf_->dbuf_alloc(BLEN);
1072 len = safe_snprintf(buf, BLEN, "$%lu\r\n",
1073 (unsigned long) lens[i]);
1074 request_obj_->put(buf, len);
1075
1076 request_obj_->put(argv[i], lens[i]);
1077
1078 buf = (char*) dbuf_->dbuf_strdup("\r\n");
1079 request_obj_->put(buf, 2);
1080 }
1081}
1082
1083//////////////////////////////////////////////////////////////////////////
1084

Callers

nothing calls this directly

Calls 7

safe_snprintfFunction · 0.85
dbuf_allocMethod · 0.80
dbuf_strdupMethod · 0.80
redis_requestClass · 0.50
clearMethod · 0.45
reserveMethod · 0.45
putMethod · 0.45

Tested by

no test coverage detected