Version 11 (modified by Cas, 10 years ago) (diff)

committed num_connections change [624f2f66cf35acd6ec]

This is page is to collate the work that is required to bring the next Deluge version up to date with libtorrent

Deluge 1.4.0 milestone and libtorrent 0.16

Tickets requests for new/missing libtorrent features


  • #1903 super_seeding (handle/status)
  • #607 completed_time (handle)
  • #1294 seed_mode (add_torrent) flag_seed_mode (status)
  • #1165 add_url_seed, remove_url_seed (handle)
  • #2196 piece_deadline (handle)


  • #2122 listen_on_flags: listen_reuse_address and listen_no_system_port
  • #2219 set_i2p_proxy() i2p_proxy()
  • #1337 make_magnet_uri()


These should be covered by the WiP by gazpachoking to query lt for all available settings.

  • #2195 ssl_listen
  • #1466 send_buffer_watermark, send_buffer_watermark_factor
  • #1903 strict_super_seeding
  • #1384 announce_ip
  • #2257 active_dht_limit, active_tracker_limit and active_lsd_limit
  • #2059 tracker_backoff
  • #1677 apply_ip_filter_to_trackers (for blocklist)


  • #1466 performance alert: send_buffer_watermark_too_low
  • #637 storage_moved_alert
  • #2006 storage_moved_failed_alert
  • external_ip_alert

Other potential changes

  • #367 Do not store per-torrent settings that are saved in the resume data
    Could be extended to included deluge torrent settings in resume data removing need for torrents.state
  • Replace add_torrent with the more efficient non-blocking async_add_torrent.
  • lt docs suggestion: If possible, lazy_bdecode() should be preferred over bdecode().

Deprecated Functions

The list was generated from the lt bindings src files.

To test use libtorrent build with TORRENT_NO_DEPRECATE config.

In progress: #1923

        .value("storage_mode_compact", storage_mode_compact) - * -> session.set_settings() for these entries, some have been renamed

        .def("set_local_download_rate_limit", allow_threads(&session::set_local_download_rate_limit))
        .def("set_local_upload_rate_limit", allow_threads(&session::set_local_upload_rate_limit))
        .def("set_download_rate_limit", allow_threads(&session::set_download_rate_limit))
        .def("set_upload_rate_limit", allow_threads(&session::set_upload_rate_limit))
        .def("set_max_uploads", allow_threads(&session::set_max_uploads))
        .def("set_max_connections", allow_threads(&session::set_max_connections))
        .def("set_max_half_open_connections", allow_threads(&session::set_max_half_open_connections)), - For the python bindings use session.get_settings()

        .def("settings", &session::settings) (set_%s_proxy -> set_proxy) # Same proxy used for all connections now

        .def("set_peer_proxy", allow_threads(&session::set_peer_proxy))
        .def("set_tracker_proxy", allow_threads(&session::set_tracker_proxy))
        .def("set_web_seed_proxy", allow_threads(&session::set_web_seed_proxy))

torrent_handle.cpp - handle().* -> handle.status().*)

        .def("is_seed", _(&torrent_handle::is_seed))
        .def("is_finished", _(&torrent_handle::is_finished))
        .def("is_paused", _(&torrent_handle::is_paused))
        .def("is_auto_managed", _(&torrent_handle::is_auto_managed))
        .def("has_metadata", _(&torrent_handle::has_metadata))