This replaces the virtual machine that was used to extract the key from a sample with an implementation that uses Cyclone's cdrstream key extraction. The serializer uses the VM instructions for the type that are generated using the Cyclone's type builder, based on the XTypes type objects that are available in the type meta-data in Python.
Additionally, this PR includes a few related fixes and changes:
The keys defined using a keylist annotation were not included in a Type Object, this is fixed in 959b645ce4889e73f29651811dd2b15ef5e636c9
The endianness for a key-only sample (e.g. dispose) did not match the CDR encapsulation header, fixed in 776e4042a1678ac9b2cb844263138c208b79bfa5
This replaces the virtual machine that was used to extract the key from a sample with an implementation that uses Cyclone's cdrstream key extraction. The serializer uses the VM instructions for the type that are generated using the Cyclone's type builder, based on the XTypes type objects that are available in the type meta-data in Python.
Additionally, this PR includes a few related fixes and changes:
keylist
annotation were not included in a Type Object, this is fixed in 959b645ce4889e73f29651811dd2b15ef5e636c9Note that this PR depends on https://github.com/eclipse-cyclonedds/cyclonedds/pull/1783 and https://github.com/eclipse-cyclonedds/cyclonedds/pull/1750 (which is related to https://github.com/eclipse-cyclonedds/cyclonedds-python/pull/197).