Serge Barral
abbfb64628
Run integration tests on both ST and MT executors
2024-11-08 11:08:47 +01:00
Jauhien Piatlicki
35e7e17814
Merge pull request #54 from asynchronics/feature/protomodel
...
Introduce ProtoModel trait, remove Model::setup
2024-11-05 23:36:51 +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
Jaŭhien Piatlicki
634614a2a1
Add observable states utility
2024-10-31 14:43:30 +01:00
Serge Barral
e7b64524e0
Report deadlocked models and their malbox size
2024-10-28 12:25:02 +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
SMassalski
ef17e56b10
Fix missing derive clone statement for Requestor
2024-10-17 16:20:44 +02:00
Serge Barral
1dfb79f596
Add small example of tracing logging
2024-09-13 16:08:49 +02:00
Serge Barral
7487a264ab
Add tracing support for simulation timestamps
2024-09-12 15:35:31 +02:00
Serge Barral
e376f17c7c
Add model tracing spans + tracing
feature flag
2024-09-10 11:12:49 +02:00
Serge Barral
b500d071ec
Upgrade some dependencies
2024-09-08 23:21:32 +02:00
Serge Barral
2a8a3738cb
Use better supported UTF symbols for arrow heads
2024-09-08 17:38:58 +02:00
Serge Barral
1c0c8ed529
Add automatic feature documentation for docs.rs
2024-09-08 17:31:39 +02:00
Serge Barral
6b43fcf704
Simplify gRPC backend arch + remove wasm backend
2024-09-08 17:03:56 +02:00
Serge Barral
114c148114
Move loom as a dev-dependency
2024-09-07 19:53:30 +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
Serge Barral
525f708d55
Add tests for filter_map_connect (source & output)
2024-08-07 17:36:51 +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
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
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
Jaŭhien Piatlicki
8b015b2eba
Add AutoActionKey
2024-06-26 13:42:24 +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
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
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
Jaŭhien Piatlicki
195bcdceba
Add instance name to model contexts
2024-05-10 14:32:07 +02:00
Jaŭhien Piatlicki
02eec1b277
Add test and improve example
2024-05-08 11:20:33 +02:00
Serge Barral
2fa159a87f
Fix comments
2024-05-07 12:44:42 +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
Jaŭhien Piatlicki
0734dc2fac
Implement clonable outputs and add submodels example
2024-04-29 21:00:12 +02:00
Serge Barral
9b4f69c17e
gRPC: small fix + minor changes
2024-04-26 16:10:00 +02:00
Serge Barral
9956c4fa3f
CI: add --all-features and force check on dev
2024-04-26 13:43:06 +02:00
Jaŭhien Piatlicki
7526ffbcea
Add setup step.
2024-04-26 11:48:11 +02:00
Serge Barral
e84e802f09
Initial (g)RPC implementation
2024-04-25 11:12:54 +02:00
Serge Barral
c984202005
Prepare release v0.2.2
2024-04-04 13:44:10 +02:00
Serge Barral
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
8e16f8c9b2
small fix for new serde dependency
2024-03-13 11:10:26 +01:00
dc576013e5
Add optional serde support and make MonotonicTime serializable
2024-03-12 18:11:06 +01:00