Struct prost_types::MessageOptions
source · 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<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8, Global>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8, Global>where Self: Sized,
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>where Self: Sized,
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError>where B: Buf, Self: Default,
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where B: Buf, Self: Default,
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
self
.source§impl PartialEq<MessageOptions> for MessageOptions
impl PartialEq<MessageOptions> for MessageOptions
source§fn eq(&self, other: &MessageOptions) -> bool
fn eq(&self, other: &MessageOptions) -> bool
self
and other
values to be equal, and is used
by ==
.