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
66f95df3b4
add Fiber.{return,fail}
2024-03-04 20:49:34 -05:00
Simon Cruanes
5817a8aee7
revert nurseries
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
4325fda345
update tests
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
cec77d2ee9
doc
2024-03-04 20:49:34 -05:00
Simon Cruanes
9d392b1ba6
fix
2024-03-01 14:58:28 -05:00
Simon Cruanes
4195d4d61c
feat: add Task_local_storage.get_opt
2024-02-29 15:29:08 -05:00
Simon Cruanes
7b5ecffc8c
add Fiber.spawn_top_or_link
2024-02-29 15:08:06 -05:00
Simon Cruanes
39cdc37613
feat fiber: expose add_on_cancel/remove_on_cancel
...
also make it more robust by using a map
2024-02-28 22:50:19 -05:00
Simon Cruanes
62770a87b5
try to make test more deterministic
2024-02-28 00:18:27 -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
22f43670a7
update tests
2024-02-27 22:32:14 -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
c975634837
test: update fiber tests
2024-02-27 22:13:52 -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
bd7a48a4b4
make test slightly less heavy
2024-02-27 21:30:37 -05:00
Simon Cruanes
dac1450d54
update tests
2024-02-27 21:25:07 -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
55b975017f
hash server test: use artificial, pre-generated data
...
this way the test won't be broken every time we change the source
code(!)
2024-02-27 21:20:19 -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
4cdec87aea
add some tests for fiber
2024-02-21 00:53:24 -05:00
Simon Cruanes
8a7cfb6fb0
feat fiber: add helpers, expose any
2024-02-21 00:53:07 -05:00
Simon Cruanes
cb8668f3dc
simplify test
2024-02-20 22:21:11 -05:00
Simon Cruanes
38df050a13
gh pages
2024-02-20 21:57:15 -05:00
Simon Cruanes
2faf78564d
CI
2024-02-20 21:00:49 -05:00
Simon Cruanes
a6d6eec6c7
CI: make test mroe deterministic, run tests with all depopts
2024-02-20 20:35:54 -05:00
Simon Cruanes
a8f874e4ab
test
2024-02-20 20:26:37 -05:00
Simon Cruanes
101d15f874
fix race conditions in tests
2024-02-20 19:57:58 -05:00
Simon Cruanes
d94a197381
try to fix tests
2024-02-20 18:48:10 -05:00
Simon Cruanes
b58a55536c
do not require libev
2024-02-20 18:43:53 -05:00
Simon Cruanes
fa5ae97b6d
restrict moonpool-lwt tests to 5.0
2024-02-20 18:39:27 -05:00
Simon Cruanes
f68f27a4a4
echo server tests for moonpool-lwt
2024-02-20 18:34:35 -05:00
Simon Cruanes
004f5fc82b
test: add a test for the hash server+client
2024-02-20 18:25:18 -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
df8b284a0d
Merge pull request #22 from c-cube/wip-pool-lwt
...
moonpool-lwt, for interop with lwt
2024-02-20 12:00:49 -05:00
Simon Cruanes
ed6db54b1a
update tests
2024-02-17 12:40:37 -05:00
Simon Cruanes
8bfe76b3e0
improve docs for moonpool_lwt; fix race condition
2024-02-17 12:40:36 -05:00
Simon Cruanes
283a1cb118
test: add hash server/client
...
the protocol: send a filename per line over TCP, and the server
replies with the filename and its content's hash
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