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
8a7cfb6fb0
feat fiber: add helpers, expose any
2024-02-21 00:53:07 -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
0df0642dd1
lwt: add TCP client/server functions that use lwt channels
2024-02-17 12:40:36 -05:00
Simon Cruanes
b991a78f3e
lwt: trace the function that performs actions in batch
2024-02-17 12:40:36 -05:00
Simon Cruanes
36c6e8e900
fix build, remove some debug
2024-02-17 12:40:36 -05:00
Simon Cruanes
6bf58e3e62
perf: quicker check for []
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
f6d67028cf
feat lwt: non-blocking TCP_client.with_connect
2024-02-17 12:40:35 -05:00
Simon Cruanes
930e09e5b3
lwt: basic IO wrappers, simple TCP server wrapper
2024-02-17 12:40:35 -05:00
Simon Cruanes
d248a569f6
feat: progress on moonpool-lwt
2024-02-17 12:40:35 -05:00
Simon Cruanes
90850ae38c
wip: moonpool lwt
2024-02-17 12:40:35 -05:00
Simon Cruanes
fbc7679d05
wip: add moonpool-lwt
2024-02-17 12:40:35 -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
c8e99fd7ee
cleanup
2024-02-11 16:40:15 -05:00
Simon Cruanes
e9c09406ba
feat: add structured concurrency moonpool.fib
2024-02-11 16:40:14 -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
b8ce0c9fe3
make moonpool.forkjoin optional (only on OCaml >= 5.0)
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
Simon Cruanes
381a775d28
fix some @since tags
2024-02-09 10:07:09 -05:00
Simon Cruanes
e56dbc6a09
fix build
2024-02-07 15:49:01 -05:00
Simon Cruanes
27b213e30f
tracing: add optional name for pools
2024-02-07 13:31:48 -05:00
Simon Cruanes
8d83d5b691
perf: reduce size of Fut again
2024-01-30 17:06:20 -05:00
Simon Cruanes
4abc334ab3
fix
2024-01-30 16:38:31 -05:00
Simon Cruanes
8e9564a6f7
compat
2024-01-30 16:26:29 -05:00