Skip to content

LECO communication protocol #80

@BenediktBurger

Description

@BenediktBurger

Hello there,

we at pymeasure develop a communication protocol, called LECO (Laboratory Experiment Control PrOtocol), for the exchange of messages between small programs in order to separate a measurement program in small parts. The corresponding python implementation is pyLECO.

Reading the paper about yag, I figured, that LECO and yaq could complement each other:

  • yaq offers standardised daemons and how to address them
  • LECO offers communication without assigning (and remembering) port numbers to all the software parts, instead you can use human readable names.

Here the core concepts of LECO:

  • Communication uses ZMQ (based on TCP sockets)
  • There is one (or more) Coordinators through which all messages are sent
  • Each Component of the communication network has its own name, prefixed by the Coordinator it is connected to.
  • The LECO network can transport any bytes message from any Component to any other Component
  • For signing in etc. we use JSON-RPC, but everything else could be encoded differently, for example according to Apache AVRO RPC. The messages have an indicator flag for the encoding, exactly for such a situation.

Therefore, it should be quite simple to use LECO instead of TCP sockets as a backend in yaq.

Metadata

Metadata

Assignees

No one assigned

    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