ADTF
|
The Signal Registry Service provides a distributed publisher-subscriber model for floating-point signals.
Plugin Filename | adtf_signal_registry.adtfplugin |
---|---|
Plugin Description | adtf_signal_registry.plugindescription |
Plugin Name | Signal Registry Service Plugin |
License | ADTF |
Support Mail | support@digitalwerk.net |
Homepage URL | support.digitalwerk.net |
Plugin Version | 3.99.99 |
---|---|
Plugin File Version | 1.0 |
adtf | 3.99.99 |
adtf::ucom | 3.1.0 |
Name | Signal Registry Service |
---|---|
CID | signal_registry.service.adtf.cid |
Description | Use this System Service to extend the ADTF System with a distributed publisher-subscriber model for floating-point signals. |
Type | Service |
Default Runlevel | session |
IID |
---|
signal_registry.ant.services.adtf.iid |
signal_registry.flash.services.adtf.iid |
signal_listening.ant.services.adtf.iid |
signal_listening.flash.services.adtf.iid |
Signal providers (publisher) update their signals through the adtf::services::ant::ISignalRegistry::ISignalProvider interface. Signal listeners (subscriber) implement the interfaces adtf::services::ant::ISignalListening::ISignalsListener and adtf::services::ant::ISignalListening::ISignalListener. Both, publishers and the subscribers register themselves with the Signal Registry Service.
A signal has the attributes described by adtf::services::ant::ISignalRegistry::tSignalAttributes and is associated with a current value (as a tFloat64). The name of the signal has to be unique, otherwise and error occurs at registration.
The example Demo Signal Generator Plugin shows how a signal can be provided via the signal registry (publisher).
The example Demo Signal Listener Plugin shows how provided signals can be listened on (subscriber).
The Signal Registry is a useful service to improve access to signal values. However used incorrectly, it can eventually cause significant performance degradation. To prevent unexpected behaviors, keep in mind the following recommendations:
To listen on signals these steps are necessary:
When you are informed about a new or removed signal the ID of the relevant signal is passed as an argument. You have to use that ID when registering for signal updates.
To provide one or more signals via the signal registry one has to follow these steps:
In Addition you can be informed whenever a signal listener subscribes or unsubscribes to one of your signals. To do so follow these steps: