Arvid Norberg
c71100950b
fix to recalculate_connect_candidates
2009-05-03 06:57:04 +00:00
Arvid Norberg
807c1fc397
added validation check to disk_buffer_pool (and disk_io_thread in 0.14). This should catch any reference to the disk_io_thread after it has been destructed
2009-05-03 03:16:15 +00:00
Arvid Norberg
b75648445e
fixed magnet link parser to accept hex encoded info-hashes
2009-05-02 18:36:51 +00:00
Arvid Norberg
e4ddb13b6f
made the cache_size setting include send and receive buffers
2009-05-02 06:52:57 +00:00
Arvid Norberg
06b609aa1f
fixed unchoke bug. made the automatic unchoke strategy the default
2009-05-02 03:15:52 +00:00
Arvid Norberg
e929c58e9f
fixed bug in ratelimiter's outstanding bytes counter
2009-05-01 09:42:43 +00:00
Arvid Norberg
033fd5bd22
count send and receive buffers against the cache size limit
2009-05-01 08:00:58 +00:00
Arvid Norberg
84dda7b617
support for adjusting the socket buffer sizes through session_settings
2009-05-01 04:59:15 +00:00
Arvid Norberg
6ca1c191b6
some windows fixes for dynamic linking
2009-04-30 17:30:14 +00:00
Arvid Norberg
3cf34e3a91
greatly optimised memory usage for peer list
2009-04-30 05:49:46 +00:00
Arvid Norberg
dce0e1bb58
fixed disk stat build
2009-04-30 01:42:30 +00:00
Arvid Norberg
12dd8a8723
build windows python bindings with geoip support. fixes some warnings in msvc
2009-04-26 21:21:31 +00:00
Arvid Norberg
7109b86566
greatly simplified the rate limiter and generalized all rate limits (peer, torrent, global) to allow for arbitrary rate limit configurations
2009-04-26 00:21:59 +00:00
Arvid Norberg
f7ebd88bec
fixed an accuracy issue with timer classes on mac
2009-04-25 21:51:34 +00:00
Arvid Norberg
fba4ae541c
fixed invalid iterator access in debug mode
2009-04-25 08:19:21 +00:00
Arvid Norberg
4724051841
fixed assert in udp_socket
2009-04-13 17:52:45 +00:00
Arvid Norberg
c6f4879e06
fixed race condition in bandwidth manager
2009-04-13 16:31:22 +00:00
Arvid Norberg
cf2654ba00
exit before invariant check if we're aborting, in bandwidth_manager
2009-04-13 06:07:16 +00:00
Arvid Norberg
189d618261
improved IPv6 support (skips unsupported tests on windows)
2009-04-13 05:11:44 +00:00
Arvid Norberg
32a42bae99
removed some dependencies on stringstream
2009-04-13 04:22:03 +00:00
Arvid Norberg
f6c97254e1
gzip.hpp fix
2009-04-13 02:00:33 +00:00
Arvid Norberg
066d6ce799
moved content-range parsing into http_parser and added unittest
2009-04-12 17:52:25 +00:00
Arvid Norberg
6a11d6ee4e
IPv6 tracker fix
2009-04-12 00:37:06 +00:00
Arvid Norberg
90ce06bb47
web seed fix
2009-04-11 20:45:14 +00:00
Arvid Norberg
a051228069
fixed bug in storage when forcing recheck while renaming a file or moving it
2009-04-10 07:22:27 +00:00
Arvid Norberg
7538b3da82
fixed string formatting bug
2009-04-09 15:45:17 +00:00
Arvid Norberg
41be942ae7
experimental support for incoming connections over socks (untested)
2009-04-09 01:04:49 +00:00
Arvid Norberg
a956265be4
merged socks4 and socks5 code and improved SOCKS error messages
2009-04-08 04:18:45 +00:00
Arvid Norberg
1ed9e6d2f8
more C bindings and added getters for max_uploads on session and torrent
2009-04-07 15:55:05 +00:00
Arvid Norberg
981ae208d1
exception fixes
2009-04-07 15:06:07 +00:00
Arvid Norberg
970ab50e57
snprintf fix
2009-04-07 01:14:12 +00:00
Arvid Norberg
426e653213
defines for snprintf and strtoll for windows
2009-04-06 17:15:19 +00:00
Arvid Norberg
2bb1772299
time_duration fix (works with boost.date-time again)
2009-04-06 17:12:14 +00:00
Arvid Norberg
40c6db3c52
debug define fix in piece_picker
2009-04-04 21:50:36 +00:00
Arvid Norberg
2b671bc820
more iostream fixes
2009-04-04 21:44:04 +00:00
Arvid Norberg
b5bb51c6af
cut out more IPv6 code if not supported
2009-04-04 16:59:53 +00:00
Arvid Norberg
aba5b2e9d0
dropped some iostream dependencies
2009-04-04 09:52:25 +00:00
Arvid Norberg
3cd26dec64
compile time options to use readv/writev or not
2009-04-04 08:23:53 +00:00
Arvid Norberg
db8487be46
auto unchoke improvement
2009-04-04 07:55:34 +00:00
Arvid Norberg
e3eb59f477
fixed leaking exception from bdecode on malformed input. Fixes #492
2009-04-01 03:37:54 +00:00
Arvid Norberg
91ba36a396
added compile time option for mlock support
2009-03-31 08:15:21 +00:00
Arvid Norberg
982cf7f7f7
improved support for platforms with no wchar_t and std::wstring
2009-03-31 08:12:35 +00:00
Arvid Norberg
c6017f9366
reverted bug introduced a few check-ins ago. Fixed case when recursive_copy fails (don't remove the original files). Cleaned up callback dispatching in disk_io_thread in trunk. Improved unit tests for move_storage
2009-03-31 08:05:46 +00:00
Arvid Norberg
0070232f7c
attempt to fix #493 by keeping io_service running while there are still peer connections
2009-03-31 08:02:25 +00:00
Arvid Norberg
1a6d2f86b9
add compile time option to disable IPv6 support
2009-03-31 07:45:54 +00:00
Arvid Norberg
9c4c49c443
logging build fix and indentation fix
2009-03-27 17:14:15 +00:00
Arvid Norberg
1ed7e222f8
added documentation to explain how paused and auto_managed are overridden by resume_data. Added a mechanism to trunk to ignore the resume data for those two settings. Updated documentation in trunk to include more fields in the resume data. Fixed broken links in the trunk docs
2009-03-21 04:33:53 +00:00
Arvid Norberg
907532be8e
bumped version number to 0.14.3 and updated set_version.py
2009-03-20 07:38:47 +00:00
Arvid Norberg
cc432a8cd8
added error handling for set_piece_hashes
2009-03-19 17:32:40 +00:00
Arvid Norberg
31054ef069
first implementation of set_piece_deadline
2009-03-17 09:34:44 +00:00
Arvid Norberg
233258502c
fixed bug in time_duration operator*
2009-03-16 03:36:20 +00:00
Arvid Norberg
e2ac32e7cf
remove unused members and fix warning
2009-03-14 09:25:26 +00:00
Arvid Norberg
84a513bffb
initial support for merkle hash tree torrents
2009-03-13 06:09:39 +00:00
Arvid Norberg
0de21dc815
fixed bug related to ignoring upload slots and made the piece rejection code more robust to handle similar bugs better
2009-03-12 17:06:41 +00:00
Arvid Norberg
de233c23a2
fix MinGW build issue on windows (IPV6_PROTECTION_LEVEL)
2009-03-08 02:16:35 +00:00
Arvid Norberg
6353b3c3e6
fixed boost-1.34.1 build
2009-03-06 08:57:00 +00:00
Arvid Norberg
93eda7c7fa
fix ignore unchoke slot invariant check
2009-03-01 07:20:08 +00:00
Arvid Norberg
b809028bda
uses iconv by default on linux to convert filenames from utf-8 to the current locale
2009-03-01 00:02:33 +00:00
Arvid Norberg
b84e87edf4
build fix
2009-02-27 07:03:00 +00:00
Arvid Norberg
7aacfca292
made the examples build without exception support. added overloads of add_torrent() and add_magnet_uri() that don't throw
2009-02-26 07:09:56 +00:00
Arvid Norberg
f8e72650bd
fixed #488
2009-02-25 05:53:24 +00:00
Arvid Norberg
b25a8db2a6
added more error codes. consolidated exception classes into one. moved over more places to use error_code instead of strings. fixed proper error handling for torrent_info
2009-02-23 01:21:19 +00:00
Arvid Norberg
9edf2db4c3
memcpy/memset build issue in bitfield.hpp
2009-02-22 21:01:51 +00:00
Arvid Norberg
b573b17725
windows boost-1.38 build fix
2009-02-21 10:23:25 +00:00
Arvid Norberg
95829383a8
alert improvements
2009-02-21 10:21:28 +00:00
Arvid Norberg
afd04635e9
replaced std::isdigit with is_digit, to avoid asserts on windows and locale dependency. Fixes #484
2009-02-18 06:01:24 +00:00
Arvid Norberg
7fff6ace1b
added download queue time estimate
2009-02-17 02:33:45 +00:00
Arvid Norberg
13ca386838
improved support for sparse files on windows
2009-02-17 00:11:38 +00:00
Arvid Norberg
9905f700ae
prepare to take sparse regions into account when checking files
2009-02-14 04:31:08 +00:00
Arvid Norberg
dc4d50b117
don't make files sparse when allocation mode is set on the storage (windows only)
2009-02-14 03:56:07 +00:00
Arvid Norberg
3187bd9905
moved some errors over to use error_code
2009-02-13 19:01:02 +00:00
Arvid Norberg
2a9605f9db
the reserved bits are only 8 bytes
2009-02-13 07:17:20 +00:00
Arvid Norberg
0b1a0c5132
replaced dependency on locale dependent isspace
2009-02-10 07:21:28 +00:00
Arvid Norberg
41ff39605b
removed unused member variable
2009-02-08 20:26:25 +00:00
Arvid Norberg
ba0f894c7c
avoid adding a torrent to the checking queue twice
2009-02-08 01:29:09 +00:00
Arvid Norberg
7744718b44
added error message to invalid_torrent_file exception (will be replaced by error_code at some point)
2009-02-07 19:18:48 +00:00
Arvid Norberg
5c12db28d2
added option to lock disk cache in physical memory
2009-02-06 09:46:13 +00:00
Arvid Norberg
7607286f50
fixing bug where the trailing bits in bitfields were not set to 0. Fixes #482
2009-02-06 08:51:25 +00:00
Arvid Norberg
bcd93da465
fixed encryption asserts
2009-02-04 05:51:00 +00:00
Arvid Norberg
1ac8f806fa
added seed mode support (lazy hash checking)
2009-02-03 07:46:24 +00:00
Arvid Norberg
2623037482
local peers are excempt from unchoke slots. #469
2009-01-28 06:14:21 +00:00
Arvid Norberg
8bcdb333e0
fix typo in comment
2009-01-28 05:19:19 +00:00
Arvid Norberg
b245d45570
fixed encryption bug
2009-01-28 04:20:05 +00:00
Arvid Norberg
0ba2e2cdbd
fixed issue where torrents that failed checking would not resume checking when the error was cleared. One side effect of this fix is that it should now be possible to pause checking torrents with the 0.14 branch
2009-01-27 09:18:51 +00:00
Arvid Norberg
3cdf9c87a8
fixed build errors on Solaris
2009-01-27 08:24:48 +00:00
Arvid Norberg
37c48117b0
fix potential bug (and warning on sunpro) in the send_buffer signature
2009-01-27 06:57:55 +00:00
Arvid Norberg
8030454c96
fixes problem whith lexical_cast being locale dependent
2009-01-27 06:17:55 +00:00
Arvid Norberg
76cea23b4c
cleanup of previous check-in. fixing boost-1.34 compatibility and syntax error
2009-01-23 17:06:23 +00:00
Arvid Norberg
9b5aa967b0
fixed race condition when saving DHT state
2009-01-23 16:40:00 +00:00
Arvid Norberg
2b4a49ea19
small dht status cleanup
2009-01-23 10:36:07 +00:00
Arvid Norberg
b3a17b1787
added disk buffer instrumentation and log parser
2009-01-23 09:13:31 +00:00
Arvid Norberg
00808473e7
factor out disk_buffer_pool from disk_io_thread. refactored the file open modes to be platform independent. gave the disk_io_thread its own copy of session_settings that it shares with storage. added an unaligned_read implementation to storage. Added options to session_settings on when to open files in unbuffered mode. Added unit tests for unaligned reads
2009-01-21 07:31:49 +00:00
Arvid Norberg
9a9f08f70f
enables teredo support on windows
2009-01-21 01:39:13 +00:00
Arvid Norberg
cedea0980f
separate alignment requirements for file offset and buffer address
2009-01-19 09:21:21 +00:00
Arvid Norberg
d506bcd5de
prevent torrent optimization in unit test
2009-01-19 08:46:45 +00:00
Arvid Norberg
dceb879f50
added missing include directive
2009-01-17 19:45:14 +00:00
Arvid Norberg
5b551c1761
merged storage::readv() and storage::writev()
2009-01-17 08:35:48 +00:00
Arvid Norberg
ce6c09e070
added missing export directives
2009-01-17 01:42:33 +00:00
Arvid Norberg
d2b66b8bae
added include guards to allocator.hpp
2009-01-17 01:40:06 +00:00
Arvid Norberg
78d3654263
fix file.cpp build on linux
2009-01-17 00:09:44 +00:00
Arvid Norberg
113d1f3557
moved page_aligned_allocator to its own file and uses it in set_piece_hashes to not pass in unaligned buffers to storage read
2009-01-15 17:09:36 +00:00
Arvid Norberg
3f94cc8857
made the sequential download mode slightly more sequential (by letting more categories of peers request early pieces). Disabled speed affinity and prefer_whole_pieces when in sequential download mode
2009-01-14 09:07:27 +00:00
Arvid Norberg
bd1757fbd2
added libtorrent version and svn revision to assert output
2009-01-14 08:41:14 +00:00
Arvid Norberg
66ccc9d23f
improved support for padding files by not counting them in total_wanted_done and total_wanted or progress
2009-01-14 07:41:25 +00:00
Arvid Norberg
d4148055b9
remove unnecessary semicolon
2009-01-13 09:31:35 +00:00
Arvid Norberg
43e69cd316
added extension for file attributes. Fixes problem when sharing Application bundles on OSX or hidden files on windows
2009-01-11 22:27:43 +00:00
Arvid Norberg
eea890de11
added support for generating torrent files with padding files in them
2009-01-11 10:32:57 +00:00
Arvid Norberg
7592ad4aee
updated disk IO to support unbuffered files
2009-01-11 02:02:34 +00:00
Arvid Norberg
20a0593fa3
removed mapped_storage
2009-01-10 07:14:02 +00:00
Arvid Norberg
cfd116ffad
made disk_io_settings be synchronized through the job queue
2009-01-10 05:46:02 +00:00
Arvid Norberg
ab05011f1d
added missing export directives to lazy_entry
2009-01-06 22:44:32 +00:00
Arvid Norberg
52ee9342e9
alloca macro fix
2009-01-05 01:09:32 +00:00
Arvid Norberg
d07ccaf6b8
workaround for sparse files issue on Windows vista
2009-01-05 01:08:09 +00:00
Arvid Norberg
f1d229aae6
first pass of replacing coalesce writes and reads by writev and readv (no windows support yet)
2009-01-03 08:11:31 +00:00
Arvid Norberg
dacb1ac48d
reverted async. call to torrent::start() since it creates an undesirable race condition for file operations
2009-01-02 08:58:51 +00:00
Arvid Norberg
233f2ed00c
start of use of writev instead of coalescing into a heap allocated buffer
2009-01-01 01:47:57 +00:00
Arvid Norberg
1ec87c8f4b
remove (deprecated) non-const files() from torrent_info since it opens a loop-hole to modifying the filenames without preserving the original ones
2008-12-30 17:50:34 +00:00
Arvid Norberg
e5d3755afb
added support for http seeds (BEP 17)
2008-12-30 03:54:07 +00:00
Arvid Norberg
86b794b105
fix logging build
2008-12-28 03:01:36 +00:00
Arvid Norberg
469fe10107
udp_socket fix believed to fix #445
2008-12-28 01:50:55 +00:00
Arvid Norberg
415a574cca
tweaked send buffer sizes to make buffers addresses aligned
2008-12-27 17:00:06 +00:00
Arvid Norberg
4ccf2af653
formatting fixes for pe_crypto.cpp
2008-12-27 16:44:20 +00:00
Arvid Norberg
b81ae19e86
fix uninitialized variable read (next_announce)
2008-12-27 07:22:57 +00:00
Arvid Norberg
952ed687cd
made session stats config build
2008-12-26 07:00:21 +00:00
Arvid Norberg
d2e8ae03d3
added default constructor to node_entry to make it build with vs 2008 sp1
2008-12-25 22:29:06 +00:00
Arvid Norberg
de911676ed
added asserts to make sure tracker_connections are shut down correctly ( #451 )
2008-12-25 02:05:23 +00:00
Arvid Norberg
6f80fdf9f7
fix bug when renaming files and using the web_peer_connection. Deprecated non-const file_storage access in torrent_info
2008-12-24 20:07:34 +00:00
Arvid Norberg
00d02f7859
improved DHT get_peers code. get_peers always returns nodes now, and announce_peer is always sent to the k closest nodes to the info-hash. This should significantly speed up retrieving peers from the DHT
2008-12-23 20:04:12 +00:00
Arvid Norberg
d323e9bdfd
ConvertUTF.h fixes
2008-12-23 19:46:58 +00:00
Arvid Norberg
bb4e5c61b9
ConvertUTF C fix
2008-12-22 09:45:54 +00:00
Arvid Norberg
f6a9e44523
modified fix for #431 to make it actually build and work
2008-12-21 19:15:53 +00:00
Arvid Norberg
7b8663fa8b
support for wide character paths for the GeoIP databases. Fixes #431
2008-12-21 08:48:06 +00:00
Arvid Norberg
5f74c1e754
disable WPATH on mac builds as it doesn't seem to work
2008-12-20 22:37:40 +00:00
Arvid Norberg
f8ea5ffa07
updated version numbers and makefile
2008-12-16 00:50:30 +00:00
Arvid Norberg
f1d981254a
added session::set_alert_dispatch() for system specific message loop integration
2008-12-15 07:12:08 +00:00
Arvid Norberg
8f308ef881
fixed invariant checks in bandiwdth_manager
2008-12-14 22:59:47 +00:00
Arvid Norberg
99a2fd7eae
added ConvertUTF.h to makefile
2008-12-14 22:25:22 +00:00
Arvid Norberg
b47f965c85
added torrent_handle::read_piece(). #441
2008-12-14 19:47:02 +00:00
Arvid Norberg
3cb61809ce
fixed invariant check in bandwidth_manager
2008-12-14 11:10:54 +00:00
Arvid Norberg
0638251289
added queued bytes to bandwidth manager and session_stats
2008-12-13 05:12:12 +00:00
Arvid Norberg
6d3d58020a
udp_socket fixes and extra asserts
2008-12-12 09:20:27 +00:00
Arvid Norberg
5bc4a2089d
fixed seeding choking algorithm to be more fair (proper round robin)
2008-12-10 23:07:44 +00:00
Arvid Norberg
92f121f504
tcp/ip overhead calculation fix
2008-12-10 22:54:49 +00:00
Arvid Norberg
5fb854d724
improved super seeding with strict option
2008-12-09 07:56:37 +00:00
Arvid Norberg
ef8234efc5
fixed preprocessor defines using UNICODE instead of TORRENT_USE_WPATH. Removed old boost.filesystem replacement code to support boost 1.33
2008-12-09 03:45:58 +00:00
Arvid Norberg
2768874eea
removed unused member
2008-12-09 00:27:42 +00:00
Arvid Norberg
2a9353cf48
prefer udp trackers. Fixes #433
2008-12-08 09:13:21 +00:00
Arvid Norberg
b41cdd6469
initial super seeding support
2008-12-08 06:36:22 +00:00
Arvid Norberg
14c142d997
added add_piece() to inject data from external sources
2008-12-07 21:04:19 +00:00
Arvid Norberg
3b7e484d6a
various fixes for potential shutdown freezes
2008-12-07 20:25:04 +00:00
Arvid Norberg
3d136a8e93
fixed logging build
2008-12-02 08:29:45 +00:00
Arvid Norberg
70f4303d92
added tracker IP to tracker_response callback and added filtering of local IPs in pex and tracker responses. #409
2008-12-01 08:48:54 +00:00
Arvid Norberg
58a3f6e4a0
added wpath overload for torrent_info constructor
2008-12-01 07:52:59 +00:00
Arvid Norberg
96e34b80b2
added missing string in state_change_alert
2008-12-01 07:01:53 +00:00
Arvid Norberg
4b738fca7a
added previous state to state_changed_alert. #401
2008-12-01 00:19:05 +00:00
Arvid Norberg
8e48e81ead
added wpath and wstring overloads for functions dealing with paths for more complete wide character support. #432
2008-11-30 08:12:26 +00:00
Arvid Norberg
6027f9f20c
made assert tied to the new TORRENT_DEBUG define. Fixed two include problems that surfaced as a result
2008-11-30 04:50:52 +00:00
Arvid Norberg
18d3744adb
added python converter from unicode to path
2008-11-30 00:17:21 +00:00
Arvid Norberg
09b3a865ef
fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define
2008-11-29 21:33:21 +00:00
Arvid Norberg
d1a2b774e6
changed how trackers are handled. Implements #297 by setting session_settings::announce_to_all_trackers to true
2008-11-29 08:38:40 +00:00
Arvid Norberg
acbdbfc1ef
added tracker exchange (tex) extension
2008-11-27 20:51:59 +00:00
Arvid Norberg
3fd5405fa9
torrent_handle::add_tracker()
2008-11-26 01:42:14 +00:00
Arvid Norberg
157603b597
first pass at a link compatibility check
2008-11-23 15:44:11 +00:00
Arvid Norberg
357d548bb5
fixed boost.filesystem usage to not rely on deprecated functions
2008-11-21 23:38:07 +00:00
Arvid Norberg
723aba6c24
solved issue with pausing checking torrents. Introduced a new state, checkin_resume_data, which a torrent is in while waiting for the disk io thread to verify the resume data, but before it has been determined wheter it should be queued for checking or not
2008-11-19 00:46:48 +00:00
Arvid Norberg
78abf8a340
made recent change where the TCP/IP overhead is take into account when rate limiting, optional
2008-11-18 11:14:44 +00:00
Arvid Norberg
a41cf27e32
define NAME_MAX on windows
2008-11-17 18:27:32 +00:00
Arvid Norberg
f503bbfe86
fix for when aborting torrents that are being checked. Fix in client_test when removing torrents that are checking.
2008-11-17 01:19:46 +00:00
Arvid Norberg
a48ffe36e0
improved natpmp logging and handling of mapped ports in session
2008-11-16 02:11:04 +00:00
Arvid Norberg
e9a33e6a05
added option to set alert mask when constructing session
2008-11-16 02:09:53 +00:00
Arvid Norberg
c3bbf138a4
estimate TCP/IP overhead more accurately
2008-11-14 20:51:49 +00:00
Arvid Norberg
bbc94a1231
dllexport new utf conversion functions
2008-11-14 05:25:01 +00:00
Arvid Norberg
03398e94b0
replaced utf8 conversion with code from unicode.org
2008-11-13 06:39:08 +00:00
Arvid Norberg
1b10a3b15f
DHT instrumentation changes
2008-11-12 03:56:56 +00:00
Arvid Norberg
beb9dbfc03
cleaned up DHT error handling and logging. Made it use lazy_bdecode for improved performance
2008-11-11 17:51:02 +00:00
Arvid Norberg
473f75e98a
DHT fix where the node_id would get set after it was started and be inconsitent with rpc_manager and routing_table
2008-11-11 08:33:34 +00:00
Arvid Norberg
4abd27b40e
initialize torrent object in libtorrent thread instead of in calling thread
2008-11-10 02:33:39 +00:00
Arvid Norberg
18d269dd62
DHT optimizations
2008-11-10 02:08:42 +00:00
Arvid Norberg
ce544e2300
DHT rate limiter fixes
2008-11-09 00:37:03 +00:00
Arvid Norberg
3ed38059aa
rate_limited_udp_socket fixes
2008-11-08 21:44:24 +00:00
Arvid Norberg
9bba20cdb4
first pass at rate limited udp socket (for DHT)
2008-11-08 17:40:06 +00:00
Arvid Norberg
4e9124019b
added accessor to query for the max number of connections
2008-11-08 07:40:55 +00:00
Arvid Norberg
3412c0f709
added option to set peers in a state where it doesn't download
2008-11-06 08:34:56 +00:00
Arvid Norberg
4dacfcbaaf
change the default UPnP settings to map anything that's found on the local network
2008-11-02 20:42:48 +00:00
Arvid Norberg
f2c9e02994
fixed deadlock in dht code
2008-11-02 10:01:04 +00:00
Arvid Norberg
4dada930ac
made torrents not wanting more peers whene they're shutting down. Closes out all connections in the connection queue explicitly when session is shutting down
2008-10-30 17:13:10 +00:00
Arvid Norberg
7fd2fd4732
added performance warnings for when the IP overhead eats up the entire up- or download rate limit
2008-10-28 06:45:42 +00:00
Arvid Norberg
7d83bfb6b3
fixed pedantic warnings
2008-10-26 22:12:12 +00:00
Arvid Norberg
c18825c8db
fixed missing includes in header
2008-10-26 21:16:46 +00:00
Arvid Norberg
971f437b41
added num_pieces to peer_info. Fixes #385
2008-10-24 00:15:39 +00:00
Arvid Norberg
dc6564fa11
applies ip filter to trackers as well
2008-10-22 19:40:32 +00:00
Arvid Norberg
0ed75c3f64
made nat-pmp generate alerts as well, just like upnp
2008-10-22 07:06:58 +00:00
Arvid Norberg
49c01d7754
moved UPNP_LOGGING out of upnp.cpp and added alerts for when upnp logs something
2008-10-22 01:12:14 +00:00
Arvid Norberg
2fbfca60fb
#ifdef out parts of variant_stream that requires exceptions, when exceptions are turned off
2008-10-21 08:50:01 +00:00
Arvid Norberg
41d5abf0d8
exception related fixes. Avoiding functions that may throw in places where exceptions shouldn't be thrown
2008-10-21 08:45:42 +00:00
Arvid Norberg
535f668c5d
simplified the file interface
2008-10-19 05:03:17 +00:00
Arvid Norberg
f04e9e9875
made unchoke interval depend on piece size
2008-10-18 22:35:10 +00:00
Arvid Norberg
9bcd5be3fc
replaced boost.lexical_cast with stringstream in alert message formaters to avoid throwing exceptions
2008-10-18 17:22:31 +00:00
Arvid Norberg
3d75732145
changed variant_stream to return a pointer instead of a reference when querying for underlying type (avoids exceptions)
2008-10-18 07:12:04 +00:00
Arvid Norberg
5989c8a527
fixed typo in makefile
2008-10-17 17:18:33 +00:00
Arvid Norberg
fffb51a727
updated get_asio script to download asio-1.2.0 and updated makefile to include the new asio headers
2008-10-17 17:05:25 +00:00
Arvid Norberg
81636a894d
updated makefile to include all asio headers
2008-10-17 01:00:27 +00:00
Arvid Norberg
16d56eaee6
clears torrent stats when paused
2008-10-15 17:31:20 +00:00
Arvid Norberg
9a5e261c64
Fixed UPnP bug where the port and host would be re-used from the xml url when connecting to the control url
2008-10-14 07:19:46 +00:00
Arvid Norberg
399c4d6ac4
mutex fix for dht status reporting
2008-10-09 03:32:57 +00:00
Arvid Norberg
b355541a7d
applied patch from Sergei Vorobyov to allow changing the limit on outstanding alerts
2008-10-07 05:46:42 +00:00
Arvid Norberg
3144767632
fixed buffer overrun when calling get_download_queue
2008-10-05 07:23:46 +00:00
Arvid Norberg
d4c206841b
added support for bitcomet padding files. simplified storage read/write code.
2008-10-03 05:49:41 +00:00
Arvid Norberg
1092c558e4
counts newly started torrents as active up to 2 minutes, to give them a chance to start downloading. Active torrents are not considered slow in the auto manager.
2008-10-01 05:25:18 +00:00
Arvid Norberg
ef42e8f77c
fixed rename_file to work when the file hasn't been created yet. Fixed error reporting when rename_file fails. Updates the file in the torrent_handle when filename is updated
2008-09-30 23:37:42 +00:00
Arvid Norberg
47c476dc0a
include TCP handshake overhead
2008-09-26 06:10:21 +00:00
Andrew Resch
4189e0b697
add peer_info::progress
2008-09-25 20:39:06 +00:00
Arvid Norberg
6d97d562f9
added another constructor to create_torrent that copies a torrent_info.
2008-09-24 17:05:12 +00:00
Arvid Norberg
1f1b3b560e
fixed typo in torrent_info.hpp
2008-09-24 02:37:04 +00:00
Arvid Norberg
519fdfdb36
portability fix for udp_socket
2008-09-24 02:35:03 +00:00
Arvid Norberg
80e9e8d1cf
changed torrent::set_metadata() to reduce code duplication in metadata extensions. Exposed torrent_handle::set_metadata() to the public interface
2008-09-24 02:32:33 +00:00
Arvid Norberg
ba8163ca9c
fixed bug in udp_socket when the sockets own lifetime was dependent on the callback
2008-09-22 23:43:21 +00:00
Arvid Norberg
1ac3b8298c
report tracker bandwidth usage and include it in rate limiter
2008-09-22 00:15:05 +00:00
Arvid Norberg
48dad0e2ac
fixed indentation
2008-09-21 23:25:09 +00:00
Arvid Norberg
ea578a6acf
adds ut_pex, ut_metadata and smart_ban by default in session constructor. Also starts upnp and nat-pmp by default. Fixes #399
2008-09-21 23:19:58 +00:00
Arvid Norberg
13b343c1af
added assertions that the stats is updated properly when receiving and sending bytes on peer_connections
2008-09-21 17:12:26 +00:00
Arvid Norberg
8ffc345308
fixed crash when add_torrent was fed with invalid resume data
2008-09-21 02:08:04 +00:00
Arvid Norberg
0338510b9b
added more bandwidth monitoring of DHT and TCP/IP overhead. added monitoring of the running DHT lookups
2008-09-20 17:42:25 +00:00
Arvid Norberg
67f1242836
added mutex to udp_socket and posts the callback instead of calling it directly
2008-09-19 17:31:16 +00:00
Arvid Norberg
a62ce3bc1a
made routing table support safe iterators on gcc
2008-09-16 17:21:24 +00:00
Arvid Norberg
166f761df3
fixed DHT bug where requests that timed out would be treated as transaction_id overflows and would slow down DHT lookups considerably.
2008-09-15 05:05:26 +00:00
Arvid Norberg
3077fdcb6a
fix crash when tracker connections fails in the constructor (used to be the case for scrape when there were no url transform from announce to scrape)
2008-09-07 10:03:59 +00:00
Arvid Norberg
fddd1ee8e2
fixed assert when connecting to upload-only peers
2008-09-07 01:01:25 +00:00
Arvid Norberg
41808f8742
big change to improve piece picker. Better end-game mode. More options on which pieces to pick.
2008-09-06 21:04:57 +00:00
Arvid Norberg
7f143791d5
added get_storage_impl() to torrent_handle
2008-09-04 16:20:19 +00:00
Arvid Norberg
c88071ae10
fixed race when adding router nodes to the dht (router nodes should be added before it's started)
2008-09-02 06:37:40 +00:00
Arvid Norberg
92ed7fb364
fixed metadata extension issues
2008-08-29 17:21:56 +00:00
Arvid Norberg
5486e17b15
fixed bug in bitfield and updated test
2008-08-29 12:19:21 +00:00
Arvid Norberg
9b38724417
made dump torrent create magnet links
2008-08-27 18:44:35 +00:00
Arvid Norberg
e9045cc1df
fixes bug where priorities where lost when force-rechecking.
2008-08-25 22:32:50 +00:00
Arvid Norberg
d2e5f3919d
changed alert messages to use asio to string conversion for endpoint (fixes missing [] on IPv6 addresses)
2008-08-25 21:21:38 +00:00
Arvid Norberg
dd318fb9a3
fixed warnings in bencode
2008-08-21 11:40:49 +00:00
Arvid Norberg
e58485822b
optimized encryption
2008-08-20 23:05:12 +00:00
Arvid Norberg
37389e4fe4
added test to measure peak download rate and introduced performance warning alert when disk buffer limit and request limit are reached
2008-08-19 15:04:14 +00:00
Arvid Norberg
29bf61d364
fixed state changed alert since 'connecting' was removed
2008-08-18 18:04:04 +00:00
Arvid Norberg
9bae670ac7
fix build with boost-1.36
2008-08-16 21:11:27 +00:00
Arvid Norberg
015ab223c9
added asserts for timers
2008-08-16 21:07:45 +00:00
Arvid Norberg
7d47ed54eb
removed connecting_to_tracker state
2008-08-03 15:32:15 +00:00
Arvid Norberg
cbf8e6f3b1
introduced TORRENT_NO_DEPRECATE, to disable deprecated functions. Made example not use deprecated functions. Documented magnet uri related functions.
2008-08-03 15:14:08 +00:00
Arvid Norberg
18b14e56df
made the minimum announce interval configurable
2008-08-01 22:34:37 +00:00
Arvid Norberg
854f029fc1
fixed warning on gcc 4.3
2008-07-30 06:41:05 +00:00
Arvid Norberg
4aee6df9d4
fixed create_torrent
2008-07-22 13:01:22 +00:00
Arvid Norberg
b22082b77b
add set_priv and priv to create_torrent
2008-07-21 17:04:31 +00:00
Arvid Norberg
df27541904
only use wpath on windows
2008-07-20 16:13:52 +00:00
Arvid Norberg
c605c8021f
added file priority functions
2008-07-20 16:00:08 +00:00
Arvid Norberg
417855848f
merged file_win.cpp and file.cpp (removed the need for file_win.cpp). The file is no longer a pimpl
2008-07-20 11:14:54 +00:00
Arvid Norberg
0433a32857
fixed msvc warning
2008-07-20 10:35:51 +00:00
Arvid Norberg
7607034ab6
exposed upload_only in peer_info
2008-07-19 07:57:43 +00:00
Arvid Norberg
21dff61cb5
clears read cache when paused. Saves memory
2008-07-18 15:31:22 +00:00
Arvid Norberg
3b35b2c2e3
added dict_find_string to lazy_entry
2008-07-18 13:48:09 +00:00
Arvid Norberg
2ab80ddc3a
moved the error_category to error_code.cpp and added the new files (error_code.{hpp|.cpp}) to the Jamfile and makefiles
2008-07-18 10:22:16 +00:00
Arvid Norberg
429a118dd2
keep track of interest more tightly. better support for upload_only
2008-07-18 10:03:42 +00:00
Andrew Resch
755567a7a0
Fix building with msvc
2008-07-17 23:56:58 +00:00
Arvid Norberg
3cb1369385
improved error reporting of file errors (uses boost.system's error_code). Now permission errors are properly reported when checking files
2008-07-17 23:41:46 +00:00
Arvid Norberg
72b99059e7
optimized policy::peer
2008-07-14 11:15:35 +00:00
Arvid Norberg
7541d9d246
don't allow force_tracker_request when paused
2008-07-12 18:45:58 +00:00
Arvid Norberg
ff6cbbc6b6
added torrent_handle::clear_error() to retry a torrent that is in an error state (torrent_status::error is set)
2008-07-12 17:00:52 +00:00
Arvid Norberg
9bf25d1006
changed the definition of file_progress and deprecated the old function. Python bindings only exposes the new one
2008-07-12 13:38:22 +00:00
Arvid Norberg
e49c015c92
fixed torrent alert assert
2008-07-12 11:04:23 +00:00
Arvid Norberg
c5af2c2eaf
moved tracker announces into a timer instead of polling every second. Added state to properly send complete, started and stopped events
2008-07-12 08:25:19 +00:00
Arvid Norberg
486fb1082d
reports event in tracker_announce_alert
2008-07-11 12:00:29 +00:00
Arvid Norberg
9c9c13c7bb
exposed read cache info as well as write cache
2008-07-11 10:29:26 +00:00
Arvid Norberg
589e098002
fixed parole mode with timeouts and made it optional
2008-07-11 09:23:22 +00:00
Arvid Norberg
de8f676b98
increase timeouts
2008-07-11 09:02:05 +00:00
Arvid Norberg
96ca475652
added redundant and failed byte counters to session
2008-07-11 07:30:04 +00:00
Arvid Norberg
680dab5a67
make 'snubbed' more sticky by only giving one request_timeout back when a new block is being received
2008-07-10 19:31:22 +00:00
Arvid Norberg
1bdb6afebd
fixes to previous connection timeout check-in
2008-07-10 10:58:30 +00:00
Arvid Norberg
d06f125513
improved accuracy of the file progress report to include completed blocks from incomplete pieces (but not partial blocks)
2008-07-09 10:45:07 +00:00
Arvid Norberg
55a944c014
added a unwanted_block_alert
2008-07-08 18:41:04 +00:00
Arvid Norberg
5c749bcb3c
added base class for peer_alerts and turned more alerts into peer_alerts with more information about the peer that generated it
2008-07-08 09:30:10 +00:00
Arvid Norberg
a20f1a8fa0
keeps track of the number of requests waiting in the send buffer and adjusts bandwidht priority accordingly in the bandwidth limiter
2008-07-08 00:03:08 +00:00
Arvid Norberg
f7042ca84a
improved piece timeout and peer snubbing logic
2008-07-07 12:04:06 +00:00
Arvid Norberg
e576babbb8
changed the alerts to have categories and to be filtered with a bitmask instead of having a severity and be filtered by a severity level.
2008-07-06 12:22:56 +00:00
Arvid Norberg
dab1b22982
made get_asio.sh script check out asio directly into the libtorrent directory. Certain tools cannot handle the symbolic links properly, such as vmware folder sharing
2008-07-05 17:41:54 +00:00
Arvid Norberg
ecb538b4b2
added alert for torrent state changes. Fixes #360
2008-07-03 10:05:51 +00:00
Arvid Norberg
66a7f98d84
fixed missing torrent error state
2008-07-02 21:27:16 +00:00
Arvid Norberg
af0ebb519c
added copyright notices in files missing them
2008-07-01 18:59:13 +00:00
Arvid Norberg
40d7e2ce75
moved load_file into torrent_info.cpp to make it available on windows too. Fixed the exception free path in torrent_info
2008-07-01 11:00:00 +00:00
Arvid Norberg
10f5418ce7
switched extension handshake parsing over to use lazy_bdecode for improved performance
2008-07-01 08:04:12 +00:00
Arvid Norberg
9c84908bb9
switched resume data parsing over to use lazy_bdecode. Improves memory allocation performance, especially noticable when heap allocations are expensive. Makes it more practical to run with malloc debug. Changed resume data interface to take a vector as opposed to a parsed structure
2008-06-30 23:14:31 +00:00
Arvid Norberg
d396ab7b17
added pause and resume to the session. Fixes #349
2008-06-29 19:08:30 +00:00
Arvid Norberg
2ac5c13e6f
introduced a stricter timeout on piece requests and snubbing. exposed some more data about this through the peer_info. Fixes #40
2008-06-29 09:50:42 +00:00
Arvid Norberg
d1b2cd558e
moved peer time out logic to second tick
2008-06-29 05:35:48 +00:00
Arvid Norberg
b27b2b6e71
fixed typo
2008-06-28 17:58:15 +00:00
roman_rybalko
914dcac3d2
trunk:
...
moved to asio-1-0-0 from asio-head (get_asio & makefile fix)
tests moved to "check" target
2008-06-28 10:38:12 +00:00
Arvid Norberg
d132dd45e3
removed exceptions from pe_crypto and improved error handling
2008-06-28 10:10:05 +00:00
cg25
ff3e80c42f
Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
...
trunk.
2008-06-25 14:15:21 +00:00
Arvid Norberg
4d380c57d7
made bdecode not throw
2008-06-23 22:00:27 +00:00
Arvid Norberg
87660b96c5
renamed announce_piece to piece_passed and moved it to piece_finished and piece_failed
2008-06-23 18:54:58 +00:00
Arvid Norberg
c210b11b80
better fix for failing pieces
2008-06-23 14:45:01 +00:00
cg25
71c4f6f9b6
* improved --with-asio configure option behaviour;
...
* using -version-info flag instead of -revision one for the sake of correct
interface versioning;
* renaming library to libtorrent-rasterbar.so to avoind conflicting with other
libraries.
2008-06-23 00:09:12 +00:00
cg25
3ce23558b4
Added "--with-asio" option to configure script to be able to choose between
...
"system" and "shipped" asio when building against boost-1.34
2008-06-22 20:51:26 +00:00
Arvid Norberg
6db1b54304
simplified policy and optimized case when a piece fails hash check
2008-06-22 20:28:03 +00:00
Arvid Norberg
0f0ea269bc
added an active torrent limit
2008-06-21 12:31:28 +00:00
Arvid Norberg
d0e579826c
added an option to not count inactive torrents against the limits for auto managed torrents
2008-06-21 09:15:29 +00:00
Arvid Norberg
b183b2e593
made it possible to export the upnp state and insert it into a different upnp instance
2008-06-20 16:14:10 +00:00
Arvid Norberg
3095a5afcc
fixed makefiles to build with asio-1.0 and get_asio script to download asio-1.0 tag
2008-06-19 12:42:45 +00:00
Arvid Norberg
d2bde64e71
makes sure a torrent doesn't have too many pieces than can be handled. Fixes #61
2008-06-19 11:28:34 +00:00
Arvid Norberg
0241bf78ce
added is_sequential_download to torrent_handle
2008-06-17 08:30:04 +00:00
Arvid Norberg
6c24bd0774
moves force checked torrents to the end of the queue. Fixes #350
2008-06-16 22:27:14 +00:00
Arvid Norberg
3e000a3984
fixed save path updates when moving torrents. Fixes #310
2008-06-15 20:52:46 +00:00
roman_rybalko
5314b639e2
boost detection fixes: now able to launch with boost1.34 and boost1.35
2008-06-13 12:20:55 +00:00
Arvid Norberg
5923ef5b43
fixed file check ordering to respect the queue position. Fixes #350
2008-06-12 21:22:24 +00:00
Arvid Norberg
52f6204288
simplified the disk-io mutexes and made it more efficient. separated the disk io mutex into a buffer mutex, queue mutex and the piece cache mutex.
2008-06-12 04:40:37 +00:00
Arvid Norberg
6e69480176
disk_io_thread fixes. Properly destructs torrent objects while disk io mutex is not locked. Properly flushes disk cache when closing, and aborting read and file check jobs. Fixes #334
2008-06-09 04:46:34 +00:00
Andrew Resch
3ea075f169
Add torrent_resumed alert
2008-06-08 05:14:40 +00:00
Arvid Norberg
a1857f9699
added force_recheck to torrent_handle. Fixes #120
2008-06-07 16:24:56 +00:00
Arvid Norberg
9f5fa96cad
fixed bug related to m_have_piece optimization. Renamed num_pieces() to num_have() to avoid confusion
2008-06-07 14:03:21 +00:00
Arvid Norberg
9d1e77dc88
optimized away torrent::m_have_pieces ( #62 ) and added some documentation on bitfield. The piece picker is now constructed with the torrent, but still freed when turned into a seed
2008-06-07 02:58:28 +00:00
Arvid Norberg
bcc24bf831
added has_incoming to torrent_status per #315
2008-06-05 18:19:03 +00:00
Arvid Norberg
4709d202e1
fixed unicode issue in storage
2008-06-04 07:57:07 +00:00
Arvid Norberg
b4c160e723
fixed bug in web_peer_connection where an incorrect number of bytes would be reported as downloaded
2008-06-03 15:17:09 +00:00
Arvid Norberg
c883f4475c
saves statistics from the last second from peer connections that are disconnected. Partly fixes #339
2008-06-03 05:21:00 +00:00
Arvid Norberg
31c9d378f5
completed queuing. It is now possible to change and query queue position of torrents.
2008-05-29 03:37:19 +00:00
Arvid Norberg
fd98434c97
peer list optimization and introduced hard limit on peer list size
2008-05-28 18:25:48 +00:00
Arvid Norberg
3910fe78de
separated file_storage from torrent_info and create_torrent
2008-05-28 08:44:40 +00:00
Arvid Norberg
cf37d8544d
fixed boost version check. Fixes #337
2008-05-28 07:52:25 +00:00
Arvid Norberg
68c31e48dc
replaced vector<bool> with a custom bitfield type
2008-05-28 02:35:02 +00:00
Arvid Norberg
01cb206afc
added missing include file to makefile
2008-05-21 05:54:12 +00:00
Arvid Norberg
dbb625a910
torrent_info fixes. make_torrent now builds
2008-05-20 09:49:40 +00:00
Arvid Norberg
31ab7f9773
boost 1.35 related fixes
2008-05-20 09:45:55 +00:00
Arvid Norberg
67354421fb
introduced an error state for torrents. Torrents with an error are not restarted automatically
2008-05-20 07:57:44 +00:00
Andrew Resch
aed8f355b0
Make libtorrent build with boost <1.35
2008-05-20 06:03:46 +00:00
Arvid Norberg
5840a50d79
fixed stale state when switching from finished to downloading
2008-05-20 03:21:45 +00:00
Arvid Norberg
07f070868d
factored out to_hex into the escape_string header file
2008-05-19 07:36:04 +00:00
Arvid Norberg
8613554c2a
entry and scrape bug fix
2008-05-19 07:15:44 +00:00
Arvid Norberg
777954ab3e
automatically scrape auto managed torrents to keep track of downloader/seed ratio
2008-05-19 04:06:25 +00:00
Arvid Norberg
c460704a5f
streamlined class footprint by reducing padding
2008-05-19 02:52:32 +00:00
Arvid Norberg
c5d61667b3
http_connection now supports connecting to all IPs a hostname resolves to, as fallbacks
2008-05-18 22:14:55 +00:00
Arvid Norberg
111f5faecb
upload only extension
2008-05-18 05:59:47 +00:00
Arvid Norberg
b952d85734
fixed error handling and added support for relative http redirects (which aren't allowed by the standard)
2008-05-18 04:48:06 +00:00
Arvid Norberg
7f639e57de
improved error handling with regards to parse_url_components. For trunk, moved that function to its own file
2008-05-17 14:19:34 +00:00
Arvid Norberg
5ec7da07e6
fixes #332
2008-05-17 00:27:26 +00:00
Arvid Norberg
6ab19756a3
lazy_entry fix
2008-05-15 08:23:32 +00:00
Arvid Norberg
0ed87e4c59
updated python binding to match the recently changed torrent_info. reintroduced add_node
2008-05-15 07:37:34 +00:00
Arvid Norberg
1b209ba29c
fixed typo
2008-05-15 07:18:31 +00:00
Arvid Norberg
8ed949c4d5
factored out torrent creation functionality from torrent_info into create_torrent. Modified torrent_info to use lazy_bdecoder for increased performance
2008-05-14 05:29:42 +00:00
Arvid Norberg
a954240aa9
added swap to lazy entry
2008-05-14 05:16:40 +00:00
Arvid Norberg
0de312c80c
ignores UPnP routers that are not configured as routers on the local machine
2008-05-13 04:59:56 +00:00
Arvid Norberg
f259e34f86
peer_connection fix for incoming connections
2008-05-12 10:10:39 +00:00
Arvid Norberg
aa8aee6109
updated IP overhead calculation
2008-05-12 08:22:56 +00:00
Arvid Norberg
574211055c
GeoIP fixes
2008-05-12 07:14:03 +00:00
Arvid Norberg
149fa28586
added constructor to torrent_info that loads a file directly
2008-05-12 06:35:24 +00:00
Arvid Norberg
abb174218b
updated disconnect logic (also in [2279]). Introduced new peer_disconnect_alert used for normal disconnects and peer_error_alert is now used for protocol level errors
2008-05-12 06:05:13 +00:00
Arvid Norberg
f2ac4db1af
changed the optimistic disconnect logic to be more efficient and configurable
2008-05-12 05:17:11 +00:00