Trait prost::Message

source ·
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§

source

fn encoded_len(&self) -> usize

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

source

fn clear(&mut self)

Clears the message, resetting all fields to their default.

Provided Methods§

source

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.

source

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.

source

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.

source

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

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

source

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.

source

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.

source

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.

source

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.

Implementations on Foreign Types§

source§

impl Message for bool

google.protobuf.BoolValue

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for f32

google.protobuf.FloatValue

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for f64

google.protobuf.DoubleValue

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for i32

google.protobuf.Int32Value

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for i64

google.protobuf.Int64Value

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for u32

google.protobuf.UInt32Value

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for u64

google.protobuf.UInt64Value

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for ()

google.protobuf.Empty

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for Bytes

google.protobuf.BytesValue

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for String

google.protobuf.StringValue

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl Message for Vec<u8>

google.protobuf.BytesValue

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

source§

impl<M> Message for Box<M>
where M: Message,

source§

fn encoded_len(&self) -> usize

source§

fn clear(&mut self)

Implementors§