Serge Barral
a29c7f9bfb
Merge pull request #74 from asynchronics/feature-simulation-halt
...
Add possibility to halt simulation
2025-01-15 16:03:36 +01:00
Jaŭhien Piatlicki
a223a14cc6
Change after review.
2025-01-15 15:59:33 +01:00
Jaŭhien Piatlicki
922d93bd01
Change method name
2025-01-15 14:38:31 +01:00
Jaŭhien Piatlicki
beaefe1d9e
Changes after review
2025-01-15 13:38:27 +01:00
Jaŭhien Piatlicki
4111d49295
Provide dummy context for testing.
2025-01-15 13:29:36 +01:00
Jaŭhien Piatlicki
27ec1396df
Add infinite step and an example.
2025-01-15 13:10:37 +01:00
Jaŭhien Piatlicki
1b08f10e42
Add possibility to halt simulation
2025-01-13 16:00:45 +01:00
Jauhien Piatlicki
2e0653e1e3
Merge pull request #73 from asynchronics/feature/grpc_rework
...
Feature/grpc rework
2025-01-12 22:22:22 +01:00
Serge Barral
7a95a4d0f4
OVarious gRPC improvements
...
This patch in particular allows asynchronous gRPC access to the scheduler
and to the monitoring functions.
2025-01-09 17:51:39 +01:00
Serge Barral
43407741eb
Implement Clock for references to and boxed Clock
2025-01-09 17:08:18 +01:00
Serge Barral
8de53aff1f
Make source event/query creation methods immutable
2025-01-09 17:08:18 +01:00
Serge Barral
a87bf493b3
Rename gRPC package as simulation.v1
2025-01-09 17:08:18 +01:00
Jauhien Piatlicki
42192ddfe3
Merge pull request #72 from asynchronics/move-uni-example
...
Move UniRequestor example to util crate
2024-12-12 12:34:15 +01:00
Jaŭhien Piatlicki
26e3e5c76b
Move UniRequestor example to util crate
2024-12-12 12:27:59 +01:00
Serge Barral
4623765ca2
Merge pull request #71 from asynchronics/combinator
...
Add replier adaptor
2024-12-11 15:38:01 +01:00
Jaŭhien Piatlicki
d63bcdf4f0
Fix clippy warnings after version update
2024-12-09 15:01:21 +01:00
Jaŭhien Piatlicki
97c855293d
Implement Default for ReplierAdaptor
2024-12-06 15:50:11 +01:00
Jaŭhien Piatlicki
0274e62eb0
Add replier adaptor
2024-12-06 15:29:18 +01:00
Jauhien Piatlicki
31be2b0c75
Merge pull request #70 from asynchronics/feature/report_missing_recipient
...
Report an error if a message cannot be delivered
2024-11-27 13:05:50 +01:00
Serge Barral
d4192e83ed
Report an error if a message cannot be delivered
2024-11-26 16:19:22 +01:00
Serge Barral
d88c527cb7
Merge pull request #69 from asynchronics/feature-unirequestor
...
Add UniRequestor port
2024-11-26 12:22:26 +01:00
Jaŭhien Piatlicki
bb7923f689
Changes after review
2024-11-25 10:17:48 +01:00
Jaŭhien Piatlicki
c06233ad74
Change after review
2024-11-25 09:54:42 +01:00
Jaŭhien Piatlicki
5b2c872e15
Add UniRequestor port
2024-11-22 20:26:23 +01:00
Jauhien Piatlicki
224aea59e5
Merge pull request #68 from asynchronics/feature/detect_lost_messages
...
Detect lost messages
2024-11-19 12:59:49 +01:00
Serge Barral
f73a99bc4e
Update CHANGELOG.md
2024-11-18 23:46:05 +01:00
Serge Barral
b1a02bd07f
Detect lost messages
...
Messages sent to a mailbox that wasn't added to the simulation are now
specifically detected. Earlier this would be wrongly reported as a
deadlock.
2024-11-18 18:56:23 +01:00
Serge Barral
0da9e6649d
Update README.md
2024-11-16 21:25:12 +01:00
Serge Barral
3fbceaed5d
Merge pull request #67 from asynchronics/release/0.3.0-beta.0
...
Prepare release v0.3.0-beta.0
2024-11-16 20:45:30 +01:00
Serge Barral
09b3c44eab
Prepare release v0.3.0-beta.0
2024-11-16 20:40:08 +01:00
Serge Barral
7e07f3f949
Merge pull request #66 from asynchronics/feature/grpc-api-simplification
...
Simplify gRPC bench API
2024-11-16 20:36:27 +01:00
Serge Barral
f89624daf0
Simplify gRPC bench API
2024-11-16 20:33:44 +01:00
Serge Barral
0a10f256bc
Update README.md
2024-11-16 15:41:09 +01:00
Serge Barral
a6c3217fdf
Merge pull request #65 from asynchronics/feature/rename_crate
...
Rename crate to NeXosim
2024-11-16 12:32:05 +01:00
Serge Barral
5ab898ad79
Rename crate to NeXosim
2024-11-16 12:26:36 +01:00
Serge Barral
a96a4dc0bd
Merge pull request #64 from asynchronics/feature/grpc_api_change
...
Make the gRPC init more general
2024-11-15 23:26:40 +01:00
Serge Barral
84ad02a248
Make the gRPC init more general
...
Instead of producing a SimInit object, a bench is now expected to return
a fully constructed simulation with its scheduler.
This means that the client does not necessarily need to provide the
starting time for the simulation. This start time may be hardcoded in
the bench, or may be taken as a parameter for the bench configuration.
This change make it possible for benches to do more, for instance to
pre-schedule some events, or to do less, for instance by hardcoding the
simulation time rather than accept an arbitrary simulation time.
2024-11-15 23:23:17 +01:00
Jauhien Piatlicki
c749a49154
Merge pull request #63 from asynchronics/feature/misc_api_changes
...
Feature/misc api changes
2024-11-15 22:46:05 +01:00
Serge Barral
3c1056d699
Remove the LineId API
...
This was probably never used.
2024-11-15 17:15:25 +01:00
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