[][src]Struct prost_types::MessageOptions

pub struct MessageOptions {
    pub message_set_wire_format: Option<bool>,
    pub no_standard_descriptor_accessor: Option<bool>,
    pub deprecated: Option<bool>,
    pub map_entry: Option<bool>,
    pub uninterpreted_option: Vec<UninterpretedOption>,
}

Fields

message_set_wire_format: Option<bool>

Set true to use the old proto1 MessageSet wire format for extensions. This is provided for backwards-compatibility with the MessageSet wire format. You should not use this for any other reason: It's less efficient, has fewer features, and is more complicated.

The message must be defined exactly as follows: message Foo { option message_set_wire_format = true; extensions 4 to max; } Note that the message cannot have any defined fields; MessageSets only have extensions.

All extensions of your type must be singular messages; e.g. they cannot be int32s, enums, or repeated messages.

Because this is an option, the above two restrictions are not enforced by the protocol compiler.

no_standard_descriptor_accessor: Option<bool>

Disables the generation of the standard "descriptor()" accessor, which can conflict with a field of the same name. This is meant to make migration from proto1 easier; new code should avoid fields named "descriptor".

deprecated: Option<bool>

Is this message deprecated? Depending on the target platform, this can emit Deprecated annotations for the message, or it will be completely ignored; in the very least, this is a formalization for deprecating messages.

map_entry: Option<bool>

Whether the message is an automatically generated map entry type for the maps field.

For maps fields: map<KeyType, ValueType> map_field = 1; The parsed descriptor looks like: message MapFieldEntry { option map_entry = true; optional KeyType key = 1; optional ValueType value = 2; } repeated MapFieldEntry map_field = 1;

Implementations may choose not to generate the map_entry=true message, but use a native map in the target language to hold the keys and values. The reflection APIs in such implementations still need to work as if the field is a repeated message field.

NOTE: Do not set the option in .proto files. Always use the maps syntax instead. The option should only be implicitly set by the proto compiler parser.

uninterpreted_option: Vec<UninterpretedOption>

The parser stores options it doesn't recognize here. See above.

Methods

impl MessageOptions[src]

pub fn message_set_wire_format(&self) -> bool[src]

Returns the value of message_set_wire_format, or the default value if message_set_wire_format is unset.

pub fn no_standard_descriptor_accessor(&self) -> bool[src]

Returns the value of no_standard_descriptor_accessor, or the default value if no_standard_descriptor_accessor is unset.

pub fn deprecated(&self) -> bool[src]

Returns the value of deprecated, or the default value if deprecated is unset.

pub fn map_entry(&self) -> bool[src]

Returns the value of map_entry, or the default value if map_entry is unset.

Trait Implementations

impl Clone for MessageOptions[src]

impl Debug for MessageOptions[src]

impl Default for MessageOptions[src]

impl Message for MessageOptions[src]

impl PartialEq<MessageOptions> for MessageOptions[src]

impl StructuralPartialEq for MessageOptions[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.