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§
Source§impl MessageOptions
impl MessageOptions
Sourcepub fn message_set_wire_format(&self) -> bool
pub fn message_set_wire_format(&self) -> bool
Returns the value of message_set_wire_format
, or the default value if message_set_wire_format
is unset.
Sourcepub fn no_standard_descriptor_accessor(&self) -> bool
pub fn no_standard_descriptor_accessor(&self) -> bool
Returns the value of no_standard_descriptor_accessor
, or the default value if no_standard_descriptor_accessor
is unset.
Sourcepub fn deprecated(&self) -> bool
pub fn deprecated(&self) -> bool
Returns the value of deprecated
, or the default value if deprecated
is unset.
Trait Implementations§
Source§impl Clone for MessageOptions
impl Clone for MessageOptions
Source§fn clone(&self) -> MessageOptions
fn clone(&self) -> MessageOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for MessageOptions
impl Debug for MessageOptions
Source§impl Default for MessageOptions
impl Default for MessageOptions
Source§impl Message for MessageOptions
impl Message for MessageOptions
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.