Commit Graph

347 Commits

Author SHA1 Message Date
Arvid Norberg
23ae2e12c8 fixed warning in peer_connection 2007-05-10 06:27:52 +00:00
Arvid Norberg
57439bcec8 send buffer heap optimization 2007-05-10 06:20:29 +00:00
Arvid Norberg
f39185bb21 optimized the read callback to loop and exhaust the read buffer from the socket instead of making another async read call. #43 2007-05-10 01:50:11 +00:00
Arvid Norberg
4956639171 piece picker optimization 2007-05-08 11:13:13 +00:00
Arvid Norberg
49bd69cad4 introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds 2007-05-05 00:29:33 +00:00
Arvid Norberg
54805ca60b added option to disable country resolving 2007-05-02 19:47:38 +00:00
Arvid Norberg
9f1a11aa50 regenerated documentation. fixed a few warnings. fixed a bug in recent check in in piece picker 2007-04-27 16:26:30 +00:00
Arvid Norberg
ee1681e2cb added peer/piece categories to the piece picker. fixes #18 2007-04-27 00:27:37 +00:00
Arvid Norberg
00948e9fc4 first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22 2007-04-25 18:26:35 +00:00
Arvid Norberg
d9902d178f applied shyam's memory optimization patch 2007-04-25 17:36:12 +00:00
Arvid Norberg
d43a6b80bf added an abstraction layer or tcp sockets, to be able to support socks proxys 2007-04-23 21:36:21 +00:00
Arvid Norberg
8dd610bfbd removed unnecessary fill of the have bitfield 2007-04-15 04:40:45 +00:00
Arvid Norberg
40804a829b failcount is reset on a peer that successfully connects. documented max_failcount and min_reconnect_time. implemented seed optimization for piece_picker (inc_refcount_all and dec_refcount_all), ticket #17 2007-04-15 02:14:02 +00:00
Arvid Norberg
3d759e8936 fixes in connection policy. fixes #29. inserted more invariant checks in policy 2007-04-13 17:47:40 +00:00
Arvid Norberg
57eeba53a8 fix to previous checking 2007-04-13 01:57:16 +00:00
Arvid Norberg
0e5ce5dd9d cleaned up policy a bit, moved the seed check in on_bitfield to be performed before the piece picker is updated 2007-04-13 01:53:25 +00:00
Arvid Norberg
3293bf9b6e the seed flag in the peer struct is updated when connected to a seed (will avoid trying to reconnect to a seed when we're also a seed) 2007-04-13 00:22:03 +00:00
Arvid Norberg
52623405f0 improved unchoking, connecting and disconnecting logic in policy. seems to fix #29 2007-04-12 10:21:55 +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
d88ffcc0e4 removed some more unecessary boost.date_time dependencies 2007-04-10 07:52:58 +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
36ca0eb3ba addition to previous peer connection download/upload limit fix 2007-04-02 23:10:11 +00:00
Arvid Norberg
ed3bb7e4e8 fixed peer connection rate limits 2007-04-02 22:25:58 +00:00
Arvid Norberg
ec2962dd62 extensions are now instantiated for web seeds as well 2007-04-02 20:00:24 +00:00
Arvid Norberg
fc46a731eb modified and enabled invariant checking for piece_picker 2007-03-29 00:52:16 +00:00
Arvid Norberg
0344cadd69 improved logging of bitfields 2007-03-28 20:54:51 +00:00
Arvid Norberg
e8eb1ca96c prioritizes upload bandwidth to peers we are interested in and that have unchoked us 2007-03-28 19:11:30 +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
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
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
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
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
c40a75f844 IPv6 fixes 2007-02-27 17:21:46 +00:00
Arvid Norberg
fcc9c49608 fixed issue with metadata-less torrents and their statistics updates 2007-02-25 05:20:14 +00:00
Arvid Norberg
889ad70cee fixes for metadata-less torrents, and fixes for peer requests 2007-02-15 03:03:50 +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
a3bf238143 fixed typo in previous checkin and updated AUTHORS 2007-02-12 05:56:29 +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
05f4ce5b6c fixed potetial deadlock in bandwidth manager. Fixed http-tracker requests that are sensitive to existing arguments in url (avoids duplicates and doesn't replace arguments) 2007-01-30 17:56:42 +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
87f7b186b0 replaced the bandwidth throttling code with a leaky bucket for better accuracy 2007-01-10 15:02:25 +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
373b18233a reverted some bad changes 2007-01-01 11:54:31 +00:00
Arvid Norberg
45864b15ec fixed incorrect assert in bytes_done() 2006-12-31 14:48:18 +00:00
Arvid Norberg
a78ef76592 commented out an expensive invariant check. Fixed http parser to accept responses with only LF (and not CRLF) 2006-12-29 23:40:56 +00:00
Arvid Norberg
d50ab33855 added clients to identify_client and a minor fix 2006-12-27 15:14:17 +00:00
Arvid Norberg
c69479a166 fixed the cause of an inconsistency in the piece picker and the torrent 2006-12-22 00:45:43 +00:00
Arvid Norberg
f83db0a423 consistency fixes related to shutting down 2006-12-21 22:20:28 +00:00