<div dir="ltr">Yeah, I wrote some client binding code with async support a while back but never wrote the generators for it. I can revive the lightweight futures and sdeventplus changes that would make them more convenient to use for this purpose.<div><div><br></div><div><a href="https://gerrit.openbmc-project.xyz/q/topic:%22sdbus-client-types%22+(status:open%20OR%20status:merged)">https://gerrit.openbmc-project.xyz/q/topic:%22sdbus-client-types%22+(status:open%20OR%20status:merged)</a><br></div><div><a href="https://gerrit.openbmc-project.xyz/q/topic:%22sdevent-async%22+(status:open%20OR%20status:merged)">https://gerrit.openbmc-project.xyz/q/topic:%22sdevent-async%22+(status:open%20OR%20status:merged)</a><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 2, 2020 at 3:55 PM Patrick Williams <<a href="mailto:patrick@stwcx.xyz">patrick@stwcx.xyz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Jun 02, 2020 at 03:12:32PM -0700, Richard Hanley wrote:<br>
> Does anyone have an idea of what a good test project would be? Something of<br>
> modest size that we can look for any hidden dragons that still need taming.<br>
<br>
I'm starting work on adding coroutine support to sdbusplus as an<br>
alternative to Boost::ASIO.  I think it would be also interesting to<br>
look at sdeventplus for adding coroutine support and hopefully some<br>
convergance between the two of them to facilitate coroutine reuse<br>
(especially in the top-level scheduling portions).<br>
<br>
My main motivations are:<br>
    - Simplifying / flattening the callback lambdas associated with ASIO<br>
      by using coroutines instead.<br>
<br>
    - Use sdbusplus-coroutines as the basis for generating client<br>
      bindings.  Since the project is moving towards async applications,<br>
      there isn't much value in investing in sync client bindings.<br>
<br>
-- <br>
Patrick Williams<br>
</blockquote></div>