protobuf/rt/
repeated.rs

1use crate::CodedInputStream;
2use crate::Enum;
3use crate::EnumOrUnknown;
4
5/// Read repeated enum field when the wire format is length-delimited.
6pub fn read_repeated_packed_enum_or_unknown_into<E: Enum>(
7    is: &mut CodedInputStream,
8    target: &mut Vec<EnumOrUnknown<E>>,
9) -> crate::Result<()> {
10    let len = is.read_raw_varint64()?;
11    let old_limit = is.push_limit(len)?;
12    while !is.eof()? {
13        target.push(is.read_enum_or_unknown()?);
14    }
15    is.pop_limit(old_limit);
16    Ok(())
17}