本文整理汇总了C++中build_request函数的典型用法代码示例。如果您正苦于以下问题:C++ build_request函数的具体用法?C++ build_request怎么用?C++ build_request使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了build_request函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: strlen
int redis_zset::zrange_get(const char* cmd, const char* key, int start,
int stop, std::vector<string>* result)
{
const char* argv[4];
size_t lens[4];
argv[0] = cmd;
lens[0] = strlen(cmd);
argv[1] = key;
lens[1] = strlen(key);
char start_s[INTLEN], stop_s[INTLEN];
safe_snprintf(start_s, sizeof(start_s), "%d", start);
safe_snprintf(stop_s, sizeof(stop_s), "%d", stop);
argv[2] = start_s;
lens[2] = strlen(start_s);
argv[3] = stop_s;
lens[3] = strlen(stop_s);
hash_slot(key);
build_request(4, argv, lens);
return get_strings(result);
}
开发者ID:LazyPlanet,项目名称:acl,代码行数:26,代码来源:redis_zset.cpp
示例2: sizeof
bool redis_list::bpop(const char* cmd, const std::vector<string>& keys,
size_t timeout, std::pair<string, string>& result)
{
size_t argc = 2 + keys.size();
const char** args = (const char**) pool_->dbuf_alloc(argc * sizeof(char*));
size_t* lens = (size_t*) pool_->dbuf_alloc(argc * sizeof(size_t));
args[0] = cmd;
lens[0] = strlen(cmd);
size_t i = 1;
std::vector<string>::const_iterator cit = keys.begin();
for (; cit != keys.end(); ++cit)
{
args[i] = (*cit).c_str();
lens[i] = strlen(args[i]);
i++;
}
char buf[LONG_LEN];
safe_snprintf(buf, sizeof(buf), "%lu", (unsigned long) timeout);
args[i] = buf;
lens[i] = strlen(args[i]);
build_request(argc, args, lens);
return bpop(result);
}
开发者ID:gnuhub,项目名称:redis-1,代码行数:27,代码来源:redis_list.cpp
示例3: sizeof
bool redis_key::restore(const char* key, const char* value, size_t len,
int nttl, bool replace /* = false */)
{
const char* argv[5];
size_t lens[5];
argv[0] = "RESTORE";
lens[0] = sizeof("RESTORE") - 1;
argv[1] = key;
lens[1] = strlen(key);
char ttl_s[INT_LEN];
safe_snprintf(ttl_s, sizeof(ttl_s), "%d", nttl);
argv[2] = ttl_s;
lens[2] = strlen(ttl_s);
argv[3] = value;
lens[3] = len;
size_t argc = 4;
if (replace)
{
argv[4] = "REPLACE";
lens[4] = sizeof("REPLACE") - 1;
argc++;
}
hash_slot(key);
build_request(argc, argv, lens);
return check_status();
}
开发者ID:DayBreakZhang,项目名称:acl,代码行数:32,代码来源:redis_key.cpp
示例4: sizeof
int redis_string::bitop(const char* op, const char* destkey,
const char* keys[], size_t size)
{
size_t argc = 3 + size;
const char** argv = (const char**) pool_->dbuf_alloc(argc * sizeof(char*));
size_t* lens = (size_t*) pool_->dbuf_alloc(argc * sizeof(size_t));
argv[0] = "BITOP";
lens[0] = sizeof("BITOP") - 1;
argv[1] = op;
lens[1] = strlen(op);
argv[2] = destkey;
lens[2] = strlen(destkey);
for (size_t i = 3, j = 0; j < size; i++, j++)
{
argv[i] = keys[j];
lens[i] = strlen(argv[i]);
}
build_request(argc, argv, lens);
return get_number();
}
开发者ID:neland,项目名称:acl,代码行数:25,代码来源:redis_string.cpp
示例5: strlen
bool redis_string::incoper(const char* cmd, const char* key, long long int* n,
long long int* result)
{
size_t argc = 2;
const char* argv[3];
size_t lens[3];
argv[0] = cmd;
lens[0] = strlen(cmd);
argv[1] = key;
lens[1] = strlen(key);
char buf[INT64_LEN];
if (n != NULL)
{
(void) acl_i64toa(*n, buf, sizeof(buf));
argv[2] = buf;
lens[2] = strlen(buf);
argc++;
}
hash_slot(key);
build_request(argc, argv, lens);
bool success;
if (result != NULL)
*result = get_number64(&success);
else
(void) get_number64(&success);
return success;
}
开发者ID:neland,项目名称:acl,代码行数:32,代码来源:redis_string.cpp
示例6: free_nodes
const std::vector<disque_node*>* disque::hello()
{
free_nodes();
size_t argc = 1;
const char* argv[1];
size_t lens[1];
argv[0] = "HELLO";
lens[0] = sizeof("HELLO") - 1;
build_request(argc, argv, lens);
const redis_result* rr = run();
if (rr == NULL)
return NULL;
size_t n;
const redis_result** children = rr->get_children(&n);
if (children == NULL || n < 3)
return NULL;
if (children[0]->get_type() == REDIS_RESULT_INTEGER)
version_ = children[0]->get_integer();
if (children[1]->get_type() == REDIS_RESULT_STRING)
children[1]->argv_to_string(myid_);
for (size_t i = 2; i < n; i++)
{
disque_node* node = create_node(children[i]);
if (node != NULL)
nodes_.push_back(node);
}
return &nodes_;
}
开发者ID:lunlun1992,项目名称:acl,代码行数:35,代码来源:disque.cpp
示例7: on_connected
virtual error_code on_connected(
proxy_socket<Tag> & socket,
endpoint_type const & endpoint,
error_code & ec
)
{
std::cout << "Connected to proxy..." << std::endl;
request_t request = build_request(endpoint, ec);
if(!ec)
{
std::cout << "Sending connection request to proxy..." << std::endl;
socket.send( boost::asio::buffer(request.bytes), 0, ec);
if(!ec)
{
std::cout << "Reading response from proxy..." << std::endl;
boost::array<boost::uint8_t, 8> buffer;
size_t bytes_read = socket.read_some(boost::asio::buffer(buffer), ec);
if(!ec)
{
if(bytes_read == 8)
{
if(buffer[1] == 0x5a)
{
std::cout << "Connection to remote endpoint granted and established" << std::endl;
return (ec = error_code());
}
}
std::cout << "Connection to remote endpoint denied or invalid response" << std::endl;
return (ec = error_code(boost::asio::error::connection_refused));
}
}
}
return ec;
}
开发者ID:houzhenggang,项目名称:libnetpp,代码行数:35,代码来源:socks4.hpp
示例8: sizeof
const disque_job* disque::show(const char* job_id)
{
if (job_)
{
delete job_;
job_ = NULL;
}
size_t argc = 2;
const char* argv[2];
size_t lens[2];
argv[0] = "SHOW";
lens[0] = sizeof("SHOW") - 1;
argv[1] = job_id;
lens[1] = strlen(job_id);
build_request(argc, argv, lens);
const redis_result* rr = run();
if (rr == NULL)
return NULL;
job_ = NEW disque_job;
if (job_->init(*rr) == false)
{
delete job_;
job_ = NULL;
return NULL;
}
return job_;
}
开发者ID:lunlun1992,项目名称:acl,代码行数:32,代码来源:disque.cpp
示例9: sizeof
bool redis_zset::zscore(const char* key, const char* member, size_t len,
double& result)
{
const char* argv[3];
size_t lens[3];
argv[0] = "ZSCORE";
lens[0] = sizeof("ZSCORE") - 1;
argv[1] = key;
lens[1] = strlen(key);
argv[2] = member;
lens[2] = len;
hash_slot(key);
build_request(3, argv, lens);
char buf[BUFLEN];
int ret = get_string(buf, sizeof(buf));
if (ret <= 0)
return false;
result = atof(buf);
return true;
}
开发者ID:LazyPlanet,项目名称:acl,代码行数:25,代码来源:redis_zset.cpp
示例10: gcluster_push_virtual_ns_space_used
gint
gcluster_push_virtual_ns_space_used(addr_info_t * addr, long timeout, GHashTable *space_used, GError ** error)
{
static struct code_handler_s codes[] = {
{200, REPSEQ_FINAL, NULL, NULL},
{0, 0, NULL, NULL}
};
struct reply_sequence_data_s data = { NULL, 0, codes };
MESSAGE req = NULL;
GByteArray *buf = NULL;
GSList *kv_list = NULL;
/* send the hashtable in the body */
kv_list = key_value_pairs_convert_from_map(space_used, FALSE, error);
if (!kv_list) {
GSETERROR(error, "Conversion HashTable->List failure");
return (0);
}
/*encode the list */
buf = key_value_pairs_marshall_gba(kv_list, error);
if (!buf) {
GSETERROR(error, "Failed to marshall kv list");
goto error_marshall;
}
req = build_request(NAME_MSGNAME_CS_PUSH_VNS_SPACE_USED, buf->data, buf->len, error);
if (req == NULL) {
GSETERROR(error, "Failed to build request %s", NAME_MSGNAME_CS_PUSH_VNS_SPACE_USED);
goto error_buildreq;
}
/*reads the answers */
if (!metaXClient_reply_sequence_run_from_addrinfo(error, req, addr, timeout, &data)) {
GSETERROR(error, "Cannot execute the query %s and receive all the responses",
NAME_MSGNAME_CS_PUSH_BROKEN_CONT);
goto error_reply;
}
message_destroy(req, NULL);
g_byte_array_free(buf, TRUE);
if(kv_list) {
g_slist_foreach(kv_list, g_free1, NULL);
g_slist_free(kv_list);
}
return (1);
error_reply:
message_destroy(req, NULL);
error_buildreq:
g_byte_array_free(buf, TRUE);
error_marshall:
if(kv_list) {
g_slist_foreach(kv_list, g_free1, NULL);
g_slist_free(kv_list);
}
return (0);
}
开发者ID:redcurrant,项目名称:redcurrant,代码行数:60,代码来源:gridcluster_remote.c
示例11: gcluster_get_service_types
GSList *
gcluster_get_service_types(addr_info_t *addr, long timeout, GError ** error)
{
static struct code_handler_s codes[] = {
{206, REPSEQ_BODYMANDATORY, &container_list_content_handler, NULL},
{200, REPSEQ_FINAL, &container_list_content_handler, NULL},
{0, 0, NULL, NULL}};
GSList *srvtypes = NULL;
struct reply_sequence_data_s data = { &srvtypes, 0, codes };
MESSAGE req = NULL;
req = build_request(NAME_MSGNAME_CS_GET_SRVNAMES, NULL, 0, error);
if (req == NULL) {
GSETERROR(error, "Failed to build request %s", NAME_MSGNAME_CS_GET_SRVNAMES);
goto error_buildreq;
}
/*reads the answers */
if (!metaXClient_reply_sequence_run_from_addrinfo(error, req, addr, timeout, &data)) {
GSETERROR(error, "Cannot execute the query %s and receive all the responses", NAME_MSGNAME_CS_GET_SRVNAMES);
goto error_reply;
}
message_destroy(req, NULL);
return (srvtypes);
error_reply:
message_destroy(req, NULL);
error_buildreq:
return (NULL);
}
开发者ID:redcurrant,项目名称:redcurrant,代码行数:33,代码来源:gridcluster_remote.c
示例12: find_aux
t_list_single find_aux(t_list_words l, t_websearch search_engine,
t_list_single sites)
{
if (IS_EMPTY(l)) {
return sites;
} else {
char *results[NBR_WEBSITES];
int count;
char *request;
int i;
INFO("Construction de la requête");
request = build_request(HEAD(l));
INFO("Requête : %s", request);
count = websearch(search_engine, request, results, NBR_WEBSITES);
INFO("Documents trouvés : %d", count);
INFO("Stockage des sites trouvés");
for(i=0;i<count;i++) {
if (add_single_sorted(results[i], NBR_WEBSITES-i, &sites) == 0) {
free(results[i]);
}
}
INFO("Libération de la requête");
free_request(request);
return find_aux(NEXT(l), search_engine, sites);
}
}
开发者ID:davidjulien,项目名称:ouroboros,代码行数:31,代码来源:findonweb.c
示例13: make_request
int
make_request(int sockfd, char *hostname, char *request_path)
{
char *request = build_request(hostname, request_path);
size_t bytes_sent = 0;
size_t total_bytes_sent = 0;
size_t bytes_to_send = strlen(request);
debug("Bytes to send: %ld", bytes_to_send);
while (1) {
bytes_sent = send(sockfd, request, strlen(request), 0);
total_bytes_sent += bytes_sent;
debug("Bytes sent: %ld", bytes_sent);
if (total_bytes_sent >= bytes_to_send) {
break;
}
}
free(request);
return total_bytes_sent;
}
开发者ID:Azizou,项目名称:http,代码行数:25,代码来源:connect.c
示例14: g_vimeo_videos_search
void
g_vimeo_videos_search (GVimeo *vimeo,
const gchar *text,
gint page,
GVimeoVideoSearchCb callback,
gpointer user_data)
{
GVimeoVideoSearchData *search_data;
gchar *request;
g_return_if_fail (G_IS_VIMEO (vimeo));
request = build_request (vimeo, text, page);
search_data = g_slice_new (GVimeoVideoSearchData);
search_data->vimeo = vimeo;
search_data->search_cb = callback;
search_data->user_data = user_data;
grl_net_wc_request_async (vimeo->priv->wc,
request,
NULL,
search_videos_complete_cb,
search_data);
g_free (request);
}
开发者ID:GNOME,项目名称:grilo-plugins,代码行数:25,代码来源:gvimeo.c
示例15: gcluster_get_namespace_info
namespace_info_t *
gcluster_get_namespace_info(addr_info_t * addr, long timeout, GError ** error)
{
static struct code_handler_s codes[] = {
{200, REPSEQ_FINAL, &namespace_info_handler, NULL},
{0, 0, NULL, NULL}
};
namespace_info_t *ns_info = NULL;
struct reply_sequence_data_s data = { &ns_info, 0, codes };
MESSAGE req = NULL;
req = build_request(NAME_MSGNAME_CS_GETNS, NULL, 0, error);
if (req == NULL) {
GSETERROR(error, "Failed to build request %s", NAME_MSGNAME_CS_GETNS);
goto error_buildreq;
}
/*reads the answers */
if (!metaXClient_reply_sequence_run_from_addrinfo(error, req, addr, timeout, &data)) {
GSETERROR(error, "Cannot execute the query %s and receive all the responses", NAME_MSGNAME_CS_GETNS);
goto error_reply;
}
message_destroy(req, NULL);
return (ns_info);
error_reply:
message_destroy(req, NULL);
error_buildreq:
return (NULL);
}
开发者ID:redcurrant,项目名称:redcurrant,代码行数:33,代码来源:gridcluster_remote.c
注:本文中的build_request函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论