Commit Graph

700 Commits

Author SHA1 Message Date
Arvid Norberg d10f06059d fix related to the recent piece_picker optimization 2006-12-05 23:53:56 +00:00
Arvid Norberg e49934f236 fixed typo 2006-12-04 20:46:38 +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 4f68ca55dc fixed incorrect change in earlier check-in 2006-11-30 20:40:41 +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 f56cd20a1e only sends the local listen port in the extension message for outgoing connections 2006-11-26 17:44:15 +00:00
Arvid Norberg 93b51d7652 more tweaks on quota management 2006-11-24 16:59:47 +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 0abb46e794 fixed extension bug, where 0-pointers would be added the the extension list 2006-11-23 16:21:45 +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 d90f833eed fixed problem in quota management for upload and download bandwidth 2006-11-21 00:42:52 +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 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 7bff835cdd fixed problem when sending messages to oneself fails in the dht 2006-10-27 01:56:01 +00:00
Arvid Norberg 340d8a1cbc removed incorrect assert hit when rebinding the dht service port 2006-10-24 11:52:30 +00:00
Arvid Norberg 1805beaaec added Deluge client id 2006-10-18 04:04:34 +00:00
Arvid Norberg ec53633975 added mutex locks around critical sections 2006-10-13 00:01:18 +00:00
Arvid Norberg c84e96898b added workaround for incorrectly encoded paths in torrent files 2006-10-12 23:51:10 +00:00
Arvid Norberg 7e9da2a261 fixed indentation 2006-10-11 22:07:07 +00:00
Arvid Norberg c8fbd5db21 split session and session_impl into separate compilation units 2006-10-11 20:57:54 +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 8346841d35 fixed bug in file_progress with file sizes of 0 bytes 2006-10-08 20:36:05 +00:00
Arvid Norberg 6856989cb8 added a test for allocate resources 2006-10-04 02:27:32 +00:00
Arvid Norberg db426ae80d fixed race condition in udp_tracker_connection 2006-10-02 22:19:21 +00:00
Arvid Norberg 599cfe3820 moved a stderr log to the verbose log 2006-10-02 10:06:31 +00:00
Arvid Norberg f029f5d6b2 fixed sequenced download bug 2006-10-02 08:58:28 +00:00
Arvid Norberg 861220b233 fixed prioritization on connections, incomming connections are now prioritized over outgoing pending connections. 2006-09-28 13:27:34 +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 411bc4895c incoming connections are now prioritized over outgoing connections with the same ip 2006-09-27 17:17:41 +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 5aa875c2af fixed some warnings 2006-09-24 11:32:08 +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 5e254ffea6 fixede bug appearing when loading a torrent containing a piece length of 0 2006-09-23 21:43:26 +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
Arvid Norberg a42189af62 removed out dated comments 2006-09-23 21:23:24 +00:00
Arvid Norberg 4d6d8b893d added uLeacher and qBittorrent 2006-09-23 21:21:52 +00:00
Arvid Norberg 004d3771cb added first version of an IPv6 extension and docs 2006-09-21 18:22:26 +00:00
Arvid Norberg 4edfaa0493 fixed private=0 torrent parsing 2006-09-12 00:48:01 +00:00
Arvid Norberg f92b6cd90c fixed test_ip_filter and test_piece_picker to reflect recent api changes. Fixed an Obj.C naming issue. Removed files from include/Makefile.am that was removed from asio. 2006-09-11 23:34:07 +00:00
Arvid Norberg dc2e25141c changed sequencial download threshold api, it is now per torrent 2006-09-04 23:22:21 +00:00
Arvid Norberg 191fd76b42 made sequenced_download_threshold a per torrent setting. Updated the project page layout. Removed incorrect invariant checks in piece picker. 2006-09-04 17:17:45 +00:00
Arvid Norberg 7bc1214749 fixed strange User-Agent encoding in HTTP requests. Fixed bug in sequenced_download_threshold code 2006-09-03 22:59:54 +00:00
Arvid Norberg 5ae55c5738 fixed bug appearing when changing the sequenced download threshold on a torrent which already had some pieced downloaded. 2006-09-01 09:36:43 +00:00
Arvid Norberg bdf1bbc8f4 changed the file format for storing the DHT routing table to support IPv6. Changed the address used to be IPv4-IPv6 independent (ip_filter still onlt works with IPv4). Added default boost-build features to the building documentation. Completed the jamfile's support for building without DHT support. Updated documentation with these changes. 2006-09-01 03:06:00 +00:00
Arvid Norberg b1411fcdf7 the DHT can now change listen port runtime, and the same listen interface will be used for the DHT as is used for the torrent listen port. The DHT buckets are refreshed slightly more evenly distributed over time. 2006-08-30 00:09:58 +00:00
Arvid Norberg d0a38c50c6 fixed crash bug occuring when removing a torrent while it announces on the DHT. Fixed the mainloop not to quit when an uncought exception is thrown. 2006-08-29 01:15:24 +00:00
Arvid Norberg 0f28b3ac5b removed -L./ from makefiles and made the tests not to be installed 2006-08-28 20:44:06 +00:00
Arvid Norberg 056558576e fixed overflow bug in file_progress() and bug in the parsing of dht nodes from torrent files 2006-08-27 18:38:30 +00:00
Arvid Norberg 8227b160ea fixed missing header include. added todo comment at a reported bug 2006-08-10 23:36:58 +00:00
Arvid Norberg 87eb377b17 fixed incorrect asserts in storage (that were triggered by torrent with zero-size files). Fixed bug in resource distribution algorithm. Made an attempt to avoid an assert in msvc standard library caused by passing a non-printable character to isdigit(). 2006-08-10 19:18:11 +00:00
Arvid Norberg 4f2d147e07 the dht node will now add nodes who sends announce_peer with correct write token. Fixed bug in session where nodes from a .torrent were added to the node even though if it wasn't running. 2006-08-06 18:42:04 +00:00
Arvid Norberg 2daaa9f8d2 fixed bug in allocate_resources, made the refresh timers more accurate and tries to even out the load bu not refreshing more than one bucket at a time 2006-08-06 16:36:00 +00:00
Arvid Norberg d17082aa1a added electric sheep as an identified client 2006-08-02 00:06:44 +00:00
Arvid Norberg 2d83cdfa59 fixed runtime-check that msvc adds if that option is checked. Fixed problem that occured if the max_transactions limit was reached. 2006-08-01 22:23:05 +00:00
Arvid Norberg e340485974 fixed possible problem with errors occuring and reported to dht_tracker::on_receive. 2006-08-01 16:59:12 +00:00
Arvid Norberg 5ef57265bf first version with DHT support. Limited pipelining used by url-seeds. Fixed one configuration problem on FreeBSD. 2006-08-01 15:27:08 +00:00
Arvid Norberg eef4ffa18c preliminary http proxy support for web seeds, bumped version number 2006-07-27 18:07:51 +00:00
Arvid Norberg 00df2b5bc3 added build notes for vs.net 2005, removed old code from ip_filter.cpp, fixed problem where the stats could become incorrect in case of very high cpu load, added asserts in storage::read() to make sure one is not trying to read out of bounds. 2006-07-26 10:21:25 +00:00
Arvid Norberg 5366971c39 fixed compilation error in previous checkin 2006-07-23 19:42:59 +00:00
Arvid Norberg f1efa8c952 updated makefile according to the latest version of asio, fixed Mainline peer-id decoder to work with the new version numbers, added some new clients to the identification list 2006-07-23 19:42:13 +00:00
Arvid Norberg 3763b600e4 added integer version defines, fixed a bug which appeared when session was closing, removed an old member function declaration from torrent_handle 2006-07-18 16:29:35 +00:00
Arvid Norberg 8d31bf442a fixed incorrect sorting of pieces in piece_picker 2006-07-16 00:08:50 +00:00
Arvid Norberg 8c6869b4f2 fixed the issue with the timer waiting for tracker requests when quitting, reported by Tianhao Qiu 2006-07-12 22:55:06 +00:00
Arvid Norberg 4403eac97b fixed bugs reported by Massaroddel. Tracker request peer-count could be incorrect. Empty files were not created in full allocation mode. 2006-07-08 19:41:39 +00:00
Arvid Norberg 175fb8770b added peer_timeout and urlseed_timeout to session_settings, they control the timeout for peers and web seeds respectively. Added BitSlug to the projects page. Added more debug logging when resolving web seed hostnames. Updated documentation. 2006-06-28 23:27:44 +00:00
Arvid Norberg 3e39b90158 updated makefiles to hopefully install the headers in the correct place. Updated docs to use boost 1.33.1 in examples. Changed libtorrent version to 0.10 and updated ChangeLog to prepare for release. 2006-06-25 00:12:18 +00:00
Arvid Norberg d3ba5edd6d fixed a long standing (quite rare) bug, thanks to Massaroddel. Made the tests clean up their temporary files. 2006-06-24 22:30:59 +00:00
Arvid Norberg db4ca12c02 fixed a full-check bug in storage. Changed the asio includes to avoid require boost.regex headers 2006-06-24 14:15:11 +00:00
Arvid Norberg 497112d208 *** empty log message *** 2006-06-19 22:34:25 +00:00
Arvid Norberg 926e6551c1 *** empty log message *** 2006-06-17 23:42:01 +00:00
Arvid Norberg 903e11e458 moved the asio headers into the include directory, to have them installed when libtorrent is installed. improved the complexity of torrent_info::map_file(), It's now O(1). 2006-06-17 22:04:25 +00:00
Arvid Norberg 1a081561c4 fixed bug in tracker_connection (spotted by tianhao qui) and fixed a performance problem in the piece picker that takes over blocks from other peers (also spotted by tianhao qui) 2006-06-17 01:29:36 +00:00
Arvid Norberg b06b7fdf7b added block requesting fix 2006-06-14 21:08:55 +00:00
Arvid Norberg c3eaa26645 fixed bug spotted by Tianhao Qiu 2006-06-12 21:20:32 +00:00
Arvid Norberg 8fafa58c1f added per file progress, added patch suggested by Tianhao Qui regarding unchoking when a peer becomes uninterested. Updated documentation and removed block quotes around bullet lists. 2006-06-11 23:24:36 +00:00
Arvid Norberg 3d06c0636a *** empty log message *** 2006-05-29 17:50:57 +00:00
Arvid Norberg 94628fa78d fixed race condition in peer_connection, fixed assert in torrent destructor, updated tests 2006-05-28 19:03:54 +00:00
Arvid Norberg 58698d6aea fixed the tests to build with the latest version of asio. added a missing include to identify_client.hpp 2006-05-21 15:35:11 +00:00
Arvid Norberg a3b8aadb90 updated makefiles 2006-05-21 00:09:00 +00:00
Arvid Norberg e6bb265d94 replaced http_settings with session_settings and introduced more settings 2006-05-20 23:24:19 +00:00
Arvid Norberg d891214358 *** empty log message *** 2006-05-20 17:59:17 +00:00
Arvid Norberg 262e97f21d updated to latest version of asio. fixed a problem with low resolution timers in the second_tick code found by Massaroddel. 2006-05-20 15:30:40 +00:00
Arvid Norberg 3cac133e51 fixed typo that made debug code to be called in release mode (caused a compile error) 2006-05-15 21:19:19 +00:00
Arvid Norberg 0b529e8f96 added a setting for max outstanding requests, and a limit for BitComet since it's known to have a very low limit, also added an extension header to specify it. Fixed another unnecessary delay spotted by Tianhao Qiu. Cleaned up the logging class a bit. Fixed a bug that would cause an assert when removing a torrent queued for checking. 2006-05-14 22:30:05 +00:00
Arvid Norberg 73b1c5c9b8 cleaned up comments, added some asserts, added setup_send() as proposed by Tianhao Qiu to speed up connection attempts 2006-05-01 23:34:37 +00:00
Arvid Norberg ddefc0d348 fixed a bug in the http redirection code 2006-04-30 11:03:25 +00:00
Arvid Norberg d63ceac56c fixed a bug in client_test. fixed some problems related to the previous buffer bug fix. all tests pass now. 2006-04-30 10:28:45 +00:00
Arvid Norberg 18cb6736ea fixed a serious bug where corrupt messages could be sent out. 2006-04-30 00:39:18 +00:00
Arvid Norberg d1c33c0d2b windows fixes 2006-04-27 00:39:21 +00:00
Arvid Norberg 41810b1166 merged back the asio development branch 2006-04-25 21:04:48 +00:00
Arvid Norberg 410af930a7 no longer expects requests to be handled in fifo order 2006-02-23 10:53:07 +00:00
Arvid Norberg 5ea9d2eab4 removed special case where interval is set to 2 minutes when num peers == 0 in tracker response 2006-02-19 08:28:31 +00:00
Arvid Norberg c3e4624e42 removed incorrect assert 2006-01-24 15:59:48 +00:00
Arvid Norberg 7eb9812cfa changed include order of boost headers to workaround namespace bug on msvc 7 2006-01-11 01:32:26 +00:00
Arvid Norberg 2d70a9b5bf some more steps in the direction of getting it to build on vc7 2006-01-10 00:38:52 +00:00
Arvid Norberg c64393cb0e more vc7 fixes and unicode fix in file.cpp 2006-01-09 00:07:00 +00:00
Arvid Norberg 01820e5579 more patches in order to get it to build on vc7 2006-01-08 22:55:02 +00:00
Arvid Norberg bad06d0c4e fixed adl usage to work with vc7 and removed inclusion of lambda header, to make it build in vc7 2006-01-07 15:41:20 +00:00
Arvid Norberg 04ad901577 applied (slightly modified) patches from Allen Zhao in an attempt to make it build on vc7 2006-01-07 13:48:14 +00:00
Arvid Norberg 3888b5232f fixed entry::print() to work correctly with binary strings 2006-01-06 21:48:49 +00:00
Arvid Norberg e810ebaf1f fixed some bind-statements to build on vc7 2006-01-06 21:36:17 +00:00
Arvid Norberg 564ae78012 fixed bug caused when sockets were bound to non-local interface 2006-01-06 20:20:20 +00:00
Arvid Norberg 2e851505f8 merged fixes from release branch 2005-11-22 00:18:39 +00:00
Arvid Norberg 477d5ec238 merged in differences from release branch 2005-11-18 01:12:21 +00:00
Arvid Norberg d4f85cb8e2 more asserts in order to catch an error I can't reproduce 2005-11-09 12:40:07 +00:00
Arvid Norberg 0ae3b24bd2 potentially cured the symptoms of a bug where a torrent can be destructed without having all its connections closed first 2005-11-08 00:56:26 +00:00
Arvid Norberg 7d5285610c wrapped a line that was too long 2005-11-08 00:55:33 +00:00
Arvid Norberg 75dafc5d1b peers that throw in the connection attempt are now removed from the policy's list. added more asserts to session. disabled SIGPIPE on darwin 2005-11-07 02:18:39 +00:00
Arvid Norberg b065130762 fixed calls to process_connection_queue() that were missing 2005-11-05 16:03:16 +00:00
Arvid Norberg 8c281cdb17 fixed bug found by Massaroddel. Some code was accidentily put inside a condition depending on the alert level 2005-11-05 11:37:51 +00:00
Arvid Norberg 822ac4a283 fixed some bugs in session.cpp where it removed peers from the selector prematurely. made the num_peers in the torrent_status only count connected peers, and updated the docs accordingly 2005-11-05 10:56:47 +00:00
Arvid Norberg ec7eb0ebd6 more asserts in peer_connection 2005-11-04 00:14:55 +00:00
Arvid Norberg 051aa5dbe0 fixed an incorrect assert and added another one in the invariant check 2005-11-03 22:55:51 +00:00
Arvid Norberg e5f73f4563 merged fixes from release branch 2005-11-02 23:24:18 +00:00
Arvid Norberg c71a5a9435 makes it build with logging 2005-11-02 20:59:36 +00:00
Arvid Norberg d7b1dda483 renamed torrent::interface() since it seems msvc won't allow it as an identifier 2005-11-02 19:19:41 +00:00
Arvid Norberg 3f38e4c38d removed debug output that was left in by mistake in last check in 2005-11-02 19:11:30 +00:00
Arvid Norberg 728b0f219b merged fixes from release branch 2005-11-02 16:46:45 +00:00
Arvid Norberg bcbe165aee added the ability to limit the number of half-open tcp connections 2005-11-02 16:28:39 +00:00
Arvid Norberg 3f36dd0395 added the ability to build libtorrent as a shared library. Fixed bugs with deleting of incomplete types (replaced auto_ptr with scoped_ptr). Made the string converter fall back on windows local code page if utf-8 decoding failed. 2005-11-01 18:30:39 +00:00
Arvid Norberg 55144fc3f4 all functions on torrent_handle are now const. restored r, p, u keys in client_test 2005-10-19 13:58:41 +00:00
Arvid Norberg 6d7236fbea fixed unchecked input 2005-10-18 18:16:36 +00:00
Arvid Norberg 9d426441f1 more fixes for the windows file_size function 2005-10-17 21:09:42 +00:00
Arvid Norberg c84a71c1ad *** empty log message *** 2005-10-17 21:00:57 +00:00
Arvid Norberg ac2c1fba0c fixed incorrect function name 2005-10-17 20:58:37 +00:00
Arvid Norberg 51052fa2b1 fixed incorrect assert in file_win.cpp, added windows-unicode function for file_size 2005-10-17 20:37:40 +00:00
Arvid Norberg d3996ccfb9 added metadata_failed_alert and allcoating torrent state 2005-10-17 13:45:53 +00:00
Arvid Norberg 6db55b87ab fixed problem when aborting checking torrents 2005-10-16 21:14:08 +00:00
Arvid Norberg 23fbb8d240 may have fixed a bug where incorrect metadata was sent (introduced with the latest optimization) 2005-10-16 20:15:54 +00:00
Arvid Norberg f63702c964 optimized session::add_torrent() by putting more info in torrent_info, to make it possible to reproduce the exact info section from an torrent_info object. The result is that the .torrent file is only parsed once. 2005-10-16 16:58:41 +00:00
Arvid Norberg f770d1438d fixed bug introduced in latest storage changes (triggered when using metadata extension). improved commandline switches to client_test 2005-10-16 09:15:46 +00:00
Arvid Norberg 032f4c715b *** empty log message *** 2005-10-15 23:16:39 +00:00
Arvid Norberg 19259170d7 fixed problem when using metadata extension 2005-10-15 23:07:39 +00:00
Arvid Norberg a44c3c7811 fixed bug where upload ratio was not being respected 2005-10-15 17:21:49 +00:00
Arvid Norberg ea0e803fff removed some debug logging 2005-10-13 21:51:59 +00:00
Arvid Norberg 950c9bd879 optimizations to entry (using std::maps find instead of linear search) 2005-10-13 21:50:59 +00:00
Arvid Norberg c7c784170f fix for unkown clients using shadow's style 2005-10-13 21:37:32 +00:00
Arvid Norberg 189a8756ee big change in the way storage is checked. The checker thread can now check the fastresume data of a new torrent without waiting for a currently checking one 2005-10-13 07:59:05 +00:00
Arvid Norberg 371c34ea7e updated client identification 2005-10-05 14:06:39 +00:00
Arvid Norberg 364abbefb7 may have fixed an incorrect assert + added ending newline in a file that didn't have one 2005-10-03 23:09:22 +00:00