You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
Description
Added Travis tests for C++17 and upgraded to Ubuntu bionic distro for all tests. PR#122.
Allow access to the coroutine context from within any function call and added GenericFuture util class. PR#117.
Added coroutine local storage (similar to thread local storage which cannot be used in certain modes such as coroutine sharing). PR#103 and PR#115. Thanks @demin80.
Added drain functionality to the Sequencer class. PR#110
Added shared coroutine mode which allows coroutines published to the any queue to be shared among all threads. This essentially allows a coroutine to run (suspend and resume) on different threads giving increased performance. Usage of thread_local should not be made in this mode. PR#96. Thanks @demin80.
Added QUANTUM_EXPORT_PKGCONFIG and QUANTUM_EXPORT_CMAKE_CONFIG to control the creation of config files. PR#99.
Generate QuantumConfig.cmake, QuantumTargets.cmake and QuantumConfigVersion.cmake files which are exported in the default location ${CMAKE_INSTALL_PREFIX}/share/cmake/Quantum. This location can now be overwritten via QUANTUM_CMAKE_CONFIG_DIR. Export Quantum::quantum target which can be imported by 3rd-party projects and applications. PR#97.
Switch to using steady_clock for time interval measurements. PR#95
Reduce contention on the run queue and added AllocatorTraits::ioQueueListAllocSize() to control the pre-allocation buffers. PR#87
API changes
V1 and V2 apis are now merged. V1 API is overloaded to take V2 signatures as well. PR#114 and PR#116.
Automatically deduce return type for all invokable functions. PR#106
Added support for compile-time determination of multiple function args. PR#107
Fixes
Added move semantics to the Quantum::Promise class. PR#118
Fix drain issue when last coroutine is still running. PR#113
Check for buffer validity in ContiguousPoolManager and fixed move constructor for HeapPoolAllocator. PR#112
Fixed memory leaks in the ContiguousPoolManager as well as Quantum::Function class. PR#104
Fixed INTERFACE_SOURCES target property as it was hard-coded to what's generated in the build server. Once installed it would not longer point to the proper file. PR#100
Changed empty condition signal to be under queue lock. PR#93
Removed boost dependency from pkg_config file. PR#89