In https://github.com/INTERSECT-SDK/intersect-python-common/tree/main/src/intersect_sdk_common , the 0.9.0 release entails a few things:
- changed message structure to put metadata in message headers (instead of serializing it into JSON with the data)
- dropped MQTT v3 support in favor of v5 support, necessary to support above
- allow for binary data in the message itself
(for original source of comment, see here)
Therefore, the following changes will need to be made:
Suggestion for Websocket message representation
Headers must be key-value strings, and it is expected that these strings will NOT contain any ASCII control characters. Therefore:
- assume that keys will always come before values
- separate key names from their values with a specific control character "A"
- after a value, use a specific control character "B" to signify that a new header key-value pair will occur
- after a value, use a specific control character "C" to signify that only the payload remains in the message
- assume that there is no special parsing logic for the payload
- do NOT use
\0 characters as a control character
In https://github.com/INTERSECT-SDK/intersect-python-common/tree/main/src/intersect_sdk_common , the 0.9.0 release entails a few things:
(for original source of comment, see here)
Therefore, the following changes will need to be made:
Suggestion for Websocket message representation
Headers must be key-value strings, and it is expected that these strings will NOT contain any ASCII control characters. Therefore:
\0characters as a control character