Developer
59845f4059
feat: Docker realization, node binary, docs reorg, and simulation testing
...
Docker realization (bridging simulation to real TCP):
- NodeDriver (`crates/distribution/src/driver.rs`): bridges DistributedNode
tick loop to TcpTransport with piggyback-extended wire messages
- swactor-node binary (`crates/node/`): CLI node with --listen, --seed,
--dashboard-port, --actors flags
- Dockerfile: multi-stage build (rust:1.93-slim → debian:bookworm-slim)
- Docker integration tests (`tests/docker/`): 5-node cluster with 4
scenarios (convergence, failure detection, actor resolution, rejoin)
- LAN cluster scripts for cross-machine validation
- TCP transport retry-on-stale-connection logic
- /api/distribution REST endpoint on dashboard (feature-gated)
- Piggyback fields (piggyback + from_addr) on Ping/Ack/PingReq messages
Docs reorganization:
- docs/runtime/ — actor-model, runtime, worker-thread, channels
- docs/distribution/ — distribution, swim, kademlia, transport
- docs/diagrams/ — all SVG files
- docs/connectome/ — connectome analysis
- docs/development_history/ — DOCKER_REALIZATION.md, SIMULATION_TESTING.md
- render_docs.sh outputs to docs/diagrams/
- README links updated to new paths
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 07:45:44 +00:00
78cbd80803
skeleton of wasm runner actors ( #32 )
2026-02-13 07:42:44 +00:00
f4f26c9f41
major feature update
...
Improve the runtime, increase test coverage, add new actor types for monitoring and supervision to an `std` crate.
2026-02-13 07:11:24 +00:00
2da9198ee9
fix: stats datatypes and refactor channel signature ( #28 )
2026-02-10 07:35:58 +00:00
ef08d3e7a5
feat: transport protocol ( #27 )
...
Address actors via ID, send messages over transport (TCP, QUIC, etc)
2026-02-09 19:05:37 +00:00
09504d0b67
cfuzz ( #22 )
2026-02-09 07:24:16 +00:00
282fcc3d01
refactor: better tests ( #18 )
...
Still unsatisfied, but these are better than before.
2026-02-07 17:29:01 +00:00
Zachery Aaron Shores-Chmielewski
d3fdf9e550
feat: worker thread api ( #6 )
...
Make the worker thread api clearly seperated and ready for test harness
2026-02-06 21:45:19 +07:00
85c7c557ee
feat: python bindings ( #7 )
...
Python bindings allowing us to interact with the library in a python REPL
2026-02-06 12:47:51 +00:00
5a9af73de6
refactor: major library changes ( #5 )
...
Refactoring to logically separate component modules in order to make it easier to develop tests, metrics, tracing, etc.
2026-02-06 11:25:37 +00:00
Zachery Aaron Shores-Chmielewski
c56a05433f
feat: Stress tests, benchmarking, and non-failing queues and inboxes #3
...
Adds some basic benchmarking, stress tests. They still need to be properly examined to ensure they are testing the correct properties, but fit for "good enough". Implements the HybridChannel type, which features a channel buffer that can withstand overflows. It does so by providing a dequeue behind a mutex. Without overflow, will push messages into the lock free ArrayQueue implemented by crossbeam_queue; when that buffer fills, will use the locking portion provided by the Mutex<VecDequeue>.
In the future we can even further optimize this, perhaps with some linked list implementations of lock-free channels, but, like the benchmarks, this fits the "good enough" bar for now.
2026-01-26 14:14:00 +07:00
b422605f6b
feat: Multithreaded runtime ( #2 )
...
Implements a tunable configuration for a single or multi-threaded runtime.
Co-authored-by: Zachery Aaron Shores-Chmielewski <zachanon@gmail.com>
Reviewed-on: http://zachery.lol/code/code/zacheryasc/swactor/pulls/2
2026-01-25 13:38:34 +00:00