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

C++ lt::session类代码示例

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

本文整理汇总了C++中lt::session的典型用法代码示例。如果您正苦于以下问题:C++ session类的具体用法?C++ session怎么用?C++ session使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了session类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: print_alerts

void print_alerts(lt::session& ses
	, std::function<void(lt::session&, lt::alert const*)> on_alert)
{
	lt::time_point start_time = lt::clock_type::now();

	ses.set_alert_notify([&ses,start_time,on_alert] {
		ses.get_io_service().post([&ses,start_time,on_alert] {

		try {
			std::vector<lt::alert*> alerts;
			ses.pop_alerts(&alerts);

			for (lt::alert const* a : alerts)
			{
				std::printf("%-3d [0] %s\n", int(lt::duration_cast<lt::seconds>(a->timestamp()
					- start_time).count()), a->message().c_str());
				// call the user handler
				on_alert(ses, a);
			}
		} catch (std::exception const& e) {
			std::printf("print alerts: ERROR failed with exception: %s"
				, e.what());
		} catch (...) {
			std::printf("print alerts: ERROR failed with (unknown) exception");
		}
	} ); } );
}
开发者ID:krattai,项目名称:AEBL,代码行数:27,代码来源:utils.cpp


示例2: filter_ips

void filter_ips(lt::session& ses)
{
	ip_filter filter;
	filter.add_rule(address_v4::from_string("50.0.0.1")
		, address_v4::from_string("50.0.0.2"), ip_filter::blocked);
	ses.set_ip_filter(filter);
}
开发者ID:Jackarain,项目名称:libtorrent,代码行数:7,代码来源:utils.cpp


示例3: add_ip_filter

void add_ip_filter(lt::session& ses)
{
	lt::ip_filter filter;
	// filter out 0-2 inclusive
	filter.add_rule(
		asio::ip::address_v4::from_string("60.0.0.0")
		, asio::ip::address_v4::from_string("60.0.0.2")
		, lt::ip_filter::blocked);
	ses.set_ip_filter(filter);
}
开发者ID:poltina,项目名称:libtorrent,代码行数:10,代码来源:test_ip_filter.cpp


示例4: print_alerts

void print_alerts(lt::session& ses
	, std::function<void(lt::session&, lt::alert const*)> on_alert)
{
	lt::time_point start_time = lt::clock_type::now();

	ses.set_alert_notify([&ses,start_time,on_alert] {
		ses.get_io_service().post([&ses,start_time,on_alert] {

		std::vector<lt::alert*> alerts;
		ses.pop_alerts(&alerts);

		for (lt::alert const* a : alerts)
		{
			printf("%-3d [0] %s\n", int(lt::duration_cast<lt::seconds>(a->timestamp()
				- start_time).count()), a->message().c_str());
			// call the user handler
			on_alert(ses, a);
		}
	} ); } );
}
开发者ID:Jackarain,项目名称:libtorrent,代码行数:20,代码来源:utils.cpp


示例5: get_cache_size

int get_cache_size(lt::session& ses)
{
	std::vector<stats_metric> stats = session_stats_metrics();
	int const read_cache_idx = find_metric_idx("disk.read_cache_blocks");
	int const write_cache_idx = find_metric_idx("disk.write_cache_blocks");
	TEST_CHECK(read_cache_idx >= 0);
	TEST_CHECK(write_cache_idx >= 0);
	ses.set_alert_notify([](){});
	ses.post_session_stats();
	std::vector<alert*> alerts;
	ses.pop_alerts(&alerts);
	int cache_size = -1;
	for (auto const a : alerts)
	{
		if (auto const* st = alert_cast<session_stats_alert>(a))
		{
			cache_size = st->values[read_cache_idx];
			cache_size += st->values[write_cache_idx];
			break;
		}
	}
	return cache_size;
}
开发者ID:Jackarain,项目名称:libtorrent,代码行数:23,代码来源:utils.cpp


示例6: set_proxy

void set_proxy(lt::session& ses, int proxy_type, int flags, bool proxy_peer_connections)
{
	// apply the proxy settings to session 0
	settings_pack p;
	p.set_int(settings_pack::proxy_type, proxy_type);
	if (proxy_type == settings_pack::socks4)
		p.set_int(settings_pack::proxy_port, 4444);
	else
		p.set_int(settings_pack::proxy_port, 5555);
	if (flags & ipv6)
		p.set_str(settings_pack::proxy_hostname, "2001::2");
	else
		p.set_str(settings_pack::proxy_hostname, "50.50.50.50");
	p.set_bool(settings_pack::proxy_hostnames, true);
	p.set_bool(settings_pack::proxy_peer_connections, proxy_peer_connections);
	p.set_bool(settings_pack::proxy_tracker_connections, true);

	ses.apply_settings(p);
}
开发者ID:Jackarain,项目名称:libtorrent,代码行数:19,代码来源:utils.cpp


示例7: set_cache_size

void set_cache_size(lt::session& ses, int val)
{
	settings_pack pack;
	pack.set_int(settings_pack::cache_size, val);
	ses.apply_settings(pack);
}
开发者ID:Jackarain,项目名称:libtorrent,代码行数:6,代码来源:utils.cpp


示例8: enable_enc

void enable_enc(lt::session& ses)
{
	settings_pack p;
	enable_enc(p);
	ses.apply_settings(p);
}
开发者ID:Jackarain,项目名称:libtorrent,代码行数:6,代码来源:utils.cpp


示例9: utp_only

void utp_only(lt::session& ses)
{
	settings_pack p;
	utp_only(p);
	ses.apply_settings(p);
}
开发者ID:Jackarain,项目名称:libtorrent,代码行数:6,代码来源:utils.cpp



注:本文中的lt::session类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ luabind::object类代码示例发布时间:2022-05-31
下一篇:
C++ logvisor::Module类代码示例发布时间: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