bufferevent_async.c


Log

Author Commit Date CI Message
Nick Mathewson 34574db0 2009-05-25T23:10:23 Add a generic mechanism to implement timeouts in bufferevents. Paired and asynchronous bufferevents didn't do timeouts, and filtering bufferevents gave them funny semantics. Now they all should all work in a way consistent with what socket bufferevents do now: a [read/write] timeout triggers if [reading/writing] is enabled, and if the timeout is set, and the right amount of time passes without any data getting [added to the input buffer/drained from the output buffer]. svn:r1314
Nick Mathewson 31d89f27 2009-05-13T20:37:21 Add a "ctrl" mechanism to bufferevents for property access. OpenSSL uses something like this to implement get/set access for properties on its BIOs, so that it doesn't need to add a pair of get/set functions to the vtable struct for every new abstract property it provides an accessor for. Doing this lets us make bufferevent_setfd abstract, and implement an abstract bufferevent_getfd. svn:r1284
Nick Mathewson a8bcbfd4 2009-05-06T02:33:37 Fix bufferevent_async to use lock/unlock, not unlock/unlock. You do NOT want to know what windows does when you unlock a lock that is already unlocked. svn:r1278
Nick Mathewson fe47003d 2009-05-05T16:52:37 Make unit tests for bufferevent_async compile and _almost_ work. Either I need to make the callbacks get deferred in a base with no events (doable), or I need to make it okay to call launch_read from inside the callback for read (tricky). svn:r1277
Nick Mathewson 02801e5b 2009-05-05T15:36:28 Add a trival start of a be_async test. svn:r1276
Nick Mathewson b69d03b5 2009-05-05T14:18:14 Add a constructor for bufferevent_async. svn:r1274
Nick Mathewson 5a3eddf0 2009-05-02T16:24:05 Use fewer _compat.h headers in our own code. svn:r1268
Nick Mathewson 1aebcd50 2009-05-01T01:42:33 Initial core implementation of bufferevent_async.c svn:r1263