Commit Graph

470 Commits

Author SHA1 Message Date
Arvid Norberg 1fd3216e6c fix to previous check-in 2007-04-11 22:50:01 +00:00
Arvid Norberg 87b1cdc341 fix to avoid connecting web seeds when not a seed but finished 2007-04-11 22:27:58 +00:00
Arvid Norberg e503e334d5 fix to previous check-in 2007-04-11 17:44:15 +00:00
Arvid Norberg 109cc3f232 made the announce timer (for dht and lsd) use a weak pointer instead of raw pointer, to avoid problems when torrent is being destructed 2007-04-11 17:22:19 +00:00
Arvid Norberg 250adabcfa removed unused web stats 2007-04-11 16:50:54 +00:00
Arvid Norberg 3ed24da320 added source to peer_info, which is a bitmask of the sources where the peer has been acquired from 2007-04-10 21:23:13 +00:00
Arvid Norberg 4ceb6a02ea added download_limit and upload_limit functions to torrent_handle 2007-04-10 09:25:17 +00:00
Arvid Norberg 0863bc1aa6 removed the dependency on the compiled boost.date_time library 2007-04-10 09:11:32 +00:00
Arvid Norberg d88ffcc0e4 removed some more unecessary boost.date_time dependencies 2007-04-10 07:52:58 +00:00
Arvid Norberg 5be60cc125 upnp made destructor not sync.ing 2007-04-10 05:14:37 +00:00
Arvid Norberg a1e20276a6 fixed typo in previous check-in 2007-04-09 20:38:51 +00:00
Arvid Norberg ceb82bd38b added support for posix timer clock_gettime() 2007-04-09 20:18:54 +00:00
Arvid Norberg baecc64131 fix to previous timer check-in that broke the api 2007-04-07 03:05:59 +00:00
Arvid Norberg 27da18bd0a windows fixes 2007-04-05 01:08:21 +00:00
Arvid Norberg 306d015924 added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient 2007-04-04 22:27:36 +00:00
Arvid Norberg 7fc238407c added missing lsd.cpp and lsd.hpp 2007-04-04 19:11:19 +00:00
Arvid Norberg a4ccee15df removed unused code 2007-04-04 02:10:25 +00:00
Arvid Norberg 5e32484194 first stab at getting local service discovery 2007-04-04 02:06:07 +00:00
Arvid Norberg ed9e80a3d4 added support for rate limiting on http_connection 2007-04-03 20:00:47 +00:00
Arvid Norberg d0381a4cbd added getters for rate limit on peer connections 2007-04-02 21:06:00 +00:00
Arvid Norberg ec2962dd62 extensions are now instantiated for web seeds as well 2007-04-02 20:00:24 +00:00
Arvid Norberg 10b5f538b1 fixed timeout issues on non-bottled long running http connections 2007-04-02 18:51:35 +00:00
Arvid Norberg 2f9611a1a9 UPnP seems to work 2007-04-01 15:39:08 +00:00
Arvid Norberg 3d2a4e00b9 upnp fixes 2007-04-01 01:18:10 +00:00
Arvid Norberg 9e1123eb9e more UPnP work. updated ChangeLog and features documentation 2007-03-31 23:23:30 +00:00
Arvid Norberg b8721ad854 updates to the upnp code 2007-03-30 16:57:55 +00:00
Arvid Norberg 513d388c2c added extension hook when files have been checked 2007-03-28 22:59:35 +00:00
Arvid Norberg f2778d52d1 introduced failcounter for peers, increased timeout for peer info (such as being banned). Peers that fails 4 times are removed from the peer-list 2007-03-28 19:56:53 +00:00
Arvid Norberg f1af5dc637 changes to ut_pex, added support for seed flag in pex messages 2007-03-28 01:06:15 +00:00
Arvid Norberg 72fd437ff0 moved the resume data verification to the storage, since the storage may map the files differently. The creation of resume data should probably also be moved there 2007-03-27 23:49:05 +00:00
Arvid Norberg 29e43d7f62 added http_connection and a simple xml parser, used by a upnp implementation that still isn't finished 2007-03-27 07:04:31 +00:00
Arvid Norberg 99c586b152 accessor to the extension info from the info dictionary in a torrent file. 2007-03-22 23:37:24 +00:00
Arvid Norberg 20e38bc42b peer interest flag is now updated when priority is changed. fixes in piece_picker 2007-03-21 02:09:50 +00:00
Arvid Norberg 776b399a97 added api for piece priorities 2007-03-20 01:59:00 +00:00
Arvid Norberg 7ff5893431 reverted bad check-in where files_checked was removed from piece_picker 2007-03-17 17:28:59 +00:00
Arvid Norberg 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +00:00
Arvid Norberg 4ac08f393a simplified the piece picker by initializing it properly in its constructor. Removed natpmp reporting port map success when removing mappings. fix where incoming connections before the files were completely checked would cause an assert. 2007-03-16 23:28:26 +00:00
Arvid Norberg a6b1583d3f fixes to natpmp to take listen interface into account. added colors to the log in client_test 2007-03-16 21:04:58 +00:00
Arvid Norberg 118e1cf00d added alerts for reporting nat-pmp status 2007-03-16 08:25:08 +00:00
Arvid Norberg de69453826 merged fixes from RC_0_12 branch 2007-03-16 07:59:04 +00:00
Arvid Norberg 029953c5ae made the storage into a customization point. it is now interchangable for a custom implementation 2007-03-16 05:29:23 +00:00
Arvid Norberg 52d6a201be merged error message fix from RC_0_12 branch 2007-03-16 01:24:40 +00:00
Arvid Norberg ecaa3068d5 added natpmp support. bumped version number to 0.13. added piece priority support to the piece picker. optmized and simplified the piece picker in the process. 2007-03-15 22:03:56 +00:00
Arvid Norberg 2dbfa156d3 client test now always uses dht. fixed problem with the dht logging and updated dht extension docs. 2007-03-08 21:42:37 +00:00
Arvid Norberg 6f0a0beadb fix to allow hostnames for peers in tracker responses 2007-03-07 18:50:38 +00:00
Arvid Norberg 7e3a415d0b made the trackers pick the most suitable interface to connect to (IPv6/Ipv4 issue). added Mono Torrent to identify_client and dht statistics. 2007-03-02 18:40:02 +00:00
Arvid Norberg 83c2039ff7 fix to previous dht fix. removed some deprication warnings on msvc-8. various fixes 2007-03-02 01:16:59 +00:00
Arvid Norberg 7888b72e12 fix for crashes when stopping or restarting DHT 2007-02-25 09:42:43 +00:00
Arvid Norberg b0ae8d3a14 tracker fixes for trackerless torrents 2007-02-21 17:15:47 +00:00
Arvid Norberg 4f86042b97 bandwidth management fix + improved string conversion fallback in case strings are incorrect in torrent 2007-02-19 23:06:20 +00:00
Arvid Norberg 9c0e9701d9 fix for bug in bandwidth throttler when limiting a torrent to lower than bandwidth block size. Fixed #ifndef related to DHT support 2007-02-19 00:01:39 +00:00
Arvid Norberg 16457e2280 fixed missing #ifdef 2007-02-18 18:28:07 +00:00
Arvid Norberg 320de0d8e6 fixed warning on msvc-8 2007-02-17 01:01:34 +00:00
Arvid Norberg f795be7acf made the dht be a fallback by default, fixed glitch in earlier fix to make sure block requests are sent properly, fixed problem in peer_connection::second_tick if the piece picker was removed because of the torrent becoming a seed 2007-02-12 09:20:49 +00:00
Arvid Norberg 98b92e3f02 fixed problems in the network layer that made web seeds fail some times. prepared for proxy support in peer connections. worked on the http seeding. added support for web seeds in make_torrent tool 2007-02-12 05:46:29 +00:00
Arvid Norberg d0ebdb2dee added prioritization in the bandwidth_manager (throttler), web seeds now have lower priority when being handed bandwidth. torrent_reply_alert now includes the number of peers returned from the tracker. updated Changelog 2007-02-01 07:33:04 +00:00
Arvid Norberg f14c84b01e fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country). 2007-01-29 07:39:33 +00:00
Arvid Norberg 69ef67d71e made a common base class for torrent alerts. Made the bandwidth quota block size variable depending on the limit 2007-01-16 05:05:52 +00:00
Arvid Norberg 72e3f97607 added missing header 2007-01-10 17:16:55 +00:00
Arvid Norberg 87f7b186b0 replaced the bandwidth throttling code with a leaky bucket for better accuracy 2007-01-10 15:02:25 +00:00
Daniel Wallin 39b977973f Added accessor functions for upload_rate_limit and download_rate_limit 2007-01-01 23:51:24 +00:00
Arvid Norberg 0f3874028b added btgdaemon to identify client and applied wojci's patch to add num_connections() and num_uploads() to session 2007-01-01 21:04:30 +00:00
Arvid Norberg d58c6d2e31 fixed so that both session constructors initializes boost.filesystem. Fixed the case where the file check throws exceptions, the torrent is no longer removed, but paused 2006-12-30 23:02:21 +00:00
Arvid Norberg 1b46fb9e1b fixed an assert in teh web seed downloader 2006-12-21 02:44:00 +00:00
Arvid Norberg 3a7eeb3966 rewrote most of the web seed downloader to report its progress accurately (to prevent inconsistencies in the core). Not well tested with multi file torrents yet 2006-12-18 01:23:30 +00:00
Arvid Norberg 13facbdb83 added a strand for all async operations for thread safety 2006-12-15 17:47:21 +00:00
Arvid Norberg fcf211378a fixed http_tracker_connection to finally use the http-parser class (which also web_seed_connection uses). also fixed a case sensitivity issue with http header names. 2006-12-12 02:28:53 +00:00
Arvid Norberg ef235faede added MLDonkey to identify client, fixed a problem introduced with the recent piece_picker optimization, choked peers should now waste less bandwidth in the quota management. 2006-12-04 20:42:47 +00:00
Arvid Norberg 90feac8126 deallocates the piece picker when seeding, to free up unused memory 2006-12-04 12:20:34 +00:00
Arvid Norberg 947df91b20 improved support for multiple connections per ip 2006-11-30 11:56:19 +00:00
Arvid Norberg ce9eed5ea1 fixed incorrectly named members of session_status, fixed compilation error in ut_pex, documentation updates 2006-11-28 18:18:37 +00:00
Arvid Norberg b63c155c0d added uTorrent Peer exchange support, implemented by MassaRoddel 2006-11-26 17:44:51 +00:00
Arvid Norberg 93b51d7652 more tweaks on quota management 2006-11-24 16:59:47 +00:00
Arvid Norberg 955a947863 added missing newline at the end of file 2006-11-24 14:27:14 +00:00
Arvid Norberg c5cf290f49 more quota management fixes and more stats for web seeds 2006-11-24 14:22:52 +00:00
Arvid Norberg 1015864eeb fixed division by zero problem in allocate_resources, removed incorrect asserts 2006-11-22 12:15:47 +00:00
Arvid Norberg 8e289bb233 improved logging and fixed glitch in quota management. 2006-11-21 15:51:28 +00:00
Arvid Norberg 68e8ea35ea added logging of upload and download statistics, revised some of the quota management, added support for sessions to allocate_resources (patch by wojci) 2006-11-20 21:03:58 +00:00
Arvid Norberg c52de08421 added more logging and modified the resource allocation algorithm. A new, looser, upload and download bandwidth limiter is now used, in order to be able to use more of the available bandwidth 2006-11-19 15:29:58 +00:00
Arvid Norberg 9c8f5327b5 fixed incorrect assert 2006-11-19 15:23:41 +00:00
Arvid Norberg 01f1d01d58 improved logging, fixed option to allow multiple connections from the same IP 2006-11-15 21:39:58 +00:00
Arvid Norberg 51e3261dd0 the file pool has been moved to the session and its size can be controlled via session_settings. Added untested option to allow multiple connections from the same IP. 2006-11-14 15:53:38 +00:00
Arvid Norberg 247b8ae443 removed temporary assert and factored file_pool out of storage to prepare for a per session file pool 2006-11-14 13:36:10 +00:00
Arvid Norberg e35fc5c4be refactored extensions and added a plugin interface. fixed file.cpp for windows 2006-11-14 00:08:16 +00:00
Arvid Norberg ed15b5989e fixed warning on msvc8 2006-10-19 22:23:40 +00:00
Arvid Norberg 4d94c7574c added default constructor to session_proxy 2006-10-15 13:46:52 +00:00
Arvid Norberg 892268aef4 updated changelog and added 0.11 release point 2006-10-14 08:15:57 +00:00
Arvid Norberg c84e96898b added workaround for incorrectly encoded paths in torrent files 2006-10-12 23:51:10 +00:00
Arvid Norberg 37541d4676 fixed incorrect include of standard header with .hpp-sufix 2006-10-12 20:42:58 +00:00
Arvid Norberg 40741a1626 added missing include of set.hpp 2006-10-12 19:24:38 +00:00
Arvid Norberg f0519e86e8 separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async. 2006-10-11 14:02:21 +00:00
Arvid Norberg 8e0d7a3bc8 added msvc workarounds 2006-10-04 15:18:51 +00:00
Arvid Norberg 6856989cb8 added a test for allocate resources 2006-10-04 02:27:32 +00:00
Arvid Norberg c687c428c4 removed incorrect asserts. added ip to the extension header. removed the mandatory libtorrent suffix on the user agent 2006-09-28 00:49:40 +00:00
Arvid Norberg 910733f29e added proper support for dht router nodes (which are automatically used to bootstrap from, and won't get added to the routing table) 2006-09-27 17:20:18 +00:00
Arvid Norberg 362f700906 fixed integer overflow bug occuring when building with gcc 4.1.x. updated the projects page, removed dead code from allocate_resources. 2006-09-25 22:37:48 +00:00
Arvid Norberg 6ff86a8973 added work-arounds for msvc 2006-09-24 12:56:30 +00:00
Arvid Norberg 80dc56d388 fixed crashing bug when removing torrents while checking 2006-09-24 11:22:25 +00:00
Arvid Norberg 1bde539d67 made the values sent to the tracker only include complete and hash checked data, to make them increase and decrease monotonically 2006-09-24 00:48:31 +00:00
Arvid Norberg fe0d570f05 completed IPv6 support in ip_filter and updated test_ip_filter and documentation. Documented recently added extensions to DHT. 2006-09-23 21:24:28 +00:00