12 Commits

Author SHA1 Message Date
Nick Mathewson
a84c87d76a Refactor IOCP callback interface
Chris Davis points out that GetQueuedCompletionStatus
sometimes returns false not to report "No events for
you!" but instead to report "An overlapped operation
failed."  Add a way to tell an event_overlapped that
its operation failed.

svn:r1490
2009-11-02 19:51:26 +00:00
Nick Mathewson
fa313f28c5 Extract XP-only functions when initializing the IOCP port
svn:r1479
2009-10-29 18:30:43 +00:00
Nick Mathewson
879420a711 Expose a narrow window to the IOCP code.
svn:r1459
2009-10-23 22:00:29 +00:00
Nick Mathewson
0b22ca1929 Use ev_ssize_t in place of ssize_t *everywhere*.
svn:r1309
2009-05-22 19:11:48 +00:00
Nick Mathewson
31d89f274b 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
2009-05-13 20:37:21 +00:00
Nick Mathewson
fe47003d06 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
2009-05-05 16:52:37 +00:00
Nick Mathewson
b69d03b5a8 Add a constructor for bufferevent_async.
svn:r1274
2009-05-05 14:18:14 +00:00
Nick Mathewson
f1090833b2 First tests for IOCP loop, and related fixes.
The fixes are: a shutdown mode that works, and a way to activate an
arbitrary event_overlapped.

svn:r1254
2009-04-30 19:04:44 +00:00
Nick Mathewson
838d0a81c3 Document many internal functions and pieces of code.
svn:r1181
2009-04-17 06:55:08 +00:00
Nick Mathewson
0b98781353 More hacking on event_iocp.c: make it compile, and give it more of an interface. This code is now testable.
svn:r1176
2009-04-16 00:32:52 +00:00
Nick Mathewson
93d4f884aa Make buffer iocp stuff compile happily
svn:r1174
2009-04-14 20:11:10 +00:00
Nick Mathewson
ca737ff3b5 Add draft (nonworking) versions of iocp code to hack on more.
svn:r1172
2009-04-13 18:29:31 +00:00