Serge Barral
0f1d876aed
Return both simulation and scheduler at init
2024-11-15 16:52:24 +01:00
Serge Barral
f4686af49a
Finalize the Context and BuildContext API
...
The API style is now more uniform: both are passed by mutable ref, and
only expose accessors. Additionally, the methods that were initially
accessed through the scheduler field are now directly implemented on
`Context`.
2024-11-15 16:12:07 +01:00
Serge Barral
b1896dbde9
Order scheduled messages by their origin
...
Previously, the scheduler key used the target model as subkey to order
messages that target the same model.
Now this subkey is the origin model rather than the target, or in the
case of the global scheduler, 0. This doesn't change anythin in practice
for the local scheduler since the origin and target models were the
same, but for the global scheduler this provides additional guarranties.
For instance, if the global scheduler is used to schedule an event
targetting model A and then an event targetting model B where the latter
triggers a message to A, it is now guarranteed that the first message
will get to A before the second.
2024-11-15 14:39:51 +01:00
Serge Barral
1cefe4b2f6
Merge pull request #61 from asynchronics/feature/unified_step_until
...
Merge step_by and step_until into a unique method
2024-11-14 17:19:13 +01:00
Serge Barral
b5aea810ae
Merge step_by and step_until into a unique method
...
Now that `step_by` returns an error anyway (it was unfaillible before),
there is no more incentive to keep it as a separate method.
The `step_until` method now accepts an `impl Deadline`, which covers
both cases (`Duration` and `MonotonicTime`).
2024-11-14 17:01:33 +01:00
Jauhien Piatlicki
95aac7721c
Merge pull request #56 from asynchronics/document-utils
...
Document observable states
2024-11-14 00:20:13 +01:00
Jaŭhien Piatlicki
f7d3e48a1f
Remove docstring
2024-11-14 00:01:55 +01:00
Jaŭhien Piatlicki
1af4de1832
Remove println from examples
2024-11-13 23:59:50 +01:00
Jaŭhien Piatlicki
1a0dff0f6e
Document observable states
2024-11-13 23:59:50 +01:00
Jauhien Piatlicki
a533b3e6c1
Merge pull request #60 from asynchronics/feature/catch_panics
...
Report panics as errors + identify panicking model
2024-11-13 23:56:51 +01:00
Serge Barral
ba1e668447
Report panics as errors + identify panicking model
...
The build context is now passed as a mutable reference due to the need
to mutate data when adding a model.
Contains small unrelated cleanups and documentation improvements too.
2024-11-13 19:40:58 +01:00
Jauhien Piatlicki
e6f77ea8e5
Merge pull request #58 from asynchronics/feature/clock-synchronization
...
Check clock sync with configurable tolerance
2024-11-12 13:21:58 +01:00
Serge Barral
49e713262b
Check clock sync with configurable tolerance
2024-11-12 11:34:17 +01:00
Serge Barral
b690055848
Merge pull request #59 from asynchronics/fix/loom_ci_path_on_pr
...
Add path filtering for Loom CI also on PRs
2024-11-12 11:24:33 +01:00
Serge Barral
44e86b81d1
Add path filtering for Loom CI also on PRs
2024-11-12 11:21:58 +01:00
Serge Barral
0c2f92d4cf
Merge pull request #57 from asynchronics/feature/timeout
...
Add support for simulation timeouts
2024-11-09 12:18:41 +01:00
Serge Barral
e6901386cf
Add support for simulation timeouts
2024-11-09 12:17:27 +01:00
Jauhien Piatlicki
c6fd4d90c4
Merge pull request #55 from asynchronics/feature/multiexecutor-integration-tests
...
Run integration tests on both ST and MT executors
2024-11-08 12:12:36 +01:00
Serge Barral
abbfb64628
Run integration tests on both ST and MT executors
2024-11-08 11:08:47 +01:00
Jauhien Piatlicki
35e7e17814
Merge pull request #54 from asynchronics/feature/protomodel
...
Introduce ProtoModel trait, remove Model::setup
2024-11-05 23:36:51 +01:00
Serge Barral
039fefad47
Introduce ProtoModel trait, remove Model::setup
...
The external_input example has been as well adapted and (at least
temporarily) simplifiedi/modified to remove the dependencies on
`atomic_wait` and `mio`.
2024-11-05 16:16:42 +01:00
Serge Barral
06079bd5cd
Merge pull request #53 from asynchronics/feature/util
...
Add asynchronix-util crate
2024-10-31 17:03:51 +01:00
Jaŭhien Piatlicki
0732a7ef54
Changes after review
2024-10-31 15:59:35 +01:00
Jaŭhien Piatlicki
087f3c84cc
Add README to asynchronix-util
2024-10-31 14:57:41 +01:00
Jaŭhien Piatlicki
634614a2a1
Add observable states utility
2024-10-31 14:43:30 +01:00
Jauhien Piatlicki
8f7057689c
Merge pull request #51 from asynchronics/feature/deadlock-detection
...
Feature/deadlock detection
2024-10-29 11:02:55 +01:00
Serge Barral
e7b64524e0
Report deadlocked models and their malbox size
2024-10-28 12:25:02 +01:00
Serge Barral
1cfaa00f9e
Make execution failible, impl deadlock detection
...
TODO: return the list of models involved in a deadlock.
Note that Many execution errors are not implemented at all at the
moment and will need separate PRs, namely:
- Terminated
- ModelError
- Panic
2024-10-20 12:35:44 +02:00
Serge Barral
e7889c8e9b
Merge pull request #48 from SMassalski/main
...
Fix missing derive clone statement for Requestor
2024-10-17 17:29:37 +02:00
SMassalski
ef17e56b10
Fix missing derive clone statement for Requestor
2024-10-17 16:20:44 +02:00
Jauhien Piatlicki
ef43f99a9c
Merge pull request #47 from asynchronics/feature/tracing
...
Feature/tracing
2024-09-13 16:20:35 +02:00
Serge Barral
1dfb79f596
Add small example of tracing logging
2024-09-13 16:08:49 +02:00
Serge Barral
7487a264ab
Add tracing support for simulation timestamps
2024-09-12 15:35:31 +02:00
Serge Barral
e376f17c7c
Add model tracing spans + tracing
feature flag
2024-09-10 11:12:49 +02:00
Serge Barral
c7d86b9df1
Merge pull request #46 from asynchronics/feature/upgrade-dependencies
...
Upgrade some dependencies
2024-09-08 23:25:08 +02:00
Serge Barral
b500d071ec
Upgrade some dependencies
2024-09-08 23:21:32 +02:00
Serge Barral
7aa6bd10a6
Merge pull request #45 from asynchronics/fix/ci-doc-and-ci-checkout
...
Update checkout to v4, build docs with nightly
2024-09-08 20:23:52 +02:00
Serge Barral
de97b7cf0e
Update checkout to v4, build docs with nightly
2024-09-08 20:15:15 +02:00
Serge Barral
d898fb3f05
Merge pull request #44 from asynchronics/feature/improve-docgen
...
Feature/improve docgen
2024-09-08 17:40:09 +02:00
Serge Barral
2a8a3738cb
Use better supported UTF symbols for arrow heads
2024-09-08 17:38:58 +02:00
Serge Barral
1c0c8ed529
Add automatic feature documentation for docs.rs
2024-09-08 17:31:39 +02:00
Serge Barral
bf7fb9b28b
Merge pull request #43 from asynchronics/feature/refactor-rpc
...
Simplify gRPC backend arch + remove wasm backend
2024-09-08 17:08:01 +02:00
Serge Barral
6b43fcf704
Simplify gRPC backend arch + remove wasm backend
2024-09-08 17:03:56 +02:00
Serge Barral
3ccf05335b
Merge pull request #41 from asynchronics/feature/loom-as-dev-dependency
...
Move loom as a dev-dependency
2024-09-07 19:56:21 +02:00
Serge Barral
114c148114
Move loom as a dev-dependency
2024-09-07 19:53:30 +02:00
Jauhien Piatlicki
e75edcbd33
Merge pull request #35 from asynchronics/feature/connect_map
...
Take message by ref in (filter)map_connect closures
2024-08-16 11:30:10 +02:00
Serge Barral
1b1db5e0b8
Take message ref in (filter)map_connect closures
...
This avoids preemptive cloning when the closures don't consume the
message, which is common when the filtering closure returns `None`.
2024-08-16 11:15:58 +02:00
Jauhien Piatlicki
1f3e04e796
Merge pull request #33 from asynchronics/feature/connect_map
...
Add tests for filter_map_connect (source & output)
2024-08-07 21:36:00 +02:00
Serge Barral
525f708d55
Add tests for filter_map_connect (source & output)
2024-08-07 17:36:51 +02:00
Jauhien Piatlicki
252ada4946
Merge pull request #32 from asynchronics/feature/connect_map
...
Add map/filter_map variants of the `connect` method
2024-08-07 14:56:27 +02:00