|Summary:||Need libevent integration|
|Product:||dbus||Reporter:||Philip Prindeville <philipp>|
|Component:||core||Assignee:||D-Bus Maintainers <dbus>|
|Status:||RESOLVED NOTOURBUG||QA Contact:||D-Bus Maintainers <dbus>|
|i915 platform:||i915 features:|
Description Philip Prindeville 2016-12-06 03:10:58 UTC
Would like to see DBus message handling layered on libevent socket handling.
Comment 1 Simon McVittie 2017-01-16 12:14:12 UTC
You're welcome to write a main-loop integration layer that lets libdbus use libevent. It would have to work with DBusWatch, DBusTimeout and related objects/functions, similar to: * the simple (non-thread-safe) internal main-loop in dbus/dbus-loop.[ch] and dbus/dbus-socket-set* * the multiple main-loop integration layers in Avahi * the GLib main-loop integration layer in dbus-glib * the Qt main-loop integration layer in QtDBus * the Enlightenment main-loop integration layer in https://git.enlightenment.org/legacy/bindings/python/python-e_dbus.git/ As you can infer from those examples, these main-loop integration layers are usually out-of-tree. There is enough public API to write one.
Comment 2 Simon McVittie 2017-02-01 12:40:44 UTC
I think this is going to be most maintainable if it is done outside the main dbus (reference implementation of D-Bus) source tree, as a semi-independent project. The dbus maintainers are not experts on libevent, and we would get it wrong. If you are an expert on libevent, then perhaps you could write a suitable integration layer. Please let us know if there is one that should be mentioned on the D-Bus website.