Commit Graph
100 Commits
Author SHA1 Message Date
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
cozis 63d81170bb build: Add tcp_ping_pong.zig to build.zig 2026-05-30 15:59:07 +02:00
cozis d626ed1787 examples: Add tcp_ping_pong.zig to test various networking I/O functions 2026-05-30 15:58:44 +02:00
cozis 02e99b50d4 io_interface: Mock netListenIp, netAccept, netConnectIp, netSend, netRead, netWrite 2026-05-30 15:50:05 +02:00
cozis f524c94d8e network: Bug fixes 2026-05-23 19:26:16 +02:00
cozis 2e543db418 io_interface: Mock fileWritePositional, fileSeekBy, and fileSeekTo 2026-05-23 18:59:21 +02:00
cozis 0b5001e587 node: Expose seekFileTo and seekFileBy 2026-05-23 18:58:26 +02:00
cozis 75d4d84d31 file_system: Implement seekFileTo and seekFileBy 2026-05-23 18:57:34 +02:00
cozis 1902c3eb99 io_interface: Add mock of sleep 2026-05-23 18:48:14 +02:00
cozis 43ed0cfc9e node: Implement Node.sleep via Scheduler.sleep 2026-05-23 18:47:58 +02:00
cozis d51503065f build: Add sleep.zig to build.zig 2026-05-23 18:47:25 +02:00
cozis f8230f9856 examples: Add program that uses Io.sleep 2026-05-23 18:47:00 +02:00
cozis b090bca3c7 io_interface: Implement mock for dirRead 2026-05-23 18:32:38 +02:00
cozis 11cc280043 node: Expose resetDir and readDir from FileSystem 2026-05-23 18:32:07 +02:00
cozis 05bd6d0d67 file_system: Implement resetDir to reset the state of an OpenDir 2026-05-23 18:31:07 +02:00
cozis fd4648123d build: Add list_dir.zig to build.zig 2026-05-23 18:30:21 +02:00
cozis f935d15b78 examples: Add example that perform directory listing 2026-05-23 18:30:00 +02:00
cozis f497eaf131 io_interface: Implement mocks for dirDeleteFile and dirDeleteDir 2026-05-23 18:18:48 +02:00
cozis 6280a9fa3a node: Expose deleteFile and deleteDir from the FileSystem object 2026-05-23 18:18:03 +02:00
cozis 4603544007 file_system: Remove deleteAny, add deleteDir and deleteFile 2026-05-23 18:15:48 +02:00
cozis 423f7fdda0 build: Add delete_dir.zig to build.zig 2026-05-23 18:14:38 +02:00
cozis 2bd8d1b842 examples: Add example that deletes a directory 2026-05-23 18:14:23 +02:00
cozis 4449516dca build: Add delete_file.zig example to build.zig 2026-05-23 18:09:57 +02:00
cozis 8acd7cdcb0 examples: Add example that deletes a file 2026-05-23 18:09:34 +02:00
cozis a0acdb9588 io_interface: Implement mocks for dirCreateDir, dirOpenDir, dirClose 2026-05-23 17:55:27 +02:00
cozis a30507a267 build: Add directories.zig to build.zig 2026-05-23 17:54:13 +02:00
cozis 89cdc1a1e3 examples: Implement directories.zig, an example that uses directory operations 2026-05-23 17:53:43 +02:00
cozis 62ae2490d3 node: Implement openDir and createDir to expose FileSystem.openDir and FileSystem.createDir 2026-05-23 17:52:07 +02:00