Represents the client-side part of a streaming service responsible for initiating communication with the openDAQ device streaming server and processing the received data. Wraps the client-side implementation details of the particular data transfer protocol used by openDAQ to send processed/acquired data from devices running an openDAQ Server to an openDAQ Client.
More...
Inherits ObjectPtr< IStreaming >.
Represents the client-side part of a streaming service responsible for initiating communication with the openDAQ device streaming server and processing the received data. Wraps the client-side implementation details of the particular data transfer protocol used by openDAQ to send processed/acquired data from devices running an openDAQ Server to an openDAQ Client.
The Streaming is used as a selectable data source for mirrored signals. For this, it provides methods, allowing mirrored signals to be added/removed dynamically, to enable/disable the use of Streaming as a data source of these signals. Forwarding of packets received from the remote device through the data transfer protocol down to the signal path is enabled when the following conditions are met:
- Streaming object itself is in active state.
- Streaming is selected as an active source of the corresponding signal.
Usually, the data transfer protocol provides information about the signals whose data can be sent over the protocol. It allows the implementation to reject unsupported signals from being added to the streaming. Each Streaming object provides the string representation of a connection address used to connect to the streaming service of the device. This string representation is used as a unique ID to determine the streaming source for the mirrored signal.
When the generalized client-to-device streaming mechanism is employed, however, the roles are effectively switched: the server becomes a consumer of signal data, while the client-side Streaming object acts as the producer, sending signal data over the protocol. In this context, Streaming objects are expected to exist on the server side as well to interact with mirrored copies of client signals. In context of client-to-device streaming, in addition to signals, mirrored input ports can also be added or removed dynamically through the corresponding methods of the Streaming interface, similarly to mirrored signals.
The support for client-to-device streaming can be checked via getClientToDeviceStreamingEnabled. If it is not enabled or not supported by the protocol, the method provides false value, and adding or removing mirrored input ports is not allowed, therefore disabling any client-to-device streaming operations.
|
| daq::Bool | getActive () const |
| | Gets the active state of the Streaming. More...
|
| |
| void | setActive (daq::Bool active) const |
| | Sets the Streaming to be either active or inactive. More...
|
| |
| void | addSignals (const daq::ListPtr< daq::ISignal > &signals) const |
| | Adds signals to the Streaming. More...
|
| |
| void | removeSignals (const daq::ListPtr< daq::ISignal > &signals) const |
| | Removes signals from the Streaming. More...
|
| |
|
void | removeAllSignals () const |
| | Removes all added signals from the Streaming.
|
| |
| daq::StringPtr | getConnectionString () const |
| | Gets the string representation of a connection address used to connect to the streaming service of the device. More...
|
| |
| daq::EnumerationPtr | getConnectionStatus () const |
| | Retrieves the current status of the streaming connection. More...
|
| |
| void | addInputPorts (const daq::ListPtr< daq::IMirroredInputPortConfig > &inputPorts) const |
| | Adds input ports to the Streaming. More...
|
| |
| void | removeInputPorts (const daq::ListPtr< daq::IMirroredInputPortConfig > &inputPorts) const |
| | Removes input ports from the Streaming. More...
|
| |
|
void | removeAllInputPorts () const |
| | Removes all added input ports from the Streaming.
|
| |
| daq::StringPtr | getOwnerDeviceRemoteId () const |
| | Gets the global ID of the device (as it appears on the remote instance) to which this streaming object establishes a connection. More...
|
| |
| daq::StringPtr | getProtocolId () const |
| | Gets the identifier of the data transfer protocol (e.g., "OpenDAQNativeStreaming", "OpenDAQLTStreaming") used by this streaming object. More...
|
| |
| daq::Bool | getClientToDeviceStreamingEnabled () const |
| | Checks whether client-to-device streaming is enabled for this streaming object. More...
|
| |