luncliff/coroutine

Working with Concurrency TS

luncliff opened this issue · 2 comments

Final decision for the issue

Discarding this suggestion since most of the TS features won't be used in test/example codes.
latch is appropriate, but the others are not that much ...
Also, it will be a heavy burden for their maintenance to enforce standard interfaces. The future code will allow <coroutine/concrt.h> to use some well-known system API functions.

Note

There are already similar features in Concurrency TS.

Replacing the current code will be helpful for later maintenance. And it also meets the purpose of the repository: providing an example.

Interface

Candidate for the replacement is sync.h.

// from <coroutine/sync.h>
#include <coroutine/concurrency_adapter.h>

After implementation, the header dependency must remain same.

  • concurrency_adapter.h from sync.h
  • suspend.h
    • uses concurrency_adapter.h, but not included in the file

Issues

  • Possible header collision(redefinition of codes)
  • Using another library for the TS
    • Dependency management Issue
    • License

References

Latch

Windows Concurrency Runtime has event class. Sadly, the type doesn't support alertible wait...

Concurrent Queue

  • Windows Concurrency Runtime

Windows API already has its own one. What about the others?
Intel TBB can be adapted for the other platform.

The concern is that unnecessary large build than what is required for this library.

Future/Promise