Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Increasing bandwidth of multi-device drivers #1499

@knro

Description

@knro

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:

  1. Make each driver run only a single device.
  2. Use another method to transfer data (such as shared memory region) and make each driver handler runs in its own thread in INDI server.
  3. Make BLOB transfers using dedicated channel between drivers and server?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions