there is an existing NRTM 'end-of-stream' indicator, if keep-alive is not used: a comment '%END RIPE' is output after the last object. We could also add an 'end-of-stream' comment in keep-alive mode, something like '%END (starting serial) - (ending serial)', which is output after any backlog of updates.
It's still possible not to have any updates for a time, which a client may see as a timeout. We could also add a heartbeat mechanism, to periodically output a comment such as '%HEARTBEAT', if there have not been any updates.
Do either of these changes necessitate a new protocol version?
We could also provide NRTM over HTTP(S) WebSockets, that protocol includes support for a Ping/Pong heartbeat mechanism.
Regards
Ed