diff --git a/docs/manual.html b/docs/manual.html index 80213a9eb..2c48b5b50 100755 --- a/docs/manual.html +++ b/docs/manual.html @@ -31,7 +31,7 @@
To use these, imclude <libtorrent/extensions/metadata_transfer.hpp> +or <libtorrent/extensions/ut_pex.hpp>. The functions to pass in to +add_extension() are libtorrent::create_metadata_plugin and +libtorrent::create_ut_pex_plugin respectively.
+ +@@ -2931,35 +2969,28 @@ length-prefix, message-id nor extension-id). handshake, it may be incompatible with future versions of the mainline bittorrent client.These are the extensions that are currently implemented.
--+chat messages
-Extension name: "chat"
-The payload in the packet is a bencoded dictionary with any -combination of the following entries:
--
-- - -- - - "msg" -This is a string that contains a message that -should be displayed to the user. -- - "ctrl" -This is a control string that can tell a client that -it is ignored (to make the user aware of that) and -it can also tell a client that it is no longer ignored. -These notifications are encoded as the strings: -"ignored" and "not ignored". -Any unrecognized strings should be ignored. -metadata from peers
-Extension name: "metadata"
+Extension name: "LT_metadata"
The point with this extension is that you don't have to distribute the metadata (.torrent-file) separately. The metadata can be distributed through the bittorrent swarm. The only thing you need to download such diff --git a/docs/manual.rst b/docs/manual.rst index 79427bb30..bac1e4939 100755 --- a/docs/manual.rst +++ b/docs/manual.rst @@ -89,6 +89,8 @@ The ``session`` class has the following synopsis:: session_proxy abort(); void remove_torrent(torrent_handle const& h); + torrent_handle find_torrent(sha_hash const& ih); + std::vector
get_torrents() const; void set_settings( session_settings const& settings); @@ -112,7 +114,10 @@ The ``session`` class has the following synopsis:: std::auto_ptr pop_alert(); void set_severity_level(alert::severity_t s); - void start_dht(); + void add_extension(boost::function< + boost::shared_ptr (torrent*)> ext); + + void start_dht(); void stop_dht(); void set_dht_settings( dht_settings const& settings); @@ -237,16 +242,27 @@ optional ``name`` argument. This may be 0 in case no name should be assigned to torrent. In case it's not 0, the name is used for the torrent as long as it doesn't have metadata. See ``torrent_handle::name``. -remove_torrent() ----------------- +remove_torrent() find_torrent() get_torrents() +---------------------------------------------- :: void remove_torrent(torrent_handle const& h); + torrent_handle find_torrent(sha_hash const& ih); + std::vector get_torrents() const; ``remove_torrent()`` will close all peer connections associated with the torrent and tell the tracker that we've stopped participating in the swarm. +``find_torrent()`` looks for a torrent with the given info-hash. In case there +is such a torrent in the session, a torrent_handle to that torrent is returned. +In case the torrent cannot be found, an invalid torrent_handle is returned. + +See ``torrent_handle::is_valid()`` to know if the torrent was found or not. + +``get_torrents()`` returns a vector of torrent_handles to all the torrents +currently in the session. + set_upload_rate_limit() set_download_rate_limit() ------------------------------------------------- @@ -413,6 +429,34 @@ pop_alert() set_severity_level() receive it through ``pop_alert()``. For information, see alerts_. +add_extension() +--------------- + + :: + + void add_extension(boost::function< + boost::shared_ptr (torrent*)> ext); + +This function adds an extension to this session. The argument is a function +object that is called with a ``torrent*`` and which should return a +``boost::shared_ptr ``. To write custom plugins, see +`libtorrent plugins`_. The main plugins implemented in libtorrent are: + +metadata extension + Allows peers to download the metadata (.torren files) from the swarm + directly. Makes it possible to join a swarm with just a tracker and + info-hash. + +uTorrent peer exchange + Exchanges peers between clients. + +To use these, imclude `` `` +or `` ``. The functions to pass in to +``add_extension()`` are ``libtorrent::create_metadata_plugin`` and +``libtorrent::create_ut_pex_plugin`` respectively. + +.. _`libtorrent plugins`: libtorrent_plugins.html + start_dht() stop_dht() set_dht_settings() dht_state() ----------------------------------------------------- @@ -3017,30 +3061,30 @@ bittorrent client. These are the extensions that are currently implemented. -chat messages -------------- +.. chat messages + ------------- -Extension name: "chat" + Extension name: "chat" -The payload in the packet is a bencoded dictionary with any -combination of the following entries: + The payload in the packet is a bencoded dictionary with any + combination of the following entries: -+----------+--------------------------------------------------------+ -| "msg" | This is a string that contains a message that | -| | should be displayed to the user. | -+----------+--------------------------------------------------------+ -| "ctrl" | This is a control string that can tell a client that | -| | it is ignored (to make the user aware of that) and | -| | it can also tell a client that it is no longer ignored.| -| | These notifications are encoded as the strings: | -| | "ignored" and "not ignored". | -| | Any unrecognized strings should be ignored. | -+----------+--------------------------------------------------------+ + +----------+--------------------------------------------------------+ + | "msg" | This is a string that contains a message that | + | | should be displayed to the user. | + +----------+--------------------------------------------------------+ + | "ctrl" | This is a control string that can tell a client that | + | | it is ignored (to make the user aware of that) and | + | | it can also tell a client that it is no longer ignored.| + | | These notifications are encoded as the strings: | + | | "ignored" and "not ignored". | + | | Any unrecognized strings should be ignored. | + +----------+--------------------------------------------------------+ metadata from peers ------------------- -Extension name: "metadata" +Extension name: "LT_metadata" The point with this extension is that you don't have to distribute the metadata (.torrent-file) separately. The metadata can be distributed 0