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
3bf9fa239d
fixed incorrect failure test in storage. Affected reading when not coalescing reads
2009-01-02 10:31:26 +00:00
Arvid Norberg
a14421bde5
return if torrent is aborted in files checked
2009-01-02 09:47:51 +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
a4dc107658
dht_stats fix (truncates the log file on startup)
2009-01-01 18:29:42 +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
cf7a6e6029
fixed broken DHT round trip logging
2008-12-31 18:49:28 +00:00
Arvid Norberg
aecc24171d
extended utf-8 encoding error correction to also cover name, comment and created by. Fixes #372
2008-12-31 10:18:19 +00:00
Arvid Norberg
1a22c31d08
fixed typo in last check-in
2008-12-30 17:45:58 +00:00
Arvid Norberg
b873ffeb01
log the url in udp_tracker log lines
2008-12-30 17:37:38 +00:00
Arvid Norberg
06da1f8e8a
added some session logging. added more disk-io-thread stats logging and parse script
2008-12-30 08:20:25 +00:00
Arvid Norberg
e5d3755afb
added support for http seeds (BEP 17)
2008-12-30 03:54:07 +00:00
Arvid Norberg
96a771ef8b
only accept gzip encoding for bottled http requests
2008-12-29 07:31:33 +00:00
Arvid Norberg
725fdef85e
IP overhead calculation fix
2008-12-28 20:06:59 +00:00
Arvid Norberg
469fe10107
udp_socket fix believed to fix #445
2008-12-28 01:50:55 +00:00
Arvid Norberg
b81ae19e86
fix uninitialized variable read (next_announce)
2008-12-27 07:22:57 +00:00
Arvid Norberg
3d2726c523
dht stats now truncates the log from previous run
2008-12-27 03:34:05 +00:00
Arvid Norberg
28cb451eac
expire read cache as well (same time out as write cache)
2008-12-27 02:38:14 +00:00
Arvid Norberg
927f9623cb
session stats improvements
2008-12-27 02:22:20 +00:00
Arvid Norberg
952ed687cd
made session stats config build
2008-12-26 07:00:21 +00:00
Arvid Norberg
c8988d79b9
fixed typo in earlier check-in and wrapped try-catch block in BOOST_NO_EXCEPTIONS
2008-12-25 23:51:16 +00:00
Arvid Norberg
5a201af5f5
don't send performance warnings for rate limits unless it's enabled. stats logging improvements
2008-12-25 22:26:02 +00:00
Arvid Norberg
9379e4414c
removed limit of active torrents to the unchoked slots. Fixes #450 . Also removed some dead code and fixed typos in comments
2008-12-25 22:19:14 +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
3b5706c5db
fixed index of dht stats log and added/fixed dht log parsing and graphin tools
2008-12-23 18:38:48 +00:00
Arvid Norberg
f43bc34ab9
another GeoIP fix
2008-12-22 09:53:30 +00:00
Arvid Norberg
578c2eb80c
more C fixes for GeoIP.c
2008-12-22 09:07:12 +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
16bfde875d
tests don't need the default session features turned on
2008-12-20 23:06:06 +00:00
Arvid Norberg
4bd0d2d2e6
added resolver cancellation to http_connection and udp_socket. might prevent potential shutdown stalls
2008-12-20 18:27:09 +00:00
Arvid Norberg
41b2be779e
fixed natpmp (broken in [3023])
2008-12-19 19:27:58 +00:00
Arvid Norberg
2c03c44a59
fix assert.cpp mac build to take sdk version into account
2008-12-19 09:17:55 +00:00
Arvid Norberg
d850a9ea38
utp socket fix
2008-12-19 06:20:09 +00:00
Arvid Norberg
eadd91849a
simplified assert.cpp, included stack-traces on Mac (assumes 10.5). Makes it easier to debug asio hangs since the backtraces can be used externally
2008-12-19 06:12:55 +00:00
Arvid Norberg
e4ed68918b
fixed bug when torrent file have announce-list but no valid trackers. #444
2008-12-16 01:26:35 +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
b47f965c85
added torrent_handle::read_piece(). #441
2008-12-14 19:47:02 +00:00
Arvid Norberg
0638251289
added queued bytes to bandwidth manager and session_stats
2008-12-13 05:12:12 +00:00
Arvid Norberg
eb1de9d9eb
fixed potential problem in storage where it sometimes checks files without first initializing
2008-12-13 03:32:57 +00:00
Arvid Norberg
9c5c0418ba
fixed tracker prioritization bug
2008-12-12 10:00:20 +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
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
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
a54c3fc0e7
added space after Host: http header
2008-12-04 21:44:21 +00:00
Arvid Norberg
aeee715dd6
slight upnp optimization
2008-12-04 06:24:57 +00:00
Arvid Norberg
2d4bdbca7d
fixed disk_io_thread over-allocation
2008-12-03 06:42:53 +00:00
Arvid Norberg
4cc15f34ad
fixed nat-pmp bug
2008-12-02 08:20:29 +00:00
Arvid Norberg
eacab8680e
fixed illegal type conversion
2008-12-01 20:37:06 +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
a00ddba109
fixed bug that would grossly underestimate the TCP/IP overhead
2008-12-01 07:23:58 +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
6519660372
add port number of host field in http requests
2008-11-29 23:00:57 +00:00
Arvid Norberg
1022ba45fc
fixed bug in disk IO thread which would make it sometimes0 exit the thread if an error occurred
2008-11-29 21:38:34 +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
1b686a1364
m_currently_trying_tracker cleanup
2008-11-27 20:48:29 +00:00
Arvid Norberg
5ed3daa49a
PEX optimization
2008-11-26 08:27:57 +00:00
Arvid Norberg
3fd5405fa9
torrent_handle::add_tracker()
2008-11-26 01:42:14 +00:00
Arvid Norberg
294e62a4c3
current_tracker now also indicates which tracker is being tried. fixes #404
2008-11-26 01:31:54 +00:00
Arvid Norberg
93a0103746
ut_metadata fix to not send metadata for private torrents
2008-11-25 19:25:49 +00:00
Arvid Norberg
2cd1838f38
exception fix in udp_socket
2008-11-24 19:19:27 +00:00
Arvid Norberg
73907913d7
force recheck assert fix
2008-11-24 19:18:53 +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
3c90672b2f
fixed upnp parsing problem #427
2008-11-21 18:23:44 +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
ce24a17308
minor checking torrent fix
2008-11-18 11:03:19 +00:00
Arvid Norberg
57c22bb214
complete support for pausing checking torrents
2008-11-18 11:01:30 +00:00
Arvid Norberg
70119a6b53
consider 0-sized piece messages to be reject messages
2008-11-17 19:29:14 +00:00
Arvid Norberg
51393dabdf
fixed typo
2008-11-17 19:19:45 +00:00
Arvid Norberg
370ee02ef6
fixed incorrect assert when receiving a 0-size piece message
2008-11-17 19:12:34 +00:00
Arvid Norberg
4fed0cd542
comment about file name truncation
2008-11-17 18:31:42 +00:00
Arvid Norberg
30c0525ed5
truncates filenames that are too long ( #412 )
2008-11-17 08:01:35 +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
de93105d51
pad file fix
2008-11-16 23:33:59 +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
7e4d5dc72f
avoid exception from boost.filesystem
2008-11-14 23:23:02 +00:00
Arvid Norberg
40946162b3
avoid exceptions from boost.filesystem
2008-11-14 21:35:21 +00:00
Arvid Norberg
c3bbf138a4
estimate TCP/IP overhead more accurately
2008-11-14 20:51:49 +00:00
Arvid Norberg
10fcab392a
fix utf8 build
2008-11-14 05:22:04 +00:00
Arvid Norberg
03398e94b0
replaced utf8 conversion with code from unicode.org
2008-11-13 06:39:08 +00:00
Arvid Norberg
4578f3426c
assert fix
2008-11-12 22:24:55 +00:00
Arvid Norberg
1b10a3b15f
DHT instrumentation changes
2008-11-12 03:56:56 +00:00
Arvid Norberg
4eb0df96c2
DHT fix. broke in recent update
2008-11-12 03:33:58 +00:00
Arvid Norberg
43a2db0b20
fix for recent move of torrent::start into the libtorrent thread
2008-11-12 03:30:19 +00:00
Arvid Norberg
a5ba060240
when calculating desired queue size, block size should not depend on whether or not they are merged in the requests
2008-11-12 00:54:44 +00:00
Arvid Norberg
a7af4d806b
verbose logging improvement
2008-11-11 23:45:43 +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
03593c8b92
typecasting syntax fixes. No longer prints empty buckets in routing table dump
2008-11-11 10:03:43 +00:00
Arvid Norberg
49a3ac9710
disk_io_thread shutdown fix
2008-11-11 09:32:51 +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
dd26371c0a
indentation fix
2008-11-10 04:17:16 +00:00
Arvid Norberg
ce8c835ab8
fixed missing member initialization
2008-11-10 04:16:18 +00:00
Arvid Norberg
7306b60682
lazy_decode memory allocation tuning
2008-11-10 04:15:29 +00:00
Arvid Norberg
45de012553
fixed non verbose DHT build
2008-11-10 03:08:29 +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
15a8cbcce7
dht fix
2008-11-09 09:02:06 +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
71fb640699
fix to count download stats when a peer has disconnected or sends an invalid message id
2008-11-06 09:01:27 +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
19c66a1826
exception fixes
2008-11-05 05:39:18 +00:00
Arvid Norberg
19660306e0
more exception defines
2008-11-03 04:23:16 +00:00
Arvid Norberg
bb02c7f985
fixed bug in upnp xml service parser introduced in last update
2008-11-02 21:11:00 +00:00
Arvid Norberg
f2c9e02994
fixed deadlock in dht code
2008-11-02 10:01:04 +00:00
Arvid Norberg
e0bea061b5
disabled an expensive assert when TORRENT_EXPENSIVE_INVARIANT_CHECKS is not defined
2008-11-01 19:44:39 +00:00
Arvid Norberg
17c250349e
fix for when update_peer_port() disconnects
2008-11-01 19:34:12 +00:00
Arvid Norberg
593af53aba
fix for connection_queue::close() to maintain the correct m_num_connecting counter
2008-11-01 18:01:00 +00:00
Arvid Norberg
44e9ff70de
disconnect_if_redundant fix
2008-11-01 10:14:11 +00:00
Arvid Norberg
da9a5c4262
connection_queue::close() fix
2008-11-01 09:02:13 +00:00
Arvid Norberg
d721e99026
fix windows build with verbose logging
2008-11-01 05:35:41 +00:00
Arvid Norberg
d359e84b34
fix connection_queue::close
2008-11-01 01:38:14 +00:00
Arvid Norberg
8c0165b5c4
removed incorrect assert
2008-10-31 23:14:36 +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
afb6b55b8f
fixed typo in safe_convert call
2008-10-30 17:04:59 +00:00
Arvid Norberg
d6a8c28d9c
storage cleanup and truncating files that are larger than they should be
2008-10-30 06:09:23 +00:00
Arvid Norberg
829a5a9e25
removed debug output to stderr
2008-10-30 02:33:58 +00:00
Arvid Norberg
972450e766
support for UPnP routers that don't provide a urlbase
2008-10-29 01:17:19 +00:00
Arvid Norberg
669da96ae2
typo
2008-10-28 21:53:58 +00:00
Arvid Norberg
0b47f69afd
upnp fix with unit test
2008-10-28 09:49:26 +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
efcaee9c2d
fix for when DHT is started before a listen port has been configured
2008-10-27 03:45:08 +00:00
Arvid Norberg
65c4b7ec13
fix for when removing a torrent when it is in the checking state
2008-10-26 09:23:00 +00:00
Arvid Norberg
8f7a3ddfe0
fix bug for when a torrent queued for checking was removed
2008-10-26 04:10:27 +00:00
Arvid Norberg
3f6a4f846e
fixes to default features in session constructor
2008-10-24 08:11:17 +00:00
Arvid Norberg
971f437b41
added num_pieces to peer_info. Fixes #385
2008-10-24 00:15:39 +00:00
Arvid Norberg
f7b22e3517
return if disconnected by extension
2008-10-23 16:31:15 +00:00
Arvid Norberg
392dbb71da
more fixes to avoid unwanted exceptions
2008-10-23 04:10:23 +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
a6ba48a60a
removed exception usage in dht implementation and peer_connection
2008-10-21 17:10:11 +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
cfe029d58f
updated seed rank to lower priority for finished, but not seeding torrents
2008-10-19 08:05:36 +00:00
Arvid Norberg
535f668c5d
simplified the file interface
2008-10-19 05:03:17 +00:00
Arvid Norberg
54eb378a1e
simplified is_active() function
2008-10-19 04:31:33 +00:00
Arvid Norberg
f04e9e9875
made unchoke interval depend on piece size
2008-10-18 22:35:10 +00:00
Arvid Norberg
d0fc5fee2b
fixed assert in piece_picker
2008-10-18 22:29:56 +00:00
Arvid Norberg
8b835bf75f
fix to faster unchoke a new peer if an unchoked peer becomes uninterested
2008-10-18 22:12:05 +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
68981fc3fd
removed unused references to iostream and date-time lib in Makefile.am
2008-10-18 07:11:00 +00:00
Arvid Norberg
8995edead0
policy iterator fix
2008-10-17 07:32:46 +00:00
Arvid Norberg
f5f03ff681
improved seeding of files with small pieces to avoid swithing back and forth between unchoke sets
2008-10-17 04:33:22 +00:00
Arvid Norberg
c04183d960
cleaned up save_resume_data
2008-10-17 01:56:36 +00:00
Arvid Norberg
0368e444af
fix to torrent_info constructor to not try to access 0 pointer when loading a 0 size torrent file
2008-10-17 01:46:06 +00:00
Arvid Norberg
032f6e4d55
removed expensive invariant check
2008-10-16 07:11:57 +00:00
Arvid Norberg
c0df461296
relaxed file timestamp requirements to work better with FAT volumes
2008-10-15 20:19:03 +00:00
Arvid Norberg
16d56eaee6
clears torrent stats when paused
2008-10-15 17:31:20 +00:00
Arvid Norberg
2d1b72628e
fix for unchoke_compare
2008-10-15 04:52:07 +00:00
Arvid Norberg
ad4d80cc6b
removed commented out code
2008-10-15 02:21:41 +00:00
Arvid Norberg
9152bc8712
fix to peer_connection::unchoke_compare
2008-10-15 02:18:59 +00:00
Arvid Norberg
c7b1977431
uses http 1.0 for soap traffic to dodge chunked transfer encodings
2008-10-14 08:07:27 +00:00
Arvid Norberg
cac6132aae
don't resume a torrent if there aren't enough upload slots
2008-10-14 07:41:05 +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
f0f285ae63
fixed bug where broadcast socket would not send messages on interfaces with addresses in local network ranges
2008-10-14 04:56:42 +00:00
Arvid Norberg
f0cd0c152c
removed incorrect assert from recent check-in
2008-10-14 03:01:19 +00:00
Arvid Norberg
b8f58f149e
made UPnP not give up as soon. To give routers some time to send a NOTIFY message
2008-10-14 02:41:22 +00:00
Arvid Norberg
fdadccf7a2
asserts for unchoke slot handling
2008-10-14 02:03:54 +00:00
Arvid Norberg
cb1fce0d62
fix to immediately unchoke another peer if an unchoked peer is disconnected
2008-10-14 01:00:05 +00:00
Arvid Norberg
c709cd28a8
fixes seeding behavior to avoid flipping unchoke slots back and forth too often
2008-10-14 00:57:58 +00:00
Arvid Norberg
5710cdebf4
make auto-unchoke less likely to open up slots when maxed out
2008-10-14 00:56:44 +00:00
Arvid Norberg
ef48097421
fix for #389
2008-10-12 20:36:22 +00:00
Arvid Norberg
62e365225b
made some moer invariant checks count as expensive
2008-10-10 07:08:46 +00:00
Arvid Norberg
b417a03877
removed unnecessary invariant check
2008-10-10 05:38:19 +00:00
Arvid Norberg
8499fd2fe2
moved some invariant checks into 'full-invariant-checks' builds
2008-10-10 05:25:55 +00:00
Arvid Norberg
e109b64b27
fixed bug when contacting an HTTP/1.0 web server that used gzip compression
2008-10-10 04:19:56 +00:00
Arvid Norberg
13554cbd3b
transfer stats assert fix
2008-10-09 03:33:53 +00:00
Arvid Norberg
68a89507bc
mutex fix for dht status reporting
2008-10-09 03:33:14 +00:00
Arvid Norberg
8e206c7d0d
attempt to fix bug in storage on windows where ENOENT was not properly caught
2008-10-07 09:24:30 +00:00
Arvid Norberg
3fbdded9f3
typo
2008-10-07 07:12:32 +00:00
Arvid Norberg
75aac14855
fixed typo
2008-10-07 06:42:25 +00:00
Arvid Norberg
3d3a8cca6b
fixed std::max usage in storage (fixes msvc build)
2008-10-07 05:53:38 +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
468ec140ac
fixed invalid invariant check
2008-10-07 03:57:18 +00:00
Arvid Norberg
d06fea3d6c
fix to handle 0-size piece response without asserting
2008-10-06 03:23:47 +00:00
Arvid Norberg
ccd75006d4
fixed failing invariant check caused by a life-time issue in debug mode
2008-10-05 23:36:50 +00:00
Arvid Norberg
f6a1e467a8
marked expensive invariant check to only be included in full checks in piece-picker
2008-10-05 23:28:57 +00:00
Arvid Norberg
7733f74d7a
fixed invariant check in peer_connection
2008-10-05 22:09:33 +00:00
Arvid Norberg
5f6351146a
removed assert that could cause dead-lock in debug mode
2008-10-05 19:47:55 +00:00
Arvid Norberg
3144767632
fixed buffer overrun when calling get_download_queue
2008-10-05 07:23:46 +00:00
Arvid Norberg
7f0bfa37b9
fix for loading 0-size torrent files. Fixes #383
2008-10-05 04:52:01 +00:00
Arvid Norberg
d4c5d5835a
another state fix where mutliple torrent_finished_alerts could be generated
2008-10-05 04:44:29 +00:00
Arvid Norberg
8f665e949f
fixed rare bug where a torrent could be put back into downloading state when finishing checking files if it already finished by then
2008-10-05 01:44:57 +00:00
Arvid Norberg
528a009f7f
removed date-time and iostream from makefiles
2008-10-04 07:46:56 +00:00
Arvid Norberg
7157516eba
fixed boost-compatibility
2008-10-04 06:56:51 +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
dd40d24708
more stats assert fixes
2008-10-01 15:19:31 +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
ba28449765
rename_file now creates missing directories before renaming
2008-09-30 23:55:45 +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
dc3c5d0bd7
more fixes to not trigger the stat asserts
2008-09-30 18:52:53 +00:00
Arvid Norberg
0f6ec06e12
fixed race condition in invariant check in disk io thread (only affected debug builds)
2008-09-30 01:16:19 +00:00
Arvid Norberg
195521db65
prevent new connections when shutting down
2008-09-30 01:14:27 +00:00
Arvid Norberg
d2bbe2cc4a
fixed bug in error alert from http_tracker_connection
2008-09-28 07:26:05 +00:00
Arvid Norberg
317d97b316
config fix for unicode builds on windows
2008-09-27 19:49:31 +00:00
Arvid Norberg
8989699e1e
fixed invariant check when pausing a torrent
2008-09-27 04:58:40 +00:00
Arvid Norberg
dabaff9980
fixed bug in recent udp_socket fix
2008-09-26 17:42:39 +00:00
Arvid Norberg
47c476dc0a
include TCP handshake overhead
2008-09-26 06:10:21 +00:00
Arvid Norberg
d4e0ea6c1e
added assert to make sure #365 doesn't happen
2008-09-25 22:08:18 +00:00
Andrew Resch
4189e0b697
add peer_info::progress
2008-09-25 20:39:06 +00:00
Arvid Norberg
a3751cfcbe
fixed bug in peer_connection::incoming_piece() in case blocks were skipped. Fixed warnings.
2008-09-25 20:12:53 +00:00
Arvid Norberg
00415608f6
added assert in policy
2008-09-25 18:35:28 +00:00
Arvid Norberg
bb674134e3
fixed bind_port for outgoing peer connections
2008-09-25 07:40:55 +00:00
Arvid Norberg
92bac424eb
fixed typecast typo in file.cpp
2008-09-25 00:16:41 +00:00
Arvid Norberg
61af2370f3
fixed release build of udp_socket
2008-09-24 17:25:45 +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
0ae891118b
fixed stats reporting in bt_peer_connection
2008-09-24 02:38:20 +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
df5e261ce8
fixed resume data loading for paused state
2008-09-24 02:29:24 +00:00
Arvid Norberg
2e0d0046d2
made torrent::replace_trackers() start or stop announcing depending on if trackers were added or cleared
2008-09-24 02:22:12 +00:00
Arvid Norberg
bd44d730cc
fixed bug in nat-pmp where it could access an out-of-bound vector element on shutdown
2008-09-24 02:20:13 +00:00
Arvid Norberg
a36da15c29
saves sequential download in fastresume data
2008-09-23 03:52:49 +00:00
Arvid Norberg
c0c65d8ee6
fixed bug in read_fast_resume regarding auto_managed flag
2008-09-23 03:21:35 +00:00
Arvid Norberg
eaa071818e
fixed typo in previous patch
2008-09-23 03:19:08 +00:00
Arvid Norberg
74593d6014
fixed deadlock in udp_socket
2008-09-23 03:09:08 +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
67bed1407f
fixed bug in broadcast socket (made local service discovery not work)
2008-09-22 17:43:57 +00:00
Arvid Norberg
791a1f4365
saves trackers and web seeds in fastresume data. Fixes #369
2008-09-22 17:39:18 +00:00
Arvid Norberg
8189262182
cosmetic improvement when printing bdecoded structures
2008-09-22 17:37:12 +00:00
Arvid Norberg
ca4ab436d0
prioritize partials once they reach a certain threshold, to keep them from growing
2008-09-22 00:41:36 +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
de2859d9b0
fixed incorrect assert
2008-09-21 23:23:52 +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
98f9d5826c
fixed busted is_any check for 'ipv6' key in extended handshake
2008-09-20 16:21:16 +00:00
Arvid Norberg
e46f2396cf
fixes bencode type check on tracker responses. Might fix #398
2008-09-20 15:25:46 +00:00
Arvid Norberg
97f107a7fd
fixed bug in verify_fast_resume. Fixes #397
2008-09-20 06:02:40 +00:00
Arvid Norberg
f3d542fb2c
fixed inconsistent upload_only and seed in some cases when running a metadata-less torrent
2008-09-19 23:02:45 +00:00
Arvid Norberg
064d93b935
optimization for files with prioritiy 0
2008-09-19 19:46:04 +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
656ff6d5f2
fixed piece_picker to not pick blocks from a piece with priority 0 when there already are requests to the piece
2008-09-19 17:07:19 +00:00
Arvid Norberg
eb89269b6a
update_interest fix for torrents without metadata
2008-09-19 07:14:24 +00:00
Arvid Norberg
fbec4261cd
fixed assert in piece_picker
2008-09-19 06:46:58 +00:00
Arvid Norberg
e85cb90652
fixed assert in peer_connection
2008-09-19 02:37:05 +00:00
Arvid Norberg
e7df553fdd
fixed race condition when calling a function that re-evaluates the interested flags on peers (such as prioritize files) right after the metadata is received, but before the connections are initialized
2008-09-18 20:17:49 +00:00
Arvid Norberg
f14e76a3f9
fixed typo in previous iterator fix
2008-09-18 17:53:44 +00:00
Arvid Norberg
cd1301b1c9
fix for invalid iterators when changing piece priorities causes peers to disconnect
2008-09-17 23:14:59 +00:00
Arvid Norberg
26dea3c222
fixed stats miscount when deleting files
2008-09-17 02:29:05 +00:00
Arvid Norberg
a533bf817c
properly reports disk io errors when hashing pieces. made the partial_hash.log easier to enable/disable
2008-09-16 23:32:27 +00:00
Arvid Norberg
53c408212d
nicer fix for debug iterators
2008-09-15 16:21:03 +00:00
Arvid Norberg
88a7e445ad
fixed decrement of start-of-sequence iterator in invariant_check code. Fixes debug-iterator assert
2008-09-15 15:07:46 +00:00
Arvid Norberg
658eef82a5
get rid of msvc warning
2008-09-15 13:58:38 +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
c087c363be
removed left over from debugging
2008-09-09 19:47:31 +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
a61c1ee01d
more disconnect handling for upload-only
2008-09-07 10:00:58 +00:00
Arvid Norberg
cc67830faf
support max_upload_slots of 0. #395
2008-09-06 21:16:04 +00:00
Arvid Norberg
435bc9af71
removed invalid assert
2008-09-06 21:09:01 +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
c7c0974d3f
fixed bugs in verbose logging
2008-09-04 14:39:02 +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
0074b10b88
fix optimistic unchoke when there is no metadata
2008-09-02 05:54:05 +00:00
Arvid Norberg
d179280da2
fixed off-by-one error when receiving a piece which skipped a bunch of requests
2008-09-01 17:41:13 +00:00
Arvid Norberg
37147f99c0
fixes bug in kademlia implementation when nodes are unreachable
2008-08-29 23:00:57 +00:00
Arvid Norberg
aedc92cb24
fix to announce with DHT for torrents without metadata
2008-08-29 22:58:47 +00:00
Arvid Norberg
92ed7fb364
fixed metadata extension issues
2008-08-29 17:21:56 +00:00
Arvid Norberg
d4dd2d2a31
added verbose logging to metadata transfer plugin
2008-08-29 13:27:00 +00:00
Arvid Norberg
e670b2fa7f
fixed indentation
2008-08-29 00:44:55 +00:00
Arvid Norberg
9b38724417
made dump torrent create magnet links
2008-08-27 18:44:35 +00:00
Arvid Norberg
9c59d1a308
fixed bug in last check-in
2008-08-27 15:29:42 +00:00
Arvid Norberg
e2ae0a97e2
fix for tracker-less torrents (they didn't announce with the tracker)
2008-08-27 15:15:41 +00:00
Arvid Norberg
238dcea91d
fixed missing 'set_error' when write failed
2008-08-26 23:10:42 +00:00
Arvid Norberg
af62dc1417
fixed crash when calling force_recheck on seeding torrent
2008-08-26 21:35:33 +00:00
Arvid Norberg
e9045cc1df
fixes bug where priorities where lost when force-rechecking.
2008-08-25 22:32:50 +00:00
Arvid Norberg
9625648026
filter loopback and local network IPs as external addresses. Re-open main_session.log when changing port (to create it in the right folder). Use a listen socket queue length of 5 instead of 0. It seemed like 0 meant 0 instead of OS chooses
2008-08-25 21:17:24 +00:00
Arvid Norberg
7cdc7b2912
fixed typo
2008-08-25 21:10:13 +00:00
Arvid Norberg
f407c6d24e
fixed bug in piece time-out code. Fixes #388
2008-08-25 15:25:46 +00:00
Arvid Norberg
ae60562caf
fix isprint() build issue with msvc
2008-08-24 08:41:48 +00:00
Arvid Norberg
a22f6b6359
fixed type cast for std::isprint, to avoid assert
2008-08-21 13:44:30 +00:00
Arvid Norberg
5a922dd3ef
replaced std::isprint with one that is not dependent on locale. Fixes #384
2008-08-21 13:41:27 +00:00
Arvid Norberg
71db0f32db
removed incorrect assert. Fixes #309
2008-08-21 11:54:38 +00:00
Arvid Norberg
635341f1e4
fixed the definition of torrent_handle::is_paused() to be consistent with torrent_status::paused and made it clear in the documentation
2008-08-21 11:24:24 +00:00
Arvid Norberg
e58485822b
optimized encryption
2008-08-20 23:05:12 +00:00
Arvid Norberg
42b5cad1f8
attempt to fix NAT-PMP hang on shutdown
2008-08-20 08:34:32 +00:00
Arvid Norberg
b72badd1b1
added test for checking files when some files are missing
2008-08-20 08:07:31 +00:00
Arvid Norberg
0454fb77d7
fixed bug where is_sequential_download would return false when it should be true
2008-08-19 16:04:01 +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
a134908bac
fixed warnings and uninitialized variable
2008-08-19 14:53:50 +00:00
Arvid Norberg
d94f35a75b
fix build failure with TORRENT_DHT_VERBOSE_LOGGING
2008-08-19 08:39:21 +00:00
Arvid Norberg
893e9f2af6
fix bug in piece picker where set_piece_priority would return false even though the piece filter changed and updated test_transfer to catch it
2008-08-19 07:11:17 +00:00
Arvid Norberg
9266afe5f5
fixed bug where a torrent would not get into the 'finished' state right after file checking. It would either go to downloading or seeding. Also added test_transfer
2008-08-18 20:02:50 +00:00
Arvid Norberg
df9b8753c9
fix to previous check-in
2008-08-16 23:02:03 +00:00
Arvid Norberg
55c79dd452
converting byte order of gateway and destinaton address when enumerating routes on linux
2008-08-16 22:49:46 +00:00
Arvid Norberg
89907cdae8
fix no-metadata case to not send any other messages before the bitfield (which is sent once we have the metadata)
2008-08-16 22:07:15 +00:00
Arvid Norberg
5b28964c22
don't take the ip_interface vector by reference when it's returned by value
2008-08-16 21:26:23 +00:00
Arvid Norberg
9bae670ac7
fix build with boost-1.36
2008-08-16 21:11:27 +00:00
Arvid Norberg
a49906f0cc
added some precautionary checks in bdecoder
2008-08-16 21:10:39 +00:00
Arvid Norberg
68b61e4df6
removed redundant condition
2008-08-12 09:27:42 +00:00
Arvid Norberg
c725d44ced
fixed serious issue with 'disconnect redundant peers' where seeds would be disconnected while downloading
2008-08-12 08:18:05 +00:00
Arvid Norberg
dc60418357
renamed variable in natpmp to avoid warning
2008-08-11 15:28:27 +00:00
Arvid Norberg
7d6a895d1b
makes all tracker requests 'stopped' when aborting
2008-08-11 14:31:58 +00:00
Arvid Norberg
679b1ff675
added LeechCraft to identify client
2008-08-10 20:18:18 +00:00
Arvid Norberg
9cd95fb52c
fix to invariant check
2008-08-10 15:00:56 +00:00
Arvid Norberg
56ae82be2c
made the invariant check more strict
2008-08-10 10:22:36 +00:00
Arvid Norberg
54a5dd4af4
added invariant check for file-checking queue consistency
2008-08-10 09:34:39 +00:00
Arvid Norberg
8488d5eb59
fixed bug in disk_io_thread read cache management
2008-08-07 12:30:36 +00:00
Arvid Norberg
10c0956a2f
removed redundant IP filter check
2008-08-03 23:04:38 +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
6b2338c5dd
fix piece_picker piece-shuffle bug
2008-07-31 09:19:52 +00:00
Arvid Norberg
b5467845d7
fixed assert in file_progress and build issue when built with expensive invariant checks
2008-07-30 08:52:39 +00:00
Arvid Norberg
58978048e8
fixed assert in disk_io_thread
2008-07-30 08:05:04 +00:00
Arvid Norberg
a8562a9f19
small optimization of expensive invariant check
2008-07-30 06:42:08 +00:00
Arvid Norberg
eccba2072c
exclude print_pieces() from build unless PICKER_LOG is enabled
2008-07-30 06:39:37 +00:00
Andrew Resch
d40b8df393
Fix building with gcc 4.3
2008-07-30 05:44:50 +00:00
Arvid Norberg
43dd90bb59
don't set executable permission of files
2008-07-22 13:02:06 +00:00
Arvid Norberg
b32aa520c2
delete_files bug fix
2008-07-20 17:38:59 +00:00
Arvid Norberg
5ad495865e
fixed bug in windows path of file.cpp
2008-07-20 16:34:01 +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
8c91fff1d6
saves torrent settings in resume data (up/down rate limits, max connections, upload slots, paused state, auto managed, piece priorities, renamed files)
2008-07-19 11:12:40 +00:00
Arvid Norberg
d4ee273573
fix print out issue in lazy_entry
2008-07-19 09:45:56 +00:00
Arvid Norberg
7607034ab6
exposed upload_only in peer_info
2008-07-19 07:57:43 +00:00
Arvid Norberg
49e76f510f
stop scraping torrents when session is paused
2008-07-19 07:45:15 +00:00
Arvid Norberg
4597de74df
removed incorrect assert
2008-07-19 07:35:24 +00:00
Arvid Norberg
8f1455919a
disable announce timers when paused
2008-07-18 22:57:49 +00:00
Arvid Norberg
21dff61cb5
clears read cache when paused. Saves memory
2008-07-18 15:31:22 +00:00
Arvid Norberg
d17d7d7b3f
added missing file error_code.cpp
2008-07-18 14:41:08 +00:00
Arvid Norberg
64727894c4
set all permission bits on files and let umask handle reducing permissions
2008-07-18 14:15:18 +00:00
Arvid Norberg
db4001e406
fixed file checking bug where the files on disk wouldn't even be inspected
2008-07-18 13:51:26 +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
Arvid Norberg
84406e2064
excluded mapped_storage from build
2008-07-18 00:21:51 +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
e5c8b7c00a
fixed issue when trying to announce to tracker for tracker-less torrents
2008-07-14 13:09:07 +00:00
Arvid Norberg
72b99059e7
optimized policy::peer
2008-07-14 11:15:35 +00:00
Arvid Norberg
cf9ce06df3
fix logging build
2008-07-13 20:53:21 +00:00
Arvid Norberg
d88acd3d95
file_progress fix
2008-07-13 16:44:14 +00:00
Arvid Norberg
5bf38323c1
removed invariant check that can get triggered in peer_connection::snub_peer
2008-07-13 08:06:24 +00:00
Arvid Norberg
8fd33d65f1
file_progress fix
2008-07-13 07:58:32 +00:00
Arvid Norberg
1ed583011c
made the invariant checks cheaper and more useful. The full invariant checks are still available as an option
2008-07-12 17:51:59 +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
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
2435c5f19b
increased accuracy of file_progress down to bytes (from 16kB blocks)
2008-07-11 14:10:33 +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
535aaf8182
fix to previous parole fix
2008-07-11 09:25:03 +00:00
Arvid Norberg
589e098002
fixed parole mode with timeouts and made it optional
2008-07-11 09:23:22 +00:00
Arvid Norberg
5e48b63ede
removed hard coded file permission bits
2008-07-11 08:53:33 +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
d2c53b50d5
timeout incoming connections
2008-07-10 10:35:11 +00:00
Arvid Norberg
d51bdc0ec0
rare request optimization
2008-07-09 18:01:00 +00:00
Arvid Norberg
22da6b5901
fixed bug where FAST pieces were cancelled when choking
2008-07-09 17:45:37 +00:00
Arvid Norberg
74fd7eea71
fixed alert posting typo
2008-07-09 17:40:03 +00:00
Arvid Norberg
fc3bb01587
ignore zero size piece messages
2008-07-09 17:37:38 +00:00
Arvid Norberg
06f3ad65e8
fix to file_progress improvement
2008-07-09 15:23:42 +00:00
Arvid Norberg
2d099b090f
peer snubbing fix
2008-07-09 11:11:06 +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
63d4e0d4a3
invariant check fix
2008-07-08 21:33:36 +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
8d4bea9f95
fixed invariant check that could be triggered since peer snubbing was introduced
2008-07-08 08:13:45 +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
ecb538b4b2
added alert for torrent state changes. Fixes #360
2008-07-03 10:05:51 +00:00
Arvid Norberg
d2b37572fa
disable endpoint sorting in http_connection for msvc, since it ICEs the compiler. Fixes #361
2008-07-03 10:05:19 +00:00
Arvid Norberg
66a7f98d84
fixed missing torrent error state
2008-07-02 21:27:16 +00:00
Arvid Norberg
722e9e95e3
frees resume data when done with it
2008-07-02 21:23:02 +00:00
Arvid Norberg
ac6dfa9ea3
factored out constants to enums in lazy_bdecode
2008-07-02 21:19:50 +00:00
Arvid Norberg
0ec6753028
fix build
2008-07-01 22:44:17 +00:00
Andrew Resch
94cbac20cd
Do not count downloads as seeds in the queue system.
2008-07-01 21:07:18 +00:00
Arvid Norberg
b354e7e0d9
fixed bug in extension loop
2008-07-01 20:22:25 +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
a71170e601
switched over pex parsing to use lazy_bdecode
2008-07-01 09:02:03 +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
0e1d2ede70
fix invariant-check bug in peer_connection
2008-06-30 07:58:50 +00:00
Arvid Norberg
d396ab7b17
added pause and resume to the session. Fixes #349
2008-06-29 19:08:30 +00:00
Arvid Norberg
8f1abd9dbe
fix bug in previous check-in
2008-06-29 18:03:38 +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
ae9f1e0465
fixed typo
2008-06-29 06:01:20 +00:00
Arvid Norberg
d1b2cd558e
moved peer time out logic to second tick
2008-06-29 05:35:48 +00:00
Arvid Norberg
d132dd45e3
removed exceptions from pe_crypto and improved error handling
2008-06-28 10:10:05 +00:00
Arvid Norberg
ae1af66724
fixed typo. Fixes #355
2008-06-27 09:44:14 +00:00
Arvid Norberg
ce99813b48
fix binary file mode in torrent_info. Fixes #354
2008-06-27 09:41:08 +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
148640f1ac
fix natpmp stall at shutdown
2008-06-24 13:52:14 +00:00
Arvid Norberg
ca0f17ee95
won't save resume data for torrents without a complete state (checking or queued for checking torrents)
2008-06-24 12:48:28 +00:00
Arvid Norberg
84221e05f8
checking torrents fix when aborting session
2008-06-24 12:17:42 +00:00
Arvid Norberg
4d380c57d7
made bdecode not throw
2008-06-23 22:00:27 +00:00
Arvid Norberg
92f13aea68
start torrents sooner after they complete checking
2008-06-23 18:56:55 +00:00
Arvid Norberg
a38d97583e
removed old comment
2008-06-23 18:56:02 +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
9447693202
storage fastresume fix
2008-06-23 18:31:52 +00:00
Arvid Norberg
964e8b93d0
added option to deliberately corrupt data from certain peers, to test the case when hash fails occurs
2008-06-23 15:37:24 +00:00
Arvid Norberg
c210b11b80
better fix for failing pieces
2008-06-23 14:45:01 +00:00
Arvid Norberg
665d508bc3
piece picker fix
2008-06-23 13:02:41 +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
Arvid Norberg
811d0a6250
storage fast resume check fix
2008-06-22 23:41:03 +00:00
cg25
aeb2dd8c71
Fix mistypo in src/piece_picker.cpp from previous commit.
2008-06-22 23:13:27 +00:00
Andrew Resch
402da3c77c
Make active_limit == -1 mean unlimited
2008-06-22 22:49:18 +00:00
Arvid Norberg
f7e1d1c1fd
piece picker fix
2008-06-22 22:00:44 +00:00
Arvid Norberg
e4269ddcce
fix smart ban assert when closing a torrent with a failing piece
2008-06-22 20:30:43 +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
a60b6f9e96
fixed bug in set_queue_position. Fixes #353
2008-06-21 15:51: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
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
18809681be
fix bug in self connect detection
2008-06-18 13:31:41 +00:00
Arvid Norberg
7fe6c474ce
fix auto manage bug related to checking torrents
2008-06-18 13:02:03 +00:00
Arvid Norberg
9c94f54868
fixes for torrents with smaller pieces than 16kB
2008-06-18 12:34:39 +00:00
Arvid Norberg
77c13d73f6
fixed assert in set_queue_position
2008-06-17 16:49:55 +00:00
Andrew Resch
d70ec645d7
Make 'active_seeds' and 'active_downloads' use -1 as unlimited
2008-06-17 15:44:04 +00:00
Arvid Norberg
24b24aff4e
force recheck fixes. Fixes #350
2008-06-17 14:56:22 +00:00
Arvid Norberg
0241bf78ce
added is_sequential_download to torrent_handle
2008-06-17 08:30:04 +00:00
Arvid Norberg
b55670aa14
fixed typo
2008-06-16 22:33:42 +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
9a8fc4f713
self connection fixes
2008-06-16 13:54:14 +00:00
Arvid Norberg
41f241b476
min reconnect time fix
2008-06-16 07:46:40 +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
7df5d4a9c6
changed queuing logic
2008-06-13 05:11:36 +00:00
Arvid Norberg
af477fa266
fixed connect candidate assert
2008-06-13 04:50:02 +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
295e2a548b
piece picker fix of recent change.
2008-06-12 15:40:50 +00:00
Arvid Norberg
6db61166be
recalculate queued torrents sooner when changing queuing settings
2008-06-12 06:58:42 +00:00
Arvid Norberg
d47ec46e76
storage wpath fix (for unicode)
2008-06-12 04:52:37 +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
Andrew Resch
933e3c8b54
Fixes for set_queue_position()
2008-06-11 12:14:10 +00:00
Arvid Norberg
a4dfd63ca3
fixed piece picker bug related to sequential download, added unit test to expose it
2008-06-11 08:30:06 +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
Arvid Norberg
efcd69b009
fixed set_queue_position() for seeding (or finished) torrents
2008-06-08 13:47:35 +00:00
Andrew Resch
3ea075f169
Add torrent_resumed alert
2008-06-08 05:14:40 +00:00