1
// Copyright Daniel Wallin 2006. Use, modification and distribution is
2
// subject to the Boost Software License, Version 1.0. (See accompanying
3
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
#include <libtorrent/session.hpp>
6
#include <boost/python.hpp>
8
using namespace boost::python;
9
using namespace libtorrent;
11
void bind_session_settings()
13
class_<session_settings>("session_settings")
14
.def_readwrite("user_agent", &session_settings::user_agent)
15
.def_readwrite("tracker_completion_timeout", &session_settings::tracker_completion_timeout)
16
.def_readwrite("tracker_receive_timeout", &session_settings::tracker_receive_timeout)
17
.def_readwrite("stop_tracker_timeout", &session_settings::stop_tracker_timeout)
18
.def_readwrite("tracker_maximum_response_length", &session_settings::tracker_maximum_response_length)
19
.def_readwrite("piece_timeout", &session_settings::piece_timeout)
20
.def_readwrite("request_timeout", &session_settings::request_timeout)
21
.def_readwrite("request_queue_time", &session_settings::request_queue_time)
22
.def_readwrite("max_allowed_in_request_queue", &session_settings::max_allowed_in_request_queue)
23
.def_readwrite("max_out_request_queue", &session_settings::max_out_request_queue)
24
.def_readwrite("whole_pieces_threshold", &session_settings::whole_pieces_threshold)
25
.def_readwrite("peer_timeout", &session_settings::peer_timeout)
26
.def_readwrite("urlseed_timeout", &session_settings::urlseed_timeout)
27
.def_readwrite("urlseed_pipeline_size", &session_settings::urlseed_pipeline_size)
28
.def_readwrite("urlseed_wait_retry", &session_settings::urlseed_wait_retry)
29
.def_readwrite("file_pool_size", &session_settings::file_pool_size)
30
.def_readwrite("allow_multiple_connections_per_ip", &session_settings::allow_multiple_connections_per_ip)
31
.def_readwrite("max_failcount", &session_settings::max_failcount)
32
.def_readwrite("min_reconnect_time", &session_settings::min_reconnect_time)
33
.def_readwrite("peer_connect_timeout", &session_settings::peer_connect_timeout)
34
.def_readwrite("ignore_limits_on_local_network", &session_settings::ignore_limits_on_local_network)
35
.def_readwrite("connection_speed", &session_settings::connection_speed)
36
.def_readwrite("send_redundant_have", &session_settings::send_redundant_have)
37
.def_readwrite("lazy_bitfields", &session_settings::lazy_bitfields)
38
.def_readwrite("inactivity_timeout", &session_settings::inactivity_timeout)
39
.def_readwrite("unchoke_interval", &session_settings::unchoke_interval)
40
.def_readwrite("optimistic_unchoke_multiplier", &session_settings::optimistic_unchoke_multiplier)
41
.def_readwrite("num_want", &session_settings::num_want)
42
.def_readwrite("initial_picker_threshold", &session_settings::initial_picker_threshold)
43
.def_readwrite("allowed_fast_set_size", &session_settings::allowed_fast_set_size)
44
.def_readwrite("max_outstanding_disk_bytes_per_connection", &session_settings::max_outstanding_disk_bytes_per_connection)
45
.def_readwrite("handshake_timeout", &session_settings::handshake_timeout)
46
#ifndef TORRENT_DISABLE_DHT
47
.def_readwrite("use_dht_as_fallback", &session_settings::use_dht_as_fallback)
49
.def_readwrite("free_torrent_hashes", &session_settings::free_torrent_hashes)
50
.def_readwrite("upnp_ignore_nonrouters", &session_settings::upnp_ignore_nonrouters)
51
.def_readwrite("send_buffer_watermark", &session_settings::send_buffer_watermark)
52
.def_readwrite("auto_upload_slots", &session_settings::auto_upload_slots)
53
.def_readwrite("use_parole_mode", &session_settings::use_parole_mode)
54
.def_readwrite("cache_size", &session_settings::cache_size)
55
.def_readwrite("cache_expiry", &session_settings::cache_expiry)
56
.def_readwrite("outgoing_ports", &session_settings::outgoing_ports)
57
.def_readwrite("peer_tos", &session_settings::peer_tos)
58
.def_readwrite("active_downloads", &session_settings::active_downloads)
59
.def_readwrite("active_seeds", &session_settings::active_seeds)
60
.def_readwrite("active_limit", &session_settings::active_limit)
61
.def_readwrite("dont_count_slow_torrents", &session_settings::dont_count_slow_torrents)
62
.def_readwrite("auto_manage_interval", &session_settings::auto_manage_interval)
63
.def_readwrite("share_ratio_limit", &session_settings::share_ratio_limit)
64
.def_readwrite("seed_time_ratio_limit", &session_settings::seed_time_ratio_limit)
65
.def_readwrite("seed_time_limit", &session_settings::seed_time_limit)
66
.def_readwrite("peer_turnover", &session_settings::peer_turnover)
67
.def_readwrite("peer_turnover_cutoff", &session_settings::peer_turnover_cutoff)
68
.def_readwrite("close_redundant_connections", &session_settings::close_redundant_connections)
69
.def_readwrite("auto_scrape_interval", &session_settings::auto_scrape_interval)
70
.def_readwrite("auto_scrape_min_interval", &session_settings::auto_scrape_min_interval)
71
.def_readwrite("max_peerlist_size", &session_settings::max_peerlist_size)
72
.def_readwrite("min_announce_interval", &session_settings::min_announce_interval)
73
.def_readwrite("prioritize_partial_pieces", &session_settings::prioritize_partial_pieces)
74
.def_readwrite("auto_manage_startup", &session_settings::auto_manage_startup)
75
.def_readwrite("rate_limit_ip_overhead", &session_settings::rate_limit_ip_overhead)
78
enum_<proxy_settings::proxy_type>("proxy_type")
79
.value("none", proxy_settings::none)
80
.value("socks4", proxy_settings::socks4)
81
.value("socks5", proxy_settings::socks5)
82
.value("socks5_pw", proxy_settings::socks5_pw)
83
.value("http", proxy_settings::http)
84
.value("http_pw", proxy_settings::http_pw)
86
class_<proxy_settings>("proxy_settings")
87
.def_readwrite("hostname", &proxy_settings::hostname)
88
.def_readwrite("port", &proxy_settings::port)
89
.def_readwrite("password", &proxy_settings::password)
90
.def_readwrite("username", &proxy_settings::username)
91
.def_readwrite("type", &proxy_settings::type)
94
#ifndef TORRENT_DISABLE_DHT
95
class_<dht_settings>("dht_settings")
96
.def_readwrite("max_peers_reply", &dht_settings::max_peers_reply)
97
.def_readwrite("search_branching", &dht_settings::search_branching)
98
.def_readwrite("service_port", &dht_settings::service_port)
99
.def_readwrite("max_fail_count", &dht_settings::max_fail_count)
103
#ifndef TORRENT_DISABLE_ENCRYPTION
104
enum_<pe_settings::enc_policy>("enc_policy")
105
.value("forced", pe_settings::forced)
106
.value("enabled", pe_settings::enabled)
107
.value("disabled", pe_settings::disabled)
110
enum_<pe_settings::enc_level>("enc_level")
111
.value("rc4", pe_settings::rc4)
112
.value("plaintext", pe_settings::plaintext)
113
.value("both", pe_settings::both)
116
class_<pe_settings>("pe_settings")
117
.def_readwrite("out_enc_policy", &pe_settings::out_enc_policy)
118
.def_readwrite("in_enc_policy", &pe_settings::in_enc_policy)
119
.def_readwrite("allowed_enc_level", &pe_settings::allowed_enc_level)
120
.def_readwrite("prefer_rc4", &pe_settings::prefer_rc4)