pub enum WcharFraming {
Fixed,
GiopLengthPrefixed,
GiopLengthPrefixedMemberOnly,
}Expand description
How a wchar is framed.
The byte-layer half of
zerodds_ast_layout::WcharFraming, which carries the run: all five
DDS implementations write XTypes 1.3 Table 31’s fixed-width code
unit, and omniORB 4.3.3, TAO 2.5.24 and JacORB 3.9 all write CORBA
3.3 part 2 §9.3.1.6’s GIOP 1.2 form instead — an octet saying how
many octets follow, then that many, aligned to one.
It is not a width. A wchar that carries its own count is one octet
longer and aligns to one, so every member behind it moves; a reader
that had the width right and the framing wrong would take the count
octet for half a character and return a different one.
It is not a property of the type either. TAO writes the count octet
for a wchar member and a bare unit for a wchar inside an
array or a sequence, so the framing is answered per
WcharPosition and every entry point that writes or reads one
takes the position as an argument.
Variants§
Fixed
A fixed-width code unit, aligned to its own width. Table 31.
GiopLengthPrefixed
One octet of length, then that many octets, aligned to one, in
every position. CORBA §9.3.1.6’s GIOP 1.2 wchar, as omniORB
and JacORB write it.
GiopLengthPrefixedMemberOnly
The count octet for a member, a bare fixed-width unit for a collection element. TAO 2.5.24.
Implementations§
Source§impl WcharFraming
impl WcharFraming
Sourcepub const fn has_length_octet(self, position: WcharPosition) -> bool
pub const fn has_length_octet(self, position: WcharPosition) -> bool
Whether a wchar in this position carries its own octet count.