Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 784b8773 | 2009-11-06 21:46:57 | We do not work any more without an event-config.h; stop pretending that it is meaningful to check for HAVE_CONFIG_H svn:r1516 | ||
| 2e36dbe1 | 2009-10-26 20:00:43 | Use EVUTIL_ASSERT() consistently instead of assert. svn:r1464 | ||
| b73ad7bc | 2009-10-21 18:48:22 | Treat the bitwise OR of two enum values as an int. This makes our interfaces usable from C++, which doesn't believe you can say "bufferevent_socket_nase(base, -1, BEV_OPT_CLOSE_ON_FREE|BEV_OPT_DEFER_CALLBACKS)" but which instead would demand "static_cast<bufferevent_options>(BEV_OPT_CLOSE_ON_FREE| BEV_OPT_DEFER_CALLBACKS))" for the last argument. Diagnosis and patch from Chris Davis. svn:r1456 | ||
| a62283a9 | 2009-07-17 17: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 | ||
| 11a178f2 | 2009-05-25 23:11:31 | Defer EOF on paired bufferevent correctly. svn:r1317 | ||
| 34574db0 | 2009-05-25 23: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-13 20: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 | ||
| 83f46e51 | 2009-05-13 20:36:56 | Do not use the "evbuffer_" prefix to denote parts of bufferevents. This is a bit of an interface doozy, but it's really needed in order to be able to document this stuff without apologizing it. This patch does the following renamings: evbuffercb -> bufferevent_data_cb everrorcb -> bufferevent_event_cb EVBUFFER_(READ,WRITE,...) -> BEV_EVENT_(...) EVBUFFER_(INPUT,OUTPUT) -> bufferevent_get_(input,output) All the old names are available in event2/bufferevent_compat.h svn:r1283 | ||
| e865eb93 | 2009-05-01 00:54:14 | More msvc build tweaks. svn:r1262 | ||
| a98a512b | 2009-04-17 23:12:34 | Add a generic way for any bufferevent to make its callback deferred svn:r1197 | ||
| 915193e7 | 2009-04-13 03:17:19 | Locking support for bufferevents. svn:r1170 | ||
| 1becc4c4 | 2009-04-13 03:08:11 | Refactor new elements of bufferevent into bufferevent_private structure This way we don't expose more of a bufferevent than we need to. One motivation is to make it easier to automatically get deferred callbacks with a bufferevent without exposing the deferred_cb structure. svn:r1169 | ||
| 8dec59bb | 2009-04-13 03:07:17 | Use freeze operations to prevent shenanegans on bufferevent pair evbuffers. svn:r1167 | ||
| 0b47b125 | 2009-04-12 22:02:54 | Add a new EVUTIL_UPCAST macro so that I do not need to keep figuring out the right offsetof magic over and over. svn:r1160 | ||
| 23085c92 | 2009-04-10 15:01:31 | Add a linked-pair abstraction to bufferevents. The new bufferevent_pair abstraction works like a set of buferevent_sockets connected by a socketpair, except that it doesn't require a socketpair, and therefore doesn't need to get the kernel involved. It's also a good way to make sure that deferred callbacks work. It's a good use case for deferred callbacks: before I implemented them, the recursive relationship between the evbuffer callback and the read callback would make the unit tests overflow the stack. svn:r1152 |