|
d7d1f1da
|
2009-11-17T20:31:09
|
|
Move responsibility for IOCP callback into bufferevent_async.
This patch from Chris Davis saves some callback depth, and adds proper
ref-counting to bufferevents when there's a deferred evbuffer callback
inflight. It could use a couple more comments to really nail down what
its invariants are.
svn:r1543
|
|
86db1c85
|
2009-11-04T05:19:26
|
|
Commit ConnectEx code to get connect working with async bufferevents.
This is code by Chris Davis, with changes to get the unit tests failing less aggressively.
The unit tests for this code do not completely pass yet; Chris is looking into that. If they aren't passing by the next release, I'll turn off this code.
svn:r1499
|
|
2e36dbe1
|
2009-10-26T20:00:43
|
|
Use EVUTIL_ASSERT() consistently instead of assert.
svn:r1464
|
|
879420a7
|
2009-10-23T22:00:29
|
|
Expose a narrow window to the IOCP code.
svn:r1459
|
|
a62283a9
|
2009-07-17T17:46:17
|
|
Always hold a reference to a bufferevent when calling its callbacks.
Rationale: we hold a lock on the bufferevent when its callbacks are
executing, so we need to release the lock afterwards. But the
callback might free the bufferevent, so unless we're holding a
reference on the bufferevent, the lock might not be there for us to
release.
svn:r1347
|
|
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
|
|
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
|
|
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
|
|
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
|
|
02801e5b
|
2009-05-05T15:36:28
|
|
Add a trival start of a be_async test.
svn:r1276
|
|
b69d03b5
|
2009-05-05T14:18:14
|
|
Add a constructor for bufferevent_async.
svn:r1274
|
|
5a3eddf0
|
2009-05-02T16:24:05
|
|
Use fewer _compat.h headers in our own code.
svn:r1268
|
|
1aebcd50
|
2009-05-01T01:42:33
|
|
Initial core implementation of bufferevent_async.c
svn:r1263
|