Commit graph

10 commits

Author SHA1 Message Date
dnotestein
13d536c119 Prevent crash at shutdown by shutting down rate_limiting asyncs before boost filesystem global constructors execute. 2014-10-31 17:54:14 -04:00
Eric Frias
751777e754 Fix more locations where we were making boost::asio calls with buffers declared on the stack which could cause problems when the calling tasks were canceled. 2014-09-11 16:30:03 -04:00
Eric Frias
aa6882b3b7 Allow us to safely cancel tasks that are executing asynchronous network reads
and writes.  This was previously unsafe because we almost always passed read/write
buffers to boost that were on the stack. Canceling the task deleted the stack and
therefore the buffer, but couldn't reliably prevent boost from writing to the buffer
if data came in after the cancel.  This commit adds variants of the read and write
functions that take a shared_ptr<char> instead of a raw char* as the buffer, and
these variants will ensure the shared_ptr will outlive the boost::asio read/write.
2014-09-09 11:10:37 -04:00
Eric Frias
d847f6469a Allow us to require assigning descriptions to all async tasks to aid in debugging 2014-07-27 17:37:21 -04:00
dnotestein
9e320a3db8 Add descriptions for a bunch of async tasks, remove logging during thread::quit to avoid crashes for now until we cleanup thread quit code 2014-07-27 00:09:15 -04:00
Eric Frias
2c5c1655a6 Add counters to the TCP rate limiter to measure actual upload and download speed, and allow the caller to set how bursty they want the connection to be. 2014-06-25 18:16:58 -04:00
Daniel Larimer
9f6b52eac2 fix build on OS X 2014-05-23 21:54:59 -04:00
Eric Frias
62b479568e Get rate limiting mostly working 2014-05-08 15:13:49 -04:00
Eric Frias
06df18c690 More work towards rate-limited TCP sockets 2014-04-17 19:39:15 -04:00
Eric Frias
ce7139c073 Start of work towards throttling TCP connections 2014-04-17 12:00:52 -04:00