Skip to main content

Crate zerodds_types

Crate zerodds_types 

Source
Expand description

Crate zerodds-types. Safety classification: SAFE.

OMG XTypes 1.3 Type-System — TypeIdentifier, TypeObject, Compatibility. Pure-Rust no_std + alloc, forbid(unsafe_code).

§Spec

  • OMG XTypes 1.3 §7.3.1 (TypeIdentifier), §7.3.4 (TypeIdentifier-Union)
  • OMG XTypes 1.3 §7.3.4 (Minimal + Complete TypeObject)
  • OMG XTypes 1.3 §7.3.5 (TypeInformation + Dependencies)
  • OMG XTypes 1.3 §7.3.6 (TypeLookup Service IDL)
  • OMG XTypes 1.3 §7.2.4 (Assignability + Compatibility-Regeln)
  • OMG XTypes 1.3 §7.6.3 (DynamicType ↔ TypeObject Bridge)
  • OMG XTypes 1.3 §7.6.8 (KeyHash + EquivalenceHash via MD5)
  • OMG DDS 1.4 §2.2.3 (TypeConsistencyEnforcement QoS-Policy)

§Schichten-Position

Layer 1 — Primitives. Direkte Abhängige: zerodds-discovery, zerodds-dcps, zerodds-idl, zerodds-rpc, zerodds-xml. Architektur + RFC: docs/rfcs/0004-xtypes-integration.md.

§Public-API-Module

  • type_identifier — TypeIdentifier-Union (§7.3.4.2).
  • type_object — Minimal + Complete TypeObject (§7.3.4).
  • type_information — TypeInformation + Dependencies (§7.3.5).
  • type_lookup — getTypes / getTypeDependencies IDL (§7.3.6).
  • builder — programmatischer Builder für alle Kinds.
  • hash — MD5 → 14-byte EquivalenceHash (§7.3.1.2.1).
  • resolve — TypeRegistry + Alias-Resolution + DoS-Caps.
  • assignability — Type-Compatibility-Regeln (§7.2.4).
  • type_matcher — Writer↔Reader-Matching mit TCE-Policy (§7.6.3.7 + §7.2.4).
  • qos — TypeConsistencyEnforcement + DataRepresentation (DDS 1.4 §2.2.3).
  • dynamic — DynamicType / DynamicData Reflection-API (§7.5) inkl. DynamicType ↔ TypeObject Bridge (§7.6.3).

§Wiring-Status

assignability und type_matcher sind Public-API für End-User- Code, der eigene Type-Compatibility-Checks außerhalb der DDS-Discovery- Pipeline durchführt (z.B. Bridge-Implementations, Custom-Schema- Registries). Die ZeroDDS-Discovery-Pipeline matched aktuell per type_name (DDS 1.4 §2.2.3 Default-Path); volle XTypes-1.3-§7.6 TypeIdentifier-aware Discovery ist eine eigene cross-layer Architektur- Epic (TypeIdentifier-Konstanten in Codegen + SEDP-Propagation + TypeRegistry-shared-state).

Re-exports§

pub use error::TypeCodecError;
pub use hash::compute_complete_hash;
pub use hash::compute_hash;
pub use hash::compute_minimal_hash;
pub use hash::to_hashed_type_identifier;
pub use type_identifier::EquivalenceHash;
pub use type_identifier::EquivalenceKind;
pub use type_identifier::PlainCollectionHeader;
pub use type_identifier::PrimitiveKind;
pub use type_identifier::StronglyConnectedComponentId;
pub use type_identifier::TypeIdentifier;
pub use type_information::TypeIdentifierWithDependencies;
pub use type_information::TypeIdentifierWithSize;
pub use type_information::TypeInformation;
pub use type_object::CompleteTypeObject;
pub use type_object::MinimalTypeObject;
pub use type_object::TypeObject;

Modules§

assignability
Type-Assignability (XTypes 1.3 §7.2.4.1).
builder
Programmatischer Builder fuer TypeObjects.
dynamic
XTypes 1.3 §7.5 DynamicType-API.
error
Fehlertypen fuer zerodds-types.
hash
TypeIdentifier-Hash-Computation (XTypes 1.3 §7.3.1.2).
qos
XTypes-bezogene QoS-Policies (T17, T18).
resolve
Type-Resolution + Recursion-Guards (XTypes §7.3.4.5, §7.3.4.9).
type_identifier
XTypes 1.3 TypeIdentifier (Spec §7.3.4.2).
type_information
TypeInformation (XTypes 1.3 §7.6.3.2.2) — Wrapper fuer die Discovery von strongly-hashed TypeObjects inkl. transitiver Abhaengigkeiten.
type_lookup
TypeLookup Service IDL (XTypes 1.3 §7.6.3.3).
type_matcher
Writer↔Reader Type-Matching (XTypes §7.2.4 + §7.6.3.7).
type_object
TypeObject (XTypes 1.3 §7.3.4.4).