Packet codec improvements
Breaking changes
- Removed
packet_codec_paramrosparam, which was deprecated in v7.0 (!57 (merged)). (This used the rosparam loader to load codec files This doesn't handle includes, and it has all sorts of weird bugs, like not being able to handle uint64 literals due to a bug in the xml parser library used by roslaunch.)
New features
- Made all packet codecs accept
**kwargs, so packet codec parameter dictionaries can be passed directly after parsing the codec config YAML files. - Made rosparam lookups for
packet_codec_fileandcodec_directoryrecursive so these parameters can be put in a higher level namespace and reused across nodes (in themessage_queueandpacket_dispatchnodes). - Moved large chunks of the packet codec configuration to
config_parser.pyto reduce duplication. - Added
srcparameter that can be passed to packet codecs. - Made
DecoderListEntryinpacket_dispatch_node.pya normal class (it was a dataclass) so that it can accept**kwargs. - Fixes and improvements to the packet codec plugin system (it no longer modifies the Python path when loading plugins).