Simon Cruanes
ad4ddc6816
refactor: split off domain pool to moonpool.dpool
2024-03-04 20:57:49 -05:00
Simon Cruanes
9df848cd17
breaking: remove Immediate_runner
...
it never really supported all that a runner should (effects, scheduling
other tasks, etc.)
2024-03-04 20:49:34 -05:00
Simon Cruanes
25104ce3b7
feat fifo: expose private interface for the main runner threads
2024-03-04 20:49:34 -05:00
Simon Cruanes
51459f9b0b
feat: add Runner.dummy
2024-03-04 20:49:34 -05:00
Simon Cruanes
8c10c2b329
expose Task_local_storage.get_current
2024-03-04 20:49:34 -05:00
Simon Cruanes
45b8aa9999
cleanup the local storage APIs
2024-03-04 20:49:34 -05:00
Simon Cruanes
953947f694
feat local-storage: expose get/set with explicit storage
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
4195d4d61c
feat: add Task_local_storage.get_opt
2024-02-29 15:29:08 -05:00
Simon Cruanes
a2ea24551b
compat
2024-02-27 22:48:23 -05:00
Simon Cruanes
42d16465c3
compat
2024-02-27 22:35:07 -05:00
Simon Cruanes
c39435d8eb
fix fifo_pool: resume can be called from another worker
...
we might schedule on worker 1, suspend, resume on worker 2,
and resume from there.
2024-02-27 22:31:25 -05:00
Simon Cruanes
bfd70dc5c2
fix fiber: spawn sub-fiber with a copy of current local storage
2024-02-27 22:11:50 -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
b9cf0616b8
fifo pool: format, use with_suspend unconditionally
2024-02-27 21:23:02 -05:00
Simon Cruanes
e94c7999de
suspend: provide dummy with_suspend_handler on 4.xx
2024-02-27 21:22:48 -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
83ae0e7a4e
do not expose ?ls for Fut.spawn
2024-02-20 13:51:41 -05:00
Simon Cruanes
8614d4be40
simplify implem for background_thread for now
2024-02-20 13:45:05 -05:00
Simon Cruanes
4bf456e1ea
feat: add Background_thread
...
a version of `Fifo_pool` optimized for a single thread.
2024-02-20 13:43:06 -05:00
Simon Cruanes
8bfe76b3e0
improve docs for moonpool_lwt; fix race condition
2024-02-17 12:40:36 -05:00
Simon Cruanes
e0f5b5bbcb
fix build
2024-02-17 12:40:36 -05:00
Simon Cruanes
6f707c869c
chore
2024-02-17 12:40:36 -05:00
Simon Cruanes
a5eef687c8
expose Tracing
2024-02-17 12:40:35 -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
4ab76d5084
details
2024-02-14 14:57:22 -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
e8e61f6b30
feat: improve task local storage
2024-02-12 12:04:36 -05:00
Simon Cruanes
41b73462dd
fix in task_local_storage
2024-02-12 11:33:09 -05:00
Simon Cruanes
b32bf3ea3c
fix in task local storage
2024-02-12 11:30:29 -05:00
Simon Cruanes
3c8bb7d5e8
cleanup
2024-02-11 16:40:15 -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
13d26783c7
fix
2024-02-11 16:40:14 -05:00
Simon Cruanes
44c155751c
fix
2024-02-11 16:40:14 -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
2f11fd75df
feat: add Exn_bt to core
2024-02-11 16:40:14 -05:00
Simon Cruanes
49c6cd3f53
doc
2024-02-11 16:40:14 -05:00
Simon Cruanes
e14fef2834
remove deprecated Moonpool.Pool
2024-02-11 16:39:44 -05:00
Simon Cruanes
223f22a0d9
breaking: move fork-join into sub-library moonpool.forkjoin
2024-02-11 16:39:44 -05:00
Simon Cruanes
37c42b68bc
fix
2024-02-11 16:39:44 -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