Struct prost_types::MessageOptions [−][src]
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.
Implementations
Returns the value of message_set_wire_format, or the default value if message_set_wire_format is unset.
Returns the value of no_standard_descriptor_accessor, or the default value if no_standard_descriptor_accessor is unset.
Returns the value of deprecated, or the default value if deprecated is unset.
Trait Implementations
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf, Returns the encoded length of the message without a length delimiter.
Encodes the message to a buffer. Read more
Encodes the message to a newly allocated buffer.
Encodes the message with a length-delimiter to a buffer. Read more
Encodes the message with a length-delimiter to a newly allocated buffer.
Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf, Decodes a length-delimited instance of the message from the buffer.
Decodes an instance of the message from a buffer, and merges it into self. Read more
Decodes a length-delimited instance of the message from buffer, and
merges it into self. Read more
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for MessageOptionsimpl Send for MessageOptionsimpl Sync for MessageOptionsimpl Unpin for MessageOptionsimpl UnwindSafe for MessageOptionsBlanket Implementations
Mutably borrows from an owned value. Read more