The API requires Message timestamps to be floats, but of course Python doesn't type check and neither does libmuscle, so if you pass an int it'll get serialised to MsgPack, resulting in a message on the wire that has the wrong format.
In communicator.py, the Message constructor should try to convert the value to float, just in case.
The API requires Message timestamps to be floats, but of course Python doesn't type check and neither does libmuscle, so if you pass an int it'll get serialised to MsgPack, resulting in a message on the wire that has the wrong format.
In communicator.py, the Message constructor should try to convert the value to float, just in case.
Thanks to Jonathan for finding this one!