Trait protobuf::Message[][src]

pub trait Message: Debug + Clear + Any + Send + Sync {
Show methods fn descriptor(&self) -> &'static MessageDescriptor;
fn is_initialized(&self) -> bool;
fn merge_from(
        &mut self,
        is: &mut CodedInputStream<'_>
    ) -> ProtobufResult<()>;
fn write_to_with_cached_sizes(
        &self,
        os: &mut CodedOutputStream<'_>
    ) -> ProtobufResult<()>;
fn compute_size(&self) -> u32;
fn get_cached_size(&self) -> u32;
fn get_unknown_fields<'s>(&'s self) -> &'s UnknownFields;
fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut UnknownFields;
fn as_any(&self) -> &dyn Any;
fn new() -> Self
    where
        Self: Sized
;
fn default_instance() -> &'static Self
    where
        Self: Sized
; fn parse_from(is: &mut CodedInputStream<'_>) -> ProtobufResult<Self>
    where
        Self: Sized
, { ... }
fn write_to(&self, os: &mut CodedOutputStream<'_>) -> ProtobufResult<()> { ... }
fn write_length_delimited_to(
        &self,
        os: &mut CodedOutputStream<'_>
    ) -> ProtobufResult<()> { ... }
fn write_length_delimited_to_vec(
        &self,
        vec: &mut Vec<u8>
    ) -> ProtobufResult<()> { ... }
fn merge_from_bytes(&mut self, bytes: &[u8]) -> ProtobufResult<()> { ... }
fn parse_from_reader(reader: &mut dyn Read) -> ProtobufResult<Self>
    where
        Self: Sized
, { ... }
fn parse_from_bytes(bytes: &[u8]) -> ProtobufResult<Self>
    where
        Self: Sized
, { ... }
fn parse_from_carllerche_bytes(bytes: &Bytes) -> ProtobufResult<Self>
    where
        Self: Sized
, { ... }
fn check_initialized(&self) -> ProtobufResult<()> { ... }
fn write_to_writer(&self, w: &mut dyn Write) -> ProtobufResult<()> { ... }
fn write_to_vec(&self, v: &mut Vec<u8>) -> ProtobufResult<()> { ... }
fn write_to_bytes(&self) -> ProtobufResult<Vec<u8>> { ... }
fn write_length_delimited_to_writer(
        &self,
        w: &mut dyn Write
    ) -> ProtobufResult<()> { ... }
fn write_length_delimited_to_bytes(&self) -> ProtobufResult<Vec<u8>> { ... }
fn type_id(&self) -> TypeId { ... }
fn as_any_mut(&mut self) -> &mut dyn Any { ... }
fn into_any(self: Box<Self>) -> Box<dyn Any> { ... }
fn descriptor_static() -> &'static MessageDescriptor
    where
        Self: Sized
, { ... }
}
Expand description

Trait implemented for all generated structs for protobuf messages.

Also, generated messages implement Clone + Default + PartialEq

Required methods

Message descriptor for this message, used for reflection.

True iff all required fields are initialized. Always returns true for protobuf 3.

Update this message object with fields read from given stream.

Write message to the stream.

Sizes of this messages and nested messages must be cached by calling compute_size prior to this call.

Compute and cache size of this message and all nested messages

Get size previously computed by compute_size.

Get a reference to unknown fields.

Get a mutable reference to unknown fields.

View self as Any.

Create an empty message object.

let m = MyMessage::new();

Return a pointer to default immutable message with static lifetime.

let m: &MyMessage = MyMessage::default_instance();

Provided methods

Parse message from stream.

Write the message to the stream.

Results in error if message is not fully initialized.

Write the message to the stream prepending the message with message length encoded as varint.

Write the message to the vec, prepend the message with message length encoded as varint.

Update this message object with fields read from given stream.

Parse message from reader. Parse stops on EOF or when error encountered.

Parse message from byte array.

Parse message from Bytes object. Resulting message may share references to the passed bytes object.

Check if all required fields of this object are initialized.

Write the message to the writer.

Write the message to bytes vec.

Write the message to bytes vec.

Write the message to the writer, prepend the message with message length encoded as varint.

Write the message to the bytes vec, prepend the message with message length encoded as varint.

Get type id for downcasting.

View self as mutable Any.

Convert boxed self to boxed Any.

Get message descriptor for message type.

let descriptor = MyMessage::descriptor_static();
assert_eq!("MyMessage", descriptor.name());

Implementors