{"guid":"096a6e21-8f61-59d1-918f-b3c7babc49b8","title":"asynchronous dbus with C++ co-routines","subtitle":null,"slug":"all-systems-go-2023-215-asynchronous-dbus-with-c-co-routines","link":"https://cfp.all-systems-go.io/all-systems-go-2023/talk/QUMHR3/","description":"sdbusplus generates ergonomic and compile-time type-checked dbus bindings built atop sd-bus.  This library is heavily used within the OpenBMC project to provide all IPC between its many userspace processes.  This talk will give an overview of how OpenBMC leverages dbus, how sdbusplus facilitates its usage, as well as an introduction on our approach for asynchronous programming with C++ co-routines.","original_language":"eng","persons":["Patrick Williams"],"tags":["asg2023","215","2023"],"view_count":216,"promoted":false,"date":"2023-09-14T17:45:00.000+02:00","release_date":"2023-09-14T00:00:00.000+02:00","updated_at":"2026-03-21T00:30:05.077+01:00","length":1540,"duration":1540,"thumb_url":"https://static.media.ccc.de/media/events/all_systems_go/2023/215-096a6e21-8f61-59d1-918f-b3c7babc49b8.jpg","poster_url":"https://static.media.ccc.de/media/events/all_systems_go/2023/215-096a6e21-8f61-59d1-918f-b3c7babc49b8_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/all_systems_go/2023/215-096a6e21-8f61-59d1-918f-b3c7babc49b8.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/all_systems_go/2023/215-096a6e21-8f61-59d1-918f-b3c7babc49b8.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/all-systems-go-2023-215-asynchronous-dbus-with-c-co-routines","url":"https://api.media.ccc.de/public/events/096a6e21-8f61-59d1-918f-b3c7babc49b8","conference_title":"All Systems Go! 2023","conference_url":"https://api.media.ccc.de/public/conferences/asg2023","related":[],"recordings":[{"size":113,"length":1540,"mime_type":"video/webm","language":"eng","filename":"asg2023-215-eng-asynchronous_dbus_with_C_co-routines_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-15T07:54:35.772+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/webm-hd/asg2023-215-eng-asynchronous_dbus_with_C_co-routines_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/70535","event_url":"https://api.media.ccc.de/public/events/096a6e21-8f61-59d1-918f-b3c7babc49b8","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":53,"length":1540,"mime_type":"video/webm","language":"eng","filename":"asg2023-215-eng-asynchronous_dbus_with_C_co-routines_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-09-15T07:41:29.213+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/webm-sd/asg2023-215-eng-asynchronous_dbus_with_C_co-routines_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/70532","event_url":"https://api.media.ccc.de/public/events/096a6e21-8f61-59d1-918f-b3c7babc49b8","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":39,"length":1540,"mime_type":"video/mp4","language":"eng","filename":"asg2023-215-eng-asynchronous_dbus_with_C_co-routines_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-09-14T19:30:33.627+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/h264-sd/asg2023-215-eng-asynchronous_dbus_with_C_co-routines_sd.mp4","url":"https://api.media.ccc.de/public/recordings/70501","event_url":"https://api.media.ccc.de/public/events/096a6e21-8f61-59d1-918f-b3c7babc49b8","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":23,"length":1540,"mime_type":"audio/mpeg","language":"eng","filename":"asg2023-215-eng-asynchronous_dbus_with_C_co-routines_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2023-09-14T19:24:29.695+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/mp3/asg2023-215-eng-asynchronous_dbus_with_C_co-routines_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/70498","event_url":"https://api.media.ccc.de/public/events/096a6e21-8f61-59d1-918f-b3c7babc49b8","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":15,"length":1540,"mime_type":"audio/opus","language":"eng","filename":"asg2023-215-eng-asynchronous_dbus_with_C_co-routines_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2023-09-14T19:22:42.213+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/opus/asg2023-215-eng-asynchronous_dbus_with_C_co-routines_opus.opus","url":"https://api.media.ccc.de/public/recordings/70497","event_url":"https://api.media.ccc.de/public/events/096a6e21-8f61-59d1-918f-b3c7babc49b8","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":90,"length":1540,"mime_type":"video/mp4","language":"eng","filename":"asg2023-215-eng-asynchronous_dbus_with_C_co-routines_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-14T19:10:55.968+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/h264-hd/asg2023-215-eng-asynchronous_dbus_with_C_co-routines_hd.mp4","url":"https://api.media.ccc.de/public/recordings/70490","event_url":"https://api.media.ccc.de/public/events/096a6e21-8f61-59d1-918f-b3c7babc49b8","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"}]}