Description

I'm going to explore how to work with C++ 20 coroutines and if it is possible to use them in the libzypp codebase.

Goals

  • Compile libzypp with C++20 enabled
  • Understand how to use coroutines in C++ code
  • Try to reuse existing Async classes already in libzypp

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 24

Activity

  • 3 months ago: zbenjamin started this project.
  • 3 months ago: zbenjamin originated this project.

  • Comments

    • zbenjamin
      3 months ago by zbenjamin | Reply

      Project was a success, coroutines are easily integrateable in our codebase once we have a compiler that supports them on all our target releases.

    • zbenjamin
      3 months ago by zbenjamin | Reply

      POC code is here: https://github.com/bzeller/libzypp/blob/coro-hackweek/tools/coro/main.cc

    • maciejewson4545454
      13 days ago by maciejewson4545454 | Reply

      C++20 coroutines provide a powerful tool for improving asynchronous programming, making code easier to write and more efficient in handling tasks like I/O operations and networking. In the context of libzypp, which is a package management library for openSUSE, leveraging coroutines can streamline handling complex package management tasks by allowing non-blocking operations and more responsive user interfaces. For example, instead of waiting synchronously for a package installation to complete, a coroutine could yield control back to the system while the task continues in the background. This approach mirrors the user experience of platforms like yacine tv v3, where seamless streaming and content retrieval is handled efficiently in the background, providing a smooth and uninterrupted user experience while maintaining responsive interfaces.

    Similar Projects

    This project is one of its kind!