Trait protobuf::Message[][src]

pub trait Message: Debug + Clear + Any + Send + Sync {
    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 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 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
, { ... } }

Trait implemented for all generated structs for protobuf messages.

Also, generated messages implement Clone + Default + PartialEq

Required methods

fn descriptor(&self) -> &'static MessageDescriptor[src]

Message descriptor for this message, used for reflection.

fn is_initialized(&self) -> bool[src]

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

fn merge_from(&mut self, is: &mut CodedInputStream<'_>) -> ProtobufResult<()>[src]

Update this message object with fields read from given stream.

fn write_to_with_cached_sizes(
    &self,
    os: &mut CodedOutputStream<'_>
) -> ProtobufResult<()>
[src]

Write message to the stream.

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

fn compute_size(&self) -> u32[src]

Compute and cache size of this message and all nested messages

fn get_cached_size(&self) -> u32[src]

Get size previously computed by compute_size.

fn get_unknown_fields<'s>(&'s self) -> &'s UnknownFields[src]

Get a reference to unknown fields.

fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut UnknownFields[src]

Get a mutable reference to unknown fields.

fn as_any(&self) -> &dyn Any[src]

View self as Any.

fn new() -> Self where
    Self: Sized
[src]

Create an empty message object.

let m = MyMessage::new();

fn default_instance() -> &'static Self where
    Self: Sized
[src]

Return a pointer to default immutable message with static lifetime.

let m: &MyMessage = MyMessage::default_instance();
Loading content...

Provided methods

fn write_to(&self, os: &mut CodedOutputStream<'_>) -> ProtobufResult<()>[src]

Write the message to the stream.

Results in error if message is not fully initialized.

fn write_length_delimited_to(
    &self,
    os: &mut CodedOutputStream<'_>
) -> ProtobufResult<()>
[src]

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

fn write_length_delimited_to_vec(&self, vec: &mut Vec<u8>) -> ProtobufResult<()>[src]

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

fn merge_from_bytes(&mut self, bytes: &[u8]) -> ProtobufResult<()>[src]

Update this message object with fields read from given stream.

fn check_initialized(&self) -> ProtobufResult<()>[src]

Check if all required fields of this object are initialized.

fn write_to_writer(&self, w: &mut dyn Write) -> ProtobufResult<()>[src]

Write the message to the writer.

fn write_to_vec(&self, v: &mut Vec<u8>) -> ProtobufResult<()>[src]

Write the message to bytes vec.

fn write_to_bytes(&self) -> ProtobufResult<Vec<u8>>[src]

Write the message to bytes vec.

fn write_length_delimited_to_writer(
    &self,
    w: &mut dyn Write
) -> ProtobufResult<()>
[src]

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

fn write_length_delimited_to_bytes(&self) -> ProtobufResult<Vec<u8>>[src]

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

fn type_id(&self) -> TypeId[src]

Get type id for downcasting.

fn as_any_mut(&mut self) -> &mut dyn Any[src]

View self as mutable Any.

fn into_any(self: Box<Self>) -> Box<dyn Any>[src]

Convert boxed self to boxed Any.

fn descriptor_static() -> &'static MessageDescriptor where
    Self: Sized
[src]

Get message descriptor for message type.

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

Implementors

impl Message for DescriptorProto[src]

impl Message for DescriptorProto_ExtensionRange[src]

impl Message for DescriptorProto_ReservedRange[src]

impl Message for EnumDescriptorProto[src]

impl Message for EnumOptions[src]

impl Message for EnumValueDescriptorProto[src]

impl Message for EnumValueOptions[src]

impl Message for FieldDescriptorProto[src]

impl Message for FieldOptions[src]

impl Message for FileDescriptorProto[src]

impl Message for FileDescriptorSet[src]

impl Message for FileOptions[src]

impl Message for GeneratedCodeInfo[src]

impl Message for GeneratedCodeInfo_Annotation[src]

impl Message for MessageOptions[src]

impl Message for MethodDescriptorProto[src]

impl Message for MethodOptions[src]

impl Message for OneofDescriptorProto[src]

impl Message for OneofOptions[src]

impl Message for ServiceDescriptorProto[src]

impl Message for ServiceOptions[src]

impl Message for SourceCodeInfo[src]

impl Message for SourceCodeInfo_Location[src]

impl Message for UninterpretedOption[src]

impl Message for UninterpretedOption_NamePart[src]

impl Message for CodeGeneratorRequest[src]

impl Message for CodeGeneratorResponse[src]

impl Message for CodeGeneratorResponse_File[src]

impl Message for Any[src]

impl Message for Api[src]

impl Message for BoolValue[src]

impl Message for BytesValue[src]

impl Message for DoubleValue[src]

impl Message for Duration[src]

impl Message for Empty[src]

impl Message for Enum[src]

impl Message for EnumValue[src]

impl Message for Field[src]

impl Message for FieldMask[src]

impl Message for FloatValue[src]

impl Message for Int32Value[src]

impl Message for Int64Value[src]

impl Message for ListValue[src]

impl Message for Method[src]

impl Message for Mixin[src]

impl Message for Option[src]

impl Message for SourceContext[src]

impl Message for StringValue[src]

impl Message for Struct[src]

impl Message for Timestamp[src]

impl Message for Type[src]

impl Message for UInt32Value[src]

impl Message for UInt64Value[src]

impl Message for Value[src]

Loading content...