summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2022-05-13Make logging non-optionalMatthias Beyer
Before this patch, the logging code was optional in tedge-cli. But we always want to build this piece of code. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-13Remove console-subscriberMatthias Beyer
console-subscriber needs unstable tokio features and we do not want that right now to be included. This also simplifies building tedge-cli with all features enabled. Before, one had to specify them and to take care of not specifying "core_debugging", now `--all-features` should suffice. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-13Add tracing information to PluginTask implMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-13Add some tracing information to the CoreTask implMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-13Add tracing information in Reactor implMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-12Fix: Adapt bench to new API interfaceMatthias Beyer
This was forgotten in the branch that lead to merge c7a4190b54d2e462cb602dd82fa950502351df50, which included the API change adaptions. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com> Fixes: c7a4190b54d2e462cb602dd82fa950502351df50 ("Merge branch 'feature/add_tedge_api/integrate-api' into feature/add_tedge_api_impl")
2022-05-12Merge branch 'feature/add_tedge_api/integrate-api' into ↵Matthias Beyer
feature/add_tedge_api_impl Integrates the latest API changes for self-describing configuration types. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-12Remove unused importMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-12Merge remote-tracking branch 'gitlab-marcel/feature/add_tedge_api_only' into ↵Matthias Beyer
feature/add_tedge_api/integrate-api
2022-05-12Merge branch 'feature/add_config_exploration' into feature/add_tedge_api_onlyMarcel Müller
2022-05-12Allows untagged enums to be represented as stringsMarcel Müller
Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-12Emit better errors when parsing invalid enumsMarcel Müller
Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-12Allow untagged enums in Config deriveMarcel Müller
Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-12Add Config derive macroMarcel Müller
Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-12Add enumerations to ConfigKindsMarcel Müller
Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-12Add missing integer/float implements for AsConfigMarcel Müller
Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-12Export main config typesMarcel Müller
Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-12Make ConfigKind::Struct a vectorMarcel Müller
While HashMaps represent the idea of a 'struct' better, it has some drawbacks: - iteration order is random - constructing it requires random state (minor) A vector here saves the same purpose but without the above drawbacks. Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-12Add ConfigKind::WrappedMarcel Müller
Wrapping another config is very useful for narrowing down configs. This patch adds this possibility for authors. Signed-off-by: Marcel Müller <m.mueller@ifm.com>
2022-05-10Merge branch 'feature/add_tedge_api/plugin-notification' into ↵Matthias Beyer
feature/add_tedge_api_impl
2022-05-10Merge branch 'feature/add_tedge_api/core-doc' into feature/add_tedge_api_implMatthias Beyer
2022-05-10Wire up notification plugin in tedge-cliMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Add new plugin for notificationsMatthias Beyer
This patch adds a plugin that can be used to generate a notification if a message is received. This is helpful in combination with the filter plugin: * Filter measurements for value > 100, if value is greater (condition matches), forward the message to the notification plugin Otherwise send to plugin P * The notification plugin generates a notification if it receives a message and sends this warning to a configured plugin. The message itself is forwarded (to P). Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Make log plugin in tedge-cli able to log NotificationMatthias Beyer
This patch makes the by-default-included log plugin able to handle messages of type `Notification`. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Add "Notification" typeMatthias Beyer
This type can be used to send some form of notification between plugins. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Add doc for communication module of tedge_coreMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Add doc for CoreTask typeMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Add doc for PluginTaskMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Add comments on how the Reactor worksMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Fix: Make explicit that this is only pub in the crateMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Add code doc for TedgeApplication{,Builder}Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Add generic README for tedge_coreMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Merge branch 'feature/add_tedge_api/integrate-api' into ↵Matthias Beyer
feature/add_tedge_api_impl This merge integrates the latest changes in the API which improve the message-reply-handling as well as brings "any message support". Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Fix: MessageType is no longer Eq, Hash, use lists for support-checkMatthias Beyer
This patch fixes the MessageType handling. In commit abab64c856c0c299b13fcc1857a5b78f449e4a9e ("Add AnyMessage & AnyMessages") we changed the message type handling so that we can use the new `MessageType` type instead of raw `str` and `TypeId`. Because this type cannot implement `Eq`, `PartialEq` and `Hash`, we can no longer store this information in `HashSet`. Thus, change the implementation to store this information in `Vec`. Because of the small problem size we're talking about here (lower 10s), this is okay. Suggested-by: Marcel Müller <m.mueller@ifm.com> Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10plugin_sysstat: Adapt to Plugin::handle_message() interface changeMatthias Beyer
In commit abab64c856c0c299b13fcc1857a5b78f449e4a9e ("Add AnyMessage & AnyMessages") The `ReplySender` was renamed to `ReplySenderFor` and its interface was changed so that we can specify the plugin_sysstat message type of the original instead of the message type of the reply. This commit adapts the plugin_sysstat implementation for this change. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10plugin_mqtt_measurement_bridge: Adapt to Plugin::handle_message() interface ↵Matthias Beyer
change In commit abab64c856c0c299b13fcc1857a5b78f449e4a9e ("Add AnyMessage & AnyMessages") The `ReplySender` was renamed to `ReplySenderFor` and its interface was changed so that we can specify the plugin_mqtt_measurement_bridge message type of the original instead of the message type of the reply. This commit adapts the plugin_mqtt_measurement_bridge implementation for this change. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10plugin_mqtt: Adapt to Plugin::handle_message() interface changeMatthias Beyer
In commit abab64c856c0c299b13fcc1857a5b78f449e4a9e ("Add AnyMessage & AnyMessages") The `ReplySender` was renamed to `ReplySenderFor` and its interface was changed so that we can specify the plugin_mqtt message type of the original instead of the message type of the reply. This commit adapts the plugin_mqtt implementation for this change. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10plugin_measurement_filter: Adapt to Plugin::handle_message() interface changeMatthias Beyer
In commit abab64c856c0c299b13fcc1857a5b78f449e4a9e ("Add AnyMessage & AnyMessages") The `ReplySender` was renamed to `ReplySenderFor` and its interface was changed so that we can specify the plugin_measurement_filter message type of the original instead of the message type of the reply. This commit adapts the plugin_measurement_filter implementation for this change. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10plugin_log: Adapt to Plugin::handle_message() interface changeMatthias Beyer
In commit abab64c856c0c299b13fcc1857a5b78f449e4a9e ("Add AnyMessage & AnyMessages") The `ReplySender` was renamed to `ReplySenderFor` and its interface was changed so that we can specify the plugin_log message type of the original instead of the message type of the reply. This commit adapts the plugin_log implementation for this change. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10plugin_avg: Adapt to Plugin::handle_message() interface changeMatthias Beyer
In commit abab64c856c0c299b13fcc1857a5b78f449e4a9e ("Add AnyMessage & AnyMessages") The `ReplySender` was renamed to `ReplySenderFor` and its interface was changed so that we can specify the message type of the original instead of the message type of the reply. This commit adapts the plugin_avg implementation for this change. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Fix: The sysstat plugin should not wait for repliesMatthias Beyer
I don't know how this slipped in, but the sysstat plugin should just fire-and-forget its measurements and not wait for replies at all. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10tedge_lib: Fix for new reply interface from tedge_apiMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Fix: Replace ReplySender -> ReplySenderForMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Fix: Replace own tuple type with tedge_api::MessageTypeMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Fix: MessageType::name() should return static refMatthias Beyer
This is necessary so we do not need to allocate a `String` for a `DirectoryError::PluginDoesNotSupport`, if we need to raise it. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Merge commit '93460d4' into feature/add_tedge_api/integrate-apiMatthias Beyer
Merge in the changes in the API that allow catchall message handler implementations. Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-10Fix: Load test configuration from toml fileMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
2022-05-06Merge branch 'feature/add_tedge_api/plugin-error-types' into ↵Matthias Beyer
feature/add_tedge_api_impl
2022-05-06Merge branch 'feature/add_tedge_api/multi-config-file' into ↵Matthias Beyer
feature/add_tedge_api_impl
2022-05-06Split tests into config file and test implMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>