Commit Graph

2474 Commits

Author SHA1 Message Date
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