-
Couldn't load subscription status.
- Fork 410
Description
Currently some multi-device drivers (e.g. QHY) can run multiple cameras in a single instance connected to INDI server. The driver and server are connected via pipes (stdin/stdout). When a BLOB is sent from the driver to the server, a base64 encoded BLOB is sent via an INDI XML message. The server parses the BLOB and redirects it to interested clients.
A primary limitation of this method is the congestion of the pipes when multiple devices start sending BLOBs at the same time; this is especially evident with multiple large-sensor cameras begin streaming simultaneously. This is further exacerbated by a single-threaded INDI server.
There are a few possible solutions to this:
- Make each driver run only a single device.
- Use another method to transfer data (such as shared memory region) and make each driver handler runs in its own thread in INDI server.
- Make BLOB transfers using dedicated channel between drivers and server?