matrix_protos_rust/protos/
entity.rs

1// This file is generated by rust-protobuf 2.25.1. Do not edit
2// @generated
3
4// https://github.com/rust-lang/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `matrix_io/common/entity.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_1;
25
26#[derive(PartialEq,Clone,Default)]
27pub struct ArrayValue {
28    // message fields
29    pub values: ::protobuf::RepeatedField<Value>,
30    // special fields
31    pub unknown_fields: ::protobuf::UnknownFields,
32    pub cached_size: ::protobuf::CachedSize,
33}
34
35impl<'a> ::std::default::Default for &'a ArrayValue {
36    fn default() -> &'a ArrayValue {
37        <ArrayValue as ::protobuf::Message>::default_instance()
38    }
39}
40
41impl ArrayValue {
42    pub fn new() -> ArrayValue {
43        ::std::default::Default::default()
44    }
45
46    // repeated .matrix_io.common.Value values = 1;
47
48
49    pub fn get_values(&self) -> &[Value] {
50        &self.values
51    }
52    pub fn clear_values(&mut self) {
53        self.values.clear();
54    }
55
56    // Param is passed by value, moved
57    pub fn set_values(&mut self, v: ::protobuf::RepeatedField<Value>) {
58        self.values = v;
59    }
60
61    // Mutable pointer to the field.
62    pub fn mut_values(&mut self) -> &mut ::protobuf::RepeatedField<Value> {
63        &mut self.values
64    }
65
66    // Take field
67    pub fn take_values(&mut self) -> ::protobuf::RepeatedField<Value> {
68        ::std::mem::replace(&mut self.values, ::protobuf::RepeatedField::new())
69    }
70}
71
72impl ::protobuf::Message for ArrayValue {
73    fn is_initialized(&self) -> bool {
74        for v in &self.values {
75            if !v.is_initialized() {
76                return false;
77            }
78        };
79        true
80    }
81
82    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
83        while !is.eof()? {
84            let (field_number, wire_type) = is.read_tag_unpack()?;
85            match field_number {
86                1 => {
87                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.values)?;
88                },
89                _ => {
90                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
91                },
92            };
93        }
94        ::std::result::Result::Ok(())
95    }
96
97    // Compute sizes of nested messages
98    #[allow(unused_variables)]
99    fn compute_size(&self) -> u32 {
100        let mut my_size = 0;
101        for value in &self.values {
102            let len = value.compute_size();
103            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
104        };
105        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
106        self.cached_size.set(my_size);
107        my_size
108    }
109
110    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
111        for v in &self.values {
112            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
113            os.write_raw_varint32(v.get_cached_size())?;
114            v.write_to_with_cached_sizes(os)?;
115        };
116        os.write_unknown_fields(self.get_unknown_fields())?;
117        ::std::result::Result::Ok(())
118    }
119
120    fn get_cached_size(&self) -> u32 {
121        self.cached_size.get()
122    }
123
124    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
125        &self.unknown_fields
126    }
127
128    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
129        &mut self.unknown_fields
130    }
131
132    fn as_any(&self) -> &dyn (::std::any::Any) {
133        self as &dyn (::std::any::Any)
134    }
135    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
136        self as &mut dyn (::std::any::Any)
137    }
138    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
139        self
140    }
141
142    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
143        Self::descriptor_static()
144    }
145
146    fn new() -> ArrayValue {
147        ArrayValue::new()
148    }
149
150    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
151        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
152        descriptor.get(|| {
153            let mut fields = ::std::vec::Vec::new();
154            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Value>>(
155                "values",
156                |m: &ArrayValue| { &m.values },
157                |m: &mut ArrayValue| { &mut m.values },
158            ));
159            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ArrayValue>(
160                "ArrayValue",
161                fields,
162                file_descriptor_proto()
163            )
164        })
165    }
166
167    fn default_instance() -> &'static ArrayValue {
168        static instance: ::protobuf::rt::LazyV2<ArrayValue> = ::protobuf::rt::LazyV2::INIT;
169        instance.get(ArrayValue::new)
170    }
171}
172
173impl ::protobuf::Clear for ArrayValue {
174    fn clear(&mut self) {
175        self.values.clear();
176        self.unknown_fields.clear();
177    }
178}
179
180impl ::std::fmt::Debug for ArrayValue {
181    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
182        ::protobuf::text_format::fmt(self, f)
183    }
184}
185
186impl ::protobuf::reflect::ProtobufValue for ArrayValue {
187    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
188        ::protobuf::reflect::ReflectValueRef::Message(self)
189    }
190}
191
192#[derive(PartialEq,Clone,Default)]
193pub struct Value {
194    // message oneof groups
195    pub value_type: ::std::option::Option<Value_oneof_value_type>,
196    // special fields
197    pub unknown_fields: ::protobuf::UnknownFields,
198    pub cached_size: ::protobuf::CachedSize,
199}
200
201impl<'a> ::std::default::Default for &'a Value {
202    fn default() -> &'a Value {
203        <Value as ::protobuf::Message>::default_instance()
204    }
205}
206
207#[derive(Clone,PartialEq,Debug)]
208pub enum Value_oneof_value_type {
209    boolean_value(bool),
210    integer_value(i64),
211    double_value(f64),
212    entity_value(Entity),
213    array_value(ArrayValue),
214    timestamp_value(::protobuf::well_known_types::Timestamp),
215    string_value(::std::string::String),
216    blob_value(::std::vec::Vec<u8>),
217    size_value(Value_Size),
218}
219
220impl Value {
221    pub fn new() -> Value {
222        ::std::default::Default::default()
223    }
224
225    // bool boolean_value = 1;
226
227
228    pub fn get_boolean_value(&self) -> bool {
229        match self.value_type {
230            ::std::option::Option::Some(Value_oneof_value_type::boolean_value(v)) => v,
231            _ => false,
232        }
233    }
234    pub fn clear_boolean_value(&mut self) {
235        self.value_type = ::std::option::Option::None;
236    }
237
238    pub fn has_boolean_value(&self) -> bool {
239        match self.value_type {
240            ::std::option::Option::Some(Value_oneof_value_type::boolean_value(..)) => true,
241            _ => false,
242        }
243    }
244
245    // Param is passed by value, moved
246    pub fn set_boolean_value(&mut self, v: bool) {
247        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::boolean_value(v))
248    }
249
250    // int64 integer_value = 2;
251
252
253    pub fn get_integer_value(&self) -> i64 {
254        match self.value_type {
255            ::std::option::Option::Some(Value_oneof_value_type::integer_value(v)) => v,
256            _ => 0,
257        }
258    }
259    pub fn clear_integer_value(&mut self) {
260        self.value_type = ::std::option::Option::None;
261    }
262
263    pub fn has_integer_value(&self) -> bool {
264        match self.value_type {
265            ::std::option::Option::Some(Value_oneof_value_type::integer_value(..)) => true,
266            _ => false,
267        }
268    }
269
270    // Param is passed by value, moved
271    pub fn set_integer_value(&mut self, v: i64) {
272        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::integer_value(v))
273    }
274
275    // double double_value = 3;
276
277
278    pub fn get_double_value(&self) -> f64 {
279        match self.value_type {
280            ::std::option::Option::Some(Value_oneof_value_type::double_value(v)) => v,
281            _ => 0.,
282        }
283    }
284    pub fn clear_double_value(&mut self) {
285        self.value_type = ::std::option::Option::None;
286    }
287
288    pub fn has_double_value(&self) -> bool {
289        match self.value_type {
290            ::std::option::Option::Some(Value_oneof_value_type::double_value(..)) => true,
291            _ => false,
292        }
293    }
294
295    // Param is passed by value, moved
296    pub fn set_double_value(&mut self, v: f64) {
297        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::double_value(v))
298    }
299
300    // .matrix_io.common.Entity entity_value = 6;
301
302
303    pub fn get_entity_value(&self) -> &Entity {
304        match self.value_type {
305            ::std::option::Option::Some(Value_oneof_value_type::entity_value(ref v)) => v,
306            _ => <Entity as ::protobuf::Message>::default_instance(),
307        }
308    }
309    pub fn clear_entity_value(&mut self) {
310        self.value_type = ::std::option::Option::None;
311    }
312
313    pub fn has_entity_value(&self) -> bool {
314        match self.value_type {
315            ::std::option::Option::Some(Value_oneof_value_type::entity_value(..)) => true,
316            _ => false,
317        }
318    }
319
320    // Param is passed by value, moved
321    pub fn set_entity_value(&mut self, v: Entity) {
322        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::entity_value(v))
323    }
324
325    // Mutable pointer to the field.
326    pub fn mut_entity_value(&mut self) -> &mut Entity {
327        if let ::std::option::Option::Some(Value_oneof_value_type::entity_value(_)) = self.value_type {
328        } else {
329            self.value_type = ::std::option::Option::Some(Value_oneof_value_type::entity_value(Entity::new()));
330        }
331        match self.value_type {
332            ::std::option::Option::Some(Value_oneof_value_type::entity_value(ref mut v)) => v,
333            _ => panic!(),
334        }
335    }
336
337    // Take field
338    pub fn take_entity_value(&mut self) -> Entity {
339        if self.has_entity_value() {
340            match self.value_type.take() {
341                ::std::option::Option::Some(Value_oneof_value_type::entity_value(v)) => v,
342                _ => panic!(),
343            }
344        } else {
345            Entity::new()
346        }
347    }
348
349    // .matrix_io.common.ArrayValue array_value = 9;
350
351
352    pub fn get_array_value(&self) -> &ArrayValue {
353        match self.value_type {
354            ::std::option::Option::Some(Value_oneof_value_type::array_value(ref v)) => v,
355            _ => <ArrayValue as ::protobuf::Message>::default_instance(),
356        }
357    }
358    pub fn clear_array_value(&mut self) {
359        self.value_type = ::std::option::Option::None;
360    }
361
362    pub fn has_array_value(&self) -> bool {
363        match self.value_type {
364            ::std::option::Option::Some(Value_oneof_value_type::array_value(..)) => true,
365            _ => false,
366        }
367    }
368
369    // Param is passed by value, moved
370    pub fn set_array_value(&mut self, v: ArrayValue) {
371        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::array_value(v))
372    }
373
374    // Mutable pointer to the field.
375    pub fn mut_array_value(&mut self) -> &mut ArrayValue {
376        if let ::std::option::Option::Some(Value_oneof_value_type::array_value(_)) = self.value_type {
377        } else {
378            self.value_type = ::std::option::Option::Some(Value_oneof_value_type::array_value(ArrayValue::new()));
379        }
380        match self.value_type {
381            ::std::option::Option::Some(Value_oneof_value_type::array_value(ref mut v)) => v,
382            _ => panic!(),
383        }
384    }
385
386    // Take field
387    pub fn take_array_value(&mut self) -> ArrayValue {
388        if self.has_array_value() {
389            match self.value_type.take() {
390                ::std::option::Option::Some(Value_oneof_value_type::array_value(v)) => v,
391                _ => panic!(),
392            }
393        } else {
394            ArrayValue::new()
395        }
396    }
397
398    // .google.protobuf.Timestamp timestamp_value = 10;
399
400
401    pub fn get_timestamp_value(&self) -> &::protobuf::well_known_types::Timestamp {
402        match self.value_type {
403            ::std::option::Option::Some(Value_oneof_value_type::timestamp_value(ref v)) => v,
404            _ => <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance(),
405        }
406    }
407    pub fn clear_timestamp_value(&mut self) {
408        self.value_type = ::std::option::Option::None;
409    }
410
411    pub fn has_timestamp_value(&self) -> bool {
412        match self.value_type {
413            ::std::option::Option::Some(Value_oneof_value_type::timestamp_value(..)) => true,
414            _ => false,
415        }
416    }
417
418    // Param is passed by value, moved
419    pub fn set_timestamp_value(&mut self, v: ::protobuf::well_known_types::Timestamp) {
420        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::timestamp_value(v))
421    }
422
423    // Mutable pointer to the field.
424    pub fn mut_timestamp_value(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
425        if let ::std::option::Option::Some(Value_oneof_value_type::timestamp_value(_)) = self.value_type {
426        } else {
427            self.value_type = ::std::option::Option::Some(Value_oneof_value_type::timestamp_value(::protobuf::well_known_types::Timestamp::new()));
428        }
429        match self.value_type {
430            ::std::option::Option::Some(Value_oneof_value_type::timestamp_value(ref mut v)) => v,
431            _ => panic!(),
432        }
433    }
434
435    // Take field
436    pub fn take_timestamp_value(&mut self) -> ::protobuf::well_known_types::Timestamp {
437        if self.has_timestamp_value() {
438            match self.value_type.take() {
439                ::std::option::Option::Some(Value_oneof_value_type::timestamp_value(v)) => v,
440                _ => panic!(),
441            }
442        } else {
443            ::protobuf::well_known_types::Timestamp::new()
444        }
445    }
446
447    // string string_value = 17;
448
449
450    pub fn get_string_value(&self) -> &str {
451        match self.value_type {
452            ::std::option::Option::Some(Value_oneof_value_type::string_value(ref v)) => v,
453            _ => "",
454        }
455    }
456    pub fn clear_string_value(&mut self) {
457        self.value_type = ::std::option::Option::None;
458    }
459
460    pub fn has_string_value(&self) -> bool {
461        match self.value_type {
462            ::std::option::Option::Some(Value_oneof_value_type::string_value(..)) => true,
463            _ => false,
464        }
465    }
466
467    // Param is passed by value, moved
468    pub fn set_string_value(&mut self, v: ::std::string::String) {
469        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::string_value(v))
470    }
471
472    // Mutable pointer to the field.
473    pub fn mut_string_value(&mut self) -> &mut ::std::string::String {
474        if let ::std::option::Option::Some(Value_oneof_value_type::string_value(_)) = self.value_type {
475        } else {
476            self.value_type = ::std::option::Option::Some(Value_oneof_value_type::string_value(::std::string::String::new()));
477        }
478        match self.value_type {
479            ::std::option::Option::Some(Value_oneof_value_type::string_value(ref mut v)) => v,
480            _ => panic!(),
481        }
482    }
483
484    // Take field
485    pub fn take_string_value(&mut self) -> ::std::string::String {
486        if self.has_string_value() {
487            match self.value_type.take() {
488                ::std::option::Option::Some(Value_oneof_value_type::string_value(v)) => v,
489                _ => panic!(),
490            }
491        } else {
492            ::std::string::String::new()
493        }
494    }
495
496    // bytes blob_value = 18;
497
498
499    pub fn get_blob_value(&self) -> &[u8] {
500        match self.value_type {
501            ::std::option::Option::Some(Value_oneof_value_type::blob_value(ref v)) => v,
502            _ => &[],
503        }
504    }
505    pub fn clear_blob_value(&mut self) {
506        self.value_type = ::std::option::Option::None;
507    }
508
509    pub fn has_blob_value(&self) -> bool {
510        match self.value_type {
511            ::std::option::Option::Some(Value_oneof_value_type::blob_value(..)) => true,
512            _ => false,
513        }
514    }
515
516    // Param is passed by value, moved
517    pub fn set_blob_value(&mut self, v: ::std::vec::Vec<u8>) {
518        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::blob_value(v))
519    }
520
521    // Mutable pointer to the field.
522    pub fn mut_blob_value(&mut self) -> &mut ::std::vec::Vec<u8> {
523        if let ::std::option::Option::Some(Value_oneof_value_type::blob_value(_)) = self.value_type {
524        } else {
525            self.value_type = ::std::option::Option::Some(Value_oneof_value_type::blob_value(::std::vec::Vec::new()));
526        }
527        match self.value_type {
528            ::std::option::Option::Some(Value_oneof_value_type::blob_value(ref mut v)) => v,
529            _ => panic!(),
530        }
531    }
532
533    // Take field
534    pub fn take_blob_value(&mut self) -> ::std::vec::Vec<u8> {
535        if self.has_blob_value() {
536            match self.value_type.take() {
537                ::std::option::Option::Some(Value_oneof_value_type::blob_value(v)) => v,
538                _ => panic!(),
539            }
540        } else {
541            ::std::vec::Vec::new()
542        }
543    }
544
545    // .matrix_io.common.Value.Size size_value = 19;
546
547
548    pub fn get_size_value(&self) -> &Value_Size {
549        match self.value_type {
550            ::std::option::Option::Some(Value_oneof_value_type::size_value(ref v)) => v,
551            _ => <Value_Size as ::protobuf::Message>::default_instance(),
552        }
553    }
554    pub fn clear_size_value(&mut self) {
555        self.value_type = ::std::option::Option::None;
556    }
557
558    pub fn has_size_value(&self) -> bool {
559        match self.value_type {
560            ::std::option::Option::Some(Value_oneof_value_type::size_value(..)) => true,
561            _ => false,
562        }
563    }
564
565    // Param is passed by value, moved
566    pub fn set_size_value(&mut self, v: Value_Size) {
567        self.value_type = ::std::option::Option::Some(Value_oneof_value_type::size_value(v))
568    }
569
570    // Mutable pointer to the field.
571    pub fn mut_size_value(&mut self) -> &mut Value_Size {
572        if let ::std::option::Option::Some(Value_oneof_value_type::size_value(_)) = self.value_type {
573        } else {
574            self.value_type = ::std::option::Option::Some(Value_oneof_value_type::size_value(Value_Size::new()));
575        }
576        match self.value_type {
577            ::std::option::Option::Some(Value_oneof_value_type::size_value(ref mut v)) => v,
578            _ => panic!(),
579        }
580    }
581
582    // Take field
583    pub fn take_size_value(&mut self) -> Value_Size {
584        if self.has_size_value() {
585            match self.value_type.take() {
586                ::std::option::Option::Some(Value_oneof_value_type::size_value(v)) => v,
587                _ => panic!(),
588            }
589        } else {
590            Value_Size::new()
591        }
592    }
593}
594
595impl ::protobuf::Message for Value {
596    fn is_initialized(&self) -> bool {
597        if let Some(Value_oneof_value_type::entity_value(ref v)) = self.value_type {
598            if !v.is_initialized() {
599                return false;
600            }
601        }
602        if let Some(Value_oneof_value_type::array_value(ref v)) = self.value_type {
603            if !v.is_initialized() {
604                return false;
605            }
606        }
607        if let Some(Value_oneof_value_type::timestamp_value(ref v)) = self.value_type {
608            if !v.is_initialized() {
609                return false;
610            }
611        }
612        if let Some(Value_oneof_value_type::size_value(ref v)) = self.value_type {
613            if !v.is_initialized() {
614                return false;
615            }
616        }
617        true
618    }
619
620    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
621        while !is.eof()? {
622            let (field_number, wire_type) = is.read_tag_unpack()?;
623            match field_number {
624                1 => {
625                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
626                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
627                    }
628                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::boolean_value(is.read_bool()?));
629                },
630                2 => {
631                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
632                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
633                    }
634                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::integer_value(is.read_int64()?));
635                },
636                3 => {
637                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
638                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
639                    }
640                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::double_value(is.read_double()?));
641                },
642                6 => {
643                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
644                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
645                    }
646                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::entity_value(is.read_message()?));
647                },
648                9 => {
649                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
650                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
651                    }
652                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::array_value(is.read_message()?));
653                },
654                10 => {
655                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
656                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
657                    }
658                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::timestamp_value(is.read_message()?));
659                },
660                17 => {
661                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
662                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
663                    }
664                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::string_value(is.read_string()?));
665                },
666                18 => {
667                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
668                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
669                    }
670                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::blob_value(is.read_bytes()?));
671                },
672                19 => {
673                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
674                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
675                    }
676                    self.value_type = ::std::option::Option::Some(Value_oneof_value_type::size_value(is.read_message()?));
677                },
678                _ => {
679                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
680                },
681            };
682        }
683        ::std::result::Result::Ok(())
684    }
685
686    // Compute sizes of nested messages
687    #[allow(unused_variables)]
688    fn compute_size(&self) -> u32 {
689        let mut my_size = 0;
690        if let ::std::option::Option::Some(ref v) = self.value_type {
691            match v {
692                &Value_oneof_value_type::boolean_value(v) => {
693                    my_size += 2;
694                },
695                &Value_oneof_value_type::integer_value(v) => {
696                    my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
697                },
698                &Value_oneof_value_type::double_value(v) => {
699                    my_size += 9;
700                },
701                &Value_oneof_value_type::entity_value(ref v) => {
702                    let len = v.compute_size();
703                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
704                },
705                &Value_oneof_value_type::array_value(ref v) => {
706                    let len = v.compute_size();
707                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
708                },
709                &Value_oneof_value_type::timestamp_value(ref v) => {
710                    let len = v.compute_size();
711                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
712                },
713                &Value_oneof_value_type::string_value(ref v) => {
714                    my_size += ::protobuf::rt::string_size(17, &v);
715                },
716                &Value_oneof_value_type::blob_value(ref v) => {
717                    my_size += ::protobuf::rt::bytes_size(18, &v);
718                },
719                &Value_oneof_value_type::size_value(ref v) => {
720                    let len = v.compute_size();
721                    my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
722                },
723            };
724        }
725        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
726        self.cached_size.set(my_size);
727        my_size
728    }
729
730    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
731        if let ::std::option::Option::Some(ref v) = self.value_type {
732            match v {
733                &Value_oneof_value_type::boolean_value(v) => {
734                    os.write_bool(1, v)?;
735                },
736                &Value_oneof_value_type::integer_value(v) => {
737                    os.write_int64(2, v)?;
738                },
739                &Value_oneof_value_type::double_value(v) => {
740                    os.write_double(3, v)?;
741                },
742                &Value_oneof_value_type::entity_value(ref v) => {
743                    os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
744                    os.write_raw_varint32(v.get_cached_size())?;
745                    v.write_to_with_cached_sizes(os)?;
746                },
747                &Value_oneof_value_type::array_value(ref v) => {
748                    os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
749                    os.write_raw_varint32(v.get_cached_size())?;
750                    v.write_to_with_cached_sizes(os)?;
751                },
752                &Value_oneof_value_type::timestamp_value(ref v) => {
753                    os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
754                    os.write_raw_varint32(v.get_cached_size())?;
755                    v.write_to_with_cached_sizes(os)?;
756                },
757                &Value_oneof_value_type::string_value(ref v) => {
758                    os.write_string(17, v)?;
759                },
760                &Value_oneof_value_type::blob_value(ref v) => {
761                    os.write_bytes(18, v)?;
762                },
763                &Value_oneof_value_type::size_value(ref v) => {
764                    os.write_tag(19, ::protobuf::wire_format::WireTypeLengthDelimited)?;
765                    os.write_raw_varint32(v.get_cached_size())?;
766                    v.write_to_with_cached_sizes(os)?;
767                },
768            };
769        }
770        os.write_unknown_fields(self.get_unknown_fields())?;
771        ::std::result::Result::Ok(())
772    }
773
774    fn get_cached_size(&self) -> u32 {
775        self.cached_size.get()
776    }
777
778    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
779        &self.unknown_fields
780    }
781
782    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
783        &mut self.unknown_fields
784    }
785
786    fn as_any(&self) -> &dyn (::std::any::Any) {
787        self as &dyn (::std::any::Any)
788    }
789    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
790        self as &mut dyn (::std::any::Any)
791    }
792    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
793        self
794    }
795
796    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
797        Self::descriptor_static()
798    }
799
800    fn new() -> Value {
801        Value::new()
802    }
803
804    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
805        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
806        descriptor.get(|| {
807            let mut fields = ::std::vec::Vec::new();
808            fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor::<_>(
809                "boolean_value",
810                Value::has_boolean_value,
811                Value::get_boolean_value,
812            ));
813            fields.push(::protobuf::reflect::accessor::make_singular_i64_accessor::<_>(
814                "integer_value",
815                Value::has_integer_value,
816                Value::get_integer_value,
817            ));
818            fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor::<_>(
819                "double_value",
820                Value::has_double_value,
821                Value::get_double_value,
822            ));
823            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Entity>(
824                "entity_value",
825                Value::has_entity_value,
826                Value::get_entity_value,
827            ));
828            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ArrayValue>(
829                "array_value",
830                Value::has_array_value,
831                Value::get_array_value,
832            ));
833            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ::protobuf::well_known_types::Timestamp>(
834                "timestamp_value",
835                Value::has_timestamp_value,
836                Value::get_timestamp_value,
837            ));
838            fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
839                "string_value",
840                Value::has_string_value,
841                Value::get_string_value,
842            ));
843            fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor::<_>(
844                "blob_value",
845                Value::has_blob_value,
846                Value::get_blob_value,
847            ));
848            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Value_Size>(
849                "size_value",
850                Value::has_size_value,
851                Value::get_size_value,
852            ));
853            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Value>(
854                "Value",
855                fields,
856                file_descriptor_proto()
857            )
858        })
859    }
860
861    fn default_instance() -> &'static Value {
862        static instance: ::protobuf::rt::LazyV2<Value> = ::protobuf::rt::LazyV2::INIT;
863        instance.get(Value::new)
864    }
865}
866
867impl ::protobuf::Clear for Value {
868    fn clear(&mut self) {
869        self.value_type = ::std::option::Option::None;
870        self.value_type = ::std::option::Option::None;
871        self.value_type = ::std::option::Option::None;
872        self.value_type = ::std::option::Option::None;
873        self.value_type = ::std::option::Option::None;
874        self.value_type = ::std::option::Option::None;
875        self.value_type = ::std::option::Option::None;
876        self.value_type = ::std::option::Option::None;
877        self.value_type = ::std::option::Option::None;
878        self.unknown_fields.clear();
879    }
880}
881
882impl ::std::fmt::Debug for Value {
883    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
884        ::protobuf::text_format::fmt(self, f)
885    }
886}
887
888impl ::protobuf::reflect::ProtobufValue for Value {
889    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
890        ::protobuf::reflect::ReflectValueRef::Message(self)
891    }
892}
893
894#[derive(PartialEq,Clone,Default)]
895pub struct Value_Size {
896    // message fields
897    pub width: i64,
898    pub height: i64,
899    // special fields
900    pub unknown_fields: ::protobuf::UnknownFields,
901    pub cached_size: ::protobuf::CachedSize,
902}
903
904impl<'a> ::std::default::Default for &'a Value_Size {
905    fn default() -> &'a Value_Size {
906        <Value_Size as ::protobuf::Message>::default_instance()
907    }
908}
909
910impl Value_Size {
911    pub fn new() -> Value_Size {
912        ::std::default::Default::default()
913    }
914
915    // int64 width = 1;
916
917
918    pub fn get_width(&self) -> i64 {
919        self.width
920    }
921    pub fn clear_width(&mut self) {
922        self.width = 0;
923    }
924
925    // Param is passed by value, moved
926    pub fn set_width(&mut self, v: i64) {
927        self.width = v;
928    }
929
930    // int64 height = 2;
931
932
933    pub fn get_height(&self) -> i64 {
934        self.height
935    }
936    pub fn clear_height(&mut self) {
937        self.height = 0;
938    }
939
940    // Param is passed by value, moved
941    pub fn set_height(&mut self, v: i64) {
942        self.height = v;
943    }
944}
945
946impl ::protobuf::Message for Value_Size {
947    fn is_initialized(&self) -> bool {
948        true
949    }
950
951    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
952        while !is.eof()? {
953            let (field_number, wire_type) = is.read_tag_unpack()?;
954            match field_number {
955                1 => {
956                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
957                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
958                    }
959                    let tmp = is.read_int64()?;
960                    self.width = tmp;
961                },
962                2 => {
963                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
964                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
965                    }
966                    let tmp = is.read_int64()?;
967                    self.height = tmp;
968                },
969                _ => {
970                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
971                },
972            };
973        }
974        ::std::result::Result::Ok(())
975    }
976
977    // Compute sizes of nested messages
978    #[allow(unused_variables)]
979    fn compute_size(&self) -> u32 {
980        let mut my_size = 0;
981        if self.width != 0 {
982            my_size += ::protobuf::rt::value_size(1, self.width, ::protobuf::wire_format::WireTypeVarint);
983        }
984        if self.height != 0 {
985            my_size += ::protobuf::rt::value_size(2, self.height, ::protobuf::wire_format::WireTypeVarint);
986        }
987        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
988        self.cached_size.set(my_size);
989        my_size
990    }
991
992    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
993        if self.width != 0 {
994            os.write_int64(1, self.width)?;
995        }
996        if self.height != 0 {
997            os.write_int64(2, self.height)?;
998        }
999        os.write_unknown_fields(self.get_unknown_fields())?;
1000        ::std::result::Result::Ok(())
1001    }
1002
1003    fn get_cached_size(&self) -> u32 {
1004        self.cached_size.get()
1005    }
1006
1007    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1008        &self.unknown_fields
1009    }
1010
1011    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1012        &mut self.unknown_fields
1013    }
1014
1015    fn as_any(&self) -> &dyn (::std::any::Any) {
1016        self as &dyn (::std::any::Any)
1017    }
1018    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1019        self as &mut dyn (::std::any::Any)
1020    }
1021    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1022        self
1023    }
1024
1025    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1026        Self::descriptor_static()
1027    }
1028
1029    fn new() -> Value_Size {
1030        Value_Size::new()
1031    }
1032
1033    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1034        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1035        descriptor.get(|| {
1036            let mut fields = ::std::vec::Vec::new();
1037            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1038                "width",
1039                |m: &Value_Size| { &m.width },
1040                |m: &mut Value_Size| { &mut m.width },
1041            ));
1042            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1043                "height",
1044                |m: &Value_Size| { &m.height },
1045                |m: &mut Value_Size| { &mut m.height },
1046            ));
1047            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Value_Size>(
1048                "Value.Size",
1049                fields,
1050                file_descriptor_proto()
1051            )
1052        })
1053    }
1054
1055    fn default_instance() -> &'static Value_Size {
1056        static instance: ::protobuf::rt::LazyV2<Value_Size> = ::protobuf::rt::LazyV2::INIT;
1057        instance.get(Value_Size::new)
1058    }
1059}
1060
1061impl ::protobuf::Clear for Value_Size {
1062    fn clear(&mut self) {
1063        self.width = 0;
1064        self.height = 0;
1065        self.unknown_fields.clear();
1066    }
1067}
1068
1069impl ::std::fmt::Debug for Value_Size {
1070    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1071        ::protobuf::text_format::fmt(self, f)
1072    }
1073}
1074
1075impl ::protobuf::reflect::ProtobufValue for Value_Size {
1076    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1077        ::protobuf::reflect::ReflectValueRef::Message(self)
1078    }
1079}
1080
1081#[derive(PartialEq,Clone,Default)]
1082pub struct Entity {
1083    // message fields
1084    pub properties: ::std::collections::HashMap<::std::string::String, Value>,
1085    // special fields
1086    pub unknown_fields: ::protobuf::UnknownFields,
1087    pub cached_size: ::protobuf::CachedSize,
1088}
1089
1090impl<'a> ::std::default::Default for &'a Entity {
1091    fn default() -> &'a Entity {
1092        <Entity as ::protobuf::Message>::default_instance()
1093    }
1094}
1095
1096impl Entity {
1097    pub fn new() -> Entity {
1098        ::std::default::Default::default()
1099    }
1100
1101    // repeated .matrix_io.common.Entity.properties_MapEntry properties = 1;
1102
1103
1104    pub fn get_properties(&self) -> &::std::collections::HashMap<::std::string::String, Value> {
1105        &self.properties
1106    }
1107    pub fn clear_properties(&mut self) {
1108        self.properties.clear();
1109    }
1110
1111    // Param is passed by value, moved
1112    pub fn set_properties(&mut self, v: ::std::collections::HashMap<::std::string::String, Value>) {
1113        self.properties = v;
1114    }
1115
1116    // Mutable pointer to the field.
1117    pub fn mut_properties(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, Value> {
1118        &mut self.properties
1119    }
1120
1121    // Take field
1122    pub fn take_properties(&mut self) -> ::std::collections::HashMap<::std::string::String, Value> {
1123        ::std::mem::replace(&mut self.properties, ::std::collections::HashMap::new())
1124    }
1125}
1126
1127impl ::protobuf::Message for Entity {
1128    fn is_initialized(&self) -> bool {
1129        true
1130    }
1131
1132    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1133        while !is.eof()? {
1134            let (field_number, wire_type) = is.read_tag_unpack()?;
1135            match field_number {
1136                1 => {
1137                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Value>>(wire_type, is, &mut self.properties)?;
1138                },
1139                _ => {
1140                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1141                },
1142            };
1143        }
1144        ::std::result::Result::Ok(())
1145    }
1146
1147    // Compute sizes of nested messages
1148    #[allow(unused_variables)]
1149    fn compute_size(&self) -> u32 {
1150        let mut my_size = 0;
1151        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Value>>(1, &self.properties);
1152        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1153        self.cached_size.set(my_size);
1154        my_size
1155    }
1156
1157    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1158        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Value>>(1, &self.properties, os)?;
1159        os.write_unknown_fields(self.get_unknown_fields())?;
1160        ::std::result::Result::Ok(())
1161    }
1162
1163    fn get_cached_size(&self) -> u32 {
1164        self.cached_size.get()
1165    }
1166
1167    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1168        &self.unknown_fields
1169    }
1170
1171    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1172        &mut self.unknown_fields
1173    }
1174
1175    fn as_any(&self) -> &dyn (::std::any::Any) {
1176        self as &dyn (::std::any::Any)
1177    }
1178    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1179        self as &mut dyn (::std::any::Any)
1180    }
1181    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1182        self
1183    }
1184
1185    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1186        Self::descriptor_static()
1187    }
1188
1189    fn new() -> Entity {
1190        Entity::new()
1191    }
1192
1193    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1194        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1195        descriptor.get(|| {
1196            let mut fields = ::std::vec::Vec::new();
1197            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Value>>(
1198                "properties",
1199                |m: &Entity| { &m.properties },
1200                |m: &mut Entity| { &mut m.properties },
1201            ));
1202            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Entity>(
1203                "Entity",
1204                fields,
1205                file_descriptor_proto()
1206            )
1207        })
1208    }
1209
1210    fn default_instance() -> &'static Entity {
1211        static instance: ::protobuf::rt::LazyV2<Entity> = ::protobuf::rt::LazyV2::INIT;
1212        instance.get(Entity::new)
1213    }
1214}
1215
1216impl ::protobuf::Clear for Entity {
1217    fn clear(&mut self) {
1218        self.properties.clear();
1219        self.unknown_fields.clear();
1220    }
1221}
1222
1223impl ::std::fmt::Debug for Entity {
1224    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1225        ::protobuf::text_format::fmt(self, f)
1226    }
1227}
1228
1229impl ::protobuf::reflect::ProtobufValue for Entity {
1230    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1231        ::protobuf::reflect::ReflectValueRef::Message(self)
1232    }
1233}
1234
1235static file_descriptor_proto_data: &'static [u8] = b"\
1236    \n\x1dmatrix_io/common/entity.proto\x12\x10matrix_io.common\x1a\x1fgoogl\
1237    e/protobuf/timestamp.proto\"A\n\nArrayValue\x121\n\x06values\x18\x01\x20\
1238    \x03(\x0b2\x17.matrix_io.common.ValueR\x06valuesB\0:\0\"\xa4\x04\n\x05Va\
1239    lue\x12'\n\rboolean_value\x18\x01\x20\x01(\x08H\0R\x0cbooleanValueB\0\
1240    \x12'\n\rinteger_value\x18\x02\x20\x01(\x03H\0R\x0cintegerValueB\0\x12%\
1241    \n\x0cdouble_value\x18\x03\x20\x01(\x01H\0R\x0bdoubleValueB\0\x12?\n\x0c\
1242    entity_value\x18\x06\x20\x01(\x0b2\x18.matrix_io.common.EntityH\0R\x0ben\
1243    tityValueB\0\x12A\n\x0barray_value\x18\t\x20\x01(\x0b2\x1c.matrix_io.com\
1244    mon.ArrayValueH\0R\narrayValueB\0\x12G\n\x0ftimestamp_value\x18\n\x20\
1245    \x01(\x0b2\x1a.google.protobuf.TimestampH\0R\x0etimestampValueB\0\x12%\n\
1246    \x0cstring_value\x18\x11\x20\x01(\tH\0R\x0bstringValueB\0\x12!\n\nblob_v\
1247    alue\x18\x12\x20\x01(\x0cH\0R\tblobValueB\0\x12?\n\nsize_value\x18\x13\
1248    \x20\x01(\x0b2\x1c.matrix_io.common.Value.SizeH\0R\tsizeValueB\0\x1a:\n\
1249    \x04Size\x12\x16\n\x05width\x18\x01\x20\x01(\x03R\x05widthB\0\x12\x18\n\
1250    \x06height\x18\x02\x20\x01(\x03R\x06heightB\0:\0B\x0c\n\nvalue_type:\0\"\
1251    \xb2\x01\n\x06Entity\x12N\n\nproperties\x18\x01\x20\x03(\x0b2,.matrix_io\
1252    .common.Entity.properties_MapEntryR\npropertiesB\0\x1aV\n\x13properties_\
1253    MapEntry\x12\x0e\n\x03key\x18\x01(\tR\x03key\x12+\n\x05value\x18\x02(\
1254    \x0b2\x17.matrix_io.common.ValueR\x05value:\x028\x01:\0B\0b\x06proto3\
1255";
1256
1257static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
1258
1259fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
1260    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
1261}
1262
1263pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1264    file_descriptor_proto_lazy.get(|| {
1265        parse_descriptor_proto()
1266    })
1267}