Commit Graph

2136 Commits

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