Commit graph

25 commits

Author SHA1 Message Date
Simon Cruanes
0d8767f45f
prepare for 0.7 2024-09-10 08:54:07 -04:00
Simon Cruanes
9b3c75124e
simon/move to picos (#30)
* feat: depend on picos, use picos.exn_bt

* refactor: remove dla

* non optional dependency on thread-local-storage

it's a dep of picos anyway

* wip: use picos computations

* disable t_fib1 test, way too flaky

* feat `fut`: wrap picos computations

* detail in fut

* gitignore

* refactor core: use picos for schedulers; add Worker_loop_

we factor most of the thread workers' logic in `Worker_loop_`,
which is now shared between Ws_pool and Fifo_pool

* github actions

* feat fut: add `on_result_ignore`

* details

* wip: port to picos

* test: wip porting tests

* fix fut: trigger failing to attach doesn't signal it

* fix pool: only return No_more_tasks when local and global q empty

* format

* chore: fix CI by installing picos first

* more CI

* test: re-enable t_fib1 but with a single core fifo pool

it should be deterministic now!

* fixes after reviews

* bump minimal OCaml version to 4.13

* use `exn_bt`, not `picos.exn_bt`

* feat: optional dep on hmap, for inheritable FLS data

* format

* chore: depend on picos explicitly

* feat: move hmap-fls to Fiber.Fls

* change API for local FLS hmap

* refactor: move optional hmap FLS stuff into core/task_local_storage

* add Task_local_storage.remove_in_local_hmap

* chore: try to fix CI

* format

* chore: CI

* fix

* feat: add `Fls.with_in_local_hmap`

* chore: depend on hmap for tests

* fix test for FLS

use the inheritable keys

* chore: CI

* require OCaml 4.14 :/

* feat: add `moonpool.sync` with await-friendly abstractions

based on picos_sync

* fix: catch TLS.Not_set

* fix: `LS.get` shouldn't raise

* fix

* update to merged picos PR

* chore: CI

* fix dep

* feat: add `Event.of_fut`

* chore: CI

* remove dep on now defunct `exn_bt`

* feat: add moonpool-io

* chore: CI

* version constraint on moonpool-io

* add Event.Infix

* move to picos_io
2024-09-04 12:04:27 -04:00
Simon Cruanes
265d4f73dd
move to thread-local-storage 0.2 with get/set API 2024-08-16 10:07:51 -04:00
Simon Cruanes
0750e6af41
prepare for 0.6 2024-04-02 12:51:57 -04:00
Simon Cruanes
8e6340846a
ensure that tests belong to the correct package 2024-03-21 10:32:41 -04:00
Simon Cruanes
6f707c869c
chore 2024-02-17 12:40:36 -05:00
Simon Cruanes
fbc7679d05
wip: add moonpool-lwt 2024-02-17 12:40:35 -05:00
Simon Cruanes
cc8860c6e3
split into moonpool.private and moonpool; format; remove DLA 2024-02-11 16:39:43 -05:00
Simon Cruanes
092ad5f2ce
feat: support for trace as a depopt
one can now give tasks an optional string "name". If `Trace`
is present (installed) and enabled, this results in
a span around the task's execution. This also plays ok
with `await` and other effect-based primitives.
2024-01-30 16:10:11 -05:00
Simon Cruanes
019cea2d5c
prepare for 0.5.1 2023-11-24 23:59:10 -05:00
Simon Cruanes
fd2102c7fe
prepare for 0.5 2023-11-08 12:38:40 -05:00
Simon Cruanes
e67bffeca5
ws_pool: use TLS for quick worker storage access; reduce contention 2023-10-27 15:18:50 -04:00
Simon Cruanes
9a1309c44f
chore: add keywords in opam 2023-10-25 22:03:35 -04:00
Simon Cruanes
60255c0e95
test: add dep on trace-tef; add new test for scheduling issues
trying to expose that sometimes, some workers might be asleep while
others do several tasks, because they're sleeping on the "wrong" queue
2023-10-24 10:03:46 -04:00
Simon Cruanes
43ca60ff15
prepare for 0.4 2023-08-29 14:26:55 -04:00
Simon Cruanes
8e9628ac81
prepare for 0.3 2023-07-16 23:36:34 -04:00
Simon Cruanes
a266a42628 support for domain-local-await when installed 2023-07-05 22:19:18 -04:00
Simon Cruanes
4e112e1591
add some property tests 2023-06-15 21:34:33 -04:00
Simon Cruanes
7707a7c1ce
prepare for 0.2 2023-06-15 14:26:28 -04:00
Simon Cruanes
5c462dd688
add trace as test dep 2023-06-12 22:07:19 -04:00
Simon Cruanes
bc949727d6
prepare for 0.1 2023-06-10 00:21:47 -04:00
Simon Cruanes
d9eee6eb50
details 2023-06-01 22:34:14 -04:00
Simon Cruanes
5dcfab7cce
require 4.08; add infix operators; add dep on Either 2023-06-01 21:34:27 -04:00
Simon Cruanes
2f0cf1970e
require ocaml >= 4.05; use mdx for the readme 2023-05-30 23:52:09 -04:00
Simon Cruanes
1619f8b773
initial commit 2023-05-30 23:03:05 -04:00