pub fn decode_length_delimiter(buf: impl Buf) -> Result<usize, DecodeError>Expand description
Decodes a length delimiter from the buffer.
This method allows the length delimiter to be decoded independently of the message, when the message is encoded with Message::encode_length_delimited.
An error may be returned in two cases:
- If the supplied buffer contains fewer than 10 bytes, then an error indicates that more input is required to decode the full delimiter.
- If the supplied buffer contains 10 bytes or more, then the buffer contains an invalid delimiter, and typically the buffer should be considered corrupt.
ยงExamples
use prost::bytes::Bytes;
let mut buf = Bytes::from(vec![0x04, 0x0a, 0x02, 0x01, 0x02]);
let len = prost::decode_length_delimiter(&mut buf).unwrap();
assert_eq!(len, 4);
assert_eq!(&buf[..], [0x0a, 0x02, 0x01, 0x02]);