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
Arvid Norberg
eabe9cad2d
improved plugin support
2008-05-12 03:05:27 +00:00
Arvid Norberg
aa626f1422
logs node uptime and parses it for the DHT
2008-05-10 05:51:58 +00:00
Arvid Norberg
318a455f68
fix missing include
2008-05-08 22:07:13 +00:00
Arvid Norberg
bbf9c83edc
initial support for icmp errors in the DHT
2008-05-08 00:22:17 +00:00
Arvid Norberg
9429ca4b1f
replaced seed cycles with seed rank
2008-05-06 18:03:41 +00:00
Arvid Norberg
4df46a6e5e
switched from floats to integers in stat_channel history, to avoid rounding errors
2008-05-06 16:35:15 +00:00
Arvid Norberg
f7ef315438
takes IP and TCP headers into account for rate limits as well
2008-05-06 16:15:31 +00:00
Arvid Norberg
e09457e4ab
take an estimate of the IP ACK traffic into account when rate limiting (allows setting rate limits closer to the capacity)
2008-05-05 17:08:14 +00:00
Arvid Norberg
d15573ecc2
disk receive buffer cleanup
2008-05-05 06:25:22 +00:00
Arvid Norberg
7388144ec7
refactored stats class to be extensible with more channels
2008-05-04 17:57:06 +00:00
Arvid Norberg
010d3b6e75
windows fix
2008-05-04 16:10:13 +00:00
Arvid Norberg
c7e6c04705
switched over to asio from boost-1.35
2008-05-03 16:05:42 +00:00
Arvid Norberg
f3d0eb3c11
fixed boost-1.35 build
2008-05-01 16:31:19 +00:00
Arvid Norberg
c3b60f1b8f
modified get_default_gateway to not take an interface
2008-04-28 02:20:40 +00:00
Arvid Norberg
c2f7fb0fb4
added enum_routes to dump routing table
2008-04-28 00:20:59 +00:00
Arvid Norberg
b983b98f6a
fix for mingw
2008-04-27 23:21:04 +00:00
Arvid Norberg
0d818da41a
bumped version number
2008-04-24 20:41:44 +00:00
Arvid Norberg
00b935150a
fix for debug iterators
2008-04-24 17:09:26 +00:00
Arvid Norberg
4d59d9eabc
fix build with DHT disabled
2008-04-24 16:57:22 +00:00
Arvid Norberg
228e225489
scans at most 300 peers when finding a connect candidate. Supposedly fixes cpu spikes on large swarms
2008-04-24 07:49:23 +00:00
Arvid Norberg
c043d4b21d
initial support for queuing
2008-04-24 03:28:48 +00:00
Arvid Norberg
fc7dd2c5eb
tracker logger fix
2008-04-24 01:35:48 +00:00
Arvid Norberg
7a432786e7
added url to tracker alerts. introduced a base class for all tracker alerts
2008-04-23 01:54:21 +00:00
Arvid Norberg
4f132ec568
added GeoIP sources to make files
2008-04-22 00:59:56 +00:00
Arvid Norberg
9a434a919f
some more ASNum additions
2008-04-22 00:05:23 +00:00
Arvid Norberg
39eaf766fa
lazy_bdecode fixes
2008-04-20 03:18:49 +00:00
Arvid Norberg
72176a9256
lazy bdecoder additions and fixes
2008-04-19 03:00:07 +00:00
Arvid Norberg
755e50bb12
added active_time, seeding_time, all_time_upload and all_time_download to torrent_status. Also updated docs with some missing entries in torrent_status
2008-04-16 06:31:05 +00:00
Arvid Norberg
748a66c343
improvements to lazy_bdecode
2008-04-13 22:34:04 +00:00
Arvid Norberg
3fea2080fd
added an asynchronous save_resume_data to make it easier to synchronize with the disk IO thread
2008-04-13 18:54:36 +00:00
Arvid Norberg
6639f72804
if priorities are changed so that the torrent changes state to be finished, a torrent_finished_alert is generated now. Fixes #305
2008-04-13 07:39:37 +00:00
Arvid Norberg
17c4257cce
added get_full_peer_list to retrieve all the peers known for a swarm
2008-04-13 06:32:48 +00:00
Arvid Norberg
a3e7124614
added out stream operator to lazy_entry
2008-04-13 05:19:10 +00:00
Andrew Resch
ca872a0e82
Revert last.
2008-04-13 02:47:41 +00:00
Andrew Resch
d825c1d5bd
Add torrent_resumed torrent alert.
2008-04-13 02:34:18 +00:00
Andrew Resch
31bd3b1550
Expose torrent_handle::is_finished()
2008-04-13 02:15:56 +00:00
Arvid Norberg
d4cfa126aa
storage fixes
2008-04-12 22:08:07 +00:00
Arvid Norberg
a70789872e
added string length to high performance bdecoder
2008-04-12 01:58:55 +00:00
Arvid Norberg
42f55adcce
support for country lookup through GeoIP
2008-04-11 08:46:43 +00:00
Arvid Norberg
b300c7f835
added high performance bdecoder code
2008-04-11 03:41:09 +00:00
Arvid Norberg
093d912e9a
receive buffer optimization. added receive_buffer_size and used_receive_buffer to peer_info. changed plugin api to make use of new disk_buffer_holder type
2008-04-10 10:03:23 +00:00
Arvid Norberg
5f35d170b0
disk io thread cleanup (all read operations are now read into disk buffers, no custom buffers)
2008-04-10 09:11:54 +00:00
Arvid Norberg
291ef2a2c9
optimized torrent_handle to use a weak_ptr directly to the torrent object
2008-04-09 20:09:36 +00:00
Arvid Norberg
75ef4ec1f1
added option to not use pool allocators (useful when using memory debugging tools)
2008-04-09 05:19:11 +00:00
Arvid Norberg
642768bc24
storage cleanup
2008-04-09 01:11:16 +00:00
Arvid Norberg
96f6de9d10
added missing TORRENT_EXPORT statements (to fix shared library build)
2008-04-07 03:03:34 +00:00
Arvid Norberg
89a9a25197
exception fixes in torrent
2008-04-07 02:51:21 +00:00
Arvid Norberg
2fe729c9f5
removed dependencies on exceptions from policy
2008-04-07 01:29:21 +00:00
Arvid Norberg
d10205057e
port mapping update
2008-04-06 23:18:35 +00:00
Arvid Norberg
d8a5f6cd66
updated makefiles for asio 1.0
2008-04-06 20:17:08 +00:00
Arvid Norberg
2e6b9c2dce
revamped part of the port mapping code (UPnP and NAT-PMP). Added documentation for start_{lsd,natpmp,upnp} and stop_{lsd,natpmp,upnp}
2008-04-06 19:17:58 +00:00
Arvid Norberg
35fd9aec61
msvc build fixes and warning fixes
2008-04-05 21:18:27 +00:00
Arvid Norberg
7ebdc27779
fixed trailing backslash
2008-04-05 06:13:06 +00:00
Arvid Norberg
e9e12b5531
updated makefile to include the latest asio headers
2008-04-05 06:05:36 +00:00
Arvid Norberg
57d75e120a
initial support for GeoIP (only AS mappings for now)
2008-04-05 04:53:22 +00:00
Arvid Norberg
0fcb204128
added peak rates to peer_info
2008-04-03 06:11:21 +00:00
Arvid Norberg
cab106adad
removed incorrect assert in bandwidth manager
2008-04-03 04:31:31 +00:00
Arvid Norberg
4161be867e
removed dht ping from peer_from_tracker. in trunk: implemented a rate limited DHT ping (once a second per torrent) and space optimized the peer structure
2008-04-01 17:38:19 +00:00
Arvid Norberg
1511f2f59b
removed calls to self() from inside constructors in peer connections
2008-03-31 04:46:24 +00:00
Arvid Norberg
a9bb9023fb
fixed build with logging
2008-03-30 18:31:30 +00:00
Arvid Norberg
45a7329d5c
added alert for when the client's external IP is received
2008-03-29 22:45:55 +00:00
Arvid Norberg
ffecb32b81
made a bias to give connection attempts to downloading torrents with few peers. Should accelerate downloads on windows (where there's a half-open connection limit)
2008-03-29 19:39:24 +00:00
Arvid Norberg
2014e312b1
exposed connection_candidates in torrent_status and made a small optimization to not attempt to connect peers on swarms that don't have any connect candidates
2008-03-29 18:47:24 +00:00
Arvid Norberg
483da2483e
python binding update
2008-03-28 21:37:35 +00:00
Arvid Norberg
5cad17143d
updated udp_socket error handling
2008-03-25 04:46:18 +00:00
Arvid Norberg
1d8edc0722
fixed race condition in dht
2008-03-24 04:38:43 +00:00
Arvid Norberg
211ae62d33
fixes #295
2008-03-24 02:19:47 +00:00
Arvid Norberg
95310549b9
silence msvc warning
2008-03-21 09:04:24 +00:00
Arvid Norberg
70f822b4bd
silence msvc warning
2008-03-21 09:03:25 +00:00
Arvid Norberg
fece6e9300
fixed #289 in trunk, 0.12 and 0.13
2008-03-19 22:44:55 +00:00
Arvid Norberg
f3f90c1a0f
bandwidth limiter assertion fix
2008-03-16 18:09:56 +00:00
Arvid Norberg
537f21d1b9
connection rate improvement when using a half-open connections limit
2008-03-16 10:49:47 +00:00
Arvid Norberg
026e98222b
fixed warning
2008-03-16 05:01:07 +00:00
Arvid Norberg
8132c6aad6
added option to control TOS byte in peer traffic
2008-03-12 16:58:23 +00:00
Arvid Norberg
cd65fb8b0c
added priority to connection queue. trackers and upnp connections have higher priority than peers
2008-03-12 07:44:27 +00:00
Arvid Norberg
a97be6937a
unchoker counts bytes instead of rates
2008-03-10 03:30:01 +00:00
Arvid Norberg
f53cfa7eeb
removed checker thread
2008-03-08 06:06:31 +00:00
Arvid Norberg
e86bac9c50
updated makefiles to reflect recent asio changes
2008-03-04 06:27:04 +00:00
Arvid Norberg
9d3b60edb7
added support to bind outgoing connections to specific ports (might be useful to do traffic shaping)
2008-02-28 07:34:07 +00:00
Arvid Norberg
cf5c9344ab
made peer connection order depend on ones external IP or be random (if we don't know our external IP). Should fix #281
2008-02-28 03:09:34 +00:00
Arvid Norberg
c689c0b5fc
replaced deque with list in disk_io_thread
2008-02-26 20:08:33 +00:00
Arvid Norberg
83f405ac54
followups to windows fixes
2008-02-25 11:27:23 +00:00
Arvid Norberg
a25c25b02a
fixed windows build and removed msvc warnings
2008-02-25 10:28:53 +00:00
Arvid Norberg
c1c2fb4409
resume data unit test and fix
2008-02-25 05:07:29 +00:00
Arvid Norberg
9f44c577d7
updated file_win and file_pool error handling
2008-02-25 04:41:21 +00:00
Arvid Norberg
1d1398ed7f
read cache fix
2008-02-24 23:14:10 +00:00
Arvid Norberg
0e3eddf8e8
lower default connection speed in debug mode
2008-02-22 07:41:05 +00:00
Arvid Norberg
ef9ef674d5
added read cache. Not fully configurable yet
2008-02-22 04:11:04 +00:00
Arvid Norberg
333839c9b4
piece picker update
2008-02-18 03:07:14 +00:00
Arvid Norberg
799dd70c4e
factored out OS detection code and added kfreebsd support
2008-02-18 00:36:17 +00:00
Arvid Norberg
df74cbb78a
fixed logging=errors configuration
2008-02-17 22:51:03 +00:00
Arvid Norberg
7e83c3fc51
changed storage interface to not require exceptions
2008-02-14 03:48:20 +00:00
Arvid Norberg
af6c0a73c5
fixed dht asserts
2008-02-10 02:26:45 +00:00
Arvid Norberg
6c552db68e
added disk cache expiration
2008-02-10 00:58:25 +00:00
Arvid Norberg
cecd0dfcd2
added rtt estimation for outgoing connections
2008-02-09 22:42:56 +00:00
Arvid Norberg
ea7253c575
increased default cache size to 8 MB
2008-02-09 21:09:29 +00:00
Arvid Norberg
99eed299cd
asserts in dht
2008-02-09 21:04:24 +00:00
Arvid Norberg
8cf0510144
added disk cache for write operations
2008-02-08 10:22:05 +00:00
Arvid Norberg
a53473a65d
added new logging mode to log peer errors
2008-02-07 07:09:52 +00:00
Arvid Norberg
92f4947bbe
full proxy support for udp-trackers, and more reliable udp tracker code
2008-02-05 06:32:10 +00:00
Arvid Norberg
c798ab30e1
rewrote the piece picker to be more cpu and memory efficient. replaces the concept of sequential-download-threshold with just a sequential download settings
2008-01-31 17:52:29 +00:00
Arvid Norberg
3562c3e646
add bind address support to http_connection and replace http_tracker_connection's code with http_connection
2008-01-31 08:24:01 +00:00
Arvid Norberg
6caca17883
refactored gzip code and added gzip support to http_connection
2008-01-30 18:32:13 +00:00
Arvid Norberg
ebde862341
capped the allowed depth in bencoded messages, to avoid triggering stack overflows by malformed messages
2008-01-28 02:58:17 +00:00
Arvid Norberg
61bbc6e58f
initial https support for trackers and http_connection. Added support for proxies to http_connection
2008-01-27 22:39:50 +00:00
Arvid Norberg
5527a8e9b1
fixed build issue on msvc
2008-01-27 21:03:33 +00:00
Arvid Norberg
365b8c07c6
iterator fixes (to avoid triggering safe iterator asserts)
2008-01-19 18:12:02 +00:00
Arvid Norberg
127d3e6ad5
bandwidth limiter fixes. proper priority that cannot starve connections
2008-01-17 17:40:46 +00:00
Arvid Norberg
832c0c8b63
improved auto-unchoke mechanism
2008-01-15 08:37:48 +00:00
Arvid Norberg
97511f2819
removed stray space
2008-01-14 17:25:08 +00:00
Arvid Norberg
b19bf337bf
generalized peer read/write state
2008-01-13 23:46:43 +00:00
Arvid Norberg
5d196ed555
auto upload slots. opens up more slots if upload rate is not met. On by default
2008-01-13 11:18:18 +00:00
Arvid Norberg
795bee4b2c
added option to disable invariant checks and added more build documentation
2008-01-13 06:17:56 +00:00
Arvid Norberg
9304bd747c
added graphing script for bandwidth manager log
2008-01-13 05:14:49 +00:00
Arvid Norberg
56210c1687
added asserts to make sure the pool allocator for dht messages allocates blocks of correct size
2008-01-13 04:24:10 +00:00
Arvid Norberg
7cea96ea88
added TORRENT_VERBOSE_BANDWIDTH_LIMIT build option to generate a bandwidth manager log
2008-01-12 18:47:26 +00:00
Arvid Norberg
7f56486cf0
separated http_parser to its own file
2008-01-12 09:36:03 +00:00
Arvid Norberg
81302c8fed
fixed http_connection redirection support and added test (still requires lighttp)
2008-01-12 01:41:56 +00:00
Arvid Norberg
f36e6a6c4f
proper default gateway discovery
2008-01-11 09:38:05 +00:00
Arvid Norberg
72edfc2ee7
improved network interface enumeration and upnp device filtering
2008-01-11 06:49:37 +00:00
Arvid Norberg
3a727e99ff
expose more info through peer_info
2008-01-10 22:13:23 +00:00
Arvid Norberg
9fca960d3c
bandwidth limiter mutex fix
2008-01-10 06:19:20 +00:00
Arvid Norberg
c047c4dd71
broadcast socket header file update
2008-01-09 18:51:54 +00:00
Arvid Norberg
695cd6407b
remove use of strand
2008-01-08 05:47:43 +00:00
Arvid Norberg
4420473b88
made send buffer watermark configurable
2008-01-08 01:16:30 +00:00
Arvid Norberg
e05f396a5d
made UPnP ignore devices that don't respond from a router IP (optional but on by default)
2008-01-07 05:48:28 +00:00
Arvid Norberg
1d6e0f5bf6
bandwidth request block size optimization
2008-01-07 04:47:20 +00:00
Arvid Norberg
e5d1456c58
added a failcounter to upnp portmaps
2008-01-07 02:35:29 +00:00
Arvid Norberg
cf4036310b
changed the way connections are disconnected. improved logging. Does not depend on exceptions anymore
2008-01-07 01:10:46 +00:00
Arvid Norberg
0ed722036f
fixed assert
2008-01-05 00:54:30 +00:00
Arvid Norberg
a49cb42345
fixed race condition in bandwidth limiter
2008-01-03 18:53:07 +00:00
Arvid Norberg
29ccb9220b
broadcast socket fix
2008-01-03 10:58:16 +00:00
Arvid Norberg
4e559e8dfe
change to entry to support building client in debug mode and libtorrent in release mode
2008-01-03 03:10:25 +00:00
Arvid Norberg
53de59b286
removed packet_iterator from Makefile.am
2008-01-02 03:43:49 +00:00
Arvid Norberg
fcd2408f11
fast extension fix, added some logging for fast extension messages, improved test to catch the problem
2008-01-02 03:18:29 +00:00
Arvid Norberg
91e01442e8
added bandwidth_limit.hpp and bandwidth_queue_entry.hpp to makefiles
2008-01-01 21:15:23 +00:00
Arvid Norberg
ddf16fb3bb
separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225
2007-12-31 09:41:50 +00:00
Arvid Norberg
07d1fe84c3
made udp and http tracker connections build without exception support
2007-12-30 01:57:57 +00:00
Arvid Norberg
6c42830f97
made http_parser not use exceptions
2007-12-29 18:24:50 +00:00
Arvid Norberg
599ed646f0
made natpmp build without exception support
2007-12-29 07:26:36 +00:00
Arvid Norberg
a279e8c9ec
made bandwidth_manager build without exceptions
2007-12-29 05:43:19 +00:00
Arvid Norberg
8b76457b80
support in broadcast_socket to be built without exception support
2007-12-29 05:14:33 +00:00
Arvid Norberg
07b4024024
made debug.hpp build without exception support
2007-12-29 02:03:13 +00:00
Arvid Norberg
eb8ea0f461
made torrent_info not rely on exception support
2007-12-28 20:11:10 +00:00
Arvid Norberg
501611173e
removed unused header 'packet_iterator.hpp'
2007-12-28 19:46:08 +00:00
Arvid Norberg
e88bcaea90
made http_stream and proxy_base support builds with exceptions disabled
2007-12-28 19:26:26 +00:00
Arvid Norberg
e6e5b43219
added asserts that the type of a bencoded entry is not assumed when built with no exceptions
2007-12-28 19:07:28 +00:00
Arvid Norberg
cfe5c8962e
more asserts around send buffers and fixes potential race condition
2007-12-27 21:43:11 +00:00
Arvid Norberg
8a47c849ce
fix in the smart_ban to not use invalid pointers
2007-12-27 20:57:58 +00:00
Arvid Norberg
b2a49d2db9
put back #include <cassert>
2007-12-27 10:50:12 +00:00
Arvid Norberg
904d9bb50b
demangles symbols in assert tracebacks
2007-12-27 06:15:52 +00:00
Arvid Norberg
86de8b8bf6
turned assert into TORRENT_ASSERT
2007-12-27 03:43:02 +00:00
Arvid Norberg
81cf247cda
attempt to fix #212 . Store 4 bytes and 16 bytes arrays instead of in_addr in ip-filter
2007-12-24 21:49:46 +00:00
Arvid Norberg
d5748419c1
fixed upnp bug when connecting without network
2007-12-24 08:18:53 +00:00
Arvid Norberg
e0d1951fac
fixes #234 . properly shuts down the disk io thread
2007-12-24 08:15:10 +00:00
Arvid Norberg
b23e9e3795
attempt to fix #201 . Uses separate sockets to send broadcast messages in order to be sure to receive unicast responses
2007-12-22 17:33:04 +00:00
Arvid Norberg
1724ce5974
fixed bug in UPnP and added functionality to grab router model
2007-12-22 16:47:46 +00:00
Arvid Norberg
e38c0c9cdc
added bencoding function and updated ut_metadata extension
2007-12-22 08:15:05 +00:00
Arvid Norberg
9aa2ddec80
added a plugin 'smart_ban' that can ban peers sending bad data with higher accuracy
2007-12-18 06:04:54 +00:00
Arvid Norberg
f6b34b7f0b
added missing include guard to disk_io_thread.hpp
2007-12-17 22:07:03 +00:00
Arvid Norberg
ac28fa7b62
some more asserts related to bandwidth manager
2007-12-14 18:02:06 +00:00