rclpy
rclpy copied to clipboard
Update `type_support.py` to use new message abstract base classes
Description
Uses new abstract base classes to allow automatic type inference lowering burden to start using pub/sub/server/client/actionserver/actionclient. This can be seen in how the test cases do not require the manual specification of their generic types and that can now be inferred from the msg/srv/action type automatically.
Fixes one task from this main list https://github.com/ros2/ros2/issues/1735
Is this user-facing behavior change?
The classes inside type_support.py are no longer protocols but, actual generic classes. Users shouldn't need to change anything for this but, a user could in theory now decide to actual instantiate this class at runtime even if that doesn't really serve a point.