1
0
forked from ROMEO/nexosim
Commit Graph

178 Commits

Author SHA1 Message Date
a163e5a1e1 Merge pull request #30 from asynchronics/feature-asynchronuous-scheduling
Change scheduler interface and add external inputs example.
2024-08-02 14:11:57 +02:00
6e3d5bb132 Change scheduler interface and add external inputs example.
Relevant for issue #13.
2024-08-02 14:06:49 +02:00
a6a2c85129 Merge pull request #29 from asynchronics/feature/grpc-init-parameters
Accept an arbitrary argument for remote init
2024-07-31 16:00:29 +02:00
1b0395f693 Accept an arbitrary argument for remote init 2024-07-29 18:41:25 +02:00
7e5f623ac5 Merge pull request #27 from asynchronics/feature-auto-action-key
Add AutoActionKey
2024-06-26 13:45:54 +02:00
8b015b2eba Add AutoActionKey 2024-06-26 13:42:24 +02:00
cb7caa10e9 Merge pull request #26 from asynchronics/feature/cbor-instead-of-msgpack
Replace MessagePack by CBOR
2024-06-19 12:07:26 +02:00
8ec5cd9e9b Replace MessagePack by CBOR
CBOR looks very similar but seems more future-proof as it was
standardized by the IETF in RFC 8949.
2024-06-19 12:00:59 +02:00
4039d96127 Merge pull request #25 from asynchronics/feature/split-source-and-sink
Feature/split source and sink
2024-06-12 11:37:11 +02:00
0abc520e4b Split sinks and source registries
This makes it possible to concurrently control and monitor the
simulation when using gRPC.
Accordingly, the gRPC server now runs on 2 threads so it can serve
control and monitoring requests concurrently.
2024-06-12 11:20:34 +02:00
f731d40add WIP 2024-06-11 11:27:16 +02:00
a7e691c002 Merge pull request #24 from asynchronics/dev
Merge private dev branch into main
2024-05-27 23:50:26 +02:00
4f494312be Merge pull request #11 from asynchronics/feature/wasm-compatibility
Feature/wasm compatibility
2024-05-27 23:36:17 +02:00
59d2af51ba Expose the Protobuf simulation service to WASM/JS 2024-05-27 23:33:02 +02:00
77e6e569ff Add same-thread executor support 2024-05-27 23:12:45 +02:00
88d954dde5 Merge pull request #10 from asynchronics/feature-named-model-instances
Feature: named model instances
2024-05-17 14:50:43 +02:00
195bcdceba Add instance name to model contexts 2024-05-10 14:32:07 +02:00
4b5195f981 Merge pull request #5 from asynchronics/feature-submodels
Add test and improve example
2024-05-10 10:01:50 +02:00
02eec1b277 Add test and improve example 2024-05-08 11:20:33 +02:00
287b3b713c Merge pull request #9 from asynchronics/fix/ci-failures
Fix comments
2024-05-07 12:49:57 +02:00
2fa159a87f Fix comments 2024-05-07 12:44:42 +02:00
8467b35f03 Merge pull request #7 from asynchronics/fix/ci-failures
Fix/ci failures
2024-05-07 01:58:05 +02:00
af3d68e76f Force the waker VTable to be uniquely instantiated
From Rust 1.78, `Waker::will_wake` tests equality by comparing the VTable
pointers rather than the content of the VTable.

Unfortunately, this exposes some instability in the code generation
which sometimes causes several VTables to be instantiated in memory for
the same generic parameters. This can in turn defeat `Waker::will_wake`
if e.g. `Waker::clone` and `Waker::wake_by_*` end up with different
pointers.

The problemt is hopefully addressed by preventing inlining of the VTable
generation function. A test has been added to try to detect regression,
though the test may not be 100% reliable.
2024-05-07 01:37:47 +02:00
e4b108c6b7 Satisfy newest clippy 2024-05-06 16:45:07 +02:00
a24e5df62e Merge pull request #4 from asynchronics/feature-submodels
Implement clonable outputs and add submodels example
2024-04-30 10:19:46 +02:00
0734dc2fac Implement clonable outputs and add submodels example 2024-04-29 21:00:12 +02:00
e7c0c5f217 Merge pull request #3 from asynchronics/fix/grpc-and-codegen-format
Fix/grpc and codegen format
2024-04-26 16:14:59 +02:00
9b4f69c17e gRPC: small fix + minor changes 2024-04-26 16:10:00 +02:00
4de071eaf3 Merge pull request #2 from asynchronics/feature/improved-ci
Feature/improved ci
2024-04-26 13:55:20 +02:00
9956c4fa3f CI: add --all-features and force check on dev 2024-04-26 13:43:06 +02:00
97b173a081 Merge pull request #1 from asynchronics/feature-submodels
Add setup step
2024-04-26 11:55:03 +02:00
7526ffbcea Add setup step. 2024-04-26 11:48:11 +02:00
e84e802f09 Initial (g)RPC implementation 2024-04-25 11:12:54 +02:00
c984202005 Prepare release v0.2.2 2024-04-04 13:44:10 +02:00
2c6cecc1b2 Merge pull request #23 from asynchronics/fix/update-multishot-dependency
Update `multishot` crate dependency
2024-04-04 13:39:20 +02:00
8d3427daaf Fix CI script 2024-04-04 13:37:21 +02:00
23160ff347 Update multishot crate dependency
A soundness issue was discovered in the `multishot` dependency that
was fixed in 0.3.2.
2024-04-04 13:29:57 +02:00
bc788443b3 Merge pull request #20 from us-irs/serde-dependency-fix
small fix for new serde dependency
2024-03-13 11:39:23 +01:00
8e16f8c9b2 small fix for new serde dependency 2024-03-13 11:10:26 +01:00
f5f0721663 Merge pull request #19 from us-irs/add-serde-feature
Add optional serde feature
2024-03-12 18:15:16 +01:00
dc576013e5 Add optional serde support and make MonotonicTime serializable 2024-03-12 18:11:06 +01:00
b96ffe7770 Prepare release v0.2.1 (3rd attempt) 2024-03-06 19:52:33 +01:00
b1a6ae829f Prepare release v0.2.1 (2nd attempt) 2024-03-06 19:41:34 +01:00
d2f165abc7 Prepare release v0.2.1 2024-03-06 16:40:43 +01:00
1be2f48a00 Revert "Merge pull request #12 from asynchronics/feature/event-sinks"
This reverts commit 7e881afb63, reversing
changes made to 9d78e4f72a.
2024-03-06 16:16:55 +01:00
43e41012d2 Merge pull request #15 from us-irs/feature/clock-send-bound
Add send bound for Clock trait
2024-03-06 14:48:30 +01:00
47af3455ff Add send bound for Clock trait 2024-03-06 12:27:34 +01:00
7e881afb63 Merge pull request #12 from asynchronics/feature/event-sinks
Small changes and cleanups to prepare the RPC work.

Apart from some internal refactoring, this PR introduces improved `EventSlot` and `EventQueue` (the later was renamed from `EventStream`) which can be connected to several outputs at the same time. They are now unified under the common `EventSink` public trait. The new `Output::connect_sink` replaces and generalizes the former `Output::connect_slot` and `Output::connect_stream` to any type implementing `EventSink`.
2024-02-19 13:47:18 +01:00
863f995f1b Small changes and cleanups to prepare the RPC work 2024-02-19 13:20:02 +01:00
9d78e4f72a Merge pull request #9 from asynchronics/feature/clock
Add support for custom/real-time clocks
2023-08-29 12:58:03 +02:00