WaitMatch¶
-
virtual void ISignal::WaitMatch(const SDoubleCondition &condition, double timeout) = 0¶
Waits until the signal matches the specified condition, or the timeout interval is exceeded.
- Parameters
condition – SDoubleCondition to wait for.
timeout – Interval in seconds to wait for condition. Negative value means infinite.
- Throws
CInvalidArgumentException
– Invalid condition (e.g. invalid operator) or invalid timeout (NaN).CUnsupportedException
– Condition type not supported for this signal (signal data type must be ESignalDataType::Double or ESignalDataType::Float).CUnsupportedException
– Signal doesn’t support match functionality (see product specific documentation).CInvalidOperationException
– Top-controller state is not “Run”.COutOfResourcesException
– No resources available to wait for condition.CTimeoutException
– Timeout interval exceeded while waiting for condition.CCommunicationErrorException
– Protocol error.CConnectionLostException
– Connection to controller lost.CRebootedException
– Controller has been rebooted since this object reference was retrieved, invalidating this reference.CObjectDestroyedException
– Object is destroyed.
- Remarks
Execution requires one subscription resource.