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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions