[][src]Trait protobuf::Message

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

Message descriptor for this message, used for reflection.

fn is_initialized(&self) -> bool

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

fn merge_from(&mut self, is: &mut CodedInputStream) -> ProtobufResult<()>

Update this message object with fields read from given stream.

fn write_to_with_cached_sizes(
    &self,
    os: &mut CodedOutputStream
) -> ProtobufResult<()>

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

Compute and cache size of this message and all nested messages

fn get_cached_size(&self) -> u32

Get size previously computed by compute_size.

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

Get a reference to unknown fields.

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

Get a mutable reference to unknown fields.

fn as_any(&self) -> &dyn Any

View self as Any.

fn new() -> Self where
    Self: Sized

Create an empty message object.

let m = MyMessage::new();

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

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<()>

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<()>

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<()>

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

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

Update this message object with fields read from given stream.

fn check_initialized(&self) -> ProtobufResult<()>

Check if all required fields of this object are initialized.

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

Write the message to the writer.

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

Write the message to bytes vec.

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

Write the message to bytes vec.

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

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

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

fn type_id(&self) -> TypeId

Get type id for downcasting.

fn as_any_mut(&mut self) -> &mut dyn Any

View self as mutable Any.

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

Convert boxed self to boxed Any.

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

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...