The FSFW offers a good way to expose data pool in a distributed manner and then allows grouping them into data sets which can be used by other SW components or packages as housekeeping telemetry directly.
It would be good if the same was possible for Rust. The data set aspect is tightly coupled to the custom packet format issue.
Exposing a pool structure which could be re-used by other SW components (e.g. read single pool variables) is actually a bit more tricky.
One possible way, assuming a std runtime would be to wrap shared pool variables into an Arc<Mutex>> so they can be used by
Other SW components, which simply get an Arc<Mutex>> to that variable, but maybe read-only
Datasets which contain that variable get the variable wrapped inside an Arc<Mutex>> as well.
This issue is tightly related to https://egit.irs.uni-stuttgart.de/rust/fsrc-launchpad/issues/13.
The FSFW offers a good way to expose data pool in a distributed manner and then allows grouping them into data sets which can be used by other SW components or packages as housekeeping telemetry directly.
It would be good if the same was possible for Rust. The data set aspect is tightly coupled to the [custom packet format](https://egit.irs.uni-stuttgart.de/rust/fsrc-launchpad/issues/13) issue.
Exposing a pool structure which could be re-used by other SW components (e.g. read single pool variables) is actually a bit more tricky.
One possible way, assuming a std runtime would be to wrap shared pool variables into an `Arc<Mutex>>` so they can be used by
1. Other SW components, which simply get an `Arc<Mutex>>` to that variable, but maybe read-only
2. Datasets which contain that variable get the variable wrapped inside an `Arc<Mutex>>` as well.
This is not an issue anymore. Arc<Mutex<>> or whatever lock structure is used inside a project in combination with custom data types is the way to go,
This is not an issue anymore. `Arc<Mutex<>>` or whatever lock structure is used inside a project in combination with custom data types is the way to go,
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This issue is tightly related to rust/fsrc-launchpad#13.
The FSFW offers a good way to expose data pool in a distributed manner and then allows grouping them into data sets which can be used by other SW components or packages as housekeeping telemetry directly.
It would be good if the same was possible for Rust. The data set aspect is tightly coupled to the custom packet format issue.
Exposing a pool structure which could be re-used by other SW components (e.g. read single pool variables) is actually a bit more tricky.
One possible way, assuming a std runtime would be to wrap shared pool variables into an
Arc<Mutex>>so they can be used byArc<Mutex>>to that variable, but maybe read-onlyArc<Mutex>>as well.muellerr referenced this issue2022-08-29 11:03:13 +02:00
This is not an issue anymore.
Arc<Mutex<>>or whatever lock structure is used inside a project in combination with custom data types is the way to go,