1
0
forked from ROMEO/nexosim
Commit Graph

186 Commits

Author SHA1 Message Date
3a23d81446 Add server support for halting the simulation 2025-01-19 15:46:21 +01:00
37bef4f31b Merge pull request #78 from asynchronics/feature/unix_domain_sockets
Unix socket server support + rename grpc -> server
2025-01-19 14:49:32 +01:00
e526071a29 Unix socket server support + rename grpc -> server 2025-01-19 14:42:50 +01:00
81c1d61290 Merge pull request #77 from asynchronics/feature-simulation-halt
Make step_unbounded return an error when halted.
2025-01-17 12:59:31 +01:00
fea1ccc1c4 Changes after review. 2025-01-17 12:18:18 +01:00
2e58288b04 Make step_unbounded return an error when halted. 2025-01-17 12:13:47 +01:00
5117cc7ca0 Merge pull request #76 from asynchronics/feature-simulation-halt
Make ExecutionError non-exhaustive.
2025-01-15 16:22:27 +01:00
be6f5b4897 Make ExecutionError non-exhaustive. 2025-01-15 16:13:45 +01:00
a29c7f9bfb Merge pull request #74 from asynchronics/feature-simulation-halt
Add possibility to halt simulation
2025-01-15 16:03:36 +01:00
a223a14cc6 Change after review. 2025-01-15 15:59:33 +01:00
922d93bd01 Change method name 2025-01-15 14:38:31 +01:00
beaefe1d9e Changes after review 2025-01-15 13:38:27 +01:00
4111d49295 Provide dummy context for testing. 2025-01-15 13:29:36 +01:00
27ec1396df Add infinite step and an example. 2025-01-15 13:10:37 +01:00
1b08f10e42 Add possibility to halt simulation 2025-01-13 16:00:45 +01:00
2e0653e1e3 Merge pull request #73 from asynchronics/feature/grpc_rework
Feature/grpc rework
2025-01-12 22:22:22 +01:00
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
43407741eb Implement Clock for references to and boxed Clock 2025-01-09 17:08:18 +01:00
8de53aff1f Make source event/query creation methods immutable 2025-01-09 17:08:18 +01:00
a87bf493b3 Rename gRPC package as simulation.v1 2025-01-09 17:08:18 +01:00
42192ddfe3 Merge pull request #72 from asynchronics/move-uni-example
Move UniRequestor example to util crate
2024-12-12 12:34:15 +01:00
26e3e5c76b Move UniRequestor example to util crate 2024-12-12 12:27:59 +01:00
4623765ca2 Merge pull request #71 from asynchronics/combinator
Add replier adaptor
2024-12-11 15:38:01 +01:00
d63bcdf4f0 Fix clippy warnings after version update 2024-12-09 15:01:21 +01:00
97c855293d Implement Default for ReplierAdaptor 2024-12-06 15:50:11 +01:00
0274e62eb0 Add replier adaptor 2024-12-06 15:29:18 +01:00
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
d4192e83ed Report an error if a message cannot be delivered 2024-11-26 16:19:22 +01:00
d88c527cb7 Merge pull request #69 from asynchronics/feature-unirequestor
Add UniRequestor port
2024-11-26 12:22:26 +01:00
bb7923f689 Changes after review 2024-11-25 10:17:48 +01:00
c06233ad74 Change after review 2024-11-25 09:54:42 +01:00
5b2c872e15 Add UniRequestor port 2024-11-22 20:26:23 +01:00
224aea59e5 Merge pull request #68 from asynchronics/feature/detect_lost_messages
Detect lost messages
2024-11-19 12:59:49 +01:00
f73a99bc4e Update CHANGELOG.md 2024-11-18 23:46:05 +01:00
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
0da9e6649d Update README.md 2024-11-16 21:25:12 +01:00
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
09b3c44eab Prepare release v0.3.0-beta.0 2024-11-16 20:40:08 +01:00
7e07f3f949 Merge pull request #66 from asynchronics/feature/grpc-api-simplification
Simplify gRPC bench API
2024-11-16 20:36:27 +01:00
f89624daf0 Simplify gRPC bench API 2024-11-16 20:33:44 +01:00
0a10f256bc Update README.md 2024-11-16 15:41:09 +01:00
a6c3217fdf Merge pull request #65 from asynchronics/feature/rename_crate
Rename crate to NeXosim
2024-11-16 12:32:05 +01:00
5ab898ad79 Rename crate to NeXosim 2024-11-16 12:26:36 +01:00
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
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
c749a49154 Merge pull request #63 from asynchronics/feature/misc_api_changes
Feature/misc api changes
2024-11-15 22:46:05 +01:00
3c1056d699 Remove the LineId API
This was probably never used.
2024-11-15 17:15:25 +01:00
0f1d876aed Return both simulation and scheduler at init 2024-11-15 16:52:24 +01:00
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
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