project8 / dripline

Slow controls for medium scale physics experiments based on AMQP centralized messaging
http://www.project8.org/dripline
1 stars 0 forks source link

proposal: modify sender info version element #174

Open laroque opened 6 years ago

laroque commented 6 years ago

We currently have sender_info.version which is of type string and described as "Sender package version"

In practice there are at least three different versions of interest (hopefully each in this list implies the one above):

Proposal

Change the type of this field to be a dictionary/map, where keys are the the versioned thing and values are version strings. The wire protocol version would always be required as would the version for the package itself. Any intermediate packages (like the dripline implementation) should be included if they exist.

This would allow us to use "standard" version strings in our packages and still include all of the useful information. It would also enable testing against the version of the wire protocol since the format of that string can be defined in the wire protocol itself.

wcpettus commented 5 years ago

We were trying to roll out two coordinated updates to the wire protocol - this and the timestamp precision. And as a result we've gotten neither, although all supported dripline versions are ready for the timestamps.

The issue with this came from dripline-labview, which for awful labview reasons doesn't properly support json making this difficult to implement.

A couple of paths forward:

We should just fix the timestamps, it's too easy, and it generates too many errors for operators.