Skip to main content

Crate zerodds_wire

Crate zerodds_wire 

Source
Expand description

Crate zerodds-wire. Safety classification: SAFE.

The runtime a generated encoder calls: Writer and Reader, the alignment rules, and the framing forms.

This crate makes no decision about a type. Which members are written, in what order, with which header and which length code is the layout plan’s answer and arrives here as arguments. A runtime that decided any of it would be a second place where the wire format lives.

§Spec

  • docs/specs/zerodds-ast-1.0.md §7 (the layout plan this serves).
  • DDS-XTypes 1.3 §7.4 for the encodings themselves.

§Layer position

Layer 0. Its one dependency is zerodds-float128, the value type of long double; it does not depend on the model — a runtime that reached back into the model would be a runtime that could disagree with it.

Re-exports§

pub use digest::md5;
pub use endianness::Endianness;
pub use error::WireError;
pub use map_entries::AscendingKey;
pub use map_entries::MapEntry;
pub use map_entries::WireMap;
pub use reader::Reader;
pub use try_construct::Narrowed;
pub use try_construct::TryConstruct;
pub use try_construct::fit_map;
pub use try_construct::fit_map_entries;
pub use try_construct::fit_sequence;
pub use try_construct::fit_string;
pub use try_construct::fit_wstring;
pub use writer::FixedDigits;
pub use writer::FixedParts;
pub use writer::ParameterRole;
pub use writer::PidFlagPolicy;
pub use writer::PlCdr1Framing;
pub use writer::PlCdr1Reading;
pub use writer::WcharFraming;
pub use writer::WcharPosition;
pub use writer::WcharWidth;
pub use writer::WirePosition;
pub use writer::Writer;
pub use writer::WstringLengthCounts;
pub use writer::WstringLengthPolicy;
pub use writer::WstringTerminator;
pub use writer::WstringUnitOrder;
pub use writer::WstringUnitWidth;
pub use writer::parse_fixed;

Modules§

digest
The digest the KeyHash uses.
endianness
Byte order.
error
What can go wrong on the wire.
map_entries
A map as XTypes 1.3 §7.5.1.3.6 binds it where a language has no mapping of its own: “the language binding for map types shall be based on the equivalent IDL definition given in 7.4.1.1.4”, sequence<MapEntry<K, V>> of a structure with a member key and a member value.
reader
Taking bytes off the wire.
try_construct
What a receiving type does with a value it cannot hold.
writer
Putting bytes on the wire.