Enhancement #1556

Improve event type handling and converter selection

Added by J. Moringen almost 11 years ago. Updated over 6 years ago.

Status:NewStart date:07/03/2013
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Java
Target version:rsb-0.18

Description

Currently, types of event payloads are usually determined dynamically via .getClass(). Converter selection then performs an exact matching of this type against the data types of known converters.

We could probably improve this behavior:

Converter Selection

  1. Determine a set of applicable converters: a converter is applicable when the data type of the payload isAssignableFrom the data type of the converter
  2. Sort the set of candidates according to the subtype relation; it is an error if this order is not total
  3. Select the most specific converter
  4. Cache the result

Payload Types

  • When not specified, the data type of a payload is determined via .getClass()
  • When a data type is explicitly specified, the payload object has to be an instanceof this type

Related issues

Related to Robotics Service Bus - Enhancement #1516: Separate Converter selection strategies for sending and r... New 05/27/2013
Related to Robotics Service Bus - Enhancement #351: Revise Converter Selection Mechanism New 06/09/2011

History

#1 Updated by J. Moringen over 10 years ago

  • Target version changed from rsb-0.10 to rsb-0.11

#2 Updated by J. Moringen about 10 years ago

  • Target version changed from rsb-0.11 to rsb-0.12

#3 Updated by J. Wienke about 9 years ago

  • Target version changed from rsb-0.12 to rsb-0.13

#4 Updated by J. Moringen about 8 years ago

  • Target version changed from rsb-0.13 to rsb-0.14

#5 Updated by J. Moringen about 8 years ago

  • Target version changed from rsb-0.14 to rsb-0.15

#6 Updated by J. Moringen over 7 years ago

  • Target version changed from rsb-0.15 to rsb-0.16

#7 Updated by J. Moringen about 7 years ago

  • Target version changed from rsb-0.16 to rsb-0.17

#8 Updated by J. Moringen over 6 years ago

  • Target version changed from rsb-0.17 to rsb-0.18

Also available in: Atom PDF