Skip to main content

Module interop

Module interop 

Source
Expand description

Interop-Test-Typen fuer Cross-Vendor-Nachweis.

Enthaelt Application-Typen, die in der DDS-Welt als de-facto- Interop-Benchmark gelten — allen voran ShapeType aus dem RTI/Cyclone/Fast-DDS-ShapesDemo. Diese Typen sind nicht fuer Produktions-Nutzung gedacht, sondern dafuer, gegenueber anderen DDS-Stacks zu beweisen, dass unsere Wire- und Typen-Semantik byte-kompatibel ist.

§ShapeType

Spec-Grundlage (IDL, wie von RTI/Cyclone/Fast-DDS verwendet):

struct ShapeType {
    @key string<128> color;
    int32 x;
    int32 y;
    int32 shapesize;
};

Encoding: XCDR2 Little-Endian (das ist die Standard-Einstellung saemtlicher ShapesDemo-Implementierungen, und entspricht unserem User-Payload-Encapsulation-Header 0x00 0x07 0x00 0x00).

CDR-Layout:

offset 0  : uint32   color.length (inkl. null-terminator)
offset 4  : bytes    color.utf8_bytes
offset 4+n: uint8    0x00          (null-terminator)
padding            (auf naechste 4-Byte-Grenze)
offset *  : int32    x
offset *+4: int32    y
offset *+8: int32    shapesize

Der @key auf color wird auf Wire-Level nicht gesondert behandelt — er steuert Instance-Keying, nicht die Serialisierung. Fuer unser Sample-Matching in v1.2 (noch keine Instance-Map im Reader) ist jede (color, x, y, shapesize)-Kombination effektiv ein eigenes Sample.

Structs§

ShapeType
RTI / Cyclone / Fast-DDS ShapesDemo-kompatibler Application-Type.