Merge branch 'RC_1_1'

This commit is contained in:
arvidn 2016-02-18 21:46:46 -05:00
commit 9f45156b5a
14 changed files with 2015 additions and 1214 deletions

View File

@ -5,6 +5,7 @@
1.1.0 release
* deprecate support for adding torrents by HTTP URL
* allow specifying which tracker to scrape in scrape_tracker
* tracker response alerts from user initiated announces/scrapes are now
posted regardless of alert mask

View File

@ -145,21 +145,21 @@ instructions for how to use it <a class="reference external" href="client_test.h
<span class="keyword type">FILE</span><span class="operator">*</span> <span class="name">f</span> <span class="operator">=</span> <span class="name">fopen</span><span class="punctuation">(</span><span class="name">filename</span><span class="punctuation">.</span><span class="name">c_str</span><span class="punctuation">(),</span> <span class="literal string">&quot;rb&quot;</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">f</span> <span class="operator">==</span> <span class="name builtin">NULL</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
<span class="keyword type">int</span> <span class="name">r</span> <span class="operator">=</span> <span class="name">fseek</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">,</span> <span class="literal number integer">0</span><span class="punctuation">,</span> <span class="name">SEEK_END</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">r</span> <span class="operator">!=</span> <span class="literal number integer">0</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="name">fclose</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
<span class="keyword type">long</span> <span class="name">s</span> <span class="operator">=</span> <span class="name">ftell</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">s</span> <span class="operator">&lt;</span> <span class="literal number integer">0</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="name">fclose</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
@ -173,7 +173,7 @@ instructions for how to use it <a class="reference external" href="client_test.h
<span class="name">r</span> <span class="operator">=</span> <span class="name">fseek</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">,</span> <span class="literal number integer">0</span><span class="punctuation">,</span> <span class="name">SEEK_SET</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">r</span> <span class="operator">!=</span> <span class="literal number integer">0</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="name">fclose</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
@ -188,7 +188,7 @@ instructions for how to use it <a class="reference external" href="client_test.h
<span class="name">r</span> <span class="operator">=</span> <span class="name">fread</span><span class="punctuation">(</span><span class="operator">&amp;</span><span class="name">v</span><span class="punctuation">[</span><span class="literal number integer">0</span><span class="punctuation">],</span> <span class="literal number integer">1</span><span class="punctuation">,</span> <span class="name">v</span><span class="punctuation">.</span><span class="name">size</span><span class="punctuation">(),</span> <span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">r</span> <span class="operator">&lt;</span> <span class="literal number integer">0</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="name">fclose</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
@ -551,21 +551,21 @@ print information about it to std out:</p>
<span class="keyword type">FILE</span><span class="operator">*</span> <span class="name">f</span> <span class="operator">=</span> <span class="name">fopen</span><span class="punctuation">(</span><span class="name">filename</span><span class="punctuation">.</span><span class="name">c_str</span><span class="punctuation">(),</span> <span class="literal string">&quot;rb&quot;</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">f</span> <span class="operator">==</span> <span class="name builtin">NULL</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
<span class="keyword type">int</span> <span class="name">r</span> <span class="operator">=</span> <span class="name">fseek</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">,</span> <span class="literal number integer">0</span><span class="punctuation">,</span> <span class="name">SEEK_END</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">r</span> <span class="operator">!=</span> <span class="literal number integer">0</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="name">fclose</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
<span class="keyword type">long</span> <span class="name">s</span> <span class="operator">=</span> <span class="name">ftell</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">s</span> <span class="operator">&lt;</span> <span class="literal number integer">0</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="name">fclose</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
@ -579,7 +579,7 @@ print information about it to std out:</p>
<span class="name">r</span> <span class="operator">=</span> <span class="name">fseek</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">,</span> <span class="literal number integer">0</span><span class="punctuation">,</span> <span class="name">SEEK_SET</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">r</span> <span class="operator">!=</span> <span class="literal number integer">0</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="name">fclose</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>
@ -594,7 +594,7 @@ print information about it to std out:</p>
<span class="name">r</span> <span class="operator">=</span> <span class="name">fread</span><span class="punctuation">(</span><span class="operator">&amp;</span><span class="name">v</span><span class="punctuation">[</span><span class="literal number integer">0</span><span class="punctuation">],</span> <span class="literal number integer">1</span><span class="punctuation">,</span> <span class="name">v</span><span class="punctuation">.</span><span class="name">size</span><span class="punctuation">(),</span> <span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">if</span> <span class="punctuation">(</span><span class="name">r</span> <span class="operator">&lt;</span> <span class="literal number integer">0</span><span class="punctuation">)</span>
<span class="punctuation">{</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">generic_category</span><span class="punctuation">());</span>
<span class="name">ec</span><span class="punctuation">.</span><span class="name">assign</span><span class="punctuation">(</span><span class="name">errno</span><span class="punctuation">,</span> <span class="name">boost</span><span class="operator">::</span><span class="name">system</span><span class="operator">::</span><span class="name">system_category</span><span class="punctuation">());</span>
<span class="name">fclose</span><span class="punctuation">(</span><span class="name">f</span><span class="punctuation">);</span>
<span class="keyword">return</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">;</span>
<span class="punctuation">}</span>

View File

@ -114,11 +114,11 @@ ifneq ($(STAGE),)
endif
%.png:%.diagram
aafigure -o $@ $?
aafigure --scale 0.6 -o $@ $?
ifneq ($(STAGE),)
cp $@ $(WEB_PATH)/$@
endif
clean:
rm -f $(TARGETS:=.html) $(TARGETS:=.pdf) $(FIGURES:=.png) $(FIGURES:=.eps) settings.rst todo.html reference*.html reference*.rst stats_counters.rst manual.rst
rm -f $(TARGETS:=.html) $(TARGETS:=.pdf) $(FIGURES:=.png) $(FIGURES:=.eps) $(REFERENCE_TARGETS:=.rst) settings.rst todo.html reference*.html stats_counters.rst

View File

@ -485,6 +485,13 @@ The file format is a bencoded dictionary containing the following fields:
| ``banned_peers6`` | string. This string has the same format as ``peers6`` but |
| | instead represent IPv6 peers that we have banned. |
+--------------------------+--------------------------------------------------------------+
| ``info`` | If this field is present, it should be the info-dictionary |
| | of the torrent this resume data is for. Its SHA-1 hash must |
| | match the one in the ``info-hash`` field. When present, |
| | the torrent is loaded from here, meaning the torrent can be |
| | added purely from resume data (no need to load the .torrent |
| | file separately). This may have performance advantages. |
+--------------------------+--------------------------------------------------------------+
| ``unfinished`` | list of dictionaries. Each dictionary represents an |
| | piece, and has the following layout: |
| | |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -120,24 +120,23 @@ connections.
| listen_interfaces | string | "0.0.0.0:6881" |
+-------------------+--------+----------------+
a comma-separated list of (IP or device name, port) pairs. These
a comma-separated list of IP port-pairs. These
are the listen ports that will be opened for accepting incoming uTP
and TCP connections. It is possible to listen on multiple
interfaces and multiple ports. Binding to port 0 will make the
operating system pick the port. The default is "0.0.0.0:0", which
binds to all interfaces on a port the OS picks.
if binding fails, the listen_failed_alert is posted, otherwise the
listen_succeeded_alert.
If the DHT is running, it will also have its socket rebound to the
same port as the main listen port.
IPs and multiple ports. Binding to port 0 will make the
operating system pick the port. The default is "0.0.0.0:6881", which
binds to all interfaces on port 6881.
if binding fails, the listen_failed_alert is posted, potentially
more than once. Once/if binding the listen socket(s) succeed,
listen_succeeded_alert is posted.
Each port will attempt to open both a UDP and a TCP listen socket,
to allow accepting uTP connections as well as TCP. If using the DHT,
this will also make the DHT use the same UDP ports.
The reason why it's a good idea to run the DHT and the bittorrent
socket on the same port is because that is an assumption that may
be used to increase performance. One way to accelerate the
connecting of peers on windows may be to first ping all peers with
a DHT ping packet, and connect to those that responds first. On
windows one can only connect to a few peers at a time because of a
built in limitation (in XP Service pack 2).
.. note::
The current support for opening arbitrary UDP sockets is limited.
In this version of libtorrent, there will only ever be two UDP
sockets, one for IPv4 and one for IPv6.
.. _proxy_hostname:
@ -706,8 +705,8 @@ can make us start the torrent and serve it.
+------------------------+------+---------+
when set to true, the downloaded counter sent to trackers will
include the actual number of payload bytes donwnloaded including
redundant bytes. If set to false, it will not include any redundany
include the actual number of payload bytes downloaded including
redundant bytes. If set to false, it will not include any redundancy
bytes
.. _strict_end_game_mode:
@ -819,7 +818,7 @@ storage to look for them.
``no_recheck_incomplete_resume`` determines if the storage should
check the whole files when resume data is incomplete or missing or
whether it should simply assume we don't have any of the data. By
default, this is determined by the existance of any of the files.
default, this is determined by the existence of any of the files.
By setting this setting to true, the files won't be checked, but
will go straight to download mode.
@ -882,7 +881,7 @@ set to true if uTP connections should be rate limited This option
is *DEPRECATED*, please use set_peer_class_filter() instead.
if this is true, the ``&ip=`` argument in tracker requests (unless
otherwise specified) will be set to the intermediate IP address if
the user is double NATed. If ther user is not double NATed, this
the user is double NATed. If the user is not double NATed, this
option does not have an affect
.. _seeding_outgoing_connections:
@ -938,7 +937,7 @@ connection attempts per second may be limited to below the
``connection_speed``, in case we're close to bump up against the
limit of number of connections. The intention of this setting is to
more evenly distribute our connection attempts over time, instead
of attempting to connectin in batches, and timing them out in
of attempting to connect in batches, and timing them out in
batches.
.. _always_send_user_agent:
@ -1328,7 +1327,7 @@ unlikely to matter anyway
| proxy_tracker_connections | bool | true |
+---------------------------+------+---------+
if true, trackerconnections are made over the configured proxy, if
if true, tracker connections are made over the configured proxy, if
any.
.. _tracker_completion_timeout:
@ -1792,7 +1791,7 @@ This queue is only for waiting for the disk I/O thread to receive
the job and either write it to disk or insert it in the write
cache. When this limit is reached, the peer connections will stop
reading data from their sockets, until the disk thread catches up.
Setting this too low will severly limit your download rate.
Setting this too low will severely limit your download rate.
.. _handshake_timeout:
@ -2384,7 +2383,7 @@ processes.
read cache when a read cache miss occurs. Setting this to 0 is
essentially the same thing as disabling read cache. The number of
blocks read into the read cache is always capped by the piece
boundry.
boundary.
When a piece in the write cache has ``write_cache_line_size``
contiguous blocks in it, they will be flushed. Setting this to 1
@ -2548,7 +2547,7 @@ set too low, you'll be too stingy and waste finding the true
reciprocation rate.
``increase_est_reciprocation_rate`` specifies how many percent the
extimated reciprocation rate should be increased by each unchoke
estimated reciprocation rate should be increased by each unchoke
interval a peer is still choking us back. This defaults to 20%.
This only applies to the BitTyrant choker.
@ -2571,7 +2570,7 @@ to the BitTyrant choker.
the max number of peers we accept from pex messages from a single
peer. this limits the number of concurrent peers any of our peers
claims to be connected to. If they clain to be connected to more
claims to be connected to. If they claim to be connected to more
than this, we'll ignore any peer that exceeds this limit
.. _tick_interval:
@ -2980,7 +2979,7 @@ jobs.
``async_write_some`` (i.e. send) on peer connection sockets. When
seeding at extremely high rates, this may become a bottleneck, and
setting this to 2 or more may parallelize that cost. When using SSL
torrents, all encryption for outgoing traffic is done withint the
torrents, all encryption for outgoing traffic is done within the
socket send functions, and this will help parallelizing the cost of
SSL encryption as well.
@ -3041,7 +3040,7 @@ aggressive in hitting trackers.
| seed_time_ratio_limit | int | 700 |
+-----------------------+------+---------+
when a seeding torrent reaches eaither the share ratio (bytes up /
when a seeding torrent reaches either the share ratio (bytes up /
bytes down) or the seed time ratio (seconds as seed / seconds as
downloader) or the seed time limit (seconds as seed) it is
considered done, and it will leave room for other torrents these
@ -3219,7 +3218,7 @@ the download and upload rate limits for a torrent to be considered
active by the queuing mechanism. A torrent whose download rate is
less than ``inactive_down_rate`` and whose upload rate is less than
``inactive_up_rate`` for ``auto_manage_startup`` seconds, is
considered inactive, and another queued torrent may be startert.
considered inactive, and another queued torrent may be started.
This logic is disabled if ``dont_count_slow_torrents`` is false.
.. _proxy_type:

View File

@ -415,6 +415,8 @@ the number of optimistically unchoked peers.
.. _net.on_accept_counter:
.. _net.on_disk_queue_counter:
.. _net.on_disk_counter:
.. raw:: html
@ -426,27 +428,30 @@ the number of optimistically unchoked peers.
<a name="net.on_lsd_peer_counter"></a>
<a name="net.on_udp_counter"></a>
<a name="net.on_accept_counter"></a>
<a name="net.on_disk_queue_counter"></a>
<a name="net.on_disk_counter"></a>
+-------------------------+---------+
| name | type |
+=========================+=========+
| net.on_read_counter | counter |
+-------------------------+---------+
| net.on_write_counter | counter |
+-------------------------+---------+
| net.on_tick_counter | counter |
+-------------------------+---------+
| net.on_lsd_counter | counter |
+-------------------------+---------+
| net.on_lsd_peer_counter | counter |
+-------------------------+---------+
| net.on_udp_counter | counter |
+-------------------------+---------+
| net.on_accept_counter | counter |
+-------------------------+---------+
| net.on_disk_counter | counter |
+-------------------------+---------+
+---------------------------+---------+
| name | type |
+===========================+=========+
| net.on_read_counter | counter |
+---------------------------+---------+
| net.on_write_counter | counter |
+---------------------------+---------+
| net.on_tick_counter | counter |
+---------------------------+---------+
| net.on_lsd_counter | counter |
+---------------------------+---------+
| net.on_lsd_peer_counter | counter |
+---------------------------+---------+
| net.on_udp_counter | counter |
+---------------------------+---------+
| net.on_accept_counter | counter |
+---------------------------+---------+
| net.on_disk_queue_counter | counter |
+---------------------------+---------+
| net.on_disk_counter | counter |
+---------------------------+---------+
These counters count the number of times the
@ -656,6 +661,22 @@ in picked. For instance, a torrent with an error
counts as an error-torrent, regardless of its other
state.
.. _ses.non_filter_torrents:
.. raw:: html
<a name="ses.non_filter_torrents"></a>
+-------------------------+---------+
| name | type |
+=========================+=========+
| ses.non_filter_torrents | counter |
+-------------------------+---------+
the number of torrents that don't have the
IP filter applied to them.
.. _ses.num_loaded_torrents:
.. _ses.num_pinned_torrents:
@ -1780,6 +1801,8 @@ has occurred.
.. _utp.num_utp_close_wait:
.. _utp.num_utp_deleted:
.. raw:: html
<a name="utp.num_utp_idle"></a>
@ -1787,6 +1810,7 @@ has occurred.
<a name="utp.num_utp_connected"></a>
<a name="utp.num_utp_fin_sent"></a>
<a name="utp.num_utp_close_wait"></a>
<a name="utp.num_utp_deleted"></a>
+------------------------+---------+
| name | type |
@ -1801,6 +1825,8 @@ has occurred.
+------------------------+---------+
| utp.num_utp_close_wait | counter |
+------------------------+---------+
| utp.num_utp_deleted | counter |
+------------------------+---------+
the number of uTP sockets in each respective state

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,15 @@
decrypt in place move buffer ref.
+----------------+ (no copy) +------------+ (no copy) +------------+
| receive buffer +--=-------------->| plain text +--=--------------->| disk cache |
+----------------+ | buffer | +------+-----+
^ +------------+ |
| read() on socket write() to file |
| (copy) (copy) |
"decrypt in place" "move buffer ref."
+------------------+ "(no copy)" +--------------+ "(no copy)" +--------------+
| "receive buffer" +--=------------>| "plain text" +--=------------->| "disk cache" |
+------------------+ | "buffer" | +------+-------+
^ +--------------+ |
| "read() on socket" "write() to file" |
| "(copy)" "(copy)" |
---=----|---------------------------------=---------------------------------|--=----
| kernel space |
| "kernel space" |
| v
+-------+--------+ +-------------------+
| socket kernel | | kernel page cache |
| buffer | | |
+----------------+ +-------------------+
+-------+---------+ +---------------------+
| "socket kernel" | | "kernel page cache" |
| "buffer" | | |
+-----------------+ +---------------------+

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1378,7 +1378,6 @@ int main(int argc, char* argv[])
break;
case 'a':
if (strcmp(arg, "allocate") == 0) allocation_mode = storage_mode_allocate;
else if (strcmp(arg, "full") == 0) allocation_mode = storage_mode_allocate;
else if (strcmp(arg, "sparse") == 0) allocation_mode = storage_mode_sparse;
break;
case 's': save_path = arg; break;

View File

@ -51,7 +51,7 @@ namespace libtorrent
// session. The key fields when adding a torrent are:
//
// * ti - when you have a .torrent file
// * url - when you have a magnet link or http URL to the .torrent file
// * url - when you have a magnet link
// * info_hash - when all you have is an info-hash (this is similar to a
// magnet link)
//
@ -362,15 +362,7 @@ namespace libtorrent
// ``downloading_metadata`` state until the .torrent file has been
// downloaded. If there's any error while downloading, the torrent will
// be stopped and the torrent error state (``torrent_status::error``)
// will indicate what went wrong. The ``url`` may refer to a magnet link
// or a regular http URL.
//
// If it refers to an HTTP URL, the info-hash for the added torrent will
// not be the true info-hash of the .torrent. Instead a placeholder,
// unique, info-hash is used which is later updated once the .torrent
// file has been downloaded.
//
// Once the info-hash change happens, a torrent_update_alert is posted.
// will indicate what went wrong. The ``url`` may be set to a magnet link.
std::string url;
// if ``uuid`` is specified, it is used to find duplicates. If another

View File

@ -1887,6 +1887,7 @@ namespace libtorrent
boost::uint64_t values[counters::num_counters];
};
// hidden
// When a torrent changes its info-hash, this alert is posted. This only
// happens in very specific cases. For instance, when a torrent is
// downloaded from a URL, the true info hash is not known immediately. First