libevent

Free and open source event notification library for your Mac
Download

libevent Ranking & Summary

Advertisement

  • Rating:
  • License:
  • BSD
  • Price:
  • FREE
  • Publisher Name:
  • Niels Provos
  • Publisher web site:
  • http://monkey.org/~provos/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 627 KB

libevent Tags


libevent Description

Free and open source event notification library for your Mac The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support callbacks due to signals or regular timeouts.libevent is meant to replace the event loop found in event driven network servers. An application just needs to call event_dispatch() and then add or remove events dynamically without having to change the event loop.Currently, libevent supports /dev/poll, kqueue(2), event ports, select(2), poll(2) and epoll(4). The internal event mechanism is completely independent of the exposed event API, and a simple update of libevent can provide new functionality without having to redesign the applications. As a result, Libevent allows for portable application development and provides the most scalable event notification mechanism available on an operating system. Libevent can also be used for multi-threaded applications. Libevent is a cross-platform library and should compile on Mac OS X, Linux, BSD, Solaris and Windows. What's New in This Release: · Add a new flag to bufferevents to make all callbacks automatically deferred. · Make evdns functionality locked, and automatically defer dns callbacks. · Fix a possible free(NULL) when freeing an event_base with no signals. · Add a flag to disable checking environment varibles when making an event_base · Disallow setting less than 1 priority. · Fix a bug when removing a timeout from the heap. · Use signal.h, not sys/signal.h. · Try harder to build with certain older c99 compilers. · Make sure that an event_config's flags field is always initialized to 0. · Avoid data corruption when reading data entirely into the second-to-last chain of an evbuffer. · Make sendfile work on FreeBSD · Do not use vararg macros for accessing evrpc structures; this is not backwards compatible, but we did not promise any backwards compatibility for the rpc code. · Actually define the event_config_set_flag() function. · Try harder to compile with Visual C++. · Move event_set() and its allies to event2/event_compat.h where they belong. · Remove the event_gotsig code, which has long been deprecated and unused. · Add an event_get_base() function to return the base assigned to an event. · New function to automate connecting on a socket-based bufferevent. · New functions to automate listening for incoming TCP connections. · Do case-insensitive checks with a locale-independent comparison function. · Rename the evbuffercb and everrorcb callbacks to bufferevent_data_cb and bufferevent_event_cb respectively. The old names are available in bufferevent_compat.h. · Rename the EVBUFFER_* codes used by bufferevent event callbacks to BEV_EVENT_*, to avoid namespace collision with evbuffer flags. The old names are available in bufferevent_compat.h. · Move the EVBUFFER_INPUT and EVBUFFER_OUTPUT macros to bufferevent_compat.h · Add a bufferevent_getfd() function to mirror bufferevent_setfd() · Make bufferevent_setfd() return an error code if the operation is not successful. · Shave 22 bytes off struct event on 32-bit platforms by shrinking and re-ordering fields. The savings on 64-bit platforms is likely higher. · Cap the maximum number of priorities at 256. · Change the semantics of evbuffer_cb_set_flags() to be set-flag only; add a new evbuffer_cb_clear_flags() to remove set flags. · Change the interface of evbuffer_add_reference so that the cleanup callback gets more information · Revise the new evbuffer_reserve_space/evbuffer_commit_space() interfaces so that you can use them without causing extraneous copies or leaving gaps in the evbuffer. · Add a new evbuffer_peek() interface to inspect data in an evbuffer without removing it. · Fix a deadlock when suspending reads in a bufferevent due to a full buffer. (Spotted by Joachim Bauch.)


libevent Related Software