Dasynq 1.1.7

Dasynq is an event loop library similar to libevent, libev and libuv. Key features/attributes are: written in portable C++ code (C++11); Thread safe — full support for use in a multi-threaded application; Header-only library — does not install a shared library; Supports file I/O, signals, process termination and timer events; Linux, OpenBSD, FreeBSD, MacOS — and portable to others. Like other such libraries, it is crossplatform / portable. Unlike most other such libraries, it is intended to be completely usable in a multi-threaded client program, and it is written in C++; furthermore the API is designed to allow the creation of extremely robust clients. Dasynq works on Linux, OpenBSD, FreeBSD and MacOS, and it should be easily portable to other POSIX-like operating systems.

Tags event event-loop library posix
License Apache
State stable

Recent Releases

1.1.723 Dec 2019 12:05 minor feature: Add another function test for timers. . Clean up pointless condition. . Minor cleanups. . Avoid "no return" warning in timer_for_clock. . Use perfect-forwarding appropriately in heap implementations. . Extend caveat in introduction. . Improve comments and use move as appropriate in dary_heap. . : release watchers that return rearm::REMOVE. . tests: deregister all watchers by end of a test. . Rename some classes in extras as per convention. . svec: remove explicit destructor from vec_node. . Add some comments. . poll blocking if another thread was in run(). . Cleanups and comments. . Add missing stub in waitqueue specialisation for null_mutex. . Add a (very simple) chat server example. . Add compilation instructions to chatserver example. . Separate processing of bidi watcher primary. . Add a multi-threaded variant of the chat server example. . Minor documentation improvements for bidi_fd_watcher. . Bump version to 1.1.7.
1.1.624 May 2019 03:15 minor feature: Docs: add caveat about stupid Itanium C++ ABI. . Docs: typo ("serial lies"). . Remove unnecessary "return" statement. . Add missing include (though it was included transitively). . timer affecting interval timer. . Up version number to 1.1.6. . Minor documentation updates and style improvements. . Add NEWS file.
1.1.515 Sep 2018 07:05 minor feature: Avoid undefined char arithmetic. . Kqueue: clean up namespace pollution. . Btree set: style and remove potential undefined behaviour. . Slightly improve base_watcher implementation. . Dary-heap: delete "operator=" in handle_t. . Bump version to 1.1.5.
1.1.403 Apr 2018 03:15 minor feature: Document the pre-existing "add_timer() with lambda" function. Change "add_timer()" (with lambda) to accept const timespec arguments (previously the parameter types were non-const). Broken timer example in introduction (USAGE.md). Various internal changes.
1.1.309 Mar 2018 03:15 minor feature: Timers not working on non-Linux systems. Includes CMake files (makes it easier for projects using CMake to use Dasynq). Build for platforms without kqueue or epoll. Install for BSDs.
1.1.227 Feb 2018 16:08 minor bugfix: Build fixes for BSDs.