Commit Graph

54 Commits

Author SHA1 Message Date
Arvid Norberg 8a5b7d5d36 got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones). 2009-10-20 02:49:56 +00:00
Arvid Norberg 0f62beebb3 improved compile time by moving rate limiter implementation to a cpp file and making it a non-template 2009-09-16 04:41:35 +00:00
Arvid Norberg 6c67da08d6 split socket.hpp up in multiple headers to lower build time somewhat 2009-09-16 03:46:36 +00:00
Arvid Norberg 641abc6c4a slight memory optimization and some header cleanup 2009-05-03 20:21:24 +00:00
Arvid Norberg e929c58e9f fixed bug in ratelimiter's outstanding bytes counter 2009-05-01 09:42:43 +00:00
Arvid Norberg 7109b86566 greatly simplified the rate limiter and generalized all rate limits (peer, torrent, global) to allow for arbitrary rate limit configurations 2009-04-26 00:21:59 +00:00
Arvid Norberg c6f4879e06 fixed race condition in bandwidth manager 2009-04-13 16:31:22 +00:00
Arvid Norberg cf2654ba00 exit before invariant check if we're aborting, in bandwidth_manager 2009-04-13 06:07:16 +00:00
Arvid Norberg 8f308ef881 fixed invariant checks in bandiwdth_manager 2008-12-14 22:59:47 +00:00
Arvid Norberg 3cb61809ce fixed invariant check in bandwidth_manager 2008-12-14 11:10:54 +00:00
Arvid Norberg 0638251289 added queued bytes to bandwidth manager and session_stats 2008-12-13 05:12:12 +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 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 015ab223c9 added asserts for timers 2008-08-16 21:07:45 +00:00
Arvid Norberg e09457e4ab take an estimate of the IP ACK traffic into account when rate limiting (allows setting rate limits closer to the capacity) 2008-05-05 17:08:14 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg f3d0eb3c11 fixed boost-1.35 build 2008-05-01 16:31:19 +00:00
Arvid Norberg cab106adad removed incorrect assert in bandwidth manager 2008-04-03 04:31:31 +00:00
Arvid Norberg f3f90c1a0f bandwidth limiter assertion fix 2008-03-16 18:09:56 +00:00
Arvid Norberg 83f405ac54 followups to windows fixes 2008-02-25 11:27:23 +00:00
Arvid Norberg a25c25b02a fixed windows build and removed msvc warnings 2008-02-25 10:28:53 +00:00
Arvid Norberg 5527a8e9b1 fixed build issue on msvc 2008-01-27 21:03:33 +00:00
Arvid Norberg 365b8c07c6 iterator fixes (to avoid triggering safe iterator asserts) 2008-01-19 18:12:02 +00:00
Arvid Norberg 127d3e6ad5 bandwidth limiter fixes. proper priority that cannot starve connections 2008-01-17 17:40:46 +00:00
Arvid Norberg 9304bd747c added graphing script for bandwidth manager log 2008-01-13 05:14:49 +00:00
Arvid Norberg 7cea96ea88 added TORRENT_VERBOSE_BANDWIDTH_LIMIT build option to generate a bandwidth manager log 2008-01-12 18:47:26 +00:00
Arvid Norberg 9fca960d3c bandwidth limiter mutex fix 2008-01-10 06:19:20 +00:00
Arvid Norberg 0ed722036f fixed assert 2008-01-05 00:54:30 +00:00
Arvid Norberg a49cb42345 fixed race condition in bandwidth limiter 2008-01-03 18:53:07 +00:00
Arvid Norberg ddf16fb3bb separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225 2007-12-31 09:41:50 +00:00
Arvid Norberg a279e8c9ec made bandwidth_manager build without exceptions 2007-12-29 05:43:19 +00:00
Arvid Norberg ac28fa7b62 some more asserts related to bandwidth manager 2007-12-14 18:02:06 +00:00
Arvid Norberg 07ad5d9796 bandwidth_manager assert fix 2007-12-10 18:13:57 +00:00
Arvid Norberg f06bf0d440 bandwidth manager fix 2007-12-09 18:44:26 +00:00
Arvid Norberg 41ef204f26 closes bandwidth rate limiters 2007-11-08 07:52:41 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg b0d51950b6 fixed problem in bandwidth_manager 2007-09-19 06:06:18 +00:00
Arvid Norberg 60f9d1366a added more asserts to bandwidth limiter 2007-09-19 01:08:50 +00:00
Arvid Norberg 57a76f9db6 fixed debug assert on linux 2007-09-10 06:12:41 +00:00
Arvid Norberg 79e0e06fa9 improved bandwidth_limiter test and fixed problem where limits could lead to starvation 2007-08-27 10:20:23 +00:00
Arvid Norberg c0ffdc51c7 piece picker fix and bandwidth_limiter typo fix 2007-08-25 05:09:25 +00:00
Arvid Norberg d963625949 added assert to bandwidth_limiter 2007-08-24 02:12:07 +00:00
Arvid Norberg cc54c242a1 rate limiter fix 2007-08-23 16:49:59 +00:00
Arvid Norberg 9e2367fd13 bandwidth limiter fix 2007-08-22 23:24:06 +00:00
Arvid Norberg 4d04588def made libtorrent build on msvc-8 sp1 2007-08-08 21:22:59 +00:00
Arvid Norberg 96430f5edd added an assert to bandwidth limiter 2007-07-15 14:24:06 +00:00
Arvid Norberg 6650a34cfd fixed #83 2007-07-15 14:20:55 +00:00
Arvid Norberg e714e1aeba improved bandwidth limiter and added a unit test for it 2007-07-02 23:48:06 +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 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