Trait prost::Message

source ·
pub trait Message: Debug + Send + Sync {
    fn encoded_len(&self) -> usize;
    fn clear(&mut self);

    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§

Returns the encoded length of the message without a length delimiter.

Clears the message, resetting all fields to their default.

Provided Methods§

Encodes the message to a buffer.

An error will be returned if the buffer does not have sufficient capacity.

Encodes the message to a newly allocated buffer.

Encodes the message with a length-delimiter to a buffer.

An error will be returned if the buffer does not have sufficient capacity.

Encodes the message with a length-delimiter to a newly allocated buffer.

Decodes an instance of the message from a buffer.

The entire buffer will be consumed.

Decodes a length-delimited instance of the message from the buffer.

Decodes an instance of the message from a buffer, and merges it into self.

The entire buffer will be consumed.

Examples found in repository?
src/message.rs (line 116)
110
111
112
113
114
115
116
117
    fn decode<B>(mut buf: B) -> Result<Self, DecodeError>
    where
        B: Buf,
        Self: Default,
    {
        let mut message = Self::default();
        Self::merge(&mut message, &mut buf).map(|_| message)
    }

Decodes a length-delimited instance of the message from buffer, and merges it into self.

Examples found in repository?
src/message.rs (line 126)
120
121
122
123
124
125
126
127
128
    fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
    where
        B: Buf,
        Self: Default,
    {
        let mut message = Self::default();
        message.merge_length_delimited(buf)?;
        Ok(message)
    }

Implementations on Foreign Types§

google.protobuf.BoolValue

google.protobuf.UInt32Value

google.protobuf.UInt64Value

google.protobuf.Int32Value

google.protobuf.Int64Value

google.protobuf.FloatValue

google.protobuf.DoubleValue

google.protobuf.StringValue

google.protobuf.BytesValue

google.protobuf.BytesValue

google.protobuf.Empty

Implementors§