pub trait Message:
Debug
+ Send
+ Sync {
// Required methods
fn encoded_len(&self) -> usize;
fn clear(&mut self);
// Provided methods
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut,
Self: Sized { ... }
fn encode_to_vec(&self) -> Vec<u8> ⓘ
where Self: Sized { ... }
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut,
Self: Sized { ... }
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘ
where Self: Sized { ... }
fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf,
Self: Default { ... }
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf,
Self: Default { ... }
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf,
Self: Sized { ... }
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf,
Self: Sized { ... }
}
Expand description
A Protocol Buffers message.
Required Methods§
Sourcefn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Provided Methods§
Sourcefn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
Encodes the message to a buffer.
An error will be returned if the buffer does not have sufficient capacity.
Sourcefn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Sourcefn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
Encodes the message with a length-delimiter to a buffer.
An error will be returned if the buffer does not have sufficient capacity.
Sourcefn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Sourcefn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
Decodes an instance of the message from a buffer.
The entire buffer will be consumed.
Sourcefn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Sourcefn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into self
.
The entire buffer will be consumed.
Sourcefn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into self
.