Commit graph

9 commits

Author SHA1 Message Date
Zachery Aaron Shores-Chmielewski
98a2733173 feat: multithreaded runtime
Runtime is now configurable. Adds a tunable config for modifying the
size of pre-allocations for actor messaging channels, and for selecting
the number of threads the runtime will use.
2026-01-25 20:31:34 +07:00
Zachery Aaron Shores-Chmielewski
c62b20c732 feat(WIP): refactor router execution
In single threaded contexts, the Router now is treated as yet another actor
on the queue. In multithreaded contexts, it gets its own dedicated thread.
2026-01-25 12:54:01 +07:00
Zachery Aaron Shores-Chmielewski
2f91c7d1bd feat(WIP): runtime/router refactor
Simplify the implementation of the multithreaded runtime and router.
2026-01-25 11:45:34 +07:00
Zachery Aaron Shores-Chmielewski
d504377ba9 feat(WIP): multithreaded runtime
Basic framework for a multithreaded runtime has been put in place. Needs
plenty of fixes to keep the logic straightforward and performant.
2026-01-25 10:39:44 +07:00
Zachery Aaron Shores-Chmielewski
2450442566 feat: refactor: split out components into modules 2026-01-23 14:09:31 +07:00
Zachery Aaron Shores-Chmielewski
a9f7abba25 feat: mvp actor ring test 2026-01-23 13:48:26 +07:00
55077dbf57 feat: rewrite (#1)
Did not like the requirement of a tokio runtime and async/await. Rewrote
to use lock free queues (`crossbeam_queue::ArrayQueue`) as the basic
primitive to enable a runtime consisting of many pseudo-processes that
can pass messages to each other.

Co-authored-by: Zachery Aaron Shores-Chmielewski <zachanon@gmail.com>
Reviewed-on: http://zachery.lol/code/code/zacheryasc/swactor/pulls/1
2026-01-23 05:00:57 +00:00
Zachery Aaron Shores-Chmielewski
b8b5b839df feat: types for request/response handling 2025-11-25 20:51:13 -05:00
Zachery Aaron Shores-Chmielewski
120ba0ec71 init
Skeletal actor framework. Somewhat unweildy, needs a message box, a better runtime, and different channels. However, hello world example works
2025-11-24 19:39:17 -05:00