gz_msgs/ign_msgs8/
packet.rs

1// This file is generated by rust-protobuf 3.7.2. Do not edit
2// .proto file is parsed by protoc 3.21.12
3// @generated
4
5// https://github.com/rust-lang/rust-clippy/issues/702
6#![allow(unknown_lints)]
7#![allow(clippy::all)]
8
9#![allow(unused_attributes)]
10#![cfg_attr(rustfmt, rustfmt::skip)]
11
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_results)]
19#![allow(unused_mut)]
20
21//! Generated file from `ignition/msgs/packet.proto`
22
23/// Generated files are compatible only with the same version
24/// of protobuf runtime.
25const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_2;
26
27#[derive(::gz_msgs_common::IgnMessage)]
28// @@protoc_insertion_point(message:ignition.msgs.Packet)
29#[derive(PartialEq,Clone,Default,Debug)]
30pub struct Packet {
31    // message fields
32    // @@protoc_insertion_point(field:ignition.msgs.Packet.topic)
33    pub topic: ::std::string::String,
34    // @@protoc_insertion_point(field:ignition.msgs.Packet.type)
35    pub type_: ::std::string::String,
36    // message oneof groups
37    pub content: ::std::option::Option<packet::Content>,
38    // special fields
39    // @@protoc_insertion_point(special_field:ignition.msgs.Packet.special_fields)
40    pub special_fields: ::protobuf::SpecialFields,
41}
42
43impl<'a> ::std::default::Default for &'a Packet {
44    fn default() -> &'a Packet {
45        <Packet as ::protobuf::Message>::default_instance()
46    }
47}
48
49impl Packet {
50    pub fn new() -> Packet {
51        ::std::default::Default::default()
52    }
53
54    // .ignition.msgs.CmdVel2D cmd_vel2d = 3;
55
56    pub fn cmd_vel2d(&self) -> &super::cmd_vel2d::CmdVel2D {
57        match self.content {
58            ::std::option::Option::Some(packet::Content::CmdVel2d(ref v)) => v,
59            _ => <super::cmd_vel2d::CmdVel2D as ::protobuf::Message>::default_instance(),
60        }
61    }
62
63    pub fn clear_cmd_vel2d(&mut self) {
64        self.content = ::std::option::Option::None;
65    }
66
67    pub fn has_cmd_vel2d(&self) -> bool {
68        match self.content {
69            ::std::option::Option::Some(packet::Content::CmdVel2d(..)) => true,
70            _ => false,
71        }
72    }
73
74    // Param is passed by value, moved
75    pub fn set_cmd_vel2d(&mut self, v: super::cmd_vel2d::CmdVel2D) {
76        self.content = ::std::option::Option::Some(packet::Content::CmdVel2d(v))
77    }
78
79    // Mutable pointer to the field.
80    pub fn mut_cmd_vel2d(&mut self) -> &mut super::cmd_vel2d::CmdVel2D {
81        if let ::std::option::Option::Some(packet::Content::CmdVel2d(_)) = self.content {
82        } else {
83            self.content = ::std::option::Option::Some(packet::Content::CmdVel2d(super::cmd_vel2d::CmdVel2D::new()));
84        }
85        match self.content {
86            ::std::option::Option::Some(packet::Content::CmdVel2d(ref mut v)) => v,
87            _ => panic!(),
88        }
89    }
90
91    // Take field
92    pub fn take_cmd_vel2d(&mut self) -> super::cmd_vel2d::CmdVel2D {
93        if self.has_cmd_vel2d() {
94            match self.content.take() {
95                ::std::option::Option::Some(packet::Content::CmdVel2d(v)) => v,
96                _ => panic!(),
97            }
98        } else {
99            super::cmd_vel2d::CmdVel2D::new()
100        }
101    }
102
103    // .ignition.msgs.Image image = 4;
104
105    pub fn image(&self) -> &super::image::Image {
106        match self.content {
107            ::std::option::Option::Some(packet::Content::Image(ref v)) => v,
108            _ => <super::image::Image as ::protobuf::Message>::default_instance(),
109        }
110    }
111
112    pub fn clear_image(&mut self) {
113        self.content = ::std::option::Option::None;
114    }
115
116    pub fn has_image(&self) -> bool {
117        match self.content {
118            ::std::option::Option::Some(packet::Content::Image(..)) => true,
119            _ => false,
120        }
121    }
122
123    // Param is passed by value, moved
124    pub fn set_image(&mut self, v: super::image::Image) {
125        self.content = ::std::option::Option::Some(packet::Content::Image(v))
126    }
127
128    // Mutable pointer to the field.
129    pub fn mut_image(&mut self) -> &mut super::image::Image {
130        if let ::std::option::Option::Some(packet::Content::Image(_)) = self.content {
131        } else {
132            self.content = ::std::option::Option::Some(packet::Content::Image(super::image::Image::new()));
133        }
134        match self.content {
135            ::std::option::Option::Some(packet::Content::Image(ref mut v)) => v,
136            _ => panic!(),
137        }
138    }
139
140    // Take field
141    pub fn take_image(&mut self) -> super::image::Image {
142        if self.has_image() {
143            match self.content.take() {
144                ::std::option::Option::Some(packet::Content::Image(v)) => v,
145                _ => panic!(),
146            }
147        } else {
148            super::image::Image::new()
149        }
150    }
151
152    // .ignition.msgs.StringMsg_V string_msg_v = 5;
153
154    pub fn string_msg_v(&self) -> &super::stringmsg_v::StringMsg_V {
155        match self.content {
156            ::std::option::Option::Some(packet::Content::StringMsgV(ref v)) => v,
157            _ => <super::stringmsg_v::StringMsg_V as ::protobuf::Message>::default_instance(),
158        }
159    }
160
161    pub fn clear_string_msg_v(&mut self) {
162        self.content = ::std::option::Option::None;
163    }
164
165    pub fn has_string_msg_v(&self) -> bool {
166        match self.content {
167            ::std::option::Option::Some(packet::Content::StringMsgV(..)) => true,
168            _ => false,
169        }
170    }
171
172    // Param is passed by value, moved
173    pub fn set_string_msg_v(&mut self, v: super::stringmsg_v::StringMsg_V) {
174        self.content = ::std::option::Option::Some(packet::Content::StringMsgV(v))
175    }
176
177    // Mutable pointer to the field.
178    pub fn mut_string_msg_v(&mut self) -> &mut super::stringmsg_v::StringMsg_V {
179        if let ::std::option::Option::Some(packet::Content::StringMsgV(_)) = self.content {
180        } else {
181            self.content = ::std::option::Option::Some(packet::Content::StringMsgV(super::stringmsg_v::StringMsg_V::new()));
182        }
183        match self.content {
184            ::std::option::Option::Some(packet::Content::StringMsgV(ref mut v)) => v,
185            _ => panic!(),
186        }
187    }
188
189    // Take field
190    pub fn take_string_msg_v(&mut self) -> super::stringmsg_v::StringMsg_V {
191        if self.has_string_msg_v() {
192            match self.content.take() {
193                ::std::option::Option::Some(packet::Content::StringMsgV(v)) => v,
194                _ => panic!(),
195            }
196        } else {
197            super::stringmsg_v::StringMsg_V::new()
198        }
199    }
200
201    // .ignition.msgs.WebRequest web_request = 6;
202
203    pub fn web_request(&self) -> &super::web_request::WebRequest {
204        match self.content {
205            ::std::option::Option::Some(packet::Content::WebRequest(ref v)) => v,
206            _ => <super::web_request::WebRequest as ::protobuf::Message>::default_instance(),
207        }
208    }
209
210    pub fn clear_web_request(&mut self) {
211        self.content = ::std::option::Option::None;
212    }
213
214    pub fn has_web_request(&self) -> bool {
215        match self.content {
216            ::std::option::Option::Some(packet::Content::WebRequest(..)) => true,
217            _ => false,
218        }
219    }
220
221    // Param is passed by value, moved
222    pub fn set_web_request(&mut self, v: super::web_request::WebRequest) {
223        self.content = ::std::option::Option::Some(packet::Content::WebRequest(v))
224    }
225
226    // Mutable pointer to the field.
227    pub fn mut_web_request(&mut self) -> &mut super::web_request::WebRequest {
228        if let ::std::option::Option::Some(packet::Content::WebRequest(_)) = self.content {
229        } else {
230            self.content = ::std::option::Option::Some(packet::Content::WebRequest(super::web_request::WebRequest::new()));
231        }
232        match self.content {
233            ::std::option::Option::Some(packet::Content::WebRequest(ref mut v)) => v,
234            _ => panic!(),
235        }
236    }
237
238    // Take field
239    pub fn take_web_request(&mut self) -> super::web_request::WebRequest {
240        if self.has_web_request() {
241            match self.content.take() {
242                ::std::option::Option::Some(packet::Content::WebRequest(v)) => v,
243                _ => panic!(),
244            }
245        } else {
246            super::web_request::WebRequest::new()
247        }
248    }
249
250    // .ignition.msgs.Pose pose = 7;
251
252    pub fn pose(&self) -> &super::pose::Pose {
253        match self.content {
254            ::std::option::Option::Some(packet::Content::Pose(ref v)) => v,
255            _ => <super::pose::Pose as ::protobuf::Message>::default_instance(),
256        }
257    }
258
259    pub fn clear_pose(&mut self) {
260        self.content = ::std::option::Option::None;
261    }
262
263    pub fn has_pose(&self) -> bool {
264        match self.content {
265            ::std::option::Option::Some(packet::Content::Pose(..)) => true,
266            _ => false,
267        }
268    }
269
270    // Param is passed by value, moved
271    pub fn set_pose(&mut self, v: super::pose::Pose) {
272        self.content = ::std::option::Option::Some(packet::Content::Pose(v))
273    }
274
275    // Mutable pointer to the field.
276    pub fn mut_pose(&mut self) -> &mut super::pose::Pose {
277        if let ::std::option::Option::Some(packet::Content::Pose(_)) = self.content {
278        } else {
279            self.content = ::std::option::Option::Some(packet::Content::Pose(super::pose::Pose::new()));
280        }
281        match self.content {
282            ::std::option::Option::Some(packet::Content::Pose(ref mut v)) => v,
283            _ => panic!(),
284        }
285    }
286
287    // Take field
288    pub fn take_pose(&mut self) -> super::pose::Pose {
289        if self.has_pose() {
290            match self.content.take() {
291                ::std::option::Option::Some(packet::Content::Pose(v)) => v,
292                _ => panic!(),
293            }
294        } else {
295            super::pose::Pose::new()
296        }
297    }
298
299    // .ignition.msgs.Double_V doublev = 8;
300
301    pub fn doublev(&self) -> &super::double_v::Double_V {
302        match self.content {
303            ::std::option::Option::Some(packet::Content::Doublev(ref v)) => v,
304            _ => <super::double_v::Double_V as ::protobuf::Message>::default_instance(),
305        }
306    }
307
308    pub fn clear_doublev(&mut self) {
309        self.content = ::std::option::Option::None;
310    }
311
312    pub fn has_doublev(&self) -> bool {
313        match self.content {
314            ::std::option::Option::Some(packet::Content::Doublev(..)) => true,
315            _ => false,
316        }
317    }
318
319    // Param is passed by value, moved
320    pub fn set_doublev(&mut self, v: super::double_v::Double_V) {
321        self.content = ::std::option::Option::Some(packet::Content::Doublev(v))
322    }
323
324    // Mutable pointer to the field.
325    pub fn mut_doublev(&mut self) -> &mut super::double_v::Double_V {
326        if let ::std::option::Option::Some(packet::Content::Doublev(_)) = self.content {
327        } else {
328            self.content = ::std::option::Option::Some(packet::Content::Doublev(super::double_v::Double_V::new()));
329        }
330        match self.content {
331            ::std::option::Option::Some(packet::Content::Doublev(ref mut v)) => v,
332            _ => panic!(),
333        }
334    }
335
336    // Take field
337    pub fn take_doublev(&mut self) -> super::double_v::Double_V {
338        if self.has_doublev() {
339            match self.content.take() {
340                ::std::option::Option::Some(packet::Content::Doublev(v)) => v,
341                _ => panic!(),
342            }
343        } else {
344            super::double_v::Double_V::new()
345        }
346    }
347
348    // .ignition.msgs.Pose_V pose_v = 9;
349
350    pub fn pose_v(&self) -> &super::pose_v::Pose_V {
351        match self.content {
352            ::std::option::Option::Some(packet::Content::PoseV(ref v)) => v,
353            _ => <super::pose_v::Pose_V as ::protobuf::Message>::default_instance(),
354        }
355    }
356
357    pub fn clear_pose_v(&mut self) {
358        self.content = ::std::option::Option::None;
359    }
360
361    pub fn has_pose_v(&self) -> bool {
362        match self.content {
363            ::std::option::Option::Some(packet::Content::PoseV(..)) => true,
364            _ => false,
365        }
366    }
367
368    // Param is passed by value, moved
369    pub fn set_pose_v(&mut self, v: super::pose_v::Pose_V) {
370        self.content = ::std::option::Option::Some(packet::Content::PoseV(v))
371    }
372
373    // Mutable pointer to the field.
374    pub fn mut_pose_v(&mut self) -> &mut super::pose_v::Pose_V {
375        if let ::std::option::Option::Some(packet::Content::PoseV(_)) = self.content {
376        } else {
377            self.content = ::std::option::Option::Some(packet::Content::PoseV(super::pose_v::Pose_V::new()));
378        }
379        match self.content {
380            ::std::option::Option::Some(packet::Content::PoseV(ref mut v)) => v,
381            _ => panic!(),
382        }
383    }
384
385    // Take field
386    pub fn take_pose_v(&mut self) -> super::pose_v::Pose_V {
387        if self.has_pose_v() {
388            match self.content.take() {
389                ::std::option::Option::Some(packet::Content::PoseV(v)) => v,
390                _ => panic!(),
391            }
392        } else {
393            super::pose_v::Pose_V::new()
394        }
395    }
396
397    // .ignition.msgs.Time time = 10;
398
399    pub fn time(&self) -> &super::time::Time {
400        match self.content {
401            ::std::option::Option::Some(packet::Content::Time(ref v)) => v,
402            _ => <super::time::Time as ::protobuf::Message>::default_instance(),
403        }
404    }
405
406    pub fn clear_time(&mut self) {
407        self.content = ::std::option::Option::None;
408    }
409
410    pub fn has_time(&self) -> bool {
411        match self.content {
412            ::std::option::Option::Some(packet::Content::Time(..)) => true,
413            _ => false,
414        }
415    }
416
417    // Param is passed by value, moved
418    pub fn set_time(&mut self, v: super::time::Time) {
419        self.content = ::std::option::Option::Some(packet::Content::Time(v))
420    }
421
422    // Mutable pointer to the field.
423    pub fn mut_time(&mut self) -> &mut super::time::Time {
424        if let ::std::option::Option::Some(packet::Content::Time(_)) = self.content {
425        } else {
426            self.content = ::std::option::Option::Some(packet::Content::Time(super::time::Time::new()));
427        }
428        match self.content {
429            ::std::option::Option::Some(packet::Content::Time(ref mut v)) => v,
430            _ => panic!(),
431        }
432    }
433
434    // Take field
435    pub fn take_time(&mut self) -> super::time::Time {
436        if self.has_time() {
437            match self.content.take() {
438                ::std::option::Option::Some(packet::Content::Time(v)) => v,
439                _ => panic!(),
440            }
441        } else {
442            super::time::Time::new()
443        }
444    }
445
446    // .ignition.msgs.Clock clock = 11;
447
448    pub fn clock(&self) -> &super::clock::Clock {
449        match self.content {
450            ::std::option::Option::Some(packet::Content::Clock(ref v)) => v,
451            _ => <super::clock::Clock as ::protobuf::Message>::default_instance(),
452        }
453    }
454
455    pub fn clear_clock(&mut self) {
456        self.content = ::std::option::Option::None;
457    }
458
459    pub fn has_clock(&self) -> bool {
460        match self.content {
461            ::std::option::Option::Some(packet::Content::Clock(..)) => true,
462            _ => false,
463        }
464    }
465
466    // Param is passed by value, moved
467    pub fn set_clock(&mut self, v: super::clock::Clock) {
468        self.content = ::std::option::Option::Some(packet::Content::Clock(v))
469    }
470
471    // Mutable pointer to the field.
472    pub fn mut_clock(&mut self) -> &mut super::clock::Clock {
473        if let ::std::option::Option::Some(packet::Content::Clock(_)) = self.content {
474        } else {
475            self.content = ::std::option::Option::Some(packet::Content::Clock(super::clock::Clock::new()));
476        }
477        match self.content {
478            ::std::option::Option::Some(packet::Content::Clock(ref mut v)) => v,
479            _ => panic!(),
480        }
481    }
482
483    // Take field
484    pub fn take_clock(&mut self) -> super::clock::Clock {
485        if self.has_clock() {
486            match self.content.take() {
487                ::std::option::Option::Some(packet::Content::Clock(v)) => v,
488                _ => panic!(),
489            }
490        } else {
491            super::clock::Clock::new()
492        }
493    }
494
495    // .ignition.msgs.WorldStatistics world_stats = 12;
496
497    pub fn world_stats(&self) -> &super::world_stats::WorldStatistics {
498        match self.content {
499            ::std::option::Option::Some(packet::Content::WorldStats(ref v)) => v,
500            _ => <super::world_stats::WorldStatistics as ::protobuf::Message>::default_instance(),
501        }
502    }
503
504    pub fn clear_world_stats(&mut self) {
505        self.content = ::std::option::Option::None;
506    }
507
508    pub fn has_world_stats(&self) -> bool {
509        match self.content {
510            ::std::option::Option::Some(packet::Content::WorldStats(..)) => true,
511            _ => false,
512        }
513    }
514
515    // Param is passed by value, moved
516    pub fn set_world_stats(&mut self, v: super::world_stats::WorldStatistics) {
517        self.content = ::std::option::Option::Some(packet::Content::WorldStats(v))
518    }
519
520    // Mutable pointer to the field.
521    pub fn mut_world_stats(&mut self) -> &mut super::world_stats::WorldStatistics {
522        if let ::std::option::Option::Some(packet::Content::WorldStats(_)) = self.content {
523        } else {
524            self.content = ::std::option::Option::Some(packet::Content::WorldStats(super::world_stats::WorldStatistics::new()));
525        }
526        match self.content {
527            ::std::option::Option::Some(packet::Content::WorldStats(ref mut v)) => v,
528            _ => panic!(),
529        }
530    }
531
532    // Take field
533    pub fn take_world_stats(&mut self) -> super::world_stats::WorldStatistics {
534        if self.has_world_stats() {
535            match self.content.take() {
536                ::std::option::Option::Some(packet::Content::WorldStats(v)) => v,
537                _ => panic!(),
538            }
539        } else {
540            super::world_stats::WorldStatistics::new()
541        }
542    }
543
544    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
545        let mut fields = ::std::vec::Vec::with_capacity(12);
546        let mut oneofs = ::std::vec::Vec::with_capacity(1);
547        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
548            "topic",
549            |m: &Packet| { &m.topic },
550            |m: &mut Packet| { &mut m.topic },
551        ));
552        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
553            "type",
554            |m: &Packet| { &m.type_ },
555            |m: &mut Packet| { &mut m.type_ },
556        ));
557        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::cmd_vel2d::CmdVel2D>(
558            "cmd_vel2d",
559            Packet::has_cmd_vel2d,
560            Packet::cmd_vel2d,
561            Packet::mut_cmd_vel2d,
562            Packet::set_cmd_vel2d,
563        ));
564        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::image::Image>(
565            "image",
566            Packet::has_image,
567            Packet::image,
568            Packet::mut_image,
569            Packet::set_image,
570        ));
571        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::stringmsg_v::StringMsg_V>(
572            "string_msg_v",
573            Packet::has_string_msg_v,
574            Packet::string_msg_v,
575            Packet::mut_string_msg_v,
576            Packet::set_string_msg_v,
577        ));
578        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::web_request::WebRequest>(
579            "web_request",
580            Packet::has_web_request,
581            Packet::web_request,
582            Packet::mut_web_request,
583            Packet::set_web_request,
584        ));
585        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::pose::Pose>(
586            "pose",
587            Packet::has_pose,
588            Packet::pose,
589            Packet::mut_pose,
590            Packet::set_pose,
591        ));
592        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::double_v::Double_V>(
593            "doublev",
594            Packet::has_doublev,
595            Packet::doublev,
596            Packet::mut_doublev,
597            Packet::set_doublev,
598        ));
599        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::pose_v::Pose_V>(
600            "pose_v",
601            Packet::has_pose_v,
602            Packet::pose_v,
603            Packet::mut_pose_v,
604            Packet::set_pose_v,
605        ));
606        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::time::Time>(
607            "time",
608            Packet::has_time,
609            Packet::time,
610            Packet::mut_time,
611            Packet::set_time,
612        ));
613        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::clock::Clock>(
614            "clock",
615            Packet::has_clock,
616            Packet::clock,
617            Packet::mut_clock,
618            Packet::set_clock,
619        ));
620        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::world_stats::WorldStatistics>(
621            "world_stats",
622            Packet::has_world_stats,
623            Packet::world_stats,
624            Packet::mut_world_stats,
625            Packet::set_world_stats,
626        ));
627        oneofs.push(packet::Content::generated_oneof_descriptor_data());
628        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Packet>(
629            "Packet",
630            fields,
631            oneofs,
632        )
633    }
634}
635
636impl ::protobuf::Message for Packet {
637    const NAME: &'static str = "Packet";
638
639    fn is_initialized(&self) -> bool {
640        true
641    }
642
643    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
644        while let Some(tag) = is.read_raw_tag_or_eof()? {
645            match tag {
646                10 => {
647                    self.topic = is.read_string()?;
648                },
649                18 => {
650                    self.type_ = is.read_string()?;
651                },
652                26 => {
653                    self.content = ::std::option::Option::Some(packet::Content::CmdVel2d(is.read_message()?));
654                },
655                34 => {
656                    self.content = ::std::option::Option::Some(packet::Content::Image(is.read_message()?));
657                },
658                42 => {
659                    self.content = ::std::option::Option::Some(packet::Content::StringMsgV(is.read_message()?));
660                },
661                50 => {
662                    self.content = ::std::option::Option::Some(packet::Content::WebRequest(is.read_message()?));
663                },
664                58 => {
665                    self.content = ::std::option::Option::Some(packet::Content::Pose(is.read_message()?));
666                },
667                66 => {
668                    self.content = ::std::option::Option::Some(packet::Content::Doublev(is.read_message()?));
669                },
670                74 => {
671                    self.content = ::std::option::Option::Some(packet::Content::PoseV(is.read_message()?));
672                },
673                82 => {
674                    self.content = ::std::option::Option::Some(packet::Content::Time(is.read_message()?));
675                },
676                90 => {
677                    self.content = ::std::option::Option::Some(packet::Content::Clock(is.read_message()?));
678                },
679                98 => {
680                    self.content = ::std::option::Option::Some(packet::Content::WorldStats(is.read_message()?));
681                },
682                tag => {
683                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
684                },
685            };
686        }
687        ::std::result::Result::Ok(())
688    }
689
690    // Compute sizes of nested messages
691    #[allow(unused_variables)]
692    fn compute_size(&self) -> u64 {
693        let mut my_size = 0;
694        if !self.topic.is_empty() {
695            my_size += ::protobuf::rt::string_size(1, &self.topic);
696        }
697        if !self.type_.is_empty() {
698            my_size += ::protobuf::rt::string_size(2, &self.type_);
699        }
700        if let ::std::option::Option::Some(ref v) = self.content {
701            match v {
702                &packet::Content::CmdVel2d(ref v) => {
703                    let len = v.compute_size();
704                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
705                },
706                &packet::Content::Image(ref v) => {
707                    let len = v.compute_size();
708                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
709                },
710                &packet::Content::StringMsgV(ref v) => {
711                    let len = v.compute_size();
712                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
713                },
714                &packet::Content::WebRequest(ref v) => {
715                    let len = v.compute_size();
716                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
717                },
718                &packet::Content::Pose(ref v) => {
719                    let len = v.compute_size();
720                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
721                },
722                &packet::Content::Doublev(ref v) => {
723                    let len = v.compute_size();
724                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
725                },
726                &packet::Content::PoseV(ref v) => {
727                    let len = v.compute_size();
728                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
729                },
730                &packet::Content::Time(ref v) => {
731                    let len = v.compute_size();
732                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
733                },
734                &packet::Content::Clock(ref v) => {
735                    let len = v.compute_size();
736                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
737                },
738                &packet::Content::WorldStats(ref v) => {
739                    let len = v.compute_size();
740                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
741                },
742            };
743        }
744        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
745        self.special_fields.cached_size().set(my_size as u32);
746        my_size
747    }
748
749    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
750        if !self.topic.is_empty() {
751            os.write_string(1, &self.topic)?;
752        }
753        if !self.type_.is_empty() {
754            os.write_string(2, &self.type_)?;
755        }
756        if let ::std::option::Option::Some(ref v) = self.content {
757            match v {
758                &packet::Content::CmdVel2d(ref v) => {
759                    ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
760                },
761                &packet::Content::Image(ref v) => {
762                    ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
763                },
764                &packet::Content::StringMsgV(ref v) => {
765                    ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
766                },
767                &packet::Content::WebRequest(ref v) => {
768                    ::protobuf::rt::write_message_field_with_cached_size(6, v, os)?;
769                },
770                &packet::Content::Pose(ref v) => {
771                    ::protobuf::rt::write_message_field_with_cached_size(7, v, os)?;
772                },
773                &packet::Content::Doublev(ref v) => {
774                    ::protobuf::rt::write_message_field_with_cached_size(8, v, os)?;
775                },
776                &packet::Content::PoseV(ref v) => {
777                    ::protobuf::rt::write_message_field_with_cached_size(9, v, os)?;
778                },
779                &packet::Content::Time(ref v) => {
780                    ::protobuf::rt::write_message_field_with_cached_size(10, v, os)?;
781                },
782                &packet::Content::Clock(ref v) => {
783                    ::protobuf::rt::write_message_field_with_cached_size(11, v, os)?;
784                },
785                &packet::Content::WorldStats(ref v) => {
786                    ::protobuf::rt::write_message_field_with_cached_size(12, v, os)?;
787                },
788            };
789        }
790        os.write_unknown_fields(self.special_fields.unknown_fields())?;
791        ::std::result::Result::Ok(())
792    }
793
794    fn special_fields(&self) -> &::protobuf::SpecialFields {
795        &self.special_fields
796    }
797
798    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
799        &mut self.special_fields
800    }
801
802    fn new() -> Packet {
803        Packet::new()
804    }
805
806    fn clear(&mut self) {
807        self.topic.clear();
808        self.type_.clear();
809        self.content = ::std::option::Option::None;
810        self.content = ::std::option::Option::None;
811        self.content = ::std::option::Option::None;
812        self.content = ::std::option::Option::None;
813        self.content = ::std::option::Option::None;
814        self.content = ::std::option::Option::None;
815        self.content = ::std::option::Option::None;
816        self.content = ::std::option::Option::None;
817        self.content = ::std::option::Option::None;
818        self.content = ::std::option::Option::None;
819        self.special_fields.clear();
820    }
821
822    fn default_instance() -> &'static Packet {
823        static instance: Packet = Packet {
824            topic: ::std::string::String::new(),
825            type_: ::std::string::String::new(),
826            content: ::std::option::Option::None,
827            special_fields: ::protobuf::SpecialFields::new(),
828        };
829        &instance
830    }
831}
832
833impl ::protobuf::MessageFull for Packet {
834    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
835        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
836        descriptor.get(|| file_descriptor().message_by_package_relative_name("Packet").unwrap()).clone()
837    }
838}
839
840impl ::std::fmt::Display for Packet {
841    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
842        ::protobuf::text_format::fmt(self, f)
843    }
844}
845
846impl ::protobuf::reflect::ProtobufValue for Packet {
847    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
848}
849
850/// Nested message and enums of message `Packet`
851pub mod packet {
852
853    #[derive(Clone,PartialEq,Debug)]
854    #[non_exhaustive]
855    // @@protoc_insertion_point(oneof:ignition.msgs.Packet.content)
856    pub enum Content {
857        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.cmd_vel2d)
858        CmdVel2d(super::super::cmd_vel2d::CmdVel2D),
859        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.image)
860        Image(super::super::image::Image),
861        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.string_msg_v)
862        StringMsgV(super::super::stringmsg_v::StringMsg_V),
863        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.web_request)
864        WebRequest(super::super::web_request::WebRequest),
865        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.pose)
866        Pose(super::super::pose::Pose),
867        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.doublev)
868        Doublev(super::super::double_v::Double_V),
869        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.pose_v)
870        PoseV(super::super::pose_v::Pose_V),
871        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.time)
872        Time(super::super::time::Time),
873        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.clock)
874        Clock(super::super::clock::Clock),
875        // @@protoc_insertion_point(oneof_field:ignition.msgs.Packet.world_stats)
876        WorldStats(super::super::world_stats::WorldStatistics),
877    }
878
879    impl ::protobuf::Oneof for Content {
880    }
881
882    impl ::protobuf::OneofFull for Content {
883        fn descriptor() -> ::protobuf::reflect::OneofDescriptor {
884            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::OneofDescriptor> = ::protobuf::rt::Lazy::new();
885            descriptor.get(|| <super::Packet as ::protobuf::MessageFull>::descriptor().oneof_by_name("content").unwrap()).clone()
886        }
887    }
888
889    impl Content {
890        pub(in super) fn generated_oneof_descriptor_data() -> ::protobuf::reflect::GeneratedOneofDescriptorData {
891            ::protobuf::reflect::GeneratedOneofDescriptorData::new::<Content>("content")
892        }
893    }
894}
895
896static file_descriptor_proto_data: &'static [u8] = b"\
897    \n\x1aignition/msgs/packet.proto\x12\rignition.msgs\x1a\x1cignition/msgs\
898    /double_v.proto\x1a\x19ignition/msgs/clock.proto\x1a\x1dignition/msgs/cm\
899    d_vel2d.proto\x1a\x19ignition/msgs/image.proto\x1a\x18ignition/msgs/pose\
900    .proto\x1a\x1aignition/msgs/pose_v.proto\x1a\x1fignition/msgs/stringmsg_\
901    v.proto\x1a\x18ignition/msgs/time.proto\x1a\x1fignition/msgs/web_request\
902    .proto\x1a\x1fignition/msgs/world_stats.proto\"\xcd\x04\n\x06Packet\x12\
903    \x14\n\x05topic\x18\x01\x20\x01(\tR\x05topic\x12\x12\n\x04type\x18\x02\
904    \x20\x01(\tR\x04type\x126\n\tcmd_vel2d\x18\x03\x20\x01(\x0b2\x17.ignitio\
905    n.msgs.CmdVel2DH\0R\x08cmdVel2d\x12,\n\x05image\x18\x04\x20\x01(\x0b2\
906    \x14.ignition.msgs.ImageH\0R\x05image\x12>\n\x0cstring_msg_v\x18\x05\x20\
907    \x01(\x0b2\x1a.ignition.msgs.StringMsg_VH\0R\nstringMsgV\x12<\n\x0bweb_r\
908    equest\x18\x06\x20\x01(\x0b2\x19.ignition.msgs.WebRequestH\0R\nwebReques\
909    t\x12)\n\x04pose\x18\x07\x20\x01(\x0b2\x13.ignition.msgs.PoseH\0R\x04pos\
910    e\x123\n\x07doublev\x18\x08\x20\x01(\x0b2\x17.ignition.msgs.Double_VH\0R\
911    \x07doublev\x12.\n\x06pose_v\x18\t\x20\x01(\x0b2\x15.ignition.msgs.Pose_\
912    VH\0R\x05poseV\x12)\n\x04time\x18\n\x20\x01(\x0b2\x13.ignition.msgs.Time\
913    H\0R\x04time\x12,\n\x05clock\x18\x0b\x20\x01(\x0b2\x14.ignition.msgs.Clo\
914    ckH\0R\x05clock\x12A\n\x0bworld_stats\x18\x0c\x20\x01(\x0b2\x1e.ignition\
915    .msgs.WorldStatisticsH\0R\nworldStatsB\t\n\x07contentB!\n\x11com.ignitio\
916    n.msgsB\x0cPacketProtosb\x06proto3\
917";
918
919/// `FileDescriptorProto` object which was a source for this generated file
920fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
921    static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
922    file_descriptor_proto_lazy.get(|| {
923        ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
924    })
925}
926
927/// `FileDescriptor` object which allows dynamic access to files
928pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
929    static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
930    static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
931    file_descriptor.get(|| {
932        let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
933            let mut deps = ::std::vec::Vec::with_capacity(10);
934            deps.push(super::double_v::file_descriptor().clone());
935            deps.push(super::clock::file_descriptor().clone());
936            deps.push(super::cmd_vel2d::file_descriptor().clone());
937            deps.push(super::image::file_descriptor().clone());
938            deps.push(super::pose::file_descriptor().clone());
939            deps.push(super::pose_v::file_descriptor().clone());
940            deps.push(super::stringmsg_v::file_descriptor().clone());
941            deps.push(super::time::file_descriptor().clone());
942            deps.push(super::web_request::file_descriptor().clone());
943            deps.push(super::world_stats::file_descriptor().clone());
944            let mut messages = ::std::vec::Vec::with_capacity(1);
945            messages.push(Packet::generated_message_descriptor_data());
946            let mut enums = ::std::vec::Vec::with_capacity(0);
947            ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
948                file_descriptor_proto(),
949                deps,
950                messages,
951                enums,
952            )
953        });
954        ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
955    })
956}