Commit Graph

190 Commits

Author SHA1 Message Date
Kevin Ring c2aa1885cd Add `Future::isReady`. 2021-08-23 19:44:36 +10:00
Kevin Ring b64e7dc0d3 Revert "Add Future::isReady."
This reverts commit 168f2c21aa.
2021-08-23 19:43:43 +10:00
Kevin Ring 168f2c21aa Add Future::isReady. 2021-08-23 19:40:23 +10:00
Kevin Ring 84d9d94725 Formatting. 2021-08-04 14:32:09 +10:00
Kevin Ring 5fa7f7237b Fix compile errors when tracing is enabled. 2021-08-04 14:20:38 +10:00
Kevin Ring 883c40f4aa Enabling chaining to another Future in a catch. 2021-07-23 15:43:51 +10:00
Kevin Ring b7df34b49c Allow catching a shared future. 2021-07-23 13:41:35 +10:00
Kevin Ring f1ea6bd4ea Allow use of `all` with SharedFutures. 2021-07-16 15:27:58 +10:00
Kevin Ring 76b8e283a7 Fix clang error. 2021-07-16 12:46:59 +10:00
Kevin Ring d755d1c7e5 Add doc for share method. 2021-07-16 12:41:59 +10:00
Kevin Ring 3f45992843 More tests for SharedFuture 2021-07-16 12:36:54 +10:00
Kevin Ring ae04eb1f8c Fix build. 2021-07-16 12:28:53 +10:00
Kevin Ring 7d5823478f Merge remote-tracking branch 'origin/future-all' into shared-future 2021-07-16 12:16:40 +10:00
Kevin Ring 3bd41c440f Merge remote-tracking branch 'origin/async-system-tests' into future-all 2021-07-16 12:16:19 +10:00
Kevin Ring f86ab223b7 Fix race condition in tests. 2021-07-16 11:09:17 +10:00
Kevin Ring 858f7ef5eb WIP SharedFuture 2021-07-15 23:37:55 +10:00
Kevin Ring e89b5f01f6 Formatting. 2021-07-15 18:03:13 +10:00
Kevin Ring 2079b56624 Add catchImmediately, more tests. 2021-07-15 18:02:00 +10:00
Kevin Ring 7dff5a9fc9 Formatting. 2021-07-15 14:06:58 +10:00
Kevin Ring 7f6f1e3687 Add `all` method to AsyncSystem. 2021-07-15 14:06:29 +10:00
Kevin Ring 99fe6a35ac Formatting. 2021-07-14 21:32:24 +10:00
Kevin Ring e6e0561641 Move Promise to a separate file. 2021-07-14 21:31:52 +10:00
Kevin Ring 4c541cda73 Fix forwarding for WithTracing and unwrapFuture. 2021-07-14 21:25:16 +10:00
Kevin Ring d836b63b51 Rename dispatchZeroOrOneMainThreadTask to dispatchOneMainThreadTask.
And also improve its doc.
2021-07-14 17:01:51 +10:00
Kevin Ring f6f7ba4450 Merge remote-tracking branch 'origin/main' into async-system-tests 2021-07-14 16:56:54 +10:00
baothientran 050ef4019c
Merge pull request #275 from CesiumGS/catch2-with-angle
Use angle brackets to #include catch2.
2021-07-08 23:00:31 -04:00
Kevin Ring ae8977e70f Fix a mysterious thread_local related segfault. 2021-07-08 22:13:12 +10:00
Kevin Ring ad11fffb42 Add specialization for Promise<void>. 2021-07-07 14:40:10 +10:00
Kevin Ring a1ebce1dcd Allow direct creation of a Promise.
Rather than the JavaScript-like create a future by providing a callback
that is given a promise. This can be less exception safe (allow
exceptions to escape from a Future-returning method instead of being
turned into Promise rejection) but also tends to be much easier to work
with.
2021-07-07 14:12:15 +10:00
Kevin Ring b2ac5a70f6 Fix a race condition in a test. 2021-07-07 00:53:54 +10:00
Kevin Ring 8f7570ccdd Avoid slicing exception objects. 2021-07-07 00:32:46 +10:00
Kevin Ring 355c486683 Make Future::wait return T and throw on reject. 2021-07-06 23:29:59 +10:00
Kevin Ring 17a16a4dc7 AsyncSystem test improvements. 2021-07-06 22:12:42 +10:00
Kevin Ring 2c88c6c282 Formatting. 2021-07-06 19:02:18 +10:00
Kevin Ring 490114c648 Add some tests for AsyncSystem. 2021-07-06 19:01:46 +10:00
Kevin Ring 4e45bab460 Use angle brackets to #include catch2. 2021-07-04 22:57:11 +10:00
Kevin Ring bf25e2b925 Changes from review. 2021-06-30 09:53:24 +10:00
Kevin Ring a74941bf53 Refactor schedulers. 2021-06-27 22:37:32 +10:00
Kevin Ring 287bde9573 typedef -> using 2021-06-26 23:25:08 +10:00
Kevin Ring f0ee99a714 Actually track the thread pool threads. 2021-06-26 23:14:12 +10:00
Kevin Ring 38a1faea12 Better names for tracing macros. 2021-06-26 00:11:52 +10:00
Kevin Ring 8b7832ba83 WIP overhaul of macros for tracing across threads. 2021-06-25 21:11:40 +10:00
Kevin Ring a711e01f24 Add doc about AsyncSystem lifetime woes. 2021-06-24 17:06:34 +10:00
Kevin Ring 669bdefeec Fix clang warnings. 2021-06-22 21:00:28 +10:00
Kevin Ring e0865d075a Formatting. 2021-06-22 20:44:54 +10:00
Kevin Ring 43c5b3d474 Fix test failures. 2021-06-22 18:17:32 +10:00
Kevin Ring 628b11325d Formatting. 2021-06-22 17:35:53 +10:00
Kevin Ring 6ece726757 Fix problems when tracing is disabled. 2021-06-22 17:19:33 +10:00
Kevin Ring 0fa144f516 Make "immediately" the default for continuations. 2021-06-22 15:31:30 +10:00
Kevin Ring f7e4bb9d66 Allow trace begin/end to be outside async process. 2021-06-22 14:06:50 +10:00