1
0
forked from ROMEO/nexosim

99 Commits

Author SHA1 Message Date
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
Serge Barral
c4d93f5c31 Disable Loom tests for broadcaster due to Loom bug 2024-08-07 10:29:13 +02:00
Serge Barral
b544bcee92 Simplify task_set & satisfy clippy 2024-08-07 10:23:10 +02:00
Serge Barral
b5187ded44 Optimize filtered connections from outputs 2024-08-07 10:11:53 +02:00
Serge Barral
2270a94b8d Simplify output broadcaster implementation 2024-08-05 09:56:13 +02:00
Serge Barral
7f244d2334 Add map/filter_map variants for source connection 2024-08-05 09:11:51 +02:00
Serge Barral
3527d62b41 Remove unnecessary trait bounds + improve doc 2024-08-03 19:29:29 +02:00
Serge Barral
0ec781e18b Add filter_map variants for output port connection 2024-08-03 11:47:57 +02:00
Serge Barral
9a2cfe8e77 Add support for mapped connections from ports 2024-08-02 18:53:07 +02:00
Jauhien Piatlicki
d9099c4bfa
Merge pull request #31 from asynchronics/feature-asynchronuous-scheduling
More idiomatic loop
2024-08-02 16:23:47 +02:00
Jaŭhien Piatlicki
3b4a3e9b0e More idiomatic loop 2024-08-02 16:19:36 +02:00
Jaŭhien Piatlicki
5d61abd729 Fix method visibility 2024-08-02 16:13:21 +02:00
Serge Barral
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
Jaŭhien Piatlicki
6e3d5bb132 Change scheduler interface and add external inputs example.
Relevant for issue #13.
2024-08-02 14:06:49 +02:00
Serge Barral
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
Serge Barral
1b0395f693 Accept an arbitrary argument for remote init 2024-07-29 18:41:25 +02:00
Serge Barral
7e5f623ac5
Merge pull request #27 from asynchronics/feature-auto-action-key
Add AutoActionKey
2024-06-26 13:45:54 +02:00
Jaŭhien Piatlicki
8b015b2eba Add AutoActionKey 2024-06-26 13:42:24 +02:00
Serge Barral
cb7caa10e9
Merge pull request #26 from asynchronics/feature/cbor-instead-of-msgpack
Replace MessagePack by CBOR
2024-06-19 12:07:26 +02:00
Serge Barral
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
Serge Barral
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
Serge Barral
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
Serge Barral
f731d40add WIP 2024-06-11 11:27:16 +02:00
Serge Barral
a7e691c002
Merge pull request #24 from asynchronics/dev
Merge private dev branch into main
2024-05-27 23:50:26 +02:00
Serge Barral
4f494312be
Merge pull request #11 from asynchronics/feature/wasm-compatibility
Feature/wasm compatibility
2024-05-27 23:36:17 +02:00
Serge Barral
59d2af51ba Expose the Protobuf simulation service to WASM/JS 2024-05-27 23:33:02 +02:00
Serge Barral
77e6e569ff Add same-thread executor support 2024-05-27 23:12:45 +02:00
Jauhien Piatlicki
88d954dde5
Merge pull request #10 from asynchronics/feature-named-model-instances
Feature: named model instances
2024-05-17 14:50:43 +02:00
Jaŭhien Piatlicki
195bcdceba Add instance name to model contexts 2024-05-10 14:32:07 +02:00
Jauhien Piatlicki
4b5195f981
Merge pull request #5 from asynchronics/feature-submodels
Add test and improve example
2024-05-10 10:01:50 +02:00
Jaŭhien Piatlicki
02eec1b277 Add test and improve example 2024-05-08 11:20:33 +02:00
Serge Barral
287b3b713c
Merge pull request #9 from asynchronics/fix/ci-failures
Fix comments
2024-05-07 12:49:57 +02:00
Serge Barral
2fa159a87f Fix comments 2024-05-07 12:44:42 +02:00
Serge Barral
8467b35f03
Merge pull request #7 from asynchronics/fix/ci-failures
Fix/ci failures
2024-05-07 01:58:05 +02:00
Serge Barral
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
Serge Barral
e4b108c6b7 Satisfy newest clippy 2024-05-06 16:45:07 +02:00
Serge Barral
a24e5df62e
Merge pull request #4 from asynchronics/feature-submodels
Implement clonable outputs and add submodels example
2024-04-30 10:19:46 +02:00
Jaŭhien Piatlicki
0734dc2fac Implement clonable outputs and add submodels example 2024-04-29 21:00:12 +02:00
Serge Barral
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
Serge Barral
9b4f69c17e gRPC: small fix + minor changes 2024-04-26 16:10:00 +02:00
Serge Barral
4de071eaf3
Merge pull request #2 from asynchronics/feature/improved-ci
Feature/improved ci
2024-04-26 13:55:20 +02:00