Simon Cruanes
45b8aa9999
cleanup the local storage APIs
2024-03-04 20:49:34 -05:00
Simon Cruanes
37751c79e4
introduce Fiber.Nursery.t; change local storage accordingly
2024-03-04 20:49:34 -05:00
Simon Cruanes
856dc85d41
refactor ws_pool: do not nest effect handlers; fixes
...
- we differentiate between starting a task and resuming a task
- we dynamically find if we're on one of the pool's runner
in `resume`/`run_another_task` in the main suspend handler
(this way we can use the local work stealing queue
if we're in the same pool, even if we're not on the
worker that ran the "suspend" call itself)
2024-02-27 21:23:37 -05:00
Simon Cruanes
ed171c1171
fix ws_pool: make sure we capture the current worker before suspend
2024-02-23 20:54:51 -05:00
Simon Cruanes
cf8555bcec
revert: remove name on futures and tasks
...
async tracing will be more robust, and is enabled by
task local storage
2024-02-17 12:40:02 -05:00
Simon Cruanes
2a42f15e37
feat: pass task local storage in run_async
...
the idea is that we could use this to pass storage
around in `Fut` combinators, but I'm not sure that's actually
a good idea.
2024-02-14 14:54:18 -05:00
Simon Cruanes
712a030206
refactor: streamline suspend, make most of it 5.0-dependent
2024-02-11 16:40:15 -05:00
Simon Cruanes
f7449416e4
restore DLA
2024-02-11 16:40:15 -05:00
Simon Cruanes
e8cc87f1f5
fixes
2024-02-11 16:40:14 -05:00
Simon Cruanes
65fd89708e
add task_local_storage to core, modify how suspend works
2024-02-11 16:40:14 -05:00
Simon Cruanes
b0fe279f42
more internal refactor
2024-02-11 16:39:44 -05:00
Simon Cruanes
cc8860c6e3
split into moonpool.private and moonpool; format; remove DLA
2024-02-11 16:39:43 -05:00