Drop parallel client Notification feature
With the current concept, movement of CircularBufferWindow
s is done by one pushing thread, for all buffers which share the same notification_group
.
This is a race condition, since only the pushing thread of a concrete buffer should be allowed to move related CircularWindowIterator
s for that buffer.
Since the feature to subscribe to multiple channels at once anyhow is not going to be supported by FESA client software, and it causes more trouble than gain, let's just drop the feature and simplify the code accordingly:
- Remove class
DataReadyHandler
- Remove class
DataReadyManager
- Don't pass vectors to
DataReadyQueue
anymore - The
CircularBufferManager
should hold a reference to aDataReadyQueue
and notifiy clients after window-movement - The streaming window time-management, currently done inside
DataReadyHandlerStreaming::requestMoveWindow
should be moved to theCircularBufferManager