pub struct PlainCdr2BeKeyHolder { /* private fields */ }Expand description
Convenience-Builder fuer einen PLAIN_CDR2-BE-KeyHolder-Stream.
PLAIN_CDR2 unterscheidet sich von XCDR1 in Alignment-Regel: maximales
Alignment ist 4 Byte (XTypes 1.3 §7.4.2.5.4) — i64/f64 wird
nicht 8-aligned. Dieser Builder kapselt die Alignment-Logik und
vermeidet Drift mit dem zerodds-cdr-Buffer-Writer (der XCDR2-LE-default ist).
Member werden in der Reihenfolge der member_id aufsteigend
hinzugefuegt (Spec-Pflicht §7.6.8.3.1.b).
Implementations§
Source§impl PlainCdr2BeKeyHolder
impl PlainCdr2BeKeyHolder
Sourcepub fn new() -> PlainCdr2BeKeyHolder
pub fn new() -> PlainCdr2BeKeyHolder
Leerer Builder.
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Aktuelle Stream-Laenge (typisch == max_size, wenn alle Member fest).
Sourcepub fn into_bytes(self) -> Vec<u8> ⓘ
pub fn into_bytes(self) -> Vec<u8> ⓘ
Gibt die fertigen Bytes zurueck.
Sourcepub fn write_u64(&mut self, v: u64)
pub fn write_u64(&mut self, v: u64)
Schreibt einen u64 in BE — alignment 4, NICHT 8 (PLAIN_CDR2).
Sourcepub fn write_string(&mut self, s: &str)
pub fn write_string(&mut self, s: &str)
Schreibt eine bounded String in CDR-Form (4-byte length BE +
utf8-Bytes inkl. terminating NUL). Caller stellt sicher, dass
die Laenge die statische Bound nicht ueberschreitet (sonst
kollidiert das mit key_holder_max_size).
Sourcepub fn write_bytes(&mut self, b: &[u8])
pub fn write_bytes(&mut self, b: &[u8])
Schreibt einen rohen byte-Slice (z.B. fuer Octet-Arrays).