• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ build_request函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ build_tree函数代码示例发布时间:2022-05-31
下一篇:
C++ build_path_from_dentry函数代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap