rerun-io / rerun

Visualize streams of multimodal data. Free, fast, easy to use, and simple to integrate. Built in Rust.
https://rerun.io/
Apache License 2.0
6.54k stars 332 forks source link

Extend connect API to handle Viewer's later start or reconnect #7090

Open rgolovanov opened 3 months ago

rgolovanov commented 3 months ago

Currently, the workflow of the logger-viewer implies that the viewer is running before logging starts, otherwise, it will lead to data accumulation (see #6933 ) and never connect. In practice, it is important to have the ability to know whether connect to the viewer was successful or not and monitor connectivity status somehow.

Describe the solution you'd like

New API interfaces would allow users to handle these cases:

  1. Viewer starts after logger: Logger could make periodical checks/attempts to connect and once it is connected, it will start logging.
  2. Connected Viewer is closed or restarted: Logger should somehow monitor connection status and switch to periodical checks if the Viewer was disconnected.
Wumpf commented 3 months ago

I don't think this applies to the C++ sdk in particular and is rather an issue in all APIs