Skip to content

Create common device-host comms module #10

@solidpixel

Description

@solidpixel

This issue covers the creation of a piece of common library functionality to implement communications between the device and the host.

Basic goals:

  • Communications will use a multi-user sub-pub model:
    • Using sub-pub with handlers allows multiple components to share a common network link.
    • The host is the server side of the connection, layer is the client.
    • All comms are initiated by the client.
  • Client library will be C++, and host library will be Python.
  • Communications protocol will support:
    • Sync reads
    • Sync writes
    • Async writes
    • Sync read-write
  • Client logging producer/consumer provided.
    • Goal is to swap out logcat for something reliable.
  • Virtual file system producer/consumer provided.
    • Goal is to allow read/write from host file system for easy to edit asset swaps.
  • Load-time config from file provided.
    • Goal to allow load-time parameterization of a layer from a file on the host.
  • Simple interactive config terminal provided.
    • Goal is to allow simple interactive configuration at load time.
    • Goal is to allow simple "Press a key to make the layer do something" triggers.

On Android:

  • Use TCP/IP socket on the host.
  • Use Unix domain socket on the device.
  • Use adb reverse localabstract:<device uds> tcp:<host port>

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions