ChimeraTK / ControlSystemAdapter

An adapter layer which allows to use control applications with different control system software environments.
GNU Lesser General Public License v3.0
3 stars 2 forks source link

write() should never return true when wait_for_new_data is not set on the receiving side #30

Closed mhier closed 4 years ago

mhier commented 4 years ago

Reason: Without wait_for_new_data, there is logically no information about intermediate values. There is only a current value. Hence, it has no meaning if unread data was rejected. Unread data is anyway regularly rejected without wait_for_new_data, since on each read only the last written value is kept and any intermediate values are rejected.

Reporting the queue overrun as data loss in those cases is confusing the ApplicationCore's DataLossCounter module, which should not count such queue overruns.