Trait 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§

impl Message for Patch

impl Message for Rule

impl Message for Flush

impl Message for Scope

impl Message for RawEvent

impl Message for Timebase

impl Message for Slice

impl Message for IpcFrame

impl Message for V8Config

impl Message for Trigger

impl Message for Producer

impl Message for Function

impl Message for Label

impl Message for Line

impl Message for Location

impl Message for Mapping

impl Message for Profile

impl Message for Sample

impl Message for Function

impl Message for Label

impl Message for Line

impl Message for Location

impl Message for Mapping

impl Message for Profile

impl Message for Sample