cozis
|
569213e512
|
readme: mention how to include zigmulator in a project
|
2026-06-20 17:23:05 +02:00 |
|
cozis
|
38c52a67c2
|
build: add .zon file
|
2026-06-20 17:21:46 +02:00 |
|
cozis
|
80f1667695
|
simulator: increase default interval for partition and crash events
|
2026-06-20 17:10:42 +02:00 |
|
cozis
|
60d4306856
|
node: remove local_time and use the scheduler's global time instead
|
2026-06-20 16:47:31 +02:00 |
|
cozis
|
91a515cf87
|
io_interface: properly propagate error.Canceled to caller
|
2026-06-20 16:08:11 +02:00 |
|
cozis
|
7f3e129337
|
build: add crash_recovery.zig to build.zig
|
2026-06-20 14:25:35 +02:00 |
|
cozis
|
3c5b88223c
|
examples: add example that tests node crash injection
|
2026-06-20 14:25:08 +02:00 |
|
cozis
|
b5ee1f0885
|
simulator: add automatic inection of node crashes
|
2026-06-20 14:23:59 +02:00 |
|
cozis
|
987ba52068
|
node: support crash and restart
|
2026-06-20 14:17:43 +02:00 |
|
cozis
|
d6e098cf40
|
scheduler: support crashing and restarting tasks
|
2026-06-20 14:14:19 +02:00 |
|
cozis
|
5163adc087
|
sometimes: note possible mutable site symbol
|
2026-06-20 10:05:07 +02:00 |
|
cozis
|
dd2c5b1ec9
|
simulator: add per-step events
|
2026-06-20 10:03:12 +02:00 |
|
cozis
|
b0a167036c
|
simulator: add unified fault control
|
2026-06-20 10:02:29 +02:00 |
|
cozis
|
7a2a841395
|
node: add fault enable toggle
|
2026-06-20 09:58:51 +02:00 |
|
cozis
|
638d8073b0
|
io_interface: return peer address from accept
|
2026-06-20 09:55:29 +02:00 |
|
cozis
|
a4714b07e6
|
node: expose remote socket address
|
2026-06-20 09:54:57 +02:00 |
|
cozis
|
58f8fc7581
|
examples: give clients network addresses
|
2026-06-20 09:54:04 +02:00 |
|
cozis
|
9dc7bea95c
|
io_interface: map addressless connect
|
2026-06-20 09:53:45 +02:00 |
|
cozis
|
f34b542582
|
network: track socket addresses
|
2026-06-20 09:53:13 +02:00 |
|
cozis
|
3f96898f54
|
io_interface: implement fileSetLength
|
2026-06-20 09:46:35 +02:00 |
|
cozis
|
edecb61ba4
|
node: add setFileLength
|
2026-06-20 09:46:14 +02:00 |
|
cozis
|
13f001e317
|
file_system: add setFileLength
|
2026-06-20 09:45:59 +02:00 |
|
cozis
|
2c5afbd283
|
sometimes: don't report reachableSometimes in the N/M form
|
2026-06-19 17:03:55 +02:00 |
|
cozis
|
93b4efbb2f
|
node: add injection of partial reads and writes
|
2026-06-19 16:57:47 +02:00 |
|
cozis
|
6d27a5fcec
|
examples: add example that tests whether fault injection reaches interesting branches
|
2026-06-19 16:57:19 +02:00 |
|
cozis
|
c37d29977d
|
examples: add fault coverage example
|
2026-06-19 15:52:03 +02:00 |
|
cozis
|
306aa88f00
|
simulator: add network partition fault injection
|
2026-06-19 15:51:53 +02:00 |
|
cozis
|
e8ba94b418
|
partition_policy: add partition shape policy
|
2026-06-19 15:51:38 +02:00 |
|
cozis
|
0b792274e3
|
network: honor partitions in connect and send
|
2026-06-19 15:51:26 +02:00 |
|
cozis
|
50dea84f1d
|
partition: add broken-link tracking
|
2026-06-19 15:51:13 +02:00 |
|
cozis
|
08518e15ad
|
io_interface: implement dirRename
|
2026-06-19 13:41:15 +02:00 |
|
cozis
|
5b1e8c5d24
|
node: add rename
|
2026-06-19 13:41:04 +02:00 |
|
cozis
|
89e5fff8a4
|
file_system: add rename
|
2026-06-19 13:40:50 +02:00 |
|
cozis
|
3a0eab16a7
|
examples: add example for sometimes assertions
|
2026-06-19 13:27:03 +02:00 |
|
cozis
|
fa09d425a0
|
examples: minor cleanup
|
2026-06-19 13:26:47 +02:00 |
|
cozis
|
e98630cafd
|
simulator: expose reachableSometimes via Simulator
|
2026-06-19 13:26:24 +02:00 |
|
cozis
|
d3def64bba
|
sometimes: implement reachableSometimes and build a list of sometimes branches at compile-time
|
2026-06-19 13:25:59 +02:00 |
|
cozis
|
9f867c71ee
|
examples: explicitly dump sometimes assertions report in example.zig
|
2026-06-19 13:02:16 +02:00 |
|
cozis
|
53aa509153
|
simulator: expose sometimes assertions via the simulator object
|
2026-06-19 13:01:04 +02:00 |
|
cozis
|
9e56a63360
|
sometimes: implement registry of sometimes assertions
|
2026-06-19 13:00:44 +02:00 |
|
cozis
|
43a24f4771
|
readme: update README.md and add DST.md
|
2026-06-09 15:38:35 +02:00 |
|
cozis
|
890d16fa7b
|
readme: add timeline diagram image
|
2026-06-08 12:44:20 +02:00 |
|
cozis
|
b7d748d081
|
misc: ignore .html and .txt files
|
2026-06-08 12:36:25 +02:00 |
|
cozis
|
6133b7cb60
|
build: add timeline_html, timeline_ascii, strace commands to build.zig to easily generate diagrams from a trace
|
2026-06-08 12:36:09 +02:00 |
|
cozis
|
720d20d3e0
|
diagram: add program to generate various visual representations of the simulation trace
|
2026-06-08 12:35:34 +02:00 |
|
cozis
|
b49025bc39
|
examples: log output of tcp_ping_pong to simulation.log
|
2026-06-08 11:33:43 +02:00 |
|
cozis
|
6b0ba04058
|
misc: ignore .log files
|
2026-06-08 11:33:13 +02:00 |
|
cozis
|
7423d8fad7
|
trace: minor fix
|
2026-06-08 11:31:35 +02:00 |
|
cozis
|
aa9c3b7274
|
trace: write traced events to disk
|
2026-06-08 11:28:57 +02:00 |
|
cozis
|
a8ac2773f9
|
simulator: add setTraceOutputFile to enable tracing and specify the output file
|
2026-06-08 11:00:49 +02:00 |
|
cozis
|
4b2c103e71
|
trace: add backing file handle
|
2026-06-08 10:59:31 +02:00 |
|
cozis
|
57527c270e
|
scheduler: call taskState
|
2026-06-08 10:46:47 +02:00 |
|
cozis
|
53ad5b297a
|
trace: add taskState
|
2026-06-08 10:45:30 +02:00 |
|
cozis
|
3b5e7f54d4
|
scheduler: call timeAdvanced
|
2026-06-08 10:41:52 +02:00 |
|
cozis
|
7c642e384e
|
trace: add timeAdvanced
|
2026-06-08 10:40:56 +02:00 |
|
cozis
|
d7f9eb2a51
|
scheduler: call taskSpawned and taskRemoved
|
2026-06-08 10:39:48 +02:00 |
|
cozis
|
a3dbb48718
|
trace: add taskSpawned and taskRemoved
|
2026-06-08 10:39:34 +02:00 |
|
cozis
|
34faa08f68
|
scheduler: call enterTask/leaveTask when context switching
|
2026-06-08 10:37:17 +02:00 |
|
cozis
|
f09afaa5a8
|
trace: add enterTask and leaveTask
|
2026-06-08 10:35:17 +02:00 |
|
cozis
|
ea3da4004d
|
node: call tracing functions when doing I/O
|
2026-06-08 10:30:19 +02:00 |
|
cozis
|
7c7ef6db6f
|
trace: add dummy implementation of the tracing object
|
2026-06-08 10:23:46 +02:00 |
|
cozis
|
3676ceb9c4
|
node: use random delays instead of static ones when simulating I/O delay
|
2026-06-08 10:19:16 +02:00 |
|
cozis
|
d77714e11a
|
scheduler: pick ready tasks randomly
|
2026-06-08 10:12:41 +02:00 |
|
cozis
|
bad44c36f1
|
simulator: Add PRNG field
|
2026-06-08 10:11:00 +02:00 |
|
cozis
|
92f301ea40
|
node: add local_time and increment it by a fixed amount any time a task runs
|
2026-06-08 10:05:52 +02:00 |
|
cozis
|
4e3cae8cc8
|
simulator: remove tests
|
2026-06-08 10:02:24 +02:00 |
|
cozis
|
36752f6d0e
|
io_interface: implement fileSync mock
|
2026-06-04 19:09:02 +02:00 |
|
cozis
|
9769188fc9
|
file_system: expose syncFile from FileSystem
|
2026-06-04 19:08:28 +02:00 |
|
cozis
|
e9884fbe85
|
file_system: add no-op syncFile
|
2026-06-04 19:06:33 +02:00 |
|
cozis
|
69b9ddfc72
|
node: make accept blocking
|
2026-06-04 18:20:14 +02:00 |
|
cozis
|
ec0659e921
|
network: allow send on not yet connected sockets
|
2026-06-04 18:15:09 +02:00 |
|
cozis
|
0a8123b158
|
io_interface: propagate cancellation errors
|
2026-06-04 18:03:01 +02:00 |
|
cozis
|
140a64d609
|
io_interface: implement recancel and checkCancel mocks
|
2026-06-04 17:59:49 +02:00 |
|
cozis
|
64c229afb4
|
io_interface: drain canceled groups
|
2026-06-04 17:57:41 +02:00 |
|
cozis
|
e1fc8c6125
|
io_interface: actually cancel tasks when calling the groupCancel mock
|
2026-06-04 17:54:39 +02:00 |
|
cozis
|
d1ee873388
|
io_interface: properly call futexWaitUncancelable from the mock
|
2026-06-04 17:53:02 +02:00 |
|
cozis
|
20007f3c6b
|
node: expose futexWaitUncancelable from the scheduler
|
2026-06-04 17:52:29 +02:00 |
|
cozis
|
4f35537e3d
|
scheduler: add futexWaitUncancelable
|
2026-06-04 17:51:58 +02:00 |
|
cozis
|
f90d4d883d
|
scheduler: wake canceled tasks
|
2026-06-04 17:49:53 +02:00 |
|
cozis
|
fe1acaee8c
|
scheduler: make task wait cancellable
|
2026-06-04 17:47:05 +02:00 |
|
cozis
|
445fd2fd7f
|
scheduler: Make sleep cancellable
|
2026-06-04 17:44:02 +02:00 |
|
cozis
|
1c1cc1041a
|
node: Expose recancel and checkCancel at the node layer
|
2026-06-04 17:36:21 +02:00 |
|
cozis
|
a01858aede
|
scheduler: Add recancel and checkCancel to help manage cancellation state
|
2026-06-04 17:36:01 +02:00 |
|
cozis
|
b57cb8e87b
|
node: Expose .cancel at the node layer
|
2026-06-04 17:32:38 +02:00 |
|
cozis
|
144de52f27
|
scheduler: Add cancellation flag to Task and .cancel method to set it from the parent
|
2026-06-04 17:31:15 +02:00 |
|
cozis
|
cf6c78577b
|
io_interface: Add mocks for futexWait, futexWaitUncancelable, futexWake
|
2026-06-04 13:44:48 +02:00 |
|
cozis
|
3b3fc75f1b
|
node: Expose futexes at the node level
|
2026-06-04 13:43:15 +02:00 |
|
cozis
|
cde2061b3c
|
scheduler: Implement futexes at the scheduler level
|
2026-06-04 13:41:47 +02:00 |
|
cozis
|
3bdcce3ade
|
io_interface: First mock of the Group-related methods
|
2026-06-04 13:38:35 +02:00 |
|
cozis
|
ce51e82363
|
scheduler: Minor bug fix
|
2026-06-04 13:38:03 +02:00 |
|
cozis
|
f61bb93a22
|
node: Expose the scheduler's sub-task APIs through Node
|
2026-06-04 13:34:36 +02:00 |
|
cozis
|
1f5e185bec
|
scheduler: Implement spawning of nested tasks
|
2026-06-04 13:32:12 +02:00 |
|
cozis
|
aec8ff5154
|
io_interface: Modify netWrite to only block while reading into the first slice
|
2026-06-02 13:54:33 +02:00 |
|
cozis
|
38ae508c49
|
node: Add boolean argument to readSocket to switch between blocking and non-blocking mode
|
2026-06-02 13:49:22 +02:00 |
|
cozis
|
1250375063
|
network: Implement isConnected to determine whether a connection socket is connected or not
|
2026-06-02 13:46:41 +02:00 |
|
cozis
|
227cf5c03e
|
scheduler: Add canary bytes to detect stack overflows
|
2026-06-02 12:10:19 +02:00 |
|
cozis
|
c922ed62e1
|
file_system: Improve output of the dump function
|
2026-06-02 11:43:15 +02:00 |
|
cozis
|
f6185054b5
|
io_interface: Implement eager execution in the groupAsync callback
|
2026-06-02 11:33:53 +02:00 |
|
cozis
|
e046fcd45e
|
build: Add select_group_async.zig to build.zig
|
2026-06-01 15:12:31 +02:00 |
|
cozis
|
50297eff21
|
examples: Add select_group_async.zig to trigger the IO groupAsync callback
|
2026-06-01 15:12:14 +02:00 |
|