1
0
forked from ROMEO/nexosim

10 Commits

Author SHA1 Message Date
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
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
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
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
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
2a8a3738cb Use better supported UTF symbols for arrow heads 2024-09-08 17:38:58 +02:00
Jaŭhien Piatlicki
6e3d5bb132 Change scheduler interface and add external inputs example.
Relevant for issue #13.
2024-08-02 14:06:49 +02:00
Jaŭhien Piatlicki
195bcdceba Add instance name to model contexts 2024-05-10 14:32:07 +02:00
Jaŭhien Piatlicki
0734dc2fac Implement clonable outputs and add submodels example 2024-04-29 21:00:12 +02:00