Jason Volk
2eb4b84019
ircd::ctx: Add missing shared_state already_t w/ value ctor.
2020-10-15 04:55:38 -07:00
Jason Volk
5b2216fb63
ircd::ctx::shared_state_base: Add assertions; comments; minor cleanup.
2019-09-08 16:31:21 -07:00
Jason Volk
0a4cfc59be
ircd::ctx: Minor cleanup; tweak promise union; noexcept and linkage for ctors.
2019-09-07 13:45:43 -07:00
Jason Volk
9adba1b9dc
ircd::ctx: No need for mutable here.
2019-09-03 22:07:50 -07:00
Jason Volk
1210523757
ircd::ctx: Support shared futures.
2019-09-03 15:56:14 -07:00
Jason Volk
f211cc7429
Revert "ircd::ctx: Create vtables for promise and future."
...
This reverts commit d119d9a8c6
.
2019-09-01 21:06:30 -07:00
Jason Volk
d119d9a8c6
ircd::ctx: Create vtables for promise and future.
2019-08-29 14:17:46 -07:00
Jason Volk
a91cdeec0c
ircd::ctx: Reorg / abstract / deinline promise related.
2018-10-30 12:18:16 -07:00
Jason Volk
76e48b3ef3
ircd::ctx: Test for valid then() before calling from here.
2018-08-28 18:58:09 -07:00
Jason Volk
668d12bf72
ircd::ctx: Fix future_state test grate.
2018-07-06 16:33:53 -07:00
Jason Volk
da5d767431
ircd::ctx: Fix pointer punning in promise / shared_state.
2018-07-06 00:26:34 -07:00
Jason Volk
3fcb8a1236
ircd::ctx: Simplify promise notify continuation for now.
2018-04-27 19:09:26 -07:00
Jason Volk
8d91c90574
ircd::ctx: yield the promise-notifying ctx until any then() has posted.
2018-04-07 05:00:55 -07:00
Jason Volk
b0c687ea0e
ircd::ctx: Assertions for calling then().
2018-04-07 05:00:54 -07:00
Jason Volk
4ac88356d9
ircd::ctx: Ignore strict aliasing for hacks we never dereference.
2018-03-23 23:11:03 -07:00
Jason Volk
fbcc64fbbd
ircd::ctx: Atomize the dock notification and the then callback during promise notify().
2018-03-15 13:16:28 -07:00
Jason Volk
fbb9cf0196
ircd::ctx: Cleanup/improve the shared_state states.
2018-03-15 11:59:25 -07:00
Jason Volk
da5bca588d
ircd::ctx: Have future inherit from the shared_state rather than class member.
2018-03-14 13:16:06 -07:00
Jason Volk
465e0f526c
ircd::ctx: Move when_any()/when_all() into file.
2018-03-14 11:25:53 -07:00
Jason Volk
07c1356dae
ircd::ctx: Improve promise / future behaviors; cleanup.
2018-03-10 23:04:59 -08:00
Jason Volk
30700b2ad8
ircd::ctx: Support future continuation.
2018-03-10 23:04:59 -08:00
Jason Volk
00ba8ebdb4
ircd::ctx: Factor shared_ptr out of promise/future.
2018-03-10 23:04:58 -08:00
Jason Volk
4fa33bdc60
Revert "ircd::ctx: Add nodejs-style future::then() rather than libstd experimental TS."
...
This reverts commit 37569559cf
.
2018-03-09 19:41:16 -08:00
Jason Volk
37569559cf
ircd::ctx: Add nodejs-style future::then() rather than libstd experimental TS.
2018-03-07 09:13:55 -08:00
Jason Volk
6d0c74a064
ircd::ctx: Remove the promise/state reset(): should expect assignment instead.
2018-03-07 09:07:13 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
c77ee478e5
ircd::ctx: Add custom refcnt to allow copyable promise.
2017-12-29 15:32:08 -07:00
Jason Volk
d9a4f06bf6
ircd: Employ namespace scope extensions from c++1z/gnu++14.
...
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk
2f645941a8
ircd::ctx: Move ctx headers into directory.
2016-11-13 16:29:45 -08:00