Bug 99002

Summary: Need libevent integration
Product: dbus Reporter: Philip Prindeville <philipp>
Component: coreAssignee: D-Bus Maintainers <dbus>
Status: RESOLVED NOTOURBUG QA Contact: D-Bus Maintainers <dbus>
Severity: normal    
Priority: medium CC: philipp
Version: git master   
Hardware: Other   
OS: All   
Whiteboard:
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.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.