forked from premiere/premiere-libtorrent
Merge branch 'RC_1_1'
This commit is contained in:
commit
9f45156b5a
|
@ -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
|
||||
|
|
|
@ -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">"rb"</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"><</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">&</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"><</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">"rb"</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"><</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">&</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"><</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>
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 |
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
BIN
docs/storage.png
BIN
docs/storage.png
Binary file not shown.
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 4.7 KiB |
3040
docs/todo.html
3040
docs/todo.html
File diff suppressed because one or more lines are too long
|
@ -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 |
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue