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).