Handling timeout in NOvASocketInputDriver
We on NOvA are using the "NOvASocketInputDriver" as our input module for an ART-based version of our online monitoring. When there is no run going, and hence no data to be served, this input driver enters a long loop waiting for data. If possible, I would like to change the behavior to something like:
1. Poll for data - wait ~2 seconds for response (configurable).
2. If have data, process the event normally
3. If timeout occurs, notify modules with an "inputSourceTimeOut" method implemented and return 1.
The reason is that I would like to have the monitoring program continue to publish its status to the viewer ("I'm still alive and waiting for data...") rather than just hang in it's "readNext_" which is indistinguishable to the shifter from various failure modes of the program.