grpcio_proto/proto/protobuf/testing/
control.rs

1// This file is generated by rust-protobuf 2.8.2. Do not edit
2// @generated
3
4// https://github.com/Manishearth/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![cfg_attr(rustfmt, rustfmt_skip)]
9
10#![allow(box_pointers)]
11#![allow(dead_code)]
12#![allow(missing_docs)]
13#![allow(non_camel_case_types)]
14#![allow(non_snake_case)]
15#![allow(non_upper_case_globals)]
16#![allow(trivial_casts)]
17#![allow(unsafe_code)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `grpc/testing/control.proto`
21
22use protobuf::Message as Message_imported_for_functions;
23use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
24
25/// Generated files are compatible only with the same version
26/// of protobuf runtime.
27
28#[derive(PartialEq,Clone,Default)]
29pub struct PoissonParams {
30    // message fields
31    pub offered_load: f64,
32    // special fields
33    pub unknown_fields: ::protobuf::UnknownFields,
34    pub cached_size: ::protobuf::CachedSize,
35}
36
37impl<'a> ::std::default::Default for &'a PoissonParams {
38    fn default() -> &'a PoissonParams {
39        <PoissonParams as ::protobuf::Message>::default_instance()
40    }
41}
42
43impl PoissonParams {
44    pub fn new() -> PoissonParams {
45        ::std::default::Default::default()
46    }
47
48    // double offered_load = 1;
49
50
51    pub fn get_offered_load(&self) -> f64 {
52        self.offered_load
53    }
54    pub fn clear_offered_load(&mut self) {
55        self.offered_load = 0.;
56    }
57
58    // Param is passed by value, moved
59    pub fn set_offered_load(&mut self, v: f64) {
60        self.offered_load = v;
61    }
62}
63
64impl ::protobuf::Message for PoissonParams {
65    fn is_initialized(&self) -> bool {
66        true
67    }
68
69    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
70        while !is.eof()? {
71            let (field_number, wire_type) = is.read_tag_unpack()?;
72            match field_number {
73                1 => {
74                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
75                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
76                    }
77                    let tmp = is.read_double()?;
78                    self.offered_load = tmp;
79                },
80                _ => {
81                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
82                },
83            };
84        }
85        ::std::result::Result::Ok(())
86    }
87
88    // Compute sizes of nested messages
89    #[allow(unused_variables)]
90    fn compute_size(&self) -> u32 {
91        let mut my_size = 0;
92        if self.offered_load != 0. {
93            my_size += 9;
94        }
95        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
96        self.cached_size.set(my_size);
97        my_size
98    }
99
100    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
101        if self.offered_load != 0. {
102            os.write_double(1, self.offered_load)?;
103        }
104        os.write_unknown_fields(self.get_unknown_fields())?;
105        ::std::result::Result::Ok(())
106    }
107
108    fn get_cached_size(&self) -> u32 {
109        self.cached_size.get()
110    }
111
112    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
113        &self.unknown_fields
114    }
115
116    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
117        &mut self.unknown_fields
118    }
119
120    fn as_any(&self) -> &dyn (::std::any::Any) {
121        self as &dyn (::std::any::Any)
122    }
123    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
124        self as &mut dyn (::std::any::Any)
125    }
126    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
127        self
128    }
129
130    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
131        Self::descriptor_static()
132    }
133
134    fn new() -> PoissonParams {
135        PoissonParams::new()
136    }
137
138    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
139        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
140            lock: ::protobuf::lazy::ONCE_INIT,
141            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
142        };
143        unsafe {
144            descriptor.get(|| {
145                let mut fields = ::std::vec::Vec::new();
146                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
147                    "offered_load",
148                    |m: &PoissonParams| { &m.offered_load },
149                    |m: &mut PoissonParams| { &mut m.offered_load },
150                ));
151                ::protobuf::reflect::MessageDescriptor::new::<PoissonParams>(
152                    "PoissonParams",
153                    fields,
154                    file_descriptor_proto()
155                )
156            })
157        }
158    }
159
160    fn default_instance() -> &'static PoissonParams {
161        static mut instance: ::protobuf::lazy::Lazy<PoissonParams> = ::protobuf::lazy::Lazy {
162            lock: ::protobuf::lazy::ONCE_INIT,
163            ptr: 0 as *const PoissonParams,
164        };
165        unsafe {
166            instance.get(PoissonParams::new)
167        }
168    }
169}
170
171impl ::protobuf::Clear for PoissonParams {
172    fn clear(&mut self) {
173        self.offered_load = 0.;
174        self.unknown_fields.clear();
175    }
176}
177
178impl ::std::fmt::Debug for PoissonParams {
179    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
180        ::protobuf::text_format::fmt(self, f)
181    }
182}
183
184impl ::protobuf::reflect::ProtobufValue for PoissonParams {
185    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
186        ::protobuf::reflect::ProtobufValueRef::Message(self)
187    }
188}
189
190#[derive(PartialEq,Clone,Default)]
191pub struct ClosedLoopParams {
192    // special fields
193    pub unknown_fields: ::protobuf::UnknownFields,
194    pub cached_size: ::protobuf::CachedSize,
195}
196
197impl<'a> ::std::default::Default for &'a ClosedLoopParams {
198    fn default() -> &'a ClosedLoopParams {
199        <ClosedLoopParams as ::protobuf::Message>::default_instance()
200    }
201}
202
203impl ClosedLoopParams {
204    pub fn new() -> ClosedLoopParams {
205        ::std::default::Default::default()
206    }
207}
208
209impl ::protobuf::Message for ClosedLoopParams {
210    fn is_initialized(&self) -> bool {
211        true
212    }
213
214    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
215        while !is.eof()? {
216            let (field_number, wire_type) = is.read_tag_unpack()?;
217            match field_number {
218                _ => {
219                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
220                },
221            };
222        }
223        ::std::result::Result::Ok(())
224    }
225
226    // Compute sizes of nested messages
227    #[allow(unused_variables)]
228    fn compute_size(&self) -> u32 {
229        let mut my_size = 0;
230        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
231        self.cached_size.set(my_size);
232        my_size
233    }
234
235    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
236        os.write_unknown_fields(self.get_unknown_fields())?;
237        ::std::result::Result::Ok(())
238    }
239
240    fn get_cached_size(&self) -> u32 {
241        self.cached_size.get()
242    }
243
244    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
245        &self.unknown_fields
246    }
247
248    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
249        &mut self.unknown_fields
250    }
251
252    fn as_any(&self) -> &dyn (::std::any::Any) {
253        self as &dyn (::std::any::Any)
254    }
255    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
256        self as &mut dyn (::std::any::Any)
257    }
258    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
259        self
260    }
261
262    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
263        Self::descriptor_static()
264    }
265
266    fn new() -> ClosedLoopParams {
267        ClosedLoopParams::new()
268    }
269
270    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
271        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
272            lock: ::protobuf::lazy::ONCE_INIT,
273            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
274        };
275        unsafe {
276            descriptor.get(|| {
277                let fields = ::std::vec::Vec::new();
278                ::protobuf::reflect::MessageDescriptor::new::<ClosedLoopParams>(
279                    "ClosedLoopParams",
280                    fields,
281                    file_descriptor_proto()
282                )
283            })
284        }
285    }
286
287    fn default_instance() -> &'static ClosedLoopParams {
288        static mut instance: ::protobuf::lazy::Lazy<ClosedLoopParams> = ::protobuf::lazy::Lazy {
289            lock: ::protobuf::lazy::ONCE_INIT,
290            ptr: 0 as *const ClosedLoopParams,
291        };
292        unsafe {
293            instance.get(ClosedLoopParams::new)
294        }
295    }
296}
297
298impl ::protobuf::Clear for ClosedLoopParams {
299    fn clear(&mut self) {
300        self.unknown_fields.clear();
301    }
302}
303
304impl ::std::fmt::Debug for ClosedLoopParams {
305    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
306        ::protobuf::text_format::fmt(self, f)
307    }
308}
309
310impl ::protobuf::reflect::ProtobufValue for ClosedLoopParams {
311    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
312        ::protobuf::reflect::ProtobufValueRef::Message(self)
313    }
314}
315
316#[derive(PartialEq,Clone,Default)]
317pub struct LoadParams {
318    // message oneof groups
319    pub load: ::std::option::Option<LoadParams_oneof_load>,
320    // special fields
321    pub unknown_fields: ::protobuf::UnknownFields,
322    pub cached_size: ::protobuf::CachedSize,
323}
324
325impl<'a> ::std::default::Default for &'a LoadParams {
326    fn default() -> &'a LoadParams {
327        <LoadParams as ::protobuf::Message>::default_instance()
328    }
329}
330
331#[derive(Clone,PartialEq,Debug)]
332pub enum LoadParams_oneof_load {
333    closed_loop(ClosedLoopParams),
334    poisson(PoissonParams),
335}
336
337impl LoadParams {
338    pub fn new() -> LoadParams {
339        ::std::default::Default::default()
340    }
341
342    // .grpc.testing.ClosedLoopParams closed_loop = 1;
343
344
345    pub fn get_closed_loop(&self) -> &ClosedLoopParams {
346        match self.load {
347            ::std::option::Option::Some(LoadParams_oneof_load::closed_loop(ref v)) => v,
348            _ => ClosedLoopParams::default_instance(),
349        }
350    }
351    pub fn clear_closed_loop(&mut self) {
352        self.load = ::std::option::Option::None;
353    }
354
355    pub fn has_closed_loop(&self) -> bool {
356        match self.load {
357            ::std::option::Option::Some(LoadParams_oneof_load::closed_loop(..)) => true,
358            _ => false,
359        }
360    }
361
362    // Param is passed by value, moved
363    pub fn set_closed_loop(&mut self, v: ClosedLoopParams) {
364        self.load = ::std::option::Option::Some(LoadParams_oneof_load::closed_loop(v))
365    }
366
367    // Mutable pointer to the field.
368    pub fn mut_closed_loop(&mut self) -> &mut ClosedLoopParams {
369        if let ::std::option::Option::Some(LoadParams_oneof_load::closed_loop(_)) = self.load {
370        } else {
371            self.load = ::std::option::Option::Some(LoadParams_oneof_load::closed_loop(ClosedLoopParams::new()));
372        }
373        match self.load {
374            ::std::option::Option::Some(LoadParams_oneof_load::closed_loop(ref mut v)) => v,
375            _ => panic!(),
376        }
377    }
378
379    // Take field
380    pub fn take_closed_loop(&mut self) -> ClosedLoopParams {
381        if self.has_closed_loop() {
382            match self.load.take() {
383                ::std::option::Option::Some(LoadParams_oneof_load::closed_loop(v)) => v,
384                _ => panic!(),
385            }
386        } else {
387            ClosedLoopParams::new()
388        }
389    }
390
391    // .grpc.testing.PoissonParams poisson = 2;
392
393
394    pub fn get_poisson(&self) -> &PoissonParams {
395        match self.load {
396            ::std::option::Option::Some(LoadParams_oneof_load::poisson(ref v)) => v,
397            _ => PoissonParams::default_instance(),
398        }
399    }
400    pub fn clear_poisson(&mut self) {
401        self.load = ::std::option::Option::None;
402    }
403
404    pub fn has_poisson(&self) -> bool {
405        match self.load {
406            ::std::option::Option::Some(LoadParams_oneof_load::poisson(..)) => true,
407            _ => false,
408        }
409    }
410
411    // Param is passed by value, moved
412    pub fn set_poisson(&mut self, v: PoissonParams) {
413        self.load = ::std::option::Option::Some(LoadParams_oneof_load::poisson(v))
414    }
415
416    // Mutable pointer to the field.
417    pub fn mut_poisson(&mut self) -> &mut PoissonParams {
418        if let ::std::option::Option::Some(LoadParams_oneof_load::poisson(_)) = self.load {
419        } else {
420            self.load = ::std::option::Option::Some(LoadParams_oneof_load::poisson(PoissonParams::new()));
421        }
422        match self.load {
423            ::std::option::Option::Some(LoadParams_oneof_load::poisson(ref mut v)) => v,
424            _ => panic!(),
425        }
426    }
427
428    // Take field
429    pub fn take_poisson(&mut self) -> PoissonParams {
430        if self.has_poisson() {
431            match self.load.take() {
432                ::std::option::Option::Some(LoadParams_oneof_load::poisson(v)) => v,
433                _ => panic!(),
434            }
435        } else {
436            PoissonParams::new()
437        }
438    }
439}
440
441impl ::protobuf::Message for LoadParams {
442    fn is_initialized(&self) -> bool {
443        if let Some(LoadParams_oneof_load::closed_loop(ref v)) = self.load {
444            if !v.is_initialized() {
445                return false;
446            }
447        }
448        if let Some(LoadParams_oneof_load::poisson(ref v)) = self.load {
449            if !v.is_initialized() {
450                return false;
451            }
452        }
453        true
454    }
455
456    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
457        while !is.eof()? {
458            let (field_number, wire_type) = is.read_tag_unpack()?;
459            match field_number {
460                1 => {
461                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
462                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
463                    }
464                    self.load = ::std::option::Option::Some(LoadParams_oneof_load::closed_loop(is.read_message()?));
465                },
466                2 => {
467                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
468                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
469                    }
470                    self.load = ::std::option::Option::Some(LoadParams_oneof_load::poisson(is.read_message()?));
471                },
472                _ => {
473                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
474                },
475            };
476        }
477        ::std::result::Result::Ok(())
478    }
479
480    // Compute sizes of nested messages
481    #[allow(unused_variables)]
482    fn compute_size(&self) -> u32 {
483        let mut my_size = 0;
484        if let ::std::option::Option::Some(ref v) = self.load {
485            match v {
486                &LoadParams_oneof_load::closed_loop(ref v) => {
487                    let len = v.compute_size();
488                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
489                },
490                &LoadParams_oneof_load::poisson(ref v) => {
491                    let len = v.compute_size();
492                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
493                },
494            };
495        }
496        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
497        self.cached_size.set(my_size);
498        my_size
499    }
500
501    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
502        if let ::std::option::Option::Some(ref v) = self.load {
503            match v {
504                &LoadParams_oneof_load::closed_loop(ref v) => {
505                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
506                    os.write_raw_varint32(v.get_cached_size())?;
507                    v.write_to_with_cached_sizes(os)?;
508                },
509                &LoadParams_oneof_load::poisson(ref v) => {
510                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
511                    os.write_raw_varint32(v.get_cached_size())?;
512                    v.write_to_with_cached_sizes(os)?;
513                },
514            };
515        }
516        os.write_unknown_fields(self.get_unknown_fields())?;
517        ::std::result::Result::Ok(())
518    }
519
520    fn get_cached_size(&self) -> u32 {
521        self.cached_size.get()
522    }
523
524    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
525        &self.unknown_fields
526    }
527
528    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
529        &mut self.unknown_fields
530    }
531
532    fn as_any(&self) -> &dyn (::std::any::Any) {
533        self as &dyn (::std::any::Any)
534    }
535    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
536        self as &mut dyn (::std::any::Any)
537    }
538    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
539        self
540    }
541
542    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
543        Self::descriptor_static()
544    }
545
546    fn new() -> LoadParams {
547        LoadParams::new()
548    }
549
550    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
551        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
552            lock: ::protobuf::lazy::ONCE_INIT,
553            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
554        };
555        unsafe {
556            descriptor.get(|| {
557                let mut fields = ::std::vec::Vec::new();
558                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ClosedLoopParams>(
559                    "closed_loop",
560                    LoadParams::has_closed_loop,
561                    LoadParams::get_closed_loop,
562                ));
563                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, PoissonParams>(
564                    "poisson",
565                    LoadParams::has_poisson,
566                    LoadParams::get_poisson,
567                ));
568                ::protobuf::reflect::MessageDescriptor::new::<LoadParams>(
569                    "LoadParams",
570                    fields,
571                    file_descriptor_proto()
572                )
573            })
574        }
575    }
576
577    fn default_instance() -> &'static LoadParams {
578        static mut instance: ::protobuf::lazy::Lazy<LoadParams> = ::protobuf::lazy::Lazy {
579            lock: ::protobuf::lazy::ONCE_INIT,
580            ptr: 0 as *const LoadParams,
581        };
582        unsafe {
583            instance.get(LoadParams::new)
584        }
585    }
586}
587
588impl ::protobuf::Clear for LoadParams {
589    fn clear(&mut self) {
590        self.load = ::std::option::Option::None;
591        self.load = ::std::option::Option::None;
592        self.unknown_fields.clear();
593    }
594}
595
596impl ::std::fmt::Debug for LoadParams {
597    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
598        ::protobuf::text_format::fmt(self, f)
599    }
600}
601
602impl ::protobuf::reflect::ProtobufValue for LoadParams {
603    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
604        ::protobuf::reflect::ProtobufValueRef::Message(self)
605    }
606}
607
608#[derive(PartialEq,Clone,Default)]
609pub struct SecurityParams {
610    // message fields
611    pub use_test_ca: bool,
612    pub server_host_override: ::std::string::String,
613    pub cred_type: ::std::string::String,
614    // special fields
615    pub unknown_fields: ::protobuf::UnknownFields,
616    pub cached_size: ::protobuf::CachedSize,
617}
618
619impl<'a> ::std::default::Default for &'a SecurityParams {
620    fn default() -> &'a SecurityParams {
621        <SecurityParams as ::protobuf::Message>::default_instance()
622    }
623}
624
625impl SecurityParams {
626    pub fn new() -> SecurityParams {
627        ::std::default::Default::default()
628    }
629
630    // bool use_test_ca = 1;
631
632
633    pub fn get_use_test_ca(&self) -> bool {
634        self.use_test_ca
635    }
636    pub fn clear_use_test_ca(&mut self) {
637        self.use_test_ca = false;
638    }
639
640    // Param is passed by value, moved
641    pub fn set_use_test_ca(&mut self, v: bool) {
642        self.use_test_ca = v;
643    }
644
645    // string server_host_override = 2;
646
647
648    pub fn get_server_host_override(&self) -> &str {
649        &self.server_host_override
650    }
651    pub fn clear_server_host_override(&mut self) {
652        self.server_host_override.clear();
653    }
654
655    // Param is passed by value, moved
656    pub fn set_server_host_override(&mut self, v: ::std::string::String) {
657        self.server_host_override = v;
658    }
659
660    // Mutable pointer to the field.
661    // If field is not initialized, it is initialized with default value first.
662    pub fn mut_server_host_override(&mut self) -> &mut ::std::string::String {
663        &mut self.server_host_override
664    }
665
666    // Take field
667    pub fn take_server_host_override(&mut self) -> ::std::string::String {
668        ::std::mem::replace(&mut self.server_host_override, ::std::string::String::new())
669    }
670
671    // string cred_type = 3;
672
673
674    pub fn get_cred_type(&self) -> &str {
675        &self.cred_type
676    }
677    pub fn clear_cred_type(&mut self) {
678        self.cred_type.clear();
679    }
680
681    // Param is passed by value, moved
682    pub fn set_cred_type(&mut self, v: ::std::string::String) {
683        self.cred_type = v;
684    }
685
686    // Mutable pointer to the field.
687    // If field is not initialized, it is initialized with default value first.
688    pub fn mut_cred_type(&mut self) -> &mut ::std::string::String {
689        &mut self.cred_type
690    }
691
692    // Take field
693    pub fn take_cred_type(&mut self) -> ::std::string::String {
694        ::std::mem::replace(&mut self.cred_type, ::std::string::String::new())
695    }
696}
697
698impl ::protobuf::Message for SecurityParams {
699    fn is_initialized(&self) -> bool {
700        true
701    }
702
703    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
704        while !is.eof()? {
705            let (field_number, wire_type) = is.read_tag_unpack()?;
706            match field_number {
707                1 => {
708                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
709                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
710                    }
711                    let tmp = is.read_bool()?;
712                    self.use_test_ca = tmp;
713                },
714                2 => {
715                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.server_host_override)?;
716                },
717                3 => {
718                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.cred_type)?;
719                },
720                _ => {
721                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
722                },
723            };
724        }
725        ::std::result::Result::Ok(())
726    }
727
728    // Compute sizes of nested messages
729    #[allow(unused_variables)]
730    fn compute_size(&self) -> u32 {
731        let mut my_size = 0;
732        if self.use_test_ca != false {
733            my_size += 2;
734        }
735        if !self.server_host_override.is_empty() {
736            my_size += ::protobuf::rt::string_size(2, &self.server_host_override);
737        }
738        if !self.cred_type.is_empty() {
739            my_size += ::protobuf::rt::string_size(3, &self.cred_type);
740        }
741        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
742        self.cached_size.set(my_size);
743        my_size
744    }
745
746    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
747        if self.use_test_ca != false {
748            os.write_bool(1, self.use_test_ca)?;
749        }
750        if !self.server_host_override.is_empty() {
751            os.write_string(2, &self.server_host_override)?;
752        }
753        if !self.cred_type.is_empty() {
754            os.write_string(3, &self.cred_type)?;
755        }
756        os.write_unknown_fields(self.get_unknown_fields())?;
757        ::std::result::Result::Ok(())
758    }
759
760    fn get_cached_size(&self) -> u32 {
761        self.cached_size.get()
762    }
763
764    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
765        &self.unknown_fields
766    }
767
768    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
769        &mut self.unknown_fields
770    }
771
772    fn as_any(&self) -> &dyn (::std::any::Any) {
773        self as &dyn (::std::any::Any)
774    }
775    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
776        self as &mut dyn (::std::any::Any)
777    }
778    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
779        self
780    }
781
782    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
783        Self::descriptor_static()
784    }
785
786    fn new() -> SecurityParams {
787        SecurityParams::new()
788    }
789
790    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
791        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
792            lock: ::protobuf::lazy::ONCE_INIT,
793            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
794        };
795        unsafe {
796            descriptor.get(|| {
797                let mut fields = ::std::vec::Vec::new();
798                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
799                    "use_test_ca",
800                    |m: &SecurityParams| { &m.use_test_ca },
801                    |m: &mut SecurityParams| { &mut m.use_test_ca },
802                ));
803                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
804                    "server_host_override",
805                    |m: &SecurityParams| { &m.server_host_override },
806                    |m: &mut SecurityParams| { &mut m.server_host_override },
807                ));
808                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
809                    "cred_type",
810                    |m: &SecurityParams| { &m.cred_type },
811                    |m: &mut SecurityParams| { &mut m.cred_type },
812                ));
813                ::protobuf::reflect::MessageDescriptor::new::<SecurityParams>(
814                    "SecurityParams",
815                    fields,
816                    file_descriptor_proto()
817                )
818            })
819        }
820    }
821
822    fn default_instance() -> &'static SecurityParams {
823        static mut instance: ::protobuf::lazy::Lazy<SecurityParams> = ::protobuf::lazy::Lazy {
824            lock: ::protobuf::lazy::ONCE_INIT,
825            ptr: 0 as *const SecurityParams,
826        };
827        unsafe {
828            instance.get(SecurityParams::new)
829        }
830    }
831}
832
833impl ::protobuf::Clear for SecurityParams {
834    fn clear(&mut self) {
835        self.use_test_ca = false;
836        self.server_host_override.clear();
837        self.cred_type.clear();
838        self.unknown_fields.clear();
839    }
840}
841
842impl ::std::fmt::Debug for SecurityParams {
843    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
844        ::protobuf::text_format::fmt(self, f)
845    }
846}
847
848impl ::protobuf::reflect::ProtobufValue for SecurityParams {
849    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
850        ::protobuf::reflect::ProtobufValueRef::Message(self)
851    }
852}
853
854#[derive(PartialEq,Clone,Default)]
855pub struct ChannelArg {
856    // message fields
857    pub name: ::std::string::String,
858    // message oneof groups
859    pub value: ::std::option::Option<ChannelArg_oneof_value>,
860    // special fields
861    pub unknown_fields: ::protobuf::UnknownFields,
862    pub cached_size: ::protobuf::CachedSize,
863}
864
865impl<'a> ::std::default::Default for &'a ChannelArg {
866    fn default() -> &'a ChannelArg {
867        <ChannelArg as ::protobuf::Message>::default_instance()
868    }
869}
870
871#[derive(Clone,PartialEq,Debug)]
872pub enum ChannelArg_oneof_value {
873    str_value(::std::string::String),
874    int_value(i32),
875}
876
877impl ChannelArg {
878    pub fn new() -> ChannelArg {
879        ::std::default::Default::default()
880    }
881
882    // string name = 1;
883
884
885    pub fn get_name(&self) -> &str {
886        &self.name
887    }
888    pub fn clear_name(&mut self) {
889        self.name.clear();
890    }
891
892    // Param is passed by value, moved
893    pub fn set_name(&mut self, v: ::std::string::String) {
894        self.name = v;
895    }
896
897    // Mutable pointer to the field.
898    // If field is not initialized, it is initialized with default value first.
899    pub fn mut_name(&mut self) -> &mut ::std::string::String {
900        &mut self.name
901    }
902
903    // Take field
904    pub fn take_name(&mut self) -> ::std::string::String {
905        ::std::mem::replace(&mut self.name, ::std::string::String::new())
906    }
907
908    // string str_value = 2;
909
910
911    pub fn get_str_value(&self) -> &str {
912        match self.value {
913            ::std::option::Option::Some(ChannelArg_oneof_value::str_value(ref v)) => v,
914            _ => "",
915        }
916    }
917    pub fn clear_str_value(&mut self) {
918        self.value = ::std::option::Option::None;
919    }
920
921    pub fn has_str_value(&self) -> bool {
922        match self.value {
923            ::std::option::Option::Some(ChannelArg_oneof_value::str_value(..)) => true,
924            _ => false,
925        }
926    }
927
928    // Param is passed by value, moved
929    pub fn set_str_value(&mut self, v: ::std::string::String) {
930        self.value = ::std::option::Option::Some(ChannelArg_oneof_value::str_value(v))
931    }
932
933    // Mutable pointer to the field.
934    pub fn mut_str_value(&mut self) -> &mut ::std::string::String {
935        if let ::std::option::Option::Some(ChannelArg_oneof_value::str_value(_)) = self.value {
936        } else {
937            self.value = ::std::option::Option::Some(ChannelArg_oneof_value::str_value(::std::string::String::new()));
938        }
939        match self.value {
940            ::std::option::Option::Some(ChannelArg_oneof_value::str_value(ref mut v)) => v,
941            _ => panic!(),
942        }
943    }
944
945    // Take field
946    pub fn take_str_value(&mut self) -> ::std::string::String {
947        if self.has_str_value() {
948            match self.value.take() {
949                ::std::option::Option::Some(ChannelArg_oneof_value::str_value(v)) => v,
950                _ => panic!(),
951            }
952        } else {
953            ::std::string::String::new()
954        }
955    }
956
957    // int32 int_value = 3;
958
959
960    pub fn get_int_value(&self) -> i32 {
961        match self.value {
962            ::std::option::Option::Some(ChannelArg_oneof_value::int_value(v)) => v,
963            _ => 0,
964        }
965    }
966    pub fn clear_int_value(&mut self) {
967        self.value = ::std::option::Option::None;
968    }
969
970    pub fn has_int_value(&self) -> bool {
971        match self.value {
972            ::std::option::Option::Some(ChannelArg_oneof_value::int_value(..)) => true,
973            _ => false,
974        }
975    }
976
977    // Param is passed by value, moved
978    pub fn set_int_value(&mut self, v: i32) {
979        self.value = ::std::option::Option::Some(ChannelArg_oneof_value::int_value(v))
980    }
981}
982
983impl ::protobuf::Message for ChannelArg {
984    fn is_initialized(&self) -> bool {
985        true
986    }
987
988    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
989        while !is.eof()? {
990            let (field_number, wire_type) = is.read_tag_unpack()?;
991            match field_number {
992                1 => {
993                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
994                },
995                2 => {
996                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
997                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
998                    }
999                    self.value = ::std::option::Option::Some(ChannelArg_oneof_value::str_value(is.read_string()?));
1000                },
1001                3 => {
1002                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1003                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1004                    }
1005                    self.value = ::std::option::Option::Some(ChannelArg_oneof_value::int_value(is.read_int32()?));
1006                },
1007                _ => {
1008                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1009                },
1010            };
1011        }
1012        ::std::result::Result::Ok(())
1013    }
1014
1015    // Compute sizes of nested messages
1016    #[allow(unused_variables)]
1017    fn compute_size(&self) -> u32 {
1018        let mut my_size = 0;
1019        if !self.name.is_empty() {
1020            my_size += ::protobuf::rt::string_size(1, &self.name);
1021        }
1022        if let ::std::option::Option::Some(ref v) = self.value {
1023            match v {
1024                &ChannelArg_oneof_value::str_value(ref v) => {
1025                    my_size += ::protobuf::rt::string_size(2, &v);
1026                },
1027                &ChannelArg_oneof_value::int_value(v) => {
1028                    my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
1029                },
1030            };
1031        }
1032        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1033        self.cached_size.set(my_size);
1034        my_size
1035    }
1036
1037    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1038        if !self.name.is_empty() {
1039            os.write_string(1, &self.name)?;
1040        }
1041        if let ::std::option::Option::Some(ref v) = self.value {
1042            match v {
1043                &ChannelArg_oneof_value::str_value(ref v) => {
1044                    os.write_string(2, v)?;
1045                },
1046                &ChannelArg_oneof_value::int_value(v) => {
1047                    os.write_int32(3, v)?;
1048                },
1049            };
1050        }
1051        os.write_unknown_fields(self.get_unknown_fields())?;
1052        ::std::result::Result::Ok(())
1053    }
1054
1055    fn get_cached_size(&self) -> u32 {
1056        self.cached_size.get()
1057    }
1058
1059    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1060        &self.unknown_fields
1061    }
1062
1063    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1064        &mut self.unknown_fields
1065    }
1066
1067    fn as_any(&self) -> &dyn (::std::any::Any) {
1068        self as &dyn (::std::any::Any)
1069    }
1070    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1071        self as &mut dyn (::std::any::Any)
1072    }
1073    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1074        self
1075    }
1076
1077    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1078        Self::descriptor_static()
1079    }
1080
1081    fn new() -> ChannelArg {
1082        ChannelArg::new()
1083    }
1084
1085    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1086        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1087            lock: ::protobuf::lazy::ONCE_INIT,
1088            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1089        };
1090        unsafe {
1091            descriptor.get(|| {
1092                let mut fields = ::std::vec::Vec::new();
1093                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1094                    "name",
1095                    |m: &ChannelArg| { &m.name },
1096                    |m: &mut ChannelArg| { &mut m.name },
1097                ));
1098                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
1099                    "str_value",
1100                    ChannelArg::has_str_value,
1101                    ChannelArg::get_str_value,
1102                ));
1103                fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor::<_>(
1104                    "int_value",
1105                    ChannelArg::has_int_value,
1106                    ChannelArg::get_int_value,
1107                ));
1108                ::protobuf::reflect::MessageDescriptor::new::<ChannelArg>(
1109                    "ChannelArg",
1110                    fields,
1111                    file_descriptor_proto()
1112                )
1113            })
1114        }
1115    }
1116
1117    fn default_instance() -> &'static ChannelArg {
1118        static mut instance: ::protobuf::lazy::Lazy<ChannelArg> = ::protobuf::lazy::Lazy {
1119            lock: ::protobuf::lazy::ONCE_INIT,
1120            ptr: 0 as *const ChannelArg,
1121        };
1122        unsafe {
1123            instance.get(ChannelArg::new)
1124        }
1125    }
1126}
1127
1128impl ::protobuf::Clear for ChannelArg {
1129    fn clear(&mut self) {
1130        self.name.clear();
1131        self.value = ::std::option::Option::None;
1132        self.value = ::std::option::Option::None;
1133        self.unknown_fields.clear();
1134    }
1135}
1136
1137impl ::std::fmt::Debug for ChannelArg {
1138    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1139        ::protobuf::text_format::fmt(self, f)
1140    }
1141}
1142
1143impl ::protobuf::reflect::ProtobufValue for ChannelArg {
1144    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
1145        ::protobuf::reflect::ProtobufValueRef::Message(self)
1146    }
1147}
1148
1149#[derive(PartialEq,Clone,Default)]
1150pub struct ClientConfig {
1151    // message fields
1152    pub server_targets: ::protobuf::RepeatedField<::std::string::String>,
1153    pub client_type: ClientType,
1154    pub security_params: ::protobuf::SingularPtrField<SecurityParams>,
1155    pub outstanding_rpcs_per_channel: i32,
1156    pub client_channels: i32,
1157    pub async_client_threads: i32,
1158    pub rpc_type: RpcType,
1159    pub load_params: ::protobuf::SingularPtrField<LoadParams>,
1160    pub payload_config: ::protobuf::SingularPtrField<super::payloads::PayloadConfig>,
1161    pub histogram_params: ::protobuf::SingularPtrField<super::stats::HistogramParams>,
1162    pub core_list: ::std::vec::Vec<i32>,
1163    pub core_limit: i32,
1164    pub other_client_api: ::std::string::String,
1165    pub channel_args: ::protobuf::RepeatedField<ChannelArg>,
1166    pub threads_per_cq: i32,
1167    pub messages_per_stream: i32,
1168    // special fields
1169    pub unknown_fields: ::protobuf::UnknownFields,
1170    pub cached_size: ::protobuf::CachedSize,
1171}
1172
1173impl<'a> ::std::default::Default for &'a ClientConfig {
1174    fn default() -> &'a ClientConfig {
1175        <ClientConfig as ::protobuf::Message>::default_instance()
1176    }
1177}
1178
1179impl ClientConfig {
1180    pub fn new() -> ClientConfig {
1181        ::std::default::Default::default()
1182    }
1183
1184    // repeated string server_targets = 1;
1185
1186
1187    pub fn get_server_targets(&self) -> &[::std::string::String] {
1188        &self.server_targets
1189    }
1190    pub fn clear_server_targets(&mut self) {
1191        self.server_targets.clear();
1192    }
1193
1194    // Param is passed by value, moved
1195    pub fn set_server_targets(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
1196        self.server_targets = v;
1197    }
1198
1199    // Mutable pointer to the field.
1200    pub fn mut_server_targets(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
1201        &mut self.server_targets
1202    }
1203
1204    // Take field
1205    pub fn take_server_targets(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
1206        ::std::mem::replace(&mut self.server_targets, ::protobuf::RepeatedField::new())
1207    }
1208
1209    // .grpc.testing.ClientType client_type = 2;
1210
1211
1212    pub fn get_client_type(&self) -> ClientType {
1213        self.client_type
1214    }
1215    pub fn clear_client_type(&mut self) {
1216        self.client_type = ClientType::SYNC_CLIENT;
1217    }
1218
1219    // Param is passed by value, moved
1220    pub fn set_client_type(&mut self, v: ClientType) {
1221        self.client_type = v;
1222    }
1223
1224    // .grpc.testing.SecurityParams security_params = 3;
1225
1226
1227    pub fn get_security_params(&self) -> &SecurityParams {
1228        self.security_params.as_ref().unwrap_or_else(|| SecurityParams::default_instance())
1229    }
1230    pub fn clear_security_params(&mut self) {
1231        self.security_params.clear();
1232    }
1233
1234    pub fn has_security_params(&self) -> bool {
1235        self.security_params.is_some()
1236    }
1237
1238    // Param is passed by value, moved
1239    pub fn set_security_params(&mut self, v: SecurityParams) {
1240        self.security_params = ::protobuf::SingularPtrField::some(v);
1241    }
1242
1243    // Mutable pointer to the field.
1244    // If field is not initialized, it is initialized with default value first.
1245    pub fn mut_security_params(&mut self) -> &mut SecurityParams {
1246        if self.security_params.is_none() {
1247            self.security_params.set_default();
1248        }
1249        self.security_params.as_mut().unwrap()
1250    }
1251
1252    // Take field
1253    pub fn take_security_params(&mut self) -> SecurityParams {
1254        self.security_params.take().unwrap_or_else(|| SecurityParams::new())
1255    }
1256
1257    // int32 outstanding_rpcs_per_channel = 4;
1258
1259
1260    pub fn get_outstanding_rpcs_per_channel(&self) -> i32 {
1261        self.outstanding_rpcs_per_channel
1262    }
1263    pub fn clear_outstanding_rpcs_per_channel(&mut self) {
1264        self.outstanding_rpcs_per_channel = 0;
1265    }
1266
1267    // Param is passed by value, moved
1268    pub fn set_outstanding_rpcs_per_channel(&mut self, v: i32) {
1269        self.outstanding_rpcs_per_channel = v;
1270    }
1271
1272    // int32 client_channels = 5;
1273
1274
1275    pub fn get_client_channels(&self) -> i32 {
1276        self.client_channels
1277    }
1278    pub fn clear_client_channels(&mut self) {
1279        self.client_channels = 0;
1280    }
1281
1282    // Param is passed by value, moved
1283    pub fn set_client_channels(&mut self, v: i32) {
1284        self.client_channels = v;
1285    }
1286
1287    // int32 async_client_threads = 7;
1288
1289
1290    pub fn get_async_client_threads(&self) -> i32 {
1291        self.async_client_threads
1292    }
1293    pub fn clear_async_client_threads(&mut self) {
1294        self.async_client_threads = 0;
1295    }
1296
1297    // Param is passed by value, moved
1298    pub fn set_async_client_threads(&mut self, v: i32) {
1299        self.async_client_threads = v;
1300    }
1301
1302    // .grpc.testing.RpcType rpc_type = 8;
1303
1304
1305    pub fn get_rpc_type(&self) -> RpcType {
1306        self.rpc_type
1307    }
1308    pub fn clear_rpc_type(&mut self) {
1309        self.rpc_type = RpcType::UNARY;
1310    }
1311
1312    // Param is passed by value, moved
1313    pub fn set_rpc_type(&mut self, v: RpcType) {
1314        self.rpc_type = v;
1315    }
1316
1317    // .grpc.testing.LoadParams load_params = 10;
1318
1319
1320    pub fn get_load_params(&self) -> &LoadParams {
1321        self.load_params.as_ref().unwrap_or_else(|| LoadParams::default_instance())
1322    }
1323    pub fn clear_load_params(&mut self) {
1324        self.load_params.clear();
1325    }
1326
1327    pub fn has_load_params(&self) -> bool {
1328        self.load_params.is_some()
1329    }
1330
1331    // Param is passed by value, moved
1332    pub fn set_load_params(&mut self, v: LoadParams) {
1333        self.load_params = ::protobuf::SingularPtrField::some(v);
1334    }
1335
1336    // Mutable pointer to the field.
1337    // If field is not initialized, it is initialized with default value first.
1338    pub fn mut_load_params(&mut self) -> &mut LoadParams {
1339        if self.load_params.is_none() {
1340            self.load_params.set_default();
1341        }
1342        self.load_params.as_mut().unwrap()
1343    }
1344
1345    // Take field
1346    pub fn take_load_params(&mut self) -> LoadParams {
1347        self.load_params.take().unwrap_or_else(|| LoadParams::new())
1348    }
1349
1350    // .grpc.testing.PayloadConfig payload_config = 11;
1351
1352
1353    pub fn get_payload_config(&self) -> &super::payloads::PayloadConfig {
1354        self.payload_config.as_ref().unwrap_or_else(|| super::payloads::PayloadConfig::default_instance())
1355    }
1356    pub fn clear_payload_config(&mut self) {
1357        self.payload_config.clear();
1358    }
1359
1360    pub fn has_payload_config(&self) -> bool {
1361        self.payload_config.is_some()
1362    }
1363
1364    // Param is passed by value, moved
1365    pub fn set_payload_config(&mut self, v: super::payloads::PayloadConfig) {
1366        self.payload_config = ::protobuf::SingularPtrField::some(v);
1367    }
1368
1369    // Mutable pointer to the field.
1370    // If field is not initialized, it is initialized with default value first.
1371    pub fn mut_payload_config(&mut self) -> &mut super::payloads::PayloadConfig {
1372        if self.payload_config.is_none() {
1373            self.payload_config.set_default();
1374        }
1375        self.payload_config.as_mut().unwrap()
1376    }
1377
1378    // Take field
1379    pub fn take_payload_config(&mut self) -> super::payloads::PayloadConfig {
1380        self.payload_config.take().unwrap_or_else(|| super::payloads::PayloadConfig::new())
1381    }
1382
1383    // .grpc.testing.HistogramParams histogram_params = 12;
1384
1385
1386    pub fn get_histogram_params(&self) -> &super::stats::HistogramParams {
1387        self.histogram_params.as_ref().unwrap_or_else(|| super::stats::HistogramParams::default_instance())
1388    }
1389    pub fn clear_histogram_params(&mut self) {
1390        self.histogram_params.clear();
1391    }
1392
1393    pub fn has_histogram_params(&self) -> bool {
1394        self.histogram_params.is_some()
1395    }
1396
1397    // Param is passed by value, moved
1398    pub fn set_histogram_params(&mut self, v: super::stats::HistogramParams) {
1399        self.histogram_params = ::protobuf::SingularPtrField::some(v);
1400    }
1401
1402    // Mutable pointer to the field.
1403    // If field is not initialized, it is initialized with default value first.
1404    pub fn mut_histogram_params(&mut self) -> &mut super::stats::HistogramParams {
1405        if self.histogram_params.is_none() {
1406            self.histogram_params.set_default();
1407        }
1408        self.histogram_params.as_mut().unwrap()
1409    }
1410
1411    // Take field
1412    pub fn take_histogram_params(&mut self) -> super::stats::HistogramParams {
1413        self.histogram_params.take().unwrap_or_else(|| super::stats::HistogramParams::new())
1414    }
1415
1416    // repeated int32 core_list = 13;
1417
1418
1419    pub fn get_core_list(&self) -> &[i32] {
1420        &self.core_list
1421    }
1422    pub fn clear_core_list(&mut self) {
1423        self.core_list.clear();
1424    }
1425
1426    // Param is passed by value, moved
1427    pub fn set_core_list(&mut self, v: ::std::vec::Vec<i32>) {
1428        self.core_list = v;
1429    }
1430
1431    // Mutable pointer to the field.
1432    pub fn mut_core_list(&mut self) -> &mut ::std::vec::Vec<i32> {
1433        &mut self.core_list
1434    }
1435
1436    // Take field
1437    pub fn take_core_list(&mut self) -> ::std::vec::Vec<i32> {
1438        ::std::mem::replace(&mut self.core_list, ::std::vec::Vec::new())
1439    }
1440
1441    // int32 core_limit = 14;
1442
1443
1444    pub fn get_core_limit(&self) -> i32 {
1445        self.core_limit
1446    }
1447    pub fn clear_core_limit(&mut self) {
1448        self.core_limit = 0;
1449    }
1450
1451    // Param is passed by value, moved
1452    pub fn set_core_limit(&mut self, v: i32) {
1453        self.core_limit = v;
1454    }
1455
1456    // string other_client_api = 15;
1457
1458
1459    pub fn get_other_client_api(&self) -> &str {
1460        &self.other_client_api
1461    }
1462    pub fn clear_other_client_api(&mut self) {
1463        self.other_client_api.clear();
1464    }
1465
1466    // Param is passed by value, moved
1467    pub fn set_other_client_api(&mut self, v: ::std::string::String) {
1468        self.other_client_api = v;
1469    }
1470
1471    // Mutable pointer to the field.
1472    // If field is not initialized, it is initialized with default value first.
1473    pub fn mut_other_client_api(&mut self) -> &mut ::std::string::String {
1474        &mut self.other_client_api
1475    }
1476
1477    // Take field
1478    pub fn take_other_client_api(&mut self) -> ::std::string::String {
1479        ::std::mem::replace(&mut self.other_client_api, ::std::string::String::new())
1480    }
1481
1482    // repeated .grpc.testing.ChannelArg channel_args = 16;
1483
1484
1485    pub fn get_channel_args(&self) -> &[ChannelArg] {
1486        &self.channel_args
1487    }
1488    pub fn clear_channel_args(&mut self) {
1489        self.channel_args.clear();
1490    }
1491
1492    // Param is passed by value, moved
1493    pub fn set_channel_args(&mut self, v: ::protobuf::RepeatedField<ChannelArg>) {
1494        self.channel_args = v;
1495    }
1496
1497    // Mutable pointer to the field.
1498    pub fn mut_channel_args(&mut self) -> &mut ::protobuf::RepeatedField<ChannelArg> {
1499        &mut self.channel_args
1500    }
1501
1502    // Take field
1503    pub fn take_channel_args(&mut self) -> ::protobuf::RepeatedField<ChannelArg> {
1504        ::std::mem::replace(&mut self.channel_args, ::protobuf::RepeatedField::new())
1505    }
1506
1507    // int32 threads_per_cq = 17;
1508
1509
1510    pub fn get_threads_per_cq(&self) -> i32 {
1511        self.threads_per_cq
1512    }
1513    pub fn clear_threads_per_cq(&mut self) {
1514        self.threads_per_cq = 0;
1515    }
1516
1517    // Param is passed by value, moved
1518    pub fn set_threads_per_cq(&mut self, v: i32) {
1519        self.threads_per_cq = v;
1520    }
1521
1522    // int32 messages_per_stream = 18;
1523
1524
1525    pub fn get_messages_per_stream(&self) -> i32 {
1526        self.messages_per_stream
1527    }
1528    pub fn clear_messages_per_stream(&mut self) {
1529        self.messages_per_stream = 0;
1530    }
1531
1532    // Param is passed by value, moved
1533    pub fn set_messages_per_stream(&mut self, v: i32) {
1534        self.messages_per_stream = v;
1535    }
1536}
1537
1538impl ::protobuf::Message for ClientConfig {
1539    fn is_initialized(&self) -> bool {
1540        for v in &self.security_params {
1541            if !v.is_initialized() {
1542                return false;
1543            }
1544        };
1545        for v in &self.load_params {
1546            if !v.is_initialized() {
1547                return false;
1548            }
1549        };
1550        for v in &self.payload_config {
1551            if !v.is_initialized() {
1552                return false;
1553            }
1554        };
1555        for v in &self.histogram_params {
1556            if !v.is_initialized() {
1557                return false;
1558            }
1559        };
1560        for v in &self.channel_args {
1561            if !v.is_initialized() {
1562                return false;
1563            }
1564        };
1565        true
1566    }
1567
1568    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1569        while !is.eof()? {
1570            let (field_number, wire_type) = is.read_tag_unpack()?;
1571            match field_number {
1572                1 => {
1573                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.server_targets)?;
1574                },
1575                2 => {
1576                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.client_type, 2, &mut self.unknown_fields)?
1577                },
1578                3 => {
1579                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.security_params)?;
1580                },
1581                4 => {
1582                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1583                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1584                    }
1585                    let tmp = is.read_int32()?;
1586                    self.outstanding_rpcs_per_channel = tmp;
1587                },
1588                5 => {
1589                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1590                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1591                    }
1592                    let tmp = is.read_int32()?;
1593                    self.client_channels = tmp;
1594                },
1595                7 => {
1596                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1597                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1598                    }
1599                    let tmp = is.read_int32()?;
1600                    self.async_client_threads = tmp;
1601                },
1602                8 => {
1603                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.rpc_type, 8, &mut self.unknown_fields)?
1604                },
1605                10 => {
1606                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.load_params)?;
1607                },
1608                11 => {
1609                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.payload_config)?;
1610                },
1611                12 => {
1612                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.histogram_params)?;
1613                },
1614                13 => {
1615                    ::protobuf::rt::read_repeated_int32_into(wire_type, is, &mut self.core_list)?;
1616                },
1617                14 => {
1618                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1619                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1620                    }
1621                    let tmp = is.read_int32()?;
1622                    self.core_limit = tmp;
1623                },
1624                15 => {
1625                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.other_client_api)?;
1626                },
1627                16 => {
1628                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.channel_args)?;
1629                },
1630                17 => {
1631                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1632                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1633                    }
1634                    let tmp = is.read_int32()?;
1635                    self.threads_per_cq = tmp;
1636                },
1637                18 => {
1638                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1639                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1640                    }
1641                    let tmp = is.read_int32()?;
1642                    self.messages_per_stream = tmp;
1643                },
1644                _ => {
1645                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1646                },
1647            };
1648        }
1649        ::std::result::Result::Ok(())
1650    }
1651
1652    // Compute sizes of nested messages
1653    #[allow(unused_variables)]
1654    fn compute_size(&self) -> u32 {
1655        let mut my_size = 0;
1656        for value in &self.server_targets {
1657            my_size += ::protobuf::rt::string_size(1, &value);
1658        };
1659        if self.client_type != ClientType::SYNC_CLIENT {
1660            my_size += ::protobuf::rt::enum_size(2, self.client_type);
1661        }
1662        if let Some(ref v) = self.security_params.as_ref() {
1663            let len = v.compute_size();
1664            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1665        }
1666        if self.outstanding_rpcs_per_channel != 0 {
1667            my_size += ::protobuf::rt::value_size(4, self.outstanding_rpcs_per_channel, ::protobuf::wire_format::WireTypeVarint);
1668        }
1669        if self.client_channels != 0 {
1670            my_size += ::protobuf::rt::value_size(5, self.client_channels, ::protobuf::wire_format::WireTypeVarint);
1671        }
1672        if self.async_client_threads != 0 {
1673            my_size += ::protobuf::rt::value_size(7, self.async_client_threads, ::protobuf::wire_format::WireTypeVarint);
1674        }
1675        if self.rpc_type != RpcType::UNARY {
1676            my_size += ::protobuf::rt::enum_size(8, self.rpc_type);
1677        }
1678        if let Some(ref v) = self.load_params.as_ref() {
1679            let len = v.compute_size();
1680            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1681        }
1682        if let Some(ref v) = self.payload_config.as_ref() {
1683            let len = v.compute_size();
1684            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1685        }
1686        if let Some(ref v) = self.histogram_params.as_ref() {
1687            let len = v.compute_size();
1688            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1689        }
1690        for value in &self.core_list {
1691            my_size += ::protobuf::rt::value_size(13, *value, ::protobuf::wire_format::WireTypeVarint);
1692        };
1693        if self.core_limit != 0 {
1694            my_size += ::protobuf::rt::value_size(14, self.core_limit, ::protobuf::wire_format::WireTypeVarint);
1695        }
1696        if !self.other_client_api.is_empty() {
1697            my_size += ::protobuf::rt::string_size(15, &self.other_client_api);
1698        }
1699        for value in &self.channel_args {
1700            let len = value.compute_size();
1701            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1702        };
1703        if self.threads_per_cq != 0 {
1704            my_size += ::protobuf::rt::value_size(17, self.threads_per_cq, ::protobuf::wire_format::WireTypeVarint);
1705        }
1706        if self.messages_per_stream != 0 {
1707            my_size += ::protobuf::rt::value_size(18, self.messages_per_stream, ::protobuf::wire_format::WireTypeVarint);
1708        }
1709        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1710        self.cached_size.set(my_size);
1711        my_size
1712    }
1713
1714    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1715        for v in &self.server_targets {
1716            os.write_string(1, &v)?;
1717        };
1718        if self.client_type != ClientType::SYNC_CLIENT {
1719            os.write_enum(2, self.client_type.value())?;
1720        }
1721        if let Some(ref v) = self.security_params.as_ref() {
1722            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1723            os.write_raw_varint32(v.get_cached_size())?;
1724            v.write_to_with_cached_sizes(os)?;
1725        }
1726        if self.outstanding_rpcs_per_channel != 0 {
1727            os.write_int32(4, self.outstanding_rpcs_per_channel)?;
1728        }
1729        if self.client_channels != 0 {
1730            os.write_int32(5, self.client_channels)?;
1731        }
1732        if self.async_client_threads != 0 {
1733            os.write_int32(7, self.async_client_threads)?;
1734        }
1735        if self.rpc_type != RpcType::UNARY {
1736            os.write_enum(8, self.rpc_type.value())?;
1737        }
1738        if let Some(ref v) = self.load_params.as_ref() {
1739            os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1740            os.write_raw_varint32(v.get_cached_size())?;
1741            v.write_to_with_cached_sizes(os)?;
1742        }
1743        if let Some(ref v) = self.payload_config.as_ref() {
1744            os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1745            os.write_raw_varint32(v.get_cached_size())?;
1746            v.write_to_with_cached_sizes(os)?;
1747        }
1748        if let Some(ref v) = self.histogram_params.as_ref() {
1749            os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1750            os.write_raw_varint32(v.get_cached_size())?;
1751            v.write_to_with_cached_sizes(os)?;
1752        }
1753        for v in &self.core_list {
1754            os.write_int32(13, *v)?;
1755        };
1756        if self.core_limit != 0 {
1757            os.write_int32(14, self.core_limit)?;
1758        }
1759        if !self.other_client_api.is_empty() {
1760            os.write_string(15, &self.other_client_api)?;
1761        }
1762        for v in &self.channel_args {
1763            os.write_tag(16, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1764            os.write_raw_varint32(v.get_cached_size())?;
1765            v.write_to_with_cached_sizes(os)?;
1766        };
1767        if self.threads_per_cq != 0 {
1768            os.write_int32(17, self.threads_per_cq)?;
1769        }
1770        if self.messages_per_stream != 0 {
1771            os.write_int32(18, self.messages_per_stream)?;
1772        }
1773        os.write_unknown_fields(self.get_unknown_fields())?;
1774        ::std::result::Result::Ok(())
1775    }
1776
1777    fn get_cached_size(&self) -> u32 {
1778        self.cached_size.get()
1779    }
1780
1781    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1782        &self.unknown_fields
1783    }
1784
1785    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1786        &mut self.unknown_fields
1787    }
1788
1789    fn as_any(&self) -> &dyn (::std::any::Any) {
1790        self as &dyn (::std::any::Any)
1791    }
1792    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1793        self as &mut dyn (::std::any::Any)
1794    }
1795    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1796        self
1797    }
1798
1799    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1800        Self::descriptor_static()
1801    }
1802
1803    fn new() -> ClientConfig {
1804        ClientConfig::new()
1805    }
1806
1807    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1808        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1809            lock: ::protobuf::lazy::ONCE_INIT,
1810            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1811        };
1812        unsafe {
1813            descriptor.get(|| {
1814                let mut fields = ::std::vec::Vec::new();
1815                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1816                    "server_targets",
1817                    |m: &ClientConfig| { &m.server_targets },
1818                    |m: &mut ClientConfig| { &mut m.server_targets },
1819                ));
1820                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ClientType>>(
1821                    "client_type",
1822                    |m: &ClientConfig| { &m.client_type },
1823                    |m: &mut ClientConfig| { &mut m.client_type },
1824                ));
1825                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SecurityParams>>(
1826                    "security_params",
1827                    |m: &ClientConfig| { &m.security_params },
1828                    |m: &mut ClientConfig| { &mut m.security_params },
1829                ));
1830                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1831                    "outstanding_rpcs_per_channel",
1832                    |m: &ClientConfig| { &m.outstanding_rpcs_per_channel },
1833                    |m: &mut ClientConfig| { &mut m.outstanding_rpcs_per_channel },
1834                ));
1835                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1836                    "client_channels",
1837                    |m: &ClientConfig| { &m.client_channels },
1838                    |m: &mut ClientConfig| { &mut m.client_channels },
1839                ));
1840                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1841                    "async_client_threads",
1842                    |m: &ClientConfig| { &m.async_client_threads },
1843                    |m: &mut ClientConfig| { &mut m.async_client_threads },
1844                ));
1845                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<RpcType>>(
1846                    "rpc_type",
1847                    |m: &ClientConfig| { &m.rpc_type },
1848                    |m: &mut ClientConfig| { &mut m.rpc_type },
1849                ));
1850                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<LoadParams>>(
1851                    "load_params",
1852                    |m: &ClientConfig| { &m.load_params },
1853                    |m: &mut ClientConfig| { &mut m.load_params },
1854                ));
1855                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::payloads::PayloadConfig>>(
1856                    "payload_config",
1857                    |m: &ClientConfig| { &m.payload_config },
1858                    |m: &mut ClientConfig| { &mut m.payload_config },
1859                ));
1860                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::stats::HistogramParams>>(
1861                    "histogram_params",
1862                    |m: &ClientConfig| { &m.histogram_params },
1863                    |m: &mut ClientConfig| { &mut m.histogram_params },
1864                ));
1865                fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1866                    "core_list",
1867                    |m: &ClientConfig| { &m.core_list },
1868                    |m: &mut ClientConfig| { &mut m.core_list },
1869                ));
1870                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1871                    "core_limit",
1872                    |m: &ClientConfig| { &m.core_limit },
1873                    |m: &mut ClientConfig| { &mut m.core_limit },
1874                ));
1875                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1876                    "other_client_api",
1877                    |m: &ClientConfig| { &m.other_client_api },
1878                    |m: &mut ClientConfig| { &mut m.other_client_api },
1879                ));
1880                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ChannelArg>>(
1881                    "channel_args",
1882                    |m: &ClientConfig| { &m.channel_args },
1883                    |m: &mut ClientConfig| { &mut m.channel_args },
1884                ));
1885                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1886                    "threads_per_cq",
1887                    |m: &ClientConfig| { &m.threads_per_cq },
1888                    |m: &mut ClientConfig| { &mut m.threads_per_cq },
1889                ));
1890                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1891                    "messages_per_stream",
1892                    |m: &ClientConfig| { &m.messages_per_stream },
1893                    |m: &mut ClientConfig| { &mut m.messages_per_stream },
1894                ));
1895                ::protobuf::reflect::MessageDescriptor::new::<ClientConfig>(
1896                    "ClientConfig",
1897                    fields,
1898                    file_descriptor_proto()
1899                )
1900            })
1901        }
1902    }
1903
1904    fn default_instance() -> &'static ClientConfig {
1905        static mut instance: ::protobuf::lazy::Lazy<ClientConfig> = ::protobuf::lazy::Lazy {
1906            lock: ::protobuf::lazy::ONCE_INIT,
1907            ptr: 0 as *const ClientConfig,
1908        };
1909        unsafe {
1910            instance.get(ClientConfig::new)
1911        }
1912    }
1913}
1914
1915impl ::protobuf::Clear for ClientConfig {
1916    fn clear(&mut self) {
1917        self.server_targets.clear();
1918        self.client_type = ClientType::SYNC_CLIENT;
1919        self.security_params.clear();
1920        self.outstanding_rpcs_per_channel = 0;
1921        self.client_channels = 0;
1922        self.async_client_threads = 0;
1923        self.rpc_type = RpcType::UNARY;
1924        self.load_params.clear();
1925        self.payload_config.clear();
1926        self.histogram_params.clear();
1927        self.core_list.clear();
1928        self.core_limit = 0;
1929        self.other_client_api.clear();
1930        self.channel_args.clear();
1931        self.threads_per_cq = 0;
1932        self.messages_per_stream = 0;
1933        self.unknown_fields.clear();
1934    }
1935}
1936
1937impl ::std::fmt::Debug for ClientConfig {
1938    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1939        ::protobuf::text_format::fmt(self, f)
1940    }
1941}
1942
1943impl ::protobuf::reflect::ProtobufValue for ClientConfig {
1944    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
1945        ::protobuf::reflect::ProtobufValueRef::Message(self)
1946    }
1947}
1948
1949#[derive(PartialEq,Clone,Default)]
1950pub struct ClientStatus {
1951    // message fields
1952    pub stats: ::protobuf::SingularPtrField<super::stats::ClientStats>,
1953    // special fields
1954    pub unknown_fields: ::protobuf::UnknownFields,
1955    pub cached_size: ::protobuf::CachedSize,
1956}
1957
1958impl<'a> ::std::default::Default for &'a ClientStatus {
1959    fn default() -> &'a ClientStatus {
1960        <ClientStatus as ::protobuf::Message>::default_instance()
1961    }
1962}
1963
1964impl ClientStatus {
1965    pub fn new() -> ClientStatus {
1966        ::std::default::Default::default()
1967    }
1968
1969    // .grpc.testing.ClientStats stats = 1;
1970
1971
1972    pub fn get_stats(&self) -> &super::stats::ClientStats {
1973        self.stats.as_ref().unwrap_or_else(|| super::stats::ClientStats::default_instance())
1974    }
1975    pub fn clear_stats(&mut self) {
1976        self.stats.clear();
1977    }
1978
1979    pub fn has_stats(&self) -> bool {
1980        self.stats.is_some()
1981    }
1982
1983    // Param is passed by value, moved
1984    pub fn set_stats(&mut self, v: super::stats::ClientStats) {
1985        self.stats = ::protobuf::SingularPtrField::some(v);
1986    }
1987
1988    // Mutable pointer to the field.
1989    // If field is not initialized, it is initialized with default value first.
1990    pub fn mut_stats(&mut self) -> &mut super::stats::ClientStats {
1991        if self.stats.is_none() {
1992            self.stats.set_default();
1993        }
1994        self.stats.as_mut().unwrap()
1995    }
1996
1997    // Take field
1998    pub fn take_stats(&mut self) -> super::stats::ClientStats {
1999        self.stats.take().unwrap_or_else(|| super::stats::ClientStats::new())
2000    }
2001}
2002
2003impl ::protobuf::Message for ClientStatus {
2004    fn is_initialized(&self) -> bool {
2005        for v in &self.stats {
2006            if !v.is_initialized() {
2007                return false;
2008            }
2009        };
2010        true
2011    }
2012
2013    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2014        while !is.eof()? {
2015            let (field_number, wire_type) = is.read_tag_unpack()?;
2016            match field_number {
2017                1 => {
2018                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.stats)?;
2019                },
2020                _ => {
2021                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2022                },
2023            };
2024        }
2025        ::std::result::Result::Ok(())
2026    }
2027
2028    // Compute sizes of nested messages
2029    #[allow(unused_variables)]
2030    fn compute_size(&self) -> u32 {
2031        let mut my_size = 0;
2032        if let Some(ref v) = self.stats.as_ref() {
2033            let len = v.compute_size();
2034            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2035        }
2036        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2037        self.cached_size.set(my_size);
2038        my_size
2039    }
2040
2041    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2042        if let Some(ref v) = self.stats.as_ref() {
2043            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2044            os.write_raw_varint32(v.get_cached_size())?;
2045            v.write_to_with_cached_sizes(os)?;
2046        }
2047        os.write_unknown_fields(self.get_unknown_fields())?;
2048        ::std::result::Result::Ok(())
2049    }
2050
2051    fn get_cached_size(&self) -> u32 {
2052        self.cached_size.get()
2053    }
2054
2055    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2056        &self.unknown_fields
2057    }
2058
2059    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2060        &mut self.unknown_fields
2061    }
2062
2063    fn as_any(&self) -> &dyn (::std::any::Any) {
2064        self as &dyn (::std::any::Any)
2065    }
2066    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2067        self as &mut dyn (::std::any::Any)
2068    }
2069    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2070        self
2071    }
2072
2073    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2074        Self::descriptor_static()
2075    }
2076
2077    fn new() -> ClientStatus {
2078        ClientStatus::new()
2079    }
2080
2081    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2082        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
2083            lock: ::protobuf::lazy::ONCE_INIT,
2084            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
2085        };
2086        unsafe {
2087            descriptor.get(|| {
2088                let mut fields = ::std::vec::Vec::new();
2089                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::stats::ClientStats>>(
2090                    "stats",
2091                    |m: &ClientStatus| { &m.stats },
2092                    |m: &mut ClientStatus| { &mut m.stats },
2093                ));
2094                ::protobuf::reflect::MessageDescriptor::new::<ClientStatus>(
2095                    "ClientStatus",
2096                    fields,
2097                    file_descriptor_proto()
2098                )
2099            })
2100        }
2101    }
2102
2103    fn default_instance() -> &'static ClientStatus {
2104        static mut instance: ::protobuf::lazy::Lazy<ClientStatus> = ::protobuf::lazy::Lazy {
2105            lock: ::protobuf::lazy::ONCE_INIT,
2106            ptr: 0 as *const ClientStatus,
2107        };
2108        unsafe {
2109            instance.get(ClientStatus::new)
2110        }
2111    }
2112}
2113
2114impl ::protobuf::Clear for ClientStatus {
2115    fn clear(&mut self) {
2116        self.stats.clear();
2117        self.unknown_fields.clear();
2118    }
2119}
2120
2121impl ::std::fmt::Debug for ClientStatus {
2122    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2123        ::protobuf::text_format::fmt(self, f)
2124    }
2125}
2126
2127impl ::protobuf::reflect::ProtobufValue for ClientStatus {
2128    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
2129        ::protobuf::reflect::ProtobufValueRef::Message(self)
2130    }
2131}
2132
2133#[derive(PartialEq,Clone,Default)]
2134pub struct Mark {
2135    // message fields
2136    pub reset: bool,
2137    // special fields
2138    pub unknown_fields: ::protobuf::UnknownFields,
2139    pub cached_size: ::protobuf::CachedSize,
2140}
2141
2142impl<'a> ::std::default::Default for &'a Mark {
2143    fn default() -> &'a Mark {
2144        <Mark as ::protobuf::Message>::default_instance()
2145    }
2146}
2147
2148impl Mark {
2149    pub fn new() -> Mark {
2150        ::std::default::Default::default()
2151    }
2152
2153    // bool reset = 1;
2154
2155
2156    pub fn get_reset(&self) -> bool {
2157        self.reset
2158    }
2159    pub fn clear_reset(&mut self) {
2160        self.reset = false;
2161    }
2162
2163    // Param is passed by value, moved
2164    pub fn set_reset(&mut self, v: bool) {
2165        self.reset = v;
2166    }
2167}
2168
2169impl ::protobuf::Message for Mark {
2170    fn is_initialized(&self) -> bool {
2171        true
2172    }
2173
2174    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2175        while !is.eof()? {
2176            let (field_number, wire_type) = is.read_tag_unpack()?;
2177            match field_number {
2178                1 => {
2179                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2180                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2181                    }
2182                    let tmp = is.read_bool()?;
2183                    self.reset = tmp;
2184                },
2185                _ => {
2186                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2187                },
2188            };
2189        }
2190        ::std::result::Result::Ok(())
2191    }
2192
2193    // Compute sizes of nested messages
2194    #[allow(unused_variables)]
2195    fn compute_size(&self) -> u32 {
2196        let mut my_size = 0;
2197        if self.reset != false {
2198            my_size += 2;
2199        }
2200        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2201        self.cached_size.set(my_size);
2202        my_size
2203    }
2204
2205    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2206        if self.reset != false {
2207            os.write_bool(1, self.reset)?;
2208        }
2209        os.write_unknown_fields(self.get_unknown_fields())?;
2210        ::std::result::Result::Ok(())
2211    }
2212
2213    fn get_cached_size(&self) -> u32 {
2214        self.cached_size.get()
2215    }
2216
2217    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2218        &self.unknown_fields
2219    }
2220
2221    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2222        &mut self.unknown_fields
2223    }
2224
2225    fn as_any(&self) -> &dyn (::std::any::Any) {
2226        self as &dyn (::std::any::Any)
2227    }
2228    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2229        self as &mut dyn (::std::any::Any)
2230    }
2231    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2232        self
2233    }
2234
2235    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2236        Self::descriptor_static()
2237    }
2238
2239    fn new() -> Mark {
2240        Mark::new()
2241    }
2242
2243    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2244        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
2245            lock: ::protobuf::lazy::ONCE_INIT,
2246            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
2247        };
2248        unsafe {
2249            descriptor.get(|| {
2250                let mut fields = ::std::vec::Vec::new();
2251                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
2252                    "reset",
2253                    |m: &Mark| { &m.reset },
2254                    |m: &mut Mark| { &mut m.reset },
2255                ));
2256                ::protobuf::reflect::MessageDescriptor::new::<Mark>(
2257                    "Mark",
2258                    fields,
2259                    file_descriptor_proto()
2260                )
2261            })
2262        }
2263    }
2264
2265    fn default_instance() -> &'static Mark {
2266        static mut instance: ::protobuf::lazy::Lazy<Mark> = ::protobuf::lazy::Lazy {
2267            lock: ::protobuf::lazy::ONCE_INIT,
2268            ptr: 0 as *const Mark,
2269        };
2270        unsafe {
2271            instance.get(Mark::new)
2272        }
2273    }
2274}
2275
2276impl ::protobuf::Clear for Mark {
2277    fn clear(&mut self) {
2278        self.reset = false;
2279        self.unknown_fields.clear();
2280    }
2281}
2282
2283impl ::std::fmt::Debug for Mark {
2284    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2285        ::protobuf::text_format::fmt(self, f)
2286    }
2287}
2288
2289impl ::protobuf::reflect::ProtobufValue for Mark {
2290    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
2291        ::protobuf::reflect::ProtobufValueRef::Message(self)
2292    }
2293}
2294
2295#[derive(PartialEq,Clone,Default)]
2296pub struct ClientArgs {
2297    // message oneof groups
2298    pub argtype: ::std::option::Option<ClientArgs_oneof_argtype>,
2299    // special fields
2300    pub unknown_fields: ::protobuf::UnknownFields,
2301    pub cached_size: ::protobuf::CachedSize,
2302}
2303
2304impl<'a> ::std::default::Default for &'a ClientArgs {
2305    fn default() -> &'a ClientArgs {
2306        <ClientArgs as ::protobuf::Message>::default_instance()
2307    }
2308}
2309
2310#[derive(Clone,PartialEq,Debug)]
2311pub enum ClientArgs_oneof_argtype {
2312    setup(ClientConfig),
2313    mark(Mark),
2314}
2315
2316impl ClientArgs {
2317    pub fn new() -> ClientArgs {
2318        ::std::default::Default::default()
2319    }
2320
2321    // .grpc.testing.ClientConfig setup = 1;
2322
2323
2324    pub fn get_setup(&self) -> &ClientConfig {
2325        match self.argtype {
2326            ::std::option::Option::Some(ClientArgs_oneof_argtype::setup(ref v)) => v,
2327            _ => ClientConfig::default_instance(),
2328        }
2329    }
2330    pub fn clear_setup(&mut self) {
2331        self.argtype = ::std::option::Option::None;
2332    }
2333
2334    pub fn has_setup(&self) -> bool {
2335        match self.argtype {
2336            ::std::option::Option::Some(ClientArgs_oneof_argtype::setup(..)) => true,
2337            _ => false,
2338        }
2339    }
2340
2341    // Param is passed by value, moved
2342    pub fn set_setup(&mut self, v: ClientConfig) {
2343        self.argtype = ::std::option::Option::Some(ClientArgs_oneof_argtype::setup(v))
2344    }
2345
2346    // Mutable pointer to the field.
2347    pub fn mut_setup(&mut self) -> &mut ClientConfig {
2348        if let ::std::option::Option::Some(ClientArgs_oneof_argtype::setup(_)) = self.argtype {
2349        } else {
2350            self.argtype = ::std::option::Option::Some(ClientArgs_oneof_argtype::setup(ClientConfig::new()));
2351        }
2352        match self.argtype {
2353            ::std::option::Option::Some(ClientArgs_oneof_argtype::setup(ref mut v)) => v,
2354            _ => panic!(),
2355        }
2356    }
2357
2358    // Take field
2359    pub fn take_setup(&mut self) -> ClientConfig {
2360        if self.has_setup() {
2361            match self.argtype.take() {
2362                ::std::option::Option::Some(ClientArgs_oneof_argtype::setup(v)) => v,
2363                _ => panic!(),
2364            }
2365        } else {
2366            ClientConfig::new()
2367        }
2368    }
2369
2370    // .grpc.testing.Mark mark = 2;
2371
2372
2373    pub fn get_mark(&self) -> &Mark {
2374        match self.argtype {
2375            ::std::option::Option::Some(ClientArgs_oneof_argtype::mark(ref v)) => v,
2376            _ => Mark::default_instance(),
2377        }
2378    }
2379    pub fn clear_mark(&mut self) {
2380        self.argtype = ::std::option::Option::None;
2381    }
2382
2383    pub fn has_mark(&self) -> bool {
2384        match self.argtype {
2385            ::std::option::Option::Some(ClientArgs_oneof_argtype::mark(..)) => true,
2386            _ => false,
2387        }
2388    }
2389
2390    // Param is passed by value, moved
2391    pub fn set_mark(&mut self, v: Mark) {
2392        self.argtype = ::std::option::Option::Some(ClientArgs_oneof_argtype::mark(v))
2393    }
2394
2395    // Mutable pointer to the field.
2396    pub fn mut_mark(&mut self) -> &mut Mark {
2397        if let ::std::option::Option::Some(ClientArgs_oneof_argtype::mark(_)) = self.argtype {
2398        } else {
2399            self.argtype = ::std::option::Option::Some(ClientArgs_oneof_argtype::mark(Mark::new()));
2400        }
2401        match self.argtype {
2402            ::std::option::Option::Some(ClientArgs_oneof_argtype::mark(ref mut v)) => v,
2403            _ => panic!(),
2404        }
2405    }
2406
2407    // Take field
2408    pub fn take_mark(&mut self) -> Mark {
2409        if self.has_mark() {
2410            match self.argtype.take() {
2411                ::std::option::Option::Some(ClientArgs_oneof_argtype::mark(v)) => v,
2412                _ => panic!(),
2413            }
2414        } else {
2415            Mark::new()
2416        }
2417    }
2418}
2419
2420impl ::protobuf::Message for ClientArgs {
2421    fn is_initialized(&self) -> bool {
2422        if let Some(ClientArgs_oneof_argtype::setup(ref v)) = self.argtype {
2423            if !v.is_initialized() {
2424                return false;
2425            }
2426        }
2427        if let Some(ClientArgs_oneof_argtype::mark(ref v)) = self.argtype {
2428            if !v.is_initialized() {
2429                return false;
2430            }
2431        }
2432        true
2433    }
2434
2435    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2436        while !is.eof()? {
2437            let (field_number, wire_type) = is.read_tag_unpack()?;
2438            match field_number {
2439                1 => {
2440                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2441                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2442                    }
2443                    self.argtype = ::std::option::Option::Some(ClientArgs_oneof_argtype::setup(is.read_message()?));
2444                },
2445                2 => {
2446                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2447                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2448                    }
2449                    self.argtype = ::std::option::Option::Some(ClientArgs_oneof_argtype::mark(is.read_message()?));
2450                },
2451                _ => {
2452                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2453                },
2454            };
2455        }
2456        ::std::result::Result::Ok(())
2457    }
2458
2459    // Compute sizes of nested messages
2460    #[allow(unused_variables)]
2461    fn compute_size(&self) -> u32 {
2462        let mut my_size = 0;
2463        if let ::std::option::Option::Some(ref v) = self.argtype {
2464            match v {
2465                &ClientArgs_oneof_argtype::setup(ref v) => {
2466                    let len = v.compute_size();
2467                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2468                },
2469                &ClientArgs_oneof_argtype::mark(ref v) => {
2470                    let len = v.compute_size();
2471                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2472                },
2473            };
2474        }
2475        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2476        self.cached_size.set(my_size);
2477        my_size
2478    }
2479
2480    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2481        if let ::std::option::Option::Some(ref v) = self.argtype {
2482            match v {
2483                &ClientArgs_oneof_argtype::setup(ref v) => {
2484                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2485                    os.write_raw_varint32(v.get_cached_size())?;
2486                    v.write_to_with_cached_sizes(os)?;
2487                },
2488                &ClientArgs_oneof_argtype::mark(ref v) => {
2489                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2490                    os.write_raw_varint32(v.get_cached_size())?;
2491                    v.write_to_with_cached_sizes(os)?;
2492                },
2493            };
2494        }
2495        os.write_unknown_fields(self.get_unknown_fields())?;
2496        ::std::result::Result::Ok(())
2497    }
2498
2499    fn get_cached_size(&self) -> u32 {
2500        self.cached_size.get()
2501    }
2502
2503    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2504        &self.unknown_fields
2505    }
2506
2507    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2508        &mut self.unknown_fields
2509    }
2510
2511    fn as_any(&self) -> &dyn (::std::any::Any) {
2512        self as &dyn (::std::any::Any)
2513    }
2514    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2515        self as &mut dyn (::std::any::Any)
2516    }
2517    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2518        self
2519    }
2520
2521    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2522        Self::descriptor_static()
2523    }
2524
2525    fn new() -> ClientArgs {
2526        ClientArgs::new()
2527    }
2528
2529    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2530        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
2531            lock: ::protobuf::lazy::ONCE_INIT,
2532            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
2533        };
2534        unsafe {
2535            descriptor.get(|| {
2536                let mut fields = ::std::vec::Vec::new();
2537                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ClientConfig>(
2538                    "setup",
2539                    ClientArgs::has_setup,
2540                    ClientArgs::get_setup,
2541                ));
2542                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Mark>(
2543                    "mark",
2544                    ClientArgs::has_mark,
2545                    ClientArgs::get_mark,
2546                ));
2547                ::protobuf::reflect::MessageDescriptor::new::<ClientArgs>(
2548                    "ClientArgs",
2549                    fields,
2550                    file_descriptor_proto()
2551                )
2552            })
2553        }
2554    }
2555
2556    fn default_instance() -> &'static ClientArgs {
2557        static mut instance: ::protobuf::lazy::Lazy<ClientArgs> = ::protobuf::lazy::Lazy {
2558            lock: ::protobuf::lazy::ONCE_INIT,
2559            ptr: 0 as *const ClientArgs,
2560        };
2561        unsafe {
2562            instance.get(ClientArgs::new)
2563        }
2564    }
2565}
2566
2567impl ::protobuf::Clear for ClientArgs {
2568    fn clear(&mut self) {
2569        self.argtype = ::std::option::Option::None;
2570        self.argtype = ::std::option::Option::None;
2571        self.unknown_fields.clear();
2572    }
2573}
2574
2575impl ::std::fmt::Debug for ClientArgs {
2576    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2577        ::protobuf::text_format::fmt(self, f)
2578    }
2579}
2580
2581impl ::protobuf::reflect::ProtobufValue for ClientArgs {
2582    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
2583        ::protobuf::reflect::ProtobufValueRef::Message(self)
2584    }
2585}
2586
2587#[derive(PartialEq,Clone,Default)]
2588pub struct ServerConfig {
2589    // message fields
2590    pub server_type: ServerType,
2591    pub security_params: ::protobuf::SingularPtrField<SecurityParams>,
2592    pub port: i32,
2593    pub async_server_threads: i32,
2594    pub core_limit: i32,
2595    pub payload_config: ::protobuf::SingularPtrField<super::payloads::PayloadConfig>,
2596    pub core_list: ::std::vec::Vec<i32>,
2597    pub other_server_api: ::std::string::String,
2598    pub threads_per_cq: i32,
2599    pub resource_quota_size: i32,
2600    pub channel_args: ::protobuf::RepeatedField<ChannelArg>,
2601    // special fields
2602    pub unknown_fields: ::protobuf::UnknownFields,
2603    pub cached_size: ::protobuf::CachedSize,
2604}
2605
2606impl<'a> ::std::default::Default for &'a ServerConfig {
2607    fn default() -> &'a ServerConfig {
2608        <ServerConfig as ::protobuf::Message>::default_instance()
2609    }
2610}
2611
2612impl ServerConfig {
2613    pub fn new() -> ServerConfig {
2614        ::std::default::Default::default()
2615    }
2616
2617    // .grpc.testing.ServerType server_type = 1;
2618
2619
2620    pub fn get_server_type(&self) -> ServerType {
2621        self.server_type
2622    }
2623    pub fn clear_server_type(&mut self) {
2624        self.server_type = ServerType::SYNC_SERVER;
2625    }
2626
2627    // Param is passed by value, moved
2628    pub fn set_server_type(&mut self, v: ServerType) {
2629        self.server_type = v;
2630    }
2631
2632    // .grpc.testing.SecurityParams security_params = 2;
2633
2634
2635    pub fn get_security_params(&self) -> &SecurityParams {
2636        self.security_params.as_ref().unwrap_or_else(|| SecurityParams::default_instance())
2637    }
2638    pub fn clear_security_params(&mut self) {
2639        self.security_params.clear();
2640    }
2641
2642    pub fn has_security_params(&self) -> bool {
2643        self.security_params.is_some()
2644    }
2645
2646    // Param is passed by value, moved
2647    pub fn set_security_params(&mut self, v: SecurityParams) {
2648        self.security_params = ::protobuf::SingularPtrField::some(v);
2649    }
2650
2651    // Mutable pointer to the field.
2652    // If field is not initialized, it is initialized with default value first.
2653    pub fn mut_security_params(&mut self) -> &mut SecurityParams {
2654        if self.security_params.is_none() {
2655            self.security_params.set_default();
2656        }
2657        self.security_params.as_mut().unwrap()
2658    }
2659
2660    // Take field
2661    pub fn take_security_params(&mut self) -> SecurityParams {
2662        self.security_params.take().unwrap_or_else(|| SecurityParams::new())
2663    }
2664
2665    // int32 port = 4;
2666
2667
2668    pub fn get_port(&self) -> i32 {
2669        self.port
2670    }
2671    pub fn clear_port(&mut self) {
2672        self.port = 0;
2673    }
2674
2675    // Param is passed by value, moved
2676    pub fn set_port(&mut self, v: i32) {
2677        self.port = v;
2678    }
2679
2680    // int32 async_server_threads = 7;
2681
2682
2683    pub fn get_async_server_threads(&self) -> i32 {
2684        self.async_server_threads
2685    }
2686    pub fn clear_async_server_threads(&mut self) {
2687        self.async_server_threads = 0;
2688    }
2689
2690    // Param is passed by value, moved
2691    pub fn set_async_server_threads(&mut self, v: i32) {
2692        self.async_server_threads = v;
2693    }
2694
2695    // int32 core_limit = 8;
2696
2697
2698    pub fn get_core_limit(&self) -> i32 {
2699        self.core_limit
2700    }
2701    pub fn clear_core_limit(&mut self) {
2702        self.core_limit = 0;
2703    }
2704
2705    // Param is passed by value, moved
2706    pub fn set_core_limit(&mut self, v: i32) {
2707        self.core_limit = v;
2708    }
2709
2710    // .grpc.testing.PayloadConfig payload_config = 9;
2711
2712
2713    pub fn get_payload_config(&self) -> &super::payloads::PayloadConfig {
2714        self.payload_config.as_ref().unwrap_or_else(|| super::payloads::PayloadConfig::default_instance())
2715    }
2716    pub fn clear_payload_config(&mut self) {
2717        self.payload_config.clear();
2718    }
2719
2720    pub fn has_payload_config(&self) -> bool {
2721        self.payload_config.is_some()
2722    }
2723
2724    // Param is passed by value, moved
2725    pub fn set_payload_config(&mut self, v: super::payloads::PayloadConfig) {
2726        self.payload_config = ::protobuf::SingularPtrField::some(v);
2727    }
2728
2729    // Mutable pointer to the field.
2730    // If field is not initialized, it is initialized with default value first.
2731    pub fn mut_payload_config(&mut self) -> &mut super::payloads::PayloadConfig {
2732        if self.payload_config.is_none() {
2733            self.payload_config.set_default();
2734        }
2735        self.payload_config.as_mut().unwrap()
2736    }
2737
2738    // Take field
2739    pub fn take_payload_config(&mut self) -> super::payloads::PayloadConfig {
2740        self.payload_config.take().unwrap_or_else(|| super::payloads::PayloadConfig::new())
2741    }
2742
2743    // repeated int32 core_list = 10;
2744
2745
2746    pub fn get_core_list(&self) -> &[i32] {
2747        &self.core_list
2748    }
2749    pub fn clear_core_list(&mut self) {
2750        self.core_list.clear();
2751    }
2752
2753    // Param is passed by value, moved
2754    pub fn set_core_list(&mut self, v: ::std::vec::Vec<i32>) {
2755        self.core_list = v;
2756    }
2757
2758    // Mutable pointer to the field.
2759    pub fn mut_core_list(&mut self) -> &mut ::std::vec::Vec<i32> {
2760        &mut self.core_list
2761    }
2762
2763    // Take field
2764    pub fn take_core_list(&mut self) -> ::std::vec::Vec<i32> {
2765        ::std::mem::replace(&mut self.core_list, ::std::vec::Vec::new())
2766    }
2767
2768    // string other_server_api = 11;
2769
2770
2771    pub fn get_other_server_api(&self) -> &str {
2772        &self.other_server_api
2773    }
2774    pub fn clear_other_server_api(&mut self) {
2775        self.other_server_api.clear();
2776    }
2777
2778    // Param is passed by value, moved
2779    pub fn set_other_server_api(&mut self, v: ::std::string::String) {
2780        self.other_server_api = v;
2781    }
2782
2783    // Mutable pointer to the field.
2784    // If field is not initialized, it is initialized with default value first.
2785    pub fn mut_other_server_api(&mut self) -> &mut ::std::string::String {
2786        &mut self.other_server_api
2787    }
2788
2789    // Take field
2790    pub fn take_other_server_api(&mut self) -> ::std::string::String {
2791        ::std::mem::replace(&mut self.other_server_api, ::std::string::String::new())
2792    }
2793
2794    // int32 threads_per_cq = 12;
2795
2796
2797    pub fn get_threads_per_cq(&self) -> i32 {
2798        self.threads_per_cq
2799    }
2800    pub fn clear_threads_per_cq(&mut self) {
2801        self.threads_per_cq = 0;
2802    }
2803
2804    // Param is passed by value, moved
2805    pub fn set_threads_per_cq(&mut self, v: i32) {
2806        self.threads_per_cq = v;
2807    }
2808
2809    // int32 resource_quota_size = 1001;
2810
2811
2812    pub fn get_resource_quota_size(&self) -> i32 {
2813        self.resource_quota_size
2814    }
2815    pub fn clear_resource_quota_size(&mut self) {
2816        self.resource_quota_size = 0;
2817    }
2818
2819    // Param is passed by value, moved
2820    pub fn set_resource_quota_size(&mut self, v: i32) {
2821        self.resource_quota_size = v;
2822    }
2823
2824    // repeated .grpc.testing.ChannelArg channel_args = 1002;
2825
2826
2827    pub fn get_channel_args(&self) -> &[ChannelArg] {
2828        &self.channel_args
2829    }
2830    pub fn clear_channel_args(&mut self) {
2831        self.channel_args.clear();
2832    }
2833
2834    // Param is passed by value, moved
2835    pub fn set_channel_args(&mut self, v: ::protobuf::RepeatedField<ChannelArg>) {
2836        self.channel_args = v;
2837    }
2838
2839    // Mutable pointer to the field.
2840    pub fn mut_channel_args(&mut self) -> &mut ::protobuf::RepeatedField<ChannelArg> {
2841        &mut self.channel_args
2842    }
2843
2844    // Take field
2845    pub fn take_channel_args(&mut self) -> ::protobuf::RepeatedField<ChannelArg> {
2846        ::std::mem::replace(&mut self.channel_args, ::protobuf::RepeatedField::new())
2847    }
2848}
2849
2850impl ::protobuf::Message for ServerConfig {
2851    fn is_initialized(&self) -> bool {
2852        for v in &self.security_params {
2853            if !v.is_initialized() {
2854                return false;
2855            }
2856        };
2857        for v in &self.payload_config {
2858            if !v.is_initialized() {
2859                return false;
2860            }
2861        };
2862        for v in &self.channel_args {
2863            if !v.is_initialized() {
2864                return false;
2865            }
2866        };
2867        true
2868    }
2869
2870    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2871        while !is.eof()? {
2872            let (field_number, wire_type) = is.read_tag_unpack()?;
2873            match field_number {
2874                1 => {
2875                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.server_type, 1, &mut self.unknown_fields)?
2876                },
2877                2 => {
2878                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.security_params)?;
2879                },
2880                4 => {
2881                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2882                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2883                    }
2884                    let tmp = is.read_int32()?;
2885                    self.port = tmp;
2886                },
2887                7 => {
2888                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2889                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2890                    }
2891                    let tmp = is.read_int32()?;
2892                    self.async_server_threads = tmp;
2893                },
2894                8 => {
2895                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2896                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2897                    }
2898                    let tmp = is.read_int32()?;
2899                    self.core_limit = tmp;
2900                },
2901                9 => {
2902                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.payload_config)?;
2903                },
2904                10 => {
2905                    ::protobuf::rt::read_repeated_int32_into(wire_type, is, &mut self.core_list)?;
2906                },
2907                11 => {
2908                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.other_server_api)?;
2909                },
2910                12 => {
2911                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2912                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2913                    }
2914                    let tmp = is.read_int32()?;
2915                    self.threads_per_cq = tmp;
2916                },
2917                1001 => {
2918                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2919                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2920                    }
2921                    let tmp = is.read_int32()?;
2922                    self.resource_quota_size = tmp;
2923                },
2924                1002 => {
2925                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.channel_args)?;
2926                },
2927                _ => {
2928                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2929                },
2930            };
2931        }
2932        ::std::result::Result::Ok(())
2933    }
2934
2935    // Compute sizes of nested messages
2936    #[allow(unused_variables)]
2937    fn compute_size(&self) -> u32 {
2938        let mut my_size = 0;
2939        if self.server_type != ServerType::SYNC_SERVER {
2940            my_size += ::protobuf::rt::enum_size(1, self.server_type);
2941        }
2942        if let Some(ref v) = self.security_params.as_ref() {
2943            let len = v.compute_size();
2944            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2945        }
2946        if self.port != 0 {
2947            my_size += ::protobuf::rt::value_size(4, self.port, ::protobuf::wire_format::WireTypeVarint);
2948        }
2949        if self.async_server_threads != 0 {
2950            my_size += ::protobuf::rt::value_size(7, self.async_server_threads, ::protobuf::wire_format::WireTypeVarint);
2951        }
2952        if self.core_limit != 0 {
2953            my_size += ::protobuf::rt::value_size(8, self.core_limit, ::protobuf::wire_format::WireTypeVarint);
2954        }
2955        if let Some(ref v) = self.payload_config.as_ref() {
2956            let len = v.compute_size();
2957            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2958        }
2959        for value in &self.core_list {
2960            my_size += ::protobuf::rt::value_size(10, *value, ::protobuf::wire_format::WireTypeVarint);
2961        };
2962        if !self.other_server_api.is_empty() {
2963            my_size += ::protobuf::rt::string_size(11, &self.other_server_api);
2964        }
2965        if self.threads_per_cq != 0 {
2966            my_size += ::protobuf::rt::value_size(12, self.threads_per_cq, ::protobuf::wire_format::WireTypeVarint);
2967        }
2968        if self.resource_quota_size != 0 {
2969            my_size += ::protobuf::rt::value_size(1001, self.resource_quota_size, ::protobuf::wire_format::WireTypeVarint);
2970        }
2971        for value in &self.channel_args {
2972            let len = value.compute_size();
2973            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2974        };
2975        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2976        self.cached_size.set(my_size);
2977        my_size
2978    }
2979
2980    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2981        if self.server_type != ServerType::SYNC_SERVER {
2982            os.write_enum(1, self.server_type.value())?;
2983        }
2984        if let Some(ref v) = self.security_params.as_ref() {
2985            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2986            os.write_raw_varint32(v.get_cached_size())?;
2987            v.write_to_with_cached_sizes(os)?;
2988        }
2989        if self.port != 0 {
2990            os.write_int32(4, self.port)?;
2991        }
2992        if self.async_server_threads != 0 {
2993            os.write_int32(7, self.async_server_threads)?;
2994        }
2995        if self.core_limit != 0 {
2996            os.write_int32(8, self.core_limit)?;
2997        }
2998        if let Some(ref v) = self.payload_config.as_ref() {
2999            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3000            os.write_raw_varint32(v.get_cached_size())?;
3001            v.write_to_with_cached_sizes(os)?;
3002        }
3003        for v in &self.core_list {
3004            os.write_int32(10, *v)?;
3005        };
3006        if !self.other_server_api.is_empty() {
3007            os.write_string(11, &self.other_server_api)?;
3008        }
3009        if self.threads_per_cq != 0 {
3010            os.write_int32(12, self.threads_per_cq)?;
3011        }
3012        if self.resource_quota_size != 0 {
3013            os.write_int32(1001, self.resource_quota_size)?;
3014        }
3015        for v in &self.channel_args {
3016            os.write_tag(1002, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3017            os.write_raw_varint32(v.get_cached_size())?;
3018            v.write_to_with_cached_sizes(os)?;
3019        };
3020        os.write_unknown_fields(self.get_unknown_fields())?;
3021        ::std::result::Result::Ok(())
3022    }
3023
3024    fn get_cached_size(&self) -> u32 {
3025        self.cached_size.get()
3026    }
3027
3028    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3029        &self.unknown_fields
3030    }
3031
3032    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3033        &mut self.unknown_fields
3034    }
3035
3036    fn as_any(&self) -> &dyn (::std::any::Any) {
3037        self as &dyn (::std::any::Any)
3038    }
3039    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3040        self as &mut dyn (::std::any::Any)
3041    }
3042    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3043        self
3044    }
3045
3046    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3047        Self::descriptor_static()
3048    }
3049
3050    fn new() -> ServerConfig {
3051        ServerConfig::new()
3052    }
3053
3054    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3055        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
3056            lock: ::protobuf::lazy::ONCE_INIT,
3057            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
3058        };
3059        unsafe {
3060            descriptor.get(|| {
3061                let mut fields = ::std::vec::Vec::new();
3062                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ServerType>>(
3063                    "server_type",
3064                    |m: &ServerConfig| { &m.server_type },
3065                    |m: &mut ServerConfig| { &mut m.server_type },
3066                ));
3067                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SecurityParams>>(
3068                    "security_params",
3069                    |m: &ServerConfig| { &m.security_params },
3070                    |m: &mut ServerConfig| { &mut m.security_params },
3071                ));
3072                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3073                    "port",
3074                    |m: &ServerConfig| { &m.port },
3075                    |m: &mut ServerConfig| { &mut m.port },
3076                ));
3077                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3078                    "async_server_threads",
3079                    |m: &ServerConfig| { &m.async_server_threads },
3080                    |m: &mut ServerConfig| { &mut m.async_server_threads },
3081                ));
3082                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3083                    "core_limit",
3084                    |m: &ServerConfig| { &m.core_limit },
3085                    |m: &mut ServerConfig| { &mut m.core_limit },
3086                ));
3087                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::payloads::PayloadConfig>>(
3088                    "payload_config",
3089                    |m: &ServerConfig| { &m.payload_config },
3090                    |m: &mut ServerConfig| { &mut m.payload_config },
3091                ));
3092                fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3093                    "core_list",
3094                    |m: &ServerConfig| { &m.core_list },
3095                    |m: &mut ServerConfig| { &mut m.core_list },
3096                ));
3097                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3098                    "other_server_api",
3099                    |m: &ServerConfig| { &m.other_server_api },
3100                    |m: &mut ServerConfig| { &mut m.other_server_api },
3101                ));
3102                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3103                    "threads_per_cq",
3104                    |m: &ServerConfig| { &m.threads_per_cq },
3105                    |m: &mut ServerConfig| { &mut m.threads_per_cq },
3106                ));
3107                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3108                    "resource_quota_size",
3109                    |m: &ServerConfig| { &m.resource_quota_size },
3110                    |m: &mut ServerConfig| { &mut m.resource_quota_size },
3111                ));
3112                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ChannelArg>>(
3113                    "channel_args",
3114                    |m: &ServerConfig| { &m.channel_args },
3115                    |m: &mut ServerConfig| { &mut m.channel_args },
3116                ));
3117                ::protobuf::reflect::MessageDescriptor::new::<ServerConfig>(
3118                    "ServerConfig",
3119                    fields,
3120                    file_descriptor_proto()
3121                )
3122            })
3123        }
3124    }
3125
3126    fn default_instance() -> &'static ServerConfig {
3127        static mut instance: ::protobuf::lazy::Lazy<ServerConfig> = ::protobuf::lazy::Lazy {
3128            lock: ::protobuf::lazy::ONCE_INIT,
3129            ptr: 0 as *const ServerConfig,
3130        };
3131        unsafe {
3132            instance.get(ServerConfig::new)
3133        }
3134    }
3135}
3136
3137impl ::protobuf::Clear for ServerConfig {
3138    fn clear(&mut self) {
3139        self.server_type = ServerType::SYNC_SERVER;
3140        self.security_params.clear();
3141        self.port = 0;
3142        self.async_server_threads = 0;
3143        self.core_limit = 0;
3144        self.payload_config.clear();
3145        self.core_list.clear();
3146        self.other_server_api.clear();
3147        self.threads_per_cq = 0;
3148        self.resource_quota_size = 0;
3149        self.channel_args.clear();
3150        self.unknown_fields.clear();
3151    }
3152}
3153
3154impl ::std::fmt::Debug for ServerConfig {
3155    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3156        ::protobuf::text_format::fmt(self, f)
3157    }
3158}
3159
3160impl ::protobuf::reflect::ProtobufValue for ServerConfig {
3161    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
3162        ::protobuf::reflect::ProtobufValueRef::Message(self)
3163    }
3164}
3165
3166#[derive(PartialEq,Clone,Default)]
3167pub struct ServerArgs {
3168    // message oneof groups
3169    pub argtype: ::std::option::Option<ServerArgs_oneof_argtype>,
3170    // special fields
3171    pub unknown_fields: ::protobuf::UnknownFields,
3172    pub cached_size: ::protobuf::CachedSize,
3173}
3174
3175impl<'a> ::std::default::Default for &'a ServerArgs {
3176    fn default() -> &'a ServerArgs {
3177        <ServerArgs as ::protobuf::Message>::default_instance()
3178    }
3179}
3180
3181#[derive(Clone,PartialEq,Debug)]
3182pub enum ServerArgs_oneof_argtype {
3183    setup(ServerConfig),
3184    mark(Mark),
3185}
3186
3187impl ServerArgs {
3188    pub fn new() -> ServerArgs {
3189        ::std::default::Default::default()
3190    }
3191
3192    // .grpc.testing.ServerConfig setup = 1;
3193
3194
3195    pub fn get_setup(&self) -> &ServerConfig {
3196        match self.argtype {
3197            ::std::option::Option::Some(ServerArgs_oneof_argtype::setup(ref v)) => v,
3198            _ => ServerConfig::default_instance(),
3199        }
3200    }
3201    pub fn clear_setup(&mut self) {
3202        self.argtype = ::std::option::Option::None;
3203    }
3204
3205    pub fn has_setup(&self) -> bool {
3206        match self.argtype {
3207            ::std::option::Option::Some(ServerArgs_oneof_argtype::setup(..)) => true,
3208            _ => false,
3209        }
3210    }
3211
3212    // Param is passed by value, moved
3213    pub fn set_setup(&mut self, v: ServerConfig) {
3214        self.argtype = ::std::option::Option::Some(ServerArgs_oneof_argtype::setup(v))
3215    }
3216
3217    // Mutable pointer to the field.
3218    pub fn mut_setup(&mut self) -> &mut ServerConfig {
3219        if let ::std::option::Option::Some(ServerArgs_oneof_argtype::setup(_)) = self.argtype {
3220        } else {
3221            self.argtype = ::std::option::Option::Some(ServerArgs_oneof_argtype::setup(ServerConfig::new()));
3222        }
3223        match self.argtype {
3224            ::std::option::Option::Some(ServerArgs_oneof_argtype::setup(ref mut v)) => v,
3225            _ => panic!(),
3226        }
3227    }
3228
3229    // Take field
3230    pub fn take_setup(&mut self) -> ServerConfig {
3231        if self.has_setup() {
3232            match self.argtype.take() {
3233                ::std::option::Option::Some(ServerArgs_oneof_argtype::setup(v)) => v,
3234                _ => panic!(),
3235            }
3236        } else {
3237            ServerConfig::new()
3238        }
3239    }
3240
3241    // .grpc.testing.Mark mark = 2;
3242
3243
3244    pub fn get_mark(&self) -> &Mark {
3245        match self.argtype {
3246            ::std::option::Option::Some(ServerArgs_oneof_argtype::mark(ref v)) => v,
3247            _ => Mark::default_instance(),
3248        }
3249    }
3250    pub fn clear_mark(&mut self) {
3251        self.argtype = ::std::option::Option::None;
3252    }
3253
3254    pub fn has_mark(&self) -> bool {
3255        match self.argtype {
3256            ::std::option::Option::Some(ServerArgs_oneof_argtype::mark(..)) => true,
3257            _ => false,
3258        }
3259    }
3260
3261    // Param is passed by value, moved
3262    pub fn set_mark(&mut self, v: Mark) {
3263        self.argtype = ::std::option::Option::Some(ServerArgs_oneof_argtype::mark(v))
3264    }
3265
3266    // Mutable pointer to the field.
3267    pub fn mut_mark(&mut self) -> &mut Mark {
3268        if let ::std::option::Option::Some(ServerArgs_oneof_argtype::mark(_)) = self.argtype {
3269        } else {
3270            self.argtype = ::std::option::Option::Some(ServerArgs_oneof_argtype::mark(Mark::new()));
3271        }
3272        match self.argtype {
3273            ::std::option::Option::Some(ServerArgs_oneof_argtype::mark(ref mut v)) => v,
3274            _ => panic!(),
3275        }
3276    }
3277
3278    // Take field
3279    pub fn take_mark(&mut self) -> Mark {
3280        if self.has_mark() {
3281            match self.argtype.take() {
3282                ::std::option::Option::Some(ServerArgs_oneof_argtype::mark(v)) => v,
3283                _ => panic!(),
3284            }
3285        } else {
3286            Mark::new()
3287        }
3288    }
3289}
3290
3291impl ::protobuf::Message for ServerArgs {
3292    fn is_initialized(&self) -> bool {
3293        if let Some(ServerArgs_oneof_argtype::setup(ref v)) = self.argtype {
3294            if !v.is_initialized() {
3295                return false;
3296            }
3297        }
3298        if let Some(ServerArgs_oneof_argtype::mark(ref v)) = self.argtype {
3299            if !v.is_initialized() {
3300                return false;
3301            }
3302        }
3303        true
3304    }
3305
3306    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3307        while !is.eof()? {
3308            let (field_number, wire_type) = is.read_tag_unpack()?;
3309            match field_number {
3310                1 => {
3311                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
3312                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3313                    }
3314                    self.argtype = ::std::option::Option::Some(ServerArgs_oneof_argtype::setup(is.read_message()?));
3315                },
3316                2 => {
3317                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
3318                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3319                    }
3320                    self.argtype = ::std::option::Option::Some(ServerArgs_oneof_argtype::mark(is.read_message()?));
3321                },
3322                _ => {
3323                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3324                },
3325            };
3326        }
3327        ::std::result::Result::Ok(())
3328    }
3329
3330    // Compute sizes of nested messages
3331    #[allow(unused_variables)]
3332    fn compute_size(&self) -> u32 {
3333        let mut my_size = 0;
3334        if let ::std::option::Option::Some(ref v) = self.argtype {
3335            match v {
3336                &ServerArgs_oneof_argtype::setup(ref v) => {
3337                    let len = v.compute_size();
3338                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3339                },
3340                &ServerArgs_oneof_argtype::mark(ref v) => {
3341                    let len = v.compute_size();
3342                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3343                },
3344            };
3345        }
3346        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3347        self.cached_size.set(my_size);
3348        my_size
3349    }
3350
3351    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3352        if let ::std::option::Option::Some(ref v) = self.argtype {
3353            match v {
3354                &ServerArgs_oneof_argtype::setup(ref v) => {
3355                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3356                    os.write_raw_varint32(v.get_cached_size())?;
3357                    v.write_to_with_cached_sizes(os)?;
3358                },
3359                &ServerArgs_oneof_argtype::mark(ref v) => {
3360                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3361                    os.write_raw_varint32(v.get_cached_size())?;
3362                    v.write_to_with_cached_sizes(os)?;
3363                },
3364            };
3365        }
3366        os.write_unknown_fields(self.get_unknown_fields())?;
3367        ::std::result::Result::Ok(())
3368    }
3369
3370    fn get_cached_size(&self) -> u32 {
3371        self.cached_size.get()
3372    }
3373
3374    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3375        &self.unknown_fields
3376    }
3377
3378    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3379        &mut self.unknown_fields
3380    }
3381
3382    fn as_any(&self) -> &dyn (::std::any::Any) {
3383        self as &dyn (::std::any::Any)
3384    }
3385    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3386        self as &mut dyn (::std::any::Any)
3387    }
3388    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3389        self
3390    }
3391
3392    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3393        Self::descriptor_static()
3394    }
3395
3396    fn new() -> ServerArgs {
3397        ServerArgs::new()
3398    }
3399
3400    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3401        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
3402            lock: ::protobuf::lazy::ONCE_INIT,
3403            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
3404        };
3405        unsafe {
3406            descriptor.get(|| {
3407                let mut fields = ::std::vec::Vec::new();
3408                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ServerConfig>(
3409                    "setup",
3410                    ServerArgs::has_setup,
3411                    ServerArgs::get_setup,
3412                ));
3413                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Mark>(
3414                    "mark",
3415                    ServerArgs::has_mark,
3416                    ServerArgs::get_mark,
3417                ));
3418                ::protobuf::reflect::MessageDescriptor::new::<ServerArgs>(
3419                    "ServerArgs",
3420                    fields,
3421                    file_descriptor_proto()
3422                )
3423            })
3424        }
3425    }
3426
3427    fn default_instance() -> &'static ServerArgs {
3428        static mut instance: ::protobuf::lazy::Lazy<ServerArgs> = ::protobuf::lazy::Lazy {
3429            lock: ::protobuf::lazy::ONCE_INIT,
3430            ptr: 0 as *const ServerArgs,
3431        };
3432        unsafe {
3433            instance.get(ServerArgs::new)
3434        }
3435    }
3436}
3437
3438impl ::protobuf::Clear for ServerArgs {
3439    fn clear(&mut self) {
3440        self.argtype = ::std::option::Option::None;
3441        self.argtype = ::std::option::Option::None;
3442        self.unknown_fields.clear();
3443    }
3444}
3445
3446impl ::std::fmt::Debug for ServerArgs {
3447    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3448        ::protobuf::text_format::fmt(self, f)
3449    }
3450}
3451
3452impl ::protobuf::reflect::ProtobufValue for ServerArgs {
3453    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
3454        ::protobuf::reflect::ProtobufValueRef::Message(self)
3455    }
3456}
3457
3458#[derive(PartialEq,Clone,Default)]
3459pub struct ServerStatus {
3460    // message fields
3461    pub stats: ::protobuf::SingularPtrField<super::stats::ServerStats>,
3462    pub port: i32,
3463    pub cores: i32,
3464    // special fields
3465    pub unknown_fields: ::protobuf::UnknownFields,
3466    pub cached_size: ::protobuf::CachedSize,
3467}
3468
3469impl<'a> ::std::default::Default for &'a ServerStatus {
3470    fn default() -> &'a ServerStatus {
3471        <ServerStatus as ::protobuf::Message>::default_instance()
3472    }
3473}
3474
3475impl ServerStatus {
3476    pub fn new() -> ServerStatus {
3477        ::std::default::Default::default()
3478    }
3479
3480    // .grpc.testing.ServerStats stats = 1;
3481
3482
3483    pub fn get_stats(&self) -> &super::stats::ServerStats {
3484        self.stats.as_ref().unwrap_or_else(|| super::stats::ServerStats::default_instance())
3485    }
3486    pub fn clear_stats(&mut self) {
3487        self.stats.clear();
3488    }
3489
3490    pub fn has_stats(&self) -> bool {
3491        self.stats.is_some()
3492    }
3493
3494    // Param is passed by value, moved
3495    pub fn set_stats(&mut self, v: super::stats::ServerStats) {
3496        self.stats = ::protobuf::SingularPtrField::some(v);
3497    }
3498
3499    // Mutable pointer to the field.
3500    // If field is not initialized, it is initialized with default value first.
3501    pub fn mut_stats(&mut self) -> &mut super::stats::ServerStats {
3502        if self.stats.is_none() {
3503            self.stats.set_default();
3504        }
3505        self.stats.as_mut().unwrap()
3506    }
3507
3508    // Take field
3509    pub fn take_stats(&mut self) -> super::stats::ServerStats {
3510        self.stats.take().unwrap_or_else(|| super::stats::ServerStats::new())
3511    }
3512
3513    // int32 port = 2;
3514
3515
3516    pub fn get_port(&self) -> i32 {
3517        self.port
3518    }
3519    pub fn clear_port(&mut self) {
3520        self.port = 0;
3521    }
3522
3523    // Param is passed by value, moved
3524    pub fn set_port(&mut self, v: i32) {
3525        self.port = v;
3526    }
3527
3528    // int32 cores = 3;
3529
3530
3531    pub fn get_cores(&self) -> i32 {
3532        self.cores
3533    }
3534    pub fn clear_cores(&mut self) {
3535        self.cores = 0;
3536    }
3537
3538    // Param is passed by value, moved
3539    pub fn set_cores(&mut self, v: i32) {
3540        self.cores = v;
3541    }
3542}
3543
3544impl ::protobuf::Message for ServerStatus {
3545    fn is_initialized(&self) -> bool {
3546        for v in &self.stats {
3547            if !v.is_initialized() {
3548                return false;
3549            }
3550        };
3551        true
3552    }
3553
3554    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3555        while !is.eof()? {
3556            let (field_number, wire_type) = is.read_tag_unpack()?;
3557            match field_number {
3558                1 => {
3559                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.stats)?;
3560                },
3561                2 => {
3562                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3563                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3564                    }
3565                    let tmp = is.read_int32()?;
3566                    self.port = tmp;
3567                },
3568                3 => {
3569                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3570                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3571                    }
3572                    let tmp = is.read_int32()?;
3573                    self.cores = tmp;
3574                },
3575                _ => {
3576                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3577                },
3578            };
3579        }
3580        ::std::result::Result::Ok(())
3581    }
3582
3583    // Compute sizes of nested messages
3584    #[allow(unused_variables)]
3585    fn compute_size(&self) -> u32 {
3586        let mut my_size = 0;
3587        if let Some(ref v) = self.stats.as_ref() {
3588            let len = v.compute_size();
3589            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3590        }
3591        if self.port != 0 {
3592            my_size += ::protobuf::rt::value_size(2, self.port, ::protobuf::wire_format::WireTypeVarint);
3593        }
3594        if self.cores != 0 {
3595            my_size += ::protobuf::rt::value_size(3, self.cores, ::protobuf::wire_format::WireTypeVarint);
3596        }
3597        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3598        self.cached_size.set(my_size);
3599        my_size
3600    }
3601
3602    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3603        if let Some(ref v) = self.stats.as_ref() {
3604            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3605            os.write_raw_varint32(v.get_cached_size())?;
3606            v.write_to_with_cached_sizes(os)?;
3607        }
3608        if self.port != 0 {
3609            os.write_int32(2, self.port)?;
3610        }
3611        if self.cores != 0 {
3612            os.write_int32(3, self.cores)?;
3613        }
3614        os.write_unknown_fields(self.get_unknown_fields())?;
3615        ::std::result::Result::Ok(())
3616    }
3617
3618    fn get_cached_size(&self) -> u32 {
3619        self.cached_size.get()
3620    }
3621
3622    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3623        &self.unknown_fields
3624    }
3625
3626    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3627        &mut self.unknown_fields
3628    }
3629
3630    fn as_any(&self) -> &dyn (::std::any::Any) {
3631        self as &dyn (::std::any::Any)
3632    }
3633    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3634        self as &mut dyn (::std::any::Any)
3635    }
3636    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3637        self
3638    }
3639
3640    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3641        Self::descriptor_static()
3642    }
3643
3644    fn new() -> ServerStatus {
3645        ServerStatus::new()
3646    }
3647
3648    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3649        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
3650            lock: ::protobuf::lazy::ONCE_INIT,
3651            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
3652        };
3653        unsafe {
3654            descriptor.get(|| {
3655                let mut fields = ::std::vec::Vec::new();
3656                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::stats::ServerStats>>(
3657                    "stats",
3658                    |m: &ServerStatus| { &m.stats },
3659                    |m: &mut ServerStatus| { &mut m.stats },
3660                ));
3661                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3662                    "port",
3663                    |m: &ServerStatus| { &m.port },
3664                    |m: &mut ServerStatus| { &mut m.port },
3665                ));
3666                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3667                    "cores",
3668                    |m: &ServerStatus| { &m.cores },
3669                    |m: &mut ServerStatus| { &mut m.cores },
3670                ));
3671                ::protobuf::reflect::MessageDescriptor::new::<ServerStatus>(
3672                    "ServerStatus",
3673                    fields,
3674                    file_descriptor_proto()
3675                )
3676            })
3677        }
3678    }
3679
3680    fn default_instance() -> &'static ServerStatus {
3681        static mut instance: ::protobuf::lazy::Lazy<ServerStatus> = ::protobuf::lazy::Lazy {
3682            lock: ::protobuf::lazy::ONCE_INIT,
3683            ptr: 0 as *const ServerStatus,
3684        };
3685        unsafe {
3686            instance.get(ServerStatus::new)
3687        }
3688    }
3689}
3690
3691impl ::protobuf::Clear for ServerStatus {
3692    fn clear(&mut self) {
3693        self.stats.clear();
3694        self.port = 0;
3695        self.cores = 0;
3696        self.unknown_fields.clear();
3697    }
3698}
3699
3700impl ::std::fmt::Debug for ServerStatus {
3701    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3702        ::protobuf::text_format::fmt(self, f)
3703    }
3704}
3705
3706impl ::protobuf::reflect::ProtobufValue for ServerStatus {
3707    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
3708        ::protobuf::reflect::ProtobufValueRef::Message(self)
3709    }
3710}
3711
3712#[derive(PartialEq,Clone,Default)]
3713pub struct CoreRequest {
3714    // special fields
3715    pub unknown_fields: ::protobuf::UnknownFields,
3716    pub cached_size: ::protobuf::CachedSize,
3717}
3718
3719impl<'a> ::std::default::Default for &'a CoreRequest {
3720    fn default() -> &'a CoreRequest {
3721        <CoreRequest as ::protobuf::Message>::default_instance()
3722    }
3723}
3724
3725impl CoreRequest {
3726    pub fn new() -> CoreRequest {
3727        ::std::default::Default::default()
3728    }
3729}
3730
3731impl ::protobuf::Message for CoreRequest {
3732    fn is_initialized(&self) -> bool {
3733        true
3734    }
3735
3736    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3737        while !is.eof()? {
3738            let (field_number, wire_type) = is.read_tag_unpack()?;
3739            match field_number {
3740                _ => {
3741                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3742                },
3743            };
3744        }
3745        ::std::result::Result::Ok(())
3746    }
3747
3748    // Compute sizes of nested messages
3749    #[allow(unused_variables)]
3750    fn compute_size(&self) -> u32 {
3751        let mut my_size = 0;
3752        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3753        self.cached_size.set(my_size);
3754        my_size
3755    }
3756
3757    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3758        os.write_unknown_fields(self.get_unknown_fields())?;
3759        ::std::result::Result::Ok(())
3760    }
3761
3762    fn get_cached_size(&self) -> u32 {
3763        self.cached_size.get()
3764    }
3765
3766    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3767        &self.unknown_fields
3768    }
3769
3770    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3771        &mut self.unknown_fields
3772    }
3773
3774    fn as_any(&self) -> &dyn (::std::any::Any) {
3775        self as &dyn (::std::any::Any)
3776    }
3777    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3778        self as &mut dyn (::std::any::Any)
3779    }
3780    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3781        self
3782    }
3783
3784    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3785        Self::descriptor_static()
3786    }
3787
3788    fn new() -> CoreRequest {
3789        CoreRequest::new()
3790    }
3791
3792    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3793        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
3794            lock: ::protobuf::lazy::ONCE_INIT,
3795            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
3796        };
3797        unsafe {
3798            descriptor.get(|| {
3799                let fields = ::std::vec::Vec::new();
3800                ::protobuf::reflect::MessageDescriptor::new::<CoreRequest>(
3801                    "CoreRequest",
3802                    fields,
3803                    file_descriptor_proto()
3804                )
3805            })
3806        }
3807    }
3808
3809    fn default_instance() -> &'static CoreRequest {
3810        static mut instance: ::protobuf::lazy::Lazy<CoreRequest> = ::protobuf::lazy::Lazy {
3811            lock: ::protobuf::lazy::ONCE_INIT,
3812            ptr: 0 as *const CoreRequest,
3813        };
3814        unsafe {
3815            instance.get(CoreRequest::new)
3816        }
3817    }
3818}
3819
3820impl ::protobuf::Clear for CoreRequest {
3821    fn clear(&mut self) {
3822        self.unknown_fields.clear();
3823    }
3824}
3825
3826impl ::std::fmt::Debug for CoreRequest {
3827    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3828        ::protobuf::text_format::fmt(self, f)
3829    }
3830}
3831
3832impl ::protobuf::reflect::ProtobufValue for CoreRequest {
3833    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
3834        ::protobuf::reflect::ProtobufValueRef::Message(self)
3835    }
3836}
3837
3838#[derive(PartialEq,Clone,Default)]
3839pub struct CoreResponse {
3840    // message fields
3841    pub cores: i32,
3842    // special fields
3843    pub unknown_fields: ::protobuf::UnknownFields,
3844    pub cached_size: ::protobuf::CachedSize,
3845}
3846
3847impl<'a> ::std::default::Default for &'a CoreResponse {
3848    fn default() -> &'a CoreResponse {
3849        <CoreResponse as ::protobuf::Message>::default_instance()
3850    }
3851}
3852
3853impl CoreResponse {
3854    pub fn new() -> CoreResponse {
3855        ::std::default::Default::default()
3856    }
3857
3858    // int32 cores = 1;
3859
3860
3861    pub fn get_cores(&self) -> i32 {
3862        self.cores
3863    }
3864    pub fn clear_cores(&mut self) {
3865        self.cores = 0;
3866    }
3867
3868    // Param is passed by value, moved
3869    pub fn set_cores(&mut self, v: i32) {
3870        self.cores = v;
3871    }
3872}
3873
3874impl ::protobuf::Message for CoreResponse {
3875    fn is_initialized(&self) -> bool {
3876        true
3877    }
3878
3879    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3880        while !is.eof()? {
3881            let (field_number, wire_type) = is.read_tag_unpack()?;
3882            match field_number {
3883                1 => {
3884                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3885                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3886                    }
3887                    let tmp = is.read_int32()?;
3888                    self.cores = tmp;
3889                },
3890                _ => {
3891                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3892                },
3893            };
3894        }
3895        ::std::result::Result::Ok(())
3896    }
3897
3898    // Compute sizes of nested messages
3899    #[allow(unused_variables)]
3900    fn compute_size(&self) -> u32 {
3901        let mut my_size = 0;
3902        if self.cores != 0 {
3903            my_size += ::protobuf::rt::value_size(1, self.cores, ::protobuf::wire_format::WireTypeVarint);
3904        }
3905        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3906        self.cached_size.set(my_size);
3907        my_size
3908    }
3909
3910    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3911        if self.cores != 0 {
3912            os.write_int32(1, self.cores)?;
3913        }
3914        os.write_unknown_fields(self.get_unknown_fields())?;
3915        ::std::result::Result::Ok(())
3916    }
3917
3918    fn get_cached_size(&self) -> u32 {
3919        self.cached_size.get()
3920    }
3921
3922    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3923        &self.unknown_fields
3924    }
3925
3926    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3927        &mut self.unknown_fields
3928    }
3929
3930    fn as_any(&self) -> &dyn (::std::any::Any) {
3931        self as &dyn (::std::any::Any)
3932    }
3933    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3934        self as &mut dyn (::std::any::Any)
3935    }
3936    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3937        self
3938    }
3939
3940    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3941        Self::descriptor_static()
3942    }
3943
3944    fn new() -> CoreResponse {
3945        CoreResponse::new()
3946    }
3947
3948    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3949        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
3950            lock: ::protobuf::lazy::ONCE_INIT,
3951            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
3952        };
3953        unsafe {
3954            descriptor.get(|| {
3955                let mut fields = ::std::vec::Vec::new();
3956                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3957                    "cores",
3958                    |m: &CoreResponse| { &m.cores },
3959                    |m: &mut CoreResponse| { &mut m.cores },
3960                ));
3961                ::protobuf::reflect::MessageDescriptor::new::<CoreResponse>(
3962                    "CoreResponse",
3963                    fields,
3964                    file_descriptor_proto()
3965                )
3966            })
3967        }
3968    }
3969
3970    fn default_instance() -> &'static CoreResponse {
3971        static mut instance: ::protobuf::lazy::Lazy<CoreResponse> = ::protobuf::lazy::Lazy {
3972            lock: ::protobuf::lazy::ONCE_INIT,
3973            ptr: 0 as *const CoreResponse,
3974        };
3975        unsafe {
3976            instance.get(CoreResponse::new)
3977        }
3978    }
3979}
3980
3981impl ::protobuf::Clear for CoreResponse {
3982    fn clear(&mut self) {
3983        self.cores = 0;
3984        self.unknown_fields.clear();
3985    }
3986}
3987
3988impl ::std::fmt::Debug for CoreResponse {
3989    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3990        ::protobuf::text_format::fmt(self, f)
3991    }
3992}
3993
3994impl ::protobuf::reflect::ProtobufValue for CoreResponse {
3995    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
3996        ::protobuf::reflect::ProtobufValueRef::Message(self)
3997    }
3998}
3999
4000#[derive(PartialEq,Clone,Default)]
4001pub struct Void {
4002    // special fields
4003    pub unknown_fields: ::protobuf::UnknownFields,
4004    pub cached_size: ::protobuf::CachedSize,
4005}
4006
4007impl<'a> ::std::default::Default for &'a Void {
4008    fn default() -> &'a Void {
4009        <Void as ::protobuf::Message>::default_instance()
4010    }
4011}
4012
4013impl Void {
4014    pub fn new() -> Void {
4015        ::std::default::Default::default()
4016    }
4017}
4018
4019impl ::protobuf::Message for Void {
4020    fn is_initialized(&self) -> bool {
4021        true
4022    }
4023
4024    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4025        while !is.eof()? {
4026            let (field_number, wire_type) = is.read_tag_unpack()?;
4027            match field_number {
4028                _ => {
4029                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4030                },
4031            };
4032        }
4033        ::std::result::Result::Ok(())
4034    }
4035
4036    // Compute sizes of nested messages
4037    #[allow(unused_variables)]
4038    fn compute_size(&self) -> u32 {
4039        let mut my_size = 0;
4040        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4041        self.cached_size.set(my_size);
4042        my_size
4043    }
4044
4045    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4046        os.write_unknown_fields(self.get_unknown_fields())?;
4047        ::std::result::Result::Ok(())
4048    }
4049
4050    fn get_cached_size(&self) -> u32 {
4051        self.cached_size.get()
4052    }
4053
4054    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4055        &self.unknown_fields
4056    }
4057
4058    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4059        &mut self.unknown_fields
4060    }
4061
4062    fn as_any(&self) -> &dyn (::std::any::Any) {
4063        self as &dyn (::std::any::Any)
4064    }
4065    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4066        self as &mut dyn (::std::any::Any)
4067    }
4068    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4069        self
4070    }
4071
4072    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4073        Self::descriptor_static()
4074    }
4075
4076    fn new() -> Void {
4077        Void::new()
4078    }
4079
4080    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4081        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
4082            lock: ::protobuf::lazy::ONCE_INIT,
4083            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
4084        };
4085        unsafe {
4086            descriptor.get(|| {
4087                let fields = ::std::vec::Vec::new();
4088                ::protobuf::reflect::MessageDescriptor::new::<Void>(
4089                    "Void",
4090                    fields,
4091                    file_descriptor_proto()
4092                )
4093            })
4094        }
4095    }
4096
4097    fn default_instance() -> &'static Void {
4098        static mut instance: ::protobuf::lazy::Lazy<Void> = ::protobuf::lazy::Lazy {
4099            lock: ::protobuf::lazy::ONCE_INIT,
4100            ptr: 0 as *const Void,
4101        };
4102        unsafe {
4103            instance.get(Void::new)
4104        }
4105    }
4106}
4107
4108impl ::protobuf::Clear for Void {
4109    fn clear(&mut self) {
4110        self.unknown_fields.clear();
4111    }
4112}
4113
4114impl ::std::fmt::Debug for Void {
4115    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4116        ::protobuf::text_format::fmt(self, f)
4117    }
4118}
4119
4120impl ::protobuf::reflect::ProtobufValue for Void {
4121    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
4122        ::protobuf::reflect::ProtobufValueRef::Message(self)
4123    }
4124}
4125
4126#[derive(PartialEq,Clone,Default)]
4127pub struct Scenario {
4128    // message fields
4129    pub name: ::std::string::String,
4130    pub client_config: ::protobuf::SingularPtrField<ClientConfig>,
4131    pub num_clients: i32,
4132    pub server_config: ::protobuf::SingularPtrField<ServerConfig>,
4133    pub num_servers: i32,
4134    pub warmup_seconds: i32,
4135    pub benchmark_seconds: i32,
4136    pub spawn_local_worker_count: i32,
4137    // special fields
4138    pub unknown_fields: ::protobuf::UnknownFields,
4139    pub cached_size: ::protobuf::CachedSize,
4140}
4141
4142impl<'a> ::std::default::Default for &'a Scenario {
4143    fn default() -> &'a Scenario {
4144        <Scenario as ::protobuf::Message>::default_instance()
4145    }
4146}
4147
4148impl Scenario {
4149    pub fn new() -> Scenario {
4150        ::std::default::Default::default()
4151    }
4152
4153    // string name = 1;
4154
4155
4156    pub fn get_name(&self) -> &str {
4157        &self.name
4158    }
4159    pub fn clear_name(&mut self) {
4160        self.name.clear();
4161    }
4162
4163    // Param is passed by value, moved
4164    pub fn set_name(&mut self, v: ::std::string::String) {
4165        self.name = v;
4166    }
4167
4168    // Mutable pointer to the field.
4169    // If field is not initialized, it is initialized with default value first.
4170    pub fn mut_name(&mut self) -> &mut ::std::string::String {
4171        &mut self.name
4172    }
4173
4174    // Take field
4175    pub fn take_name(&mut self) -> ::std::string::String {
4176        ::std::mem::replace(&mut self.name, ::std::string::String::new())
4177    }
4178
4179    // .grpc.testing.ClientConfig client_config = 2;
4180
4181
4182    pub fn get_client_config(&self) -> &ClientConfig {
4183        self.client_config.as_ref().unwrap_or_else(|| ClientConfig::default_instance())
4184    }
4185    pub fn clear_client_config(&mut self) {
4186        self.client_config.clear();
4187    }
4188
4189    pub fn has_client_config(&self) -> bool {
4190        self.client_config.is_some()
4191    }
4192
4193    // Param is passed by value, moved
4194    pub fn set_client_config(&mut self, v: ClientConfig) {
4195        self.client_config = ::protobuf::SingularPtrField::some(v);
4196    }
4197
4198    // Mutable pointer to the field.
4199    // If field is not initialized, it is initialized with default value first.
4200    pub fn mut_client_config(&mut self) -> &mut ClientConfig {
4201        if self.client_config.is_none() {
4202            self.client_config.set_default();
4203        }
4204        self.client_config.as_mut().unwrap()
4205    }
4206
4207    // Take field
4208    pub fn take_client_config(&mut self) -> ClientConfig {
4209        self.client_config.take().unwrap_or_else(|| ClientConfig::new())
4210    }
4211
4212    // int32 num_clients = 3;
4213
4214
4215    pub fn get_num_clients(&self) -> i32 {
4216        self.num_clients
4217    }
4218    pub fn clear_num_clients(&mut self) {
4219        self.num_clients = 0;
4220    }
4221
4222    // Param is passed by value, moved
4223    pub fn set_num_clients(&mut self, v: i32) {
4224        self.num_clients = v;
4225    }
4226
4227    // .grpc.testing.ServerConfig server_config = 4;
4228
4229
4230    pub fn get_server_config(&self) -> &ServerConfig {
4231        self.server_config.as_ref().unwrap_or_else(|| ServerConfig::default_instance())
4232    }
4233    pub fn clear_server_config(&mut self) {
4234        self.server_config.clear();
4235    }
4236
4237    pub fn has_server_config(&self) -> bool {
4238        self.server_config.is_some()
4239    }
4240
4241    // Param is passed by value, moved
4242    pub fn set_server_config(&mut self, v: ServerConfig) {
4243        self.server_config = ::protobuf::SingularPtrField::some(v);
4244    }
4245
4246    // Mutable pointer to the field.
4247    // If field is not initialized, it is initialized with default value first.
4248    pub fn mut_server_config(&mut self) -> &mut ServerConfig {
4249        if self.server_config.is_none() {
4250            self.server_config.set_default();
4251        }
4252        self.server_config.as_mut().unwrap()
4253    }
4254
4255    // Take field
4256    pub fn take_server_config(&mut self) -> ServerConfig {
4257        self.server_config.take().unwrap_or_else(|| ServerConfig::new())
4258    }
4259
4260    // int32 num_servers = 5;
4261
4262
4263    pub fn get_num_servers(&self) -> i32 {
4264        self.num_servers
4265    }
4266    pub fn clear_num_servers(&mut self) {
4267        self.num_servers = 0;
4268    }
4269
4270    // Param is passed by value, moved
4271    pub fn set_num_servers(&mut self, v: i32) {
4272        self.num_servers = v;
4273    }
4274
4275    // int32 warmup_seconds = 6;
4276
4277
4278    pub fn get_warmup_seconds(&self) -> i32 {
4279        self.warmup_seconds
4280    }
4281    pub fn clear_warmup_seconds(&mut self) {
4282        self.warmup_seconds = 0;
4283    }
4284
4285    // Param is passed by value, moved
4286    pub fn set_warmup_seconds(&mut self, v: i32) {
4287        self.warmup_seconds = v;
4288    }
4289
4290    // int32 benchmark_seconds = 7;
4291
4292
4293    pub fn get_benchmark_seconds(&self) -> i32 {
4294        self.benchmark_seconds
4295    }
4296    pub fn clear_benchmark_seconds(&mut self) {
4297        self.benchmark_seconds = 0;
4298    }
4299
4300    // Param is passed by value, moved
4301    pub fn set_benchmark_seconds(&mut self, v: i32) {
4302        self.benchmark_seconds = v;
4303    }
4304
4305    // int32 spawn_local_worker_count = 8;
4306
4307
4308    pub fn get_spawn_local_worker_count(&self) -> i32 {
4309        self.spawn_local_worker_count
4310    }
4311    pub fn clear_spawn_local_worker_count(&mut self) {
4312        self.spawn_local_worker_count = 0;
4313    }
4314
4315    // Param is passed by value, moved
4316    pub fn set_spawn_local_worker_count(&mut self, v: i32) {
4317        self.spawn_local_worker_count = v;
4318    }
4319}
4320
4321impl ::protobuf::Message for Scenario {
4322    fn is_initialized(&self) -> bool {
4323        for v in &self.client_config {
4324            if !v.is_initialized() {
4325                return false;
4326            }
4327        };
4328        for v in &self.server_config {
4329            if !v.is_initialized() {
4330                return false;
4331            }
4332        };
4333        true
4334    }
4335
4336    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4337        while !is.eof()? {
4338            let (field_number, wire_type) = is.read_tag_unpack()?;
4339            match field_number {
4340                1 => {
4341                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
4342                },
4343                2 => {
4344                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.client_config)?;
4345                },
4346                3 => {
4347                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4348                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4349                    }
4350                    let tmp = is.read_int32()?;
4351                    self.num_clients = tmp;
4352                },
4353                4 => {
4354                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.server_config)?;
4355                },
4356                5 => {
4357                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4358                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4359                    }
4360                    let tmp = is.read_int32()?;
4361                    self.num_servers = tmp;
4362                },
4363                6 => {
4364                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4365                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4366                    }
4367                    let tmp = is.read_int32()?;
4368                    self.warmup_seconds = tmp;
4369                },
4370                7 => {
4371                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4372                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4373                    }
4374                    let tmp = is.read_int32()?;
4375                    self.benchmark_seconds = tmp;
4376                },
4377                8 => {
4378                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4379                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4380                    }
4381                    let tmp = is.read_int32()?;
4382                    self.spawn_local_worker_count = tmp;
4383                },
4384                _ => {
4385                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4386                },
4387            };
4388        }
4389        ::std::result::Result::Ok(())
4390    }
4391
4392    // Compute sizes of nested messages
4393    #[allow(unused_variables)]
4394    fn compute_size(&self) -> u32 {
4395        let mut my_size = 0;
4396        if !self.name.is_empty() {
4397            my_size += ::protobuf::rt::string_size(1, &self.name);
4398        }
4399        if let Some(ref v) = self.client_config.as_ref() {
4400            let len = v.compute_size();
4401            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4402        }
4403        if self.num_clients != 0 {
4404            my_size += ::protobuf::rt::value_size(3, self.num_clients, ::protobuf::wire_format::WireTypeVarint);
4405        }
4406        if let Some(ref v) = self.server_config.as_ref() {
4407            let len = v.compute_size();
4408            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4409        }
4410        if self.num_servers != 0 {
4411            my_size += ::protobuf::rt::value_size(5, self.num_servers, ::protobuf::wire_format::WireTypeVarint);
4412        }
4413        if self.warmup_seconds != 0 {
4414            my_size += ::protobuf::rt::value_size(6, self.warmup_seconds, ::protobuf::wire_format::WireTypeVarint);
4415        }
4416        if self.benchmark_seconds != 0 {
4417            my_size += ::protobuf::rt::value_size(7, self.benchmark_seconds, ::protobuf::wire_format::WireTypeVarint);
4418        }
4419        if self.spawn_local_worker_count != 0 {
4420            my_size += ::protobuf::rt::value_size(8, self.spawn_local_worker_count, ::protobuf::wire_format::WireTypeVarint);
4421        }
4422        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4423        self.cached_size.set(my_size);
4424        my_size
4425    }
4426
4427    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4428        if !self.name.is_empty() {
4429            os.write_string(1, &self.name)?;
4430        }
4431        if let Some(ref v) = self.client_config.as_ref() {
4432            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4433            os.write_raw_varint32(v.get_cached_size())?;
4434            v.write_to_with_cached_sizes(os)?;
4435        }
4436        if self.num_clients != 0 {
4437            os.write_int32(3, self.num_clients)?;
4438        }
4439        if let Some(ref v) = self.server_config.as_ref() {
4440            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4441            os.write_raw_varint32(v.get_cached_size())?;
4442            v.write_to_with_cached_sizes(os)?;
4443        }
4444        if self.num_servers != 0 {
4445            os.write_int32(5, self.num_servers)?;
4446        }
4447        if self.warmup_seconds != 0 {
4448            os.write_int32(6, self.warmup_seconds)?;
4449        }
4450        if self.benchmark_seconds != 0 {
4451            os.write_int32(7, self.benchmark_seconds)?;
4452        }
4453        if self.spawn_local_worker_count != 0 {
4454            os.write_int32(8, self.spawn_local_worker_count)?;
4455        }
4456        os.write_unknown_fields(self.get_unknown_fields())?;
4457        ::std::result::Result::Ok(())
4458    }
4459
4460    fn get_cached_size(&self) -> u32 {
4461        self.cached_size.get()
4462    }
4463
4464    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4465        &self.unknown_fields
4466    }
4467
4468    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4469        &mut self.unknown_fields
4470    }
4471
4472    fn as_any(&self) -> &dyn (::std::any::Any) {
4473        self as &dyn (::std::any::Any)
4474    }
4475    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4476        self as &mut dyn (::std::any::Any)
4477    }
4478    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4479        self
4480    }
4481
4482    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4483        Self::descriptor_static()
4484    }
4485
4486    fn new() -> Scenario {
4487        Scenario::new()
4488    }
4489
4490    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4491        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
4492            lock: ::protobuf::lazy::ONCE_INIT,
4493            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
4494        };
4495        unsafe {
4496            descriptor.get(|| {
4497                let mut fields = ::std::vec::Vec::new();
4498                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4499                    "name",
4500                    |m: &Scenario| { &m.name },
4501                    |m: &mut Scenario| { &mut m.name },
4502                ));
4503                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ClientConfig>>(
4504                    "client_config",
4505                    |m: &Scenario| { &m.client_config },
4506                    |m: &mut Scenario| { &mut m.client_config },
4507                ));
4508                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
4509                    "num_clients",
4510                    |m: &Scenario| { &m.num_clients },
4511                    |m: &mut Scenario| { &mut m.num_clients },
4512                ));
4513                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ServerConfig>>(
4514                    "server_config",
4515                    |m: &Scenario| { &m.server_config },
4516                    |m: &mut Scenario| { &mut m.server_config },
4517                ));
4518                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
4519                    "num_servers",
4520                    |m: &Scenario| { &m.num_servers },
4521                    |m: &mut Scenario| { &mut m.num_servers },
4522                ));
4523                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
4524                    "warmup_seconds",
4525                    |m: &Scenario| { &m.warmup_seconds },
4526                    |m: &mut Scenario| { &mut m.warmup_seconds },
4527                ));
4528                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
4529                    "benchmark_seconds",
4530                    |m: &Scenario| { &m.benchmark_seconds },
4531                    |m: &mut Scenario| { &mut m.benchmark_seconds },
4532                ));
4533                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
4534                    "spawn_local_worker_count",
4535                    |m: &Scenario| { &m.spawn_local_worker_count },
4536                    |m: &mut Scenario| { &mut m.spawn_local_worker_count },
4537                ));
4538                ::protobuf::reflect::MessageDescriptor::new::<Scenario>(
4539                    "Scenario",
4540                    fields,
4541                    file_descriptor_proto()
4542                )
4543            })
4544        }
4545    }
4546
4547    fn default_instance() -> &'static Scenario {
4548        static mut instance: ::protobuf::lazy::Lazy<Scenario> = ::protobuf::lazy::Lazy {
4549            lock: ::protobuf::lazy::ONCE_INIT,
4550            ptr: 0 as *const Scenario,
4551        };
4552        unsafe {
4553            instance.get(Scenario::new)
4554        }
4555    }
4556}
4557
4558impl ::protobuf::Clear for Scenario {
4559    fn clear(&mut self) {
4560        self.name.clear();
4561        self.client_config.clear();
4562        self.num_clients = 0;
4563        self.server_config.clear();
4564        self.num_servers = 0;
4565        self.warmup_seconds = 0;
4566        self.benchmark_seconds = 0;
4567        self.spawn_local_worker_count = 0;
4568        self.unknown_fields.clear();
4569    }
4570}
4571
4572impl ::std::fmt::Debug for Scenario {
4573    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4574        ::protobuf::text_format::fmt(self, f)
4575    }
4576}
4577
4578impl ::protobuf::reflect::ProtobufValue for Scenario {
4579    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
4580        ::protobuf::reflect::ProtobufValueRef::Message(self)
4581    }
4582}
4583
4584#[derive(PartialEq,Clone,Default)]
4585pub struct Scenarios {
4586    // message fields
4587    pub scenarios: ::protobuf::RepeatedField<Scenario>,
4588    // special fields
4589    pub unknown_fields: ::protobuf::UnknownFields,
4590    pub cached_size: ::protobuf::CachedSize,
4591}
4592
4593impl<'a> ::std::default::Default for &'a Scenarios {
4594    fn default() -> &'a Scenarios {
4595        <Scenarios as ::protobuf::Message>::default_instance()
4596    }
4597}
4598
4599impl Scenarios {
4600    pub fn new() -> Scenarios {
4601        ::std::default::Default::default()
4602    }
4603
4604    // repeated .grpc.testing.Scenario scenarios = 1;
4605
4606
4607    pub fn get_scenarios(&self) -> &[Scenario] {
4608        &self.scenarios
4609    }
4610    pub fn clear_scenarios(&mut self) {
4611        self.scenarios.clear();
4612    }
4613
4614    // Param is passed by value, moved
4615    pub fn set_scenarios(&mut self, v: ::protobuf::RepeatedField<Scenario>) {
4616        self.scenarios = v;
4617    }
4618
4619    // Mutable pointer to the field.
4620    pub fn mut_scenarios(&mut self) -> &mut ::protobuf::RepeatedField<Scenario> {
4621        &mut self.scenarios
4622    }
4623
4624    // Take field
4625    pub fn take_scenarios(&mut self) -> ::protobuf::RepeatedField<Scenario> {
4626        ::std::mem::replace(&mut self.scenarios, ::protobuf::RepeatedField::new())
4627    }
4628}
4629
4630impl ::protobuf::Message for Scenarios {
4631    fn is_initialized(&self) -> bool {
4632        for v in &self.scenarios {
4633            if !v.is_initialized() {
4634                return false;
4635            }
4636        };
4637        true
4638    }
4639
4640    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4641        while !is.eof()? {
4642            let (field_number, wire_type) = is.read_tag_unpack()?;
4643            match field_number {
4644                1 => {
4645                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.scenarios)?;
4646                },
4647                _ => {
4648                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4649                },
4650            };
4651        }
4652        ::std::result::Result::Ok(())
4653    }
4654
4655    // Compute sizes of nested messages
4656    #[allow(unused_variables)]
4657    fn compute_size(&self) -> u32 {
4658        let mut my_size = 0;
4659        for value in &self.scenarios {
4660            let len = value.compute_size();
4661            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4662        };
4663        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4664        self.cached_size.set(my_size);
4665        my_size
4666    }
4667
4668    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4669        for v in &self.scenarios {
4670            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4671            os.write_raw_varint32(v.get_cached_size())?;
4672            v.write_to_with_cached_sizes(os)?;
4673        };
4674        os.write_unknown_fields(self.get_unknown_fields())?;
4675        ::std::result::Result::Ok(())
4676    }
4677
4678    fn get_cached_size(&self) -> u32 {
4679        self.cached_size.get()
4680    }
4681
4682    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4683        &self.unknown_fields
4684    }
4685
4686    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4687        &mut self.unknown_fields
4688    }
4689
4690    fn as_any(&self) -> &dyn (::std::any::Any) {
4691        self as &dyn (::std::any::Any)
4692    }
4693    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4694        self as &mut dyn (::std::any::Any)
4695    }
4696    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4697        self
4698    }
4699
4700    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4701        Self::descriptor_static()
4702    }
4703
4704    fn new() -> Scenarios {
4705        Scenarios::new()
4706    }
4707
4708    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4709        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
4710            lock: ::protobuf::lazy::ONCE_INIT,
4711            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
4712        };
4713        unsafe {
4714            descriptor.get(|| {
4715                let mut fields = ::std::vec::Vec::new();
4716                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Scenario>>(
4717                    "scenarios",
4718                    |m: &Scenarios| { &m.scenarios },
4719                    |m: &mut Scenarios| { &mut m.scenarios },
4720                ));
4721                ::protobuf::reflect::MessageDescriptor::new::<Scenarios>(
4722                    "Scenarios",
4723                    fields,
4724                    file_descriptor_proto()
4725                )
4726            })
4727        }
4728    }
4729
4730    fn default_instance() -> &'static Scenarios {
4731        static mut instance: ::protobuf::lazy::Lazy<Scenarios> = ::protobuf::lazy::Lazy {
4732            lock: ::protobuf::lazy::ONCE_INIT,
4733            ptr: 0 as *const Scenarios,
4734        };
4735        unsafe {
4736            instance.get(Scenarios::new)
4737        }
4738    }
4739}
4740
4741impl ::protobuf::Clear for Scenarios {
4742    fn clear(&mut self) {
4743        self.scenarios.clear();
4744        self.unknown_fields.clear();
4745    }
4746}
4747
4748impl ::std::fmt::Debug for Scenarios {
4749    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4750        ::protobuf::text_format::fmt(self, f)
4751    }
4752}
4753
4754impl ::protobuf::reflect::ProtobufValue for Scenarios {
4755    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
4756        ::protobuf::reflect::ProtobufValueRef::Message(self)
4757    }
4758}
4759
4760#[derive(PartialEq,Clone,Default)]
4761pub struct ScenarioResultSummary {
4762    // message fields
4763    pub qps: f64,
4764    pub qps_per_server_core: f64,
4765    pub server_system_time: f64,
4766    pub server_user_time: f64,
4767    pub client_system_time: f64,
4768    pub client_user_time: f64,
4769    pub latency_50: f64,
4770    pub latency_90: f64,
4771    pub latency_95: f64,
4772    pub latency_99: f64,
4773    pub latency_999: f64,
4774    pub server_cpu_usage: f64,
4775    pub successful_requests_per_second: f64,
4776    pub failed_requests_per_second: f64,
4777    pub client_polls_per_request: f64,
4778    pub server_polls_per_request: f64,
4779    pub server_queries_per_cpu_sec: f64,
4780    pub client_queries_per_cpu_sec: f64,
4781    // special fields
4782    pub unknown_fields: ::protobuf::UnknownFields,
4783    pub cached_size: ::protobuf::CachedSize,
4784}
4785
4786impl<'a> ::std::default::Default for &'a ScenarioResultSummary {
4787    fn default() -> &'a ScenarioResultSummary {
4788        <ScenarioResultSummary as ::protobuf::Message>::default_instance()
4789    }
4790}
4791
4792impl ScenarioResultSummary {
4793    pub fn new() -> ScenarioResultSummary {
4794        ::std::default::Default::default()
4795    }
4796
4797    // double qps = 1;
4798
4799
4800    pub fn get_qps(&self) -> f64 {
4801        self.qps
4802    }
4803    pub fn clear_qps(&mut self) {
4804        self.qps = 0.;
4805    }
4806
4807    // Param is passed by value, moved
4808    pub fn set_qps(&mut self, v: f64) {
4809        self.qps = v;
4810    }
4811
4812    // double qps_per_server_core = 2;
4813
4814
4815    pub fn get_qps_per_server_core(&self) -> f64 {
4816        self.qps_per_server_core
4817    }
4818    pub fn clear_qps_per_server_core(&mut self) {
4819        self.qps_per_server_core = 0.;
4820    }
4821
4822    // Param is passed by value, moved
4823    pub fn set_qps_per_server_core(&mut self, v: f64) {
4824        self.qps_per_server_core = v;
4825    }
4826
4827    // double server_system_time = 3;
4828
4829
4830    pub fn get_server_system_time(&self) -> f64 {
4831        self.server_system_time
4832    }
4833    pub fn clear_server_system_time(&mut self) {
4834        self.server_system_time = 0.;
4835    }
4836
4837    // Param is passed by value, moved
4838    pub fn set_server_system_time(&mut self, v: f64) {
4839        self.server_system_time = v;
4840    }
4841
4842    // double server_user_time = 4;
4843
4844
4845    pub fn get_server_user_time(&self) -> f64 {
4846        self.server_user_time
4847    }
4848    pub fn clear_server_user_time(&mut self) {
4849        self.server_user_time = 0.;
4850    }
4851
4852    // Param is passed by value, moved
4853    pub fn set_server_user_time(&mut self, v: f64) {
4854        self.server_user_time = v;
4855    }
4856
4857    // double client_system_time = 5;
4858
4859
4860    pub fn get_client_system_time(&self) -> f64 {
4861        self.client_system_time
4862    }
4863    pub fn clear_client_system_time(&mut self) {
4864        self.client_system_time = 0.;
4865    }
4866
4867    // Param is passed by value, moved
4868    pub fn set_client_system_time(&mut self, v: f64) {
4869        self.client_system_time = v;
4870    }
4871
4872    // double client_user_time = 6;
4873
4874
4875    pub fn get_client_user_time(&self) -> f64 {
4876        self.client_user_time
4877    }
4878    pub fn clear_client_user_time(&mut self) {
4879        self.client_user_time = 0.;
4880    }
4881
4882    // Param is passed by value, moved
4883    pub fn set_client_user_time(&mut self, v: f64) {
4884        self.client_user_time = v;
4885    }
4886
4887    // double latency_50 = 7;
4888
4889
4890    pub fn get_latency_50(&self) -> f64 {
4891        self.latency_50
4892    }
4893    pub fn clear_latency_50(&mut self) {
4894        self.latency_50 = 0.;
4895    }
4896
4897    // Param is passed by value, moved
4898    pub fn set_latency_50(&mut self, v: f64) {
4899        self.latency_50 = v;
4900    }
4901
4902    // double latency_90 = 8;
4903
4904
4905    pub fn get_latency_90(&self) -> f64 {
4906        self.latency_90
4907    }
4908    pub fn clear_latency_90(&mut self) {
4909        self.latency_90 = 0.;
4910    }
4911
4912    // Param is passed by value, moved
4913    pub fn set_latency_90(&mut self, v: f64) {
4914        self.latency_90 = v;
4915    }
4916
4917    // double latency_95 = 9;
4918
4919
4920    pub fn get_latency_95(&self) -> f64 {
4921        self.latency_95
4922    }
4923    pub fn clear_latency_95(&mut self) {
4924        self.latency_95 = 0.;
4925    }
4926
4927    // Param is passed by value, moved
4928    pub fn set_latency_95(&mut self, v: f64) {
4929        self.latency_95 = v;
4930    }
4931
4932    // double latency_99 = 10;
4933
4934
4935    pub fn get_latency_99(&self) -> f64 {
4936        self.latency_99
4937    }
4938    pub fn clear_latency_99(&mut self) {
4939        self.latency_99 = 0.;
4940    }
4941
4942    // Param is passed by value, moved
4943    pub fn set_latency_99(&mut self, v: f64) {
4944        self.latency_99 = v;
4945    }
4946
4947    // double latency_999 = 11;
4948
4949
4950    pub fn get_latency_999(&self) -> f64 {
4951        self.latency_999
4952    }
4953    pub fn clear_latency_999(&mut self) {
4954        self.latency_999 = 0.;
4955    }
4956
4957    // Param is passed by value, moved
4958    pub fn set_latency_999(&mut self, v: f64) {
4959        self.latency_999 = v;
4960    }
4961
4962    // double server_cpu_usage = 12;
4963
4964
4965    pub fn get_server_cpu_usage(&self) -> f64 {
4966        self.server_cpu_usage
4967    }
4968    pub fn clear_server_cpu_usage(&mut self) {
4969        self.server_cpu_usage = 0.;
4970    }
4971
4972    // Param is passed by value, moved
4973    pub fn set_server_cpu_usage(&mut self, v: f64) {
4974        self.server_cpu_usage = v;
4975    }
4976
4977    // double successful_requests_per_second = 13;
4978
4979
4980    pub fn get_successful_requests_per_second(&self) -> f64 {
4981        self.successful_requests_per_second
4982    }
4983    pub fn clear_successful_requests_per_second(&mut self) {
4984        self.successful_requests_per_second = 0.;
4985    }
4986
4987    // Param is passed by value, moved
4988    pub fn set_successful_requests_per_second(&mut self, v: f64) {
4989        self.successful_requests_per_second = v;
4990    }
4991
4992    // double failed_requests_per_second = 14;
4993
4994
4995    pub fn get_failed_requests_per_second(&self) -> f64 {
4996        self.failed_requests_per_second
4997    }
4998    pub fn clear_failed_requests_per_second(&mut self) {
4999        self.failed_requests_per_second = 0.;
5000    }
5001
5002    // Param is passed by value, moved
5003    pub fn set_failed_requests_per_second(&mut self, v: f64) {
5004        self.failed_requests_per_second = v;
5005    }
5006
5007    // double client_polls_per_request = 15;
5008
5009
5010    pub fn get_client_polls_per_request(&self) -> f64 {
5011        self.client_polls_per_request
5012    }
5013    pub fn clear_client_polls_per_request(&mut self) {
5014        self.client_polls_per_request = 0.;
5015    }
5016
5017    // Param is passed by value, moved
5018    pub fn set_client_polls_per_request(&mut self, v: f64) {
5019        self.client_polls_per_request = v;
5020    }
5021
5022    // double server_polls_per_request = 16;
5023
5024
5025    pub fn get_server_polls_per_request(&self) -> f64 {
5026        self.server_polls_per_request
5027    }
5028    pub fn clear_server_polls_per_request(&mut self) {
5029        self.server_polls_per_request = 0.;
5030    }
5031
5032    // Param is passed by value, moved
5033    pub fn set_server_polls_per_request(&mut self, v: f64) {
5034        self.server_polls_per_request = v;
5035    }
5036
5037    // double server_queries_per_cpu_sec = 17;
5038
5039
5040    pub fn get_server_queries_per_cpu_sec(&self) -> f64 {
5041        self.server_queries_per_cpu_sec
5042    }
5043    pub fn clear_server_queries_per_cpu_sec(&mut self) {
5044        self.server_queries_per_cpu_sec = 0.;
5045    }
5046
5047    // Param is passed by value, moved
5048    pub fn set_server_queries_per_cpu_sec(&mut self, v: f64) {
5049        self.server_queries_per_cpu_sec = v;
5050    }
5051
5052    // double client_queries_per_cpu_sec = 18;
5053
5054
5055    pub fn get_client_queries_per_cpu_sec(&self) -> f64 {
5056        self.client_queries_per_cpu_sec
5057    }
5058    pub fn clear_client_queries_per_cpu_sec(&mut self) {
5059        self.client_queries_per_cpu_sec = 0.;
5060    }
5061
5062    // Param is passed by value, moved
5063    pub fn set_client_queries_per_cpu_sec(&mut self, v: f64) {
5064        self.client_queries_per_cpu_sec = v;
5065    }
5066}
5067
5068impl ::protobuf::Message for ScenarioResultSummary {
5069    fn is_initialized(&self) -> bool {
5070        true
5071    }
5072
5073    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5074        while !is.eof()? {
5075            let (field_number, wire_type) = is.read_tag_unpack()?;
5076            match field_number {
5077                1 => {
5078                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5079                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5080                    }
5081                    let tmp = is.read_double()?;
5082                    self.qps = tmp;
5083                },
5084                2 => {
5085                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5086                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5087                    }
5088                    let tmp = is.read_double()?;
5089                    self.qps_per_server_core = tmp;
5090                },
5091                3 => {
5092                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5093                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5094                    }
5095                    let tmp = is.read_double()?;
5096                    self.server_system_time = tmp;
5097                },
5098                4 => {
5099                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5100                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5101                    }
5102                    let tmp = is.read_double()?;
5103                    self.server_user_time = tmp;
5104                },
5105                5 => {
5106                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5107                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5108                    }
5109                    let tmp = is.read_double()?;
5110                    self.client_system_time = tmp;
5111                },
5112                6 => {
5113                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5114                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5115                    }
5116                    let tmp = is.read_double()?;
5117                    self.client_user_time = tmp;
5118                },
5119                7 => {
5120                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5121                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5122                    }
5123                    let tmp = is.read_double()?;
5124                    self.latency_50 = tmp;
5125                },
5126                8 => {
5127                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5128                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5129                    }
5130                    let tmp = is.read_double()?;
5131                    self.latency_90 = tmp;
5132                },
5133                9 => {
5134                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5135                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5136                    }
5137                    let tmp = is.read_double()?;
5138                    self.latency_95 = tmp;
5139                },
5140                10 => {
5141                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5142                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5143                    }
5144                    let tmp = is.read_double()?;
5145                    self.latency_99 = tmp;
5146                },
5147                11 => {
5148                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5149                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5150                    }
5151                    let tmp = is.read_double()?;
5152                    self.latency_999 = tmp;
5153                },
5154                12 => {
5155                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5156                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5157                    }
5158                    let tmp = is.read_double()?;
5159                    self.server_cpu_usage = tmp;
5160                },
5161                13 => {
5162                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5163                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5164                    }
5165                    let tmp = is.read_double()?;
5166                    self.successful_requests_per_second = tmp;
5167                },
5168                14 => {
5169                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5170                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5171                    }
5172                    let tmp = is.read_double()?;
5173                    self.failed_requests_per_second = tmp;
5174                },
5175                15 => {
5176                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5177                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5178                    }
5179                    let tmp = is.read_double()?;
5180                    self.client_polls_per_request = tmp;
5181                },
5182                16 => {
5183                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5184                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5185                    }
5186                    let tmp = is.read_double()?;
5187                    self.server_polls_per_request = tmp;
5188                },
5189                17 => {
5190                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5191                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5192                    }
5193                    let tmp = is.read_double()?;
5194                    self.server_queries_per_cpu_sec = tmp;
5195                },
5196                18 => {
5197                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
5198                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5199                    }
5200                    let tmp = is.read_double()?;
5201                    self.client_queries_per_cpu_sec = tmp;
5202                },
5203                _ => {
5204                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5205                },
5206            };
5207        }
5208        ::std::result::Result::Ok(())
5209    }
5210
5211    // Compute sizes of nested messages
5212    #[allow(unused_variables)]
5213    fn compute_size(&self) -> u32 {
5214        let mut my_size = 0;
5215        if self.qps != 0. {
5216            my_size += 9;
5217        }
5218        if self.qps_per_server_core != 0. {
5219            my_size += 9;
5220        }
5221        if self.server_system_time != 0. {
5222            my_size += 9;
5223        }
5224        if self.server_user_time != 0. {
5225            my_size += 9;
5226        }
5227        if self.client_system_time != 0. {
5228            my_size += 9;
5229        }
5230        if self.client_user_time != 0. {
5231            my_size += 9;
5232        }
5233        if self.latency_50 != 0. {
5234            my_size += 9;
5235        }
5236        if self.latency_90 != 0. {
5237            my_size += 9;
5238        }
5239        if self.latency_95 != 0. {
5240            my_size += 9;
5241        }
5242        if self.latency_99 != 0. {
5243            my_size += 9;
5244        }
5245        if self.latency_999 != 0. {
5246            my_size += 9;
5247        }
5248        if self.server_cpu_usage != 0. {
5249            my_size += 9;
5250        }
5251        if self.successful_requests_per_second != 0. {
5252            my_size += 9;
5253        }
5254        if self.failed_requests_per_second != 0. {
5255            my_size += 9;
5256        }
5257        if self.client_polls_per_request != 0. {
5258            my_size += 9;
5259        }
5260        if self.server_polls_per_request != 0. {
5261            my_size += 10;
5262        }
5263        if self.server_queries_per_cpu_sec != 0. {
5264            my_size += 10;
5265        }
5266        if self.client_queries_per_cpu_sec != 0. {
5267            my_size += 10;
5268        }
5269        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5270        self.cached_size.set(my_size);
5271        my_size
5272    }
5273
5274    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5275        if self.qps != 0. {
5276            os.write_double(1, self.qps)?;
5277        }
5278        if self.qps_per_server_core != 0. {
5279            os.write_double(2, self.qps_per_server_core)?;
5280        }
5281        if self.server_system_time != 0. {
5282            os.write_double(3, self.server_system_time)?;
5283        }
5284        if self.server_user_time != 0. {
5285            os.write_double(4, self.server_user_time)?;
5286        }
5287        if self.client_system_time != 0. {
5288            os.write_double(5, self.client_system_time)?;
5289        }
5290        if self.client_user_time != 0. {
5291            os.write_double(6, self.client_user_time)?;
5292        }
5293        if self.latency_50 != 0. {
5294            os.write_double(7, self.latency_50)?;
5295        }
5296        if self.latency_90 != 0. {
5297            os.write_double(8, self.latency_90)?;
5298        }
5299        if self.latency_95 != 0. {
5300            os.write_double(9, self.latency_95)?;
5301        }
5302        if self.latency_99 != 0. {
5303            os.write_double(10, self.latency_99)?;
5304        }
5305        if self.latency_999 != 0. {
5306            os.write_double(11, self.latency_999)?;
5307        }
5308        if self.server_cpu_usage != 0. {
5309            os.write_double(12, self.server_cpu_usage)?;
5310        }
5311        if self.successful_requests_per_second != 0. {
5312            os.write_double(13, self.successful_requests_per_second)?;
5313        }
5314        if self.failed_requests_per_second != 0. {
5315            os.write_double(14, self.failed_requests_per_second)?;
5316        }
5317        if self.client_polls_per_request != 0. {
5318            os.write_double(15, self.client_polls_per_request)?;
5319        }
5320        if self.server_polls_per_request != 0. {
5321            os.write_double(16, self.server_polls_per_request)?;
5322        }
5323        if self.server_queries_per_cpu_sec != 0. {
5324            os.write_double(17, self.server_queries_per_cpu_sec)?;
5325        }
5326        if self.client_queries_per_cpu_sec != 0. {
5327            os.write_double(18, self.client_queries_per_cpu_sec)?;
5328        }
5329        os.write_unknown_fields(self.get_unknown_fields())?;
5330        ::std::result::Result::Ok(())
5331    }
5332
5333    fn get_cached_size(&self) -> u32 {
5334        self.cached_size.get()
5335    }
5336
5337    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5338        &self.unknown_fields
5339    }
5340
5341    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5342        &mut self.unknown_fields
5343    }
5344
5345    fn as_any(&self) -> &dyn (::std::any::Any) {
5346        self as &dyn (::std::any::Any)
5347    }
5348    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5349        self as &mut dyn (::std::any::Any)
5350    }
5351    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5352        self
5353    }
5354
5355    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5356        Self::descriptor_static()
5357    }
5358
5359    fn new() -> ScenarioResultSummary {
5360        ScenarioResultSummary::new()
5361    }
5362
5363    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5364        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
5365            lock: ::protobuf::lazy::ONCE_INIT,
5366            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
5367        };
5368        unsafe {
5369            descriptor.get(|| {
5370                let mut fields = ::std::vec::Vec::new();
5371                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5372                    "qps",
5373                    |m: &ScenarioResultSummary| { &m.qps },
5374                    |m: &mut ScenarioResultSummary| { &mut m.qps },
5375                ));
5376                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5377                    "qps_per_server_core",
5378                    |m: &ScenarioResultSummary| { &m.qps_per_server_core },
5379                    |m: &mut ScenarioResultSummary| { &mut m.qps_per_server_core },
5380                ));
5381                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5382                    "server_system_time",
5383                    |m: &ScenarioResultSummary| { &m.server_system_time },
5384                    |m: &mut ScenarioResultSummary| { &mut m.server_system_time },
5385                ));
5386                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5387                    "server_user_time",
5388                    |m: &ScenarioResultSummary| { &m.server_user_time },
5389                    |m: &mut ScenarioResultSummary| { &mut m.server_user_time },
5390                ));
5391                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5392                    "client_system_time",
5393                    |m: &ScenarioResultSummary| { &m.client_system_time },
5394                    |m: &mut ScenarioResultSummary| { &mut m.client_system_time },
5395                ));
5396                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5397                    "client_user_time",
5398                    |m: &ScenarioResultSummary| { &m.client_user_time },
5399                    |m: &mut ScenarioResultSummary| { &mut m.client_user_time },
5400                ));
5401                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5402                    "latency_50",
5403                    |m: &ScenarioResultSummary| { &m.latency_50 },
5404                    |m: &mut ScenarioResultSummary| { &mut m.latency_50 },
5405                ));
5406                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5407                    "latency_90",
5408                    |m: &ScenarioResultSummary| { &m.latency_90 },
5409                    |m: &mut ScenarioResultSummary| { &mut m.latency_90 },
5410                ));
5411                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5412                    "latency_95",
5413                    |m: &ScenarioResultSummary| { &m.latency_95 },
5414                    |m: &mut ScenarioResultSummary| { &mut m.latency_95 },
5415                ));
5416                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5417                    "latency_99",
5418                    |m: &ScenarioResultSummary| { &m.latency_99 },
5419                    |m: &mut ScenarioResultSummary| { &mut m.latency_99 },
5420                ));
5421                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5422                    "latency_999",
5423                    |m: &ScenarioResultSummary| { &m.latency_999 },
5424                    |m: &mut ScenarioResultSummary| { &mut m.latency_999 },
5425                ));
5426                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5427                    "server_cpu_usage",
5428                    |m: &ScenarioResultSummary| { &m.server_cpu_usage },
5429                    |m: &mut ScenarioResultSummary| { &mut m.server_cpu_usage },
5430                ));
5431                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5432                    "successful_requests_per_second",
5433                    |m: &ScenarioResultSummary| { &m.successful_requests_per_second },
5434                    |m: &mut ScenarioResultSummary| { &mut m.successful_requests_per_second },
5435                ));
5436                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5437                    "failed_requests_per_second",
5438                    |m: &ScenarioResultSummary| { &m.failed_requests_per_second },
5439                    |m: &mut ScenarioResultSummary| { &mut m.failed_requests_per_second },
5440                ));
5441                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5442                    "client_polls_per_request",
5443                    |m: &ScenarioResultSummary| { &m.client_polls_per_request },
5444                    |m: &mut ScenarioResultSummary| { &mut m.client_polls_per_request },
5445                ));
5446                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5447                    "server_polls_per_request",
5448                    |m: &ScenarioResultSummary| { &m.server_polls_per_request },
5449                    |m: &mut ScenarioResultSummary| { &mut m.server_polls_per_request },
5450                ));
5451                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5452                    "server_queries_per_cpu_sec",
5453                    |m: &ScenarioResultSummary| { &m.server_queries_per_cpu_sec },
5454                    |m: &mut ScenarioResultSummary| { &mut m.server_queries_per_cpu_sec },
5455                ));
5456                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
5457                    "client_queries_per_cpu_sec",
5458                    |m: &ScenarioResultSummary| { &m.client_queries_per_cpu_sec },
5459                    |m: &mut ScenarioResultSummary| { &mut m.client_queries_per_cpu_sec },
5460                ));
5461                ::protobuf::reflect::MessageDescriptor::new::<ScenarioResultSummary>(
5462                    "ScenarioResultSummary",
5463                    fields,
5464                    file_descriptor_proto()
5465                )
5466            })
5467        }
5468    }
5469
5470    fn default_instance() -> &'static ScenarioResultSummary {
5471        static mut instance: ::protobuf::lazy::Lazy<ScenarioResultSummary> = ::protobuf::lazy::Lazy {
5472            lock: ::protobuf::lazy::ONCE_INIT,
5473            ptr: 0 as *const ScenarioResultSummary,
5474        };
5475        unsafe {
5476            instance.get(ScenarioResultSummary::new)
5477        }
5478    }
5479}
5480
5481impl ::protobuf::Clear for ScenarioResultSummary {
5482    fn clear(&mut self) {
5483        self.qps = 0.;
5484        self.qps_per_server_core = 0.;
5485        self.server_system_time = 0.;
5486        self.server_user_time = 0.;
5487        self.client_system_time = 0.;
5488        self.client_user_time = 0.;
5489        self.latency_50 = 0.;
5490        self.latency_90 = 0.;
5491        self.latency_95 = 0.;
5492        self.latency_99 = 0.;
5493        self.latency_999 = 0.;
5494        self.server_cpu_usage = 0.;
5495        self.successful_requests_per_second = 0.;
5496        self.failed_requests_per_second = 0.;
5497        self.client_polls_per_request = 0.;
5498        self.server_polls_per_request = 0.;
5499        self.server_queries_per_cpu_sec = 0.;
5500        self.client_queries_per_cpu_sec = 0.;
5501        self.unknown_fields.clear();
5502    }
5503}
5504
5505impl ::std::fmt::Debug for ScenarioResultSummary {
5506    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5507        ::protobuf::text_format::fmt(self, f)
5508    }
5509}
5510
5511impl ::protobuf::reflect::ProtobufValue for ScenarioResultSummary {
5512    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
5513        ::protobuf::reflect::ProtobufValueRef::Message(self)
5514    }
5515}
5516
5517#[derive(PartialEq,Clone,Default)]
5518pub struct ScenarioResult {
5519    // message fields
5520    pub scenario: ::protobuf::SingularPtrField<Scenario>,
5521    pub latencies: ::protobuf::SingularPtrField<super::stats::HistogramData>,
5522    pub client_stats: ::protobuf::RepeatedField<super::stats::ClientStats>,
5523    pub server_stats: ::protobuf::RepeatedField<super::stats::ServerStats>,
5524    pub server_cores: ::std::vec::Vec<i32>,
5525    pub summary: ::protobuf::SingularPtrField<ScenarioResultSummary>,
5526    pub client_success: ::std::vec::Vec<bool>,
5527    pub server_success: ::std::vec::Vec<bool>,
5528    pub request_results: ::protobuf::RepeatedField<super::stats::RequestResultCount>,
5529    // special fields
5530    pub unknown_fields: ::protobuf::UnknownFields,
5531    pub cached_size: ::protobuf::CachedSize,
5532}
5533
5534impl<'a> ::std::default::Default for &'a ScenarioResult {
5535    fn default() -> &'a ScenarioResult {
5536        <ScenarioResult as ::protobuf::Message>::default_instance()
5537    }
5538}
5539
5540impl ScenarioResult {
5541    pub fn new() -> ScenarioResult {
5542        ::std::default::Default::default()
5543    }
5544
5545    // .grpc.testing.Scenario scenario = 1;
5546
5547
5548    pub fn get_scenario(&self) -> &Scenario {
5549        self.scenario.as_ref().unwrap_or_else(|| Scenario::default_instance())
5550    }
5551    pub fn clear_scenario(&mut self) {
5552        self.scenario.clear();
5553    }
5554
5555    pub fn has_scenario(&self) -> bool {
5556        self.scenario.is_some()
5557    }
5558
5559    // Param is passed by value, moved
5560    pub fn set_scenario(&mut self, v: Scenario) {
5561        self.scenario = ::protobuf::SingularPtrField::some(v);
5562    }
5563
5564    // Mutable pointer to the field.
5565    // If field is not initialized, it is initialized with default value first.
5566    pub fn mut_scenario(&mut self) -> &mut Scenario {
5567        if self.scenario.is_none() {
5568            self.scenario.set_default();
5569        }
5570        self.scenario.as_mut().unwrap()
5571    }
5572
5573    // Take field
5574    pub fn take_scenario(&mut self) -> Scenario {
5575        self.scenario.take().unwrap_or_else(|| Scenario::new())
5576    }
5577
5578    // .grpc.testing.HistogramData latencies = 2;
5579
5580
5581    pub fn get_latencies(&self) -> &super::stats::HistogramData {
5582        self.latencies.as_ref().unwrap_or_else(|| super::stats::HistogramData::default_instance())
5583    }
5584    pub fn clear_latencies(&mut self) {
5585        self.latencies.clear();
5586    }
5587
5588    pub fn has_latencies(&self) -> bool {
5589        self.latencies.is_some()
5590    }
5591
5592    // Param is passed by value, moved
5593    pub fn set_latencies(&mut self, v: super::stats::HistogramData) {
5594        self.latencies = ::protobuf::SingularPtrField::some(v);
5595    }
5596
5597    // Mutable pointer to the field.
5598    // If field is not initialized, it is initialized with default value first.
5599    pub fn mut_latencies(&mut self) -> &mut super::stats::HistogramData {
5600        if self.latencies.is_none() {
5601            self.latencies.set_default();
5602        }
5603        self.latencies.as_mut().unwrap()
5604    }
5605
5606    // Take field
5607    pub fn take_latencies(&mut self) -> super::stats::HistogramData {
5608        self.latencies.take().unwrap_or_else(|| super::stats::HistogramData::new())
5609    }
5610
5611    // repeated .grpc.testing.ClientStats client_stats = 3;
5612
5613
5614    pub fn get_client_stats(&self) -> &[super::stats::ClientStats] {
5615        &self.client_stats
5616    }
5617    pub fn clear_client_stats(&mut self) {
5618        self.client_stats.clear();
5619    }
5620
5621    // Param is passed by value, moved
5622    pub fn set_client_stats(&mut self, v: ::protobuf::RepeatedField<super::stats::ClientStats>) {
5623        self.client_stats = v;
5624    }
5625
5626    // Mutable pointer to the field.
5627    pub fn mut_client_stats(&mut self) -> &mut ::protobuf::RepeatedField<super::stats::ClientStats> {
5628        &mut self.client_stats
5629    }
5630
5631    // Take field
5632    pub fn take_client_stats(&mut self) -> ::protobuf::RepeatedField<super::stats::ClientStats> {
5633        ::std::mem::replace(&mut self.client_stats, ::protobuf::RepeatedField::new())
5634    }
5635
5636    // repeated .grpc.testing.ServerStats server_stats = 4;
5637
5638
5639    pub fn get_server_stats(&self) -> &[super::stats::ServerStats] {
5640        &self.server_stats
5641    }
5642    pub fn clear_server_stats(&mut self) {
5643        self.server_stats.clear();
5644    }
5645
5646    // Param is passed by value, moved
5647    pub fn set_server_stats(&mut self, v: ::protobuf::RepeatedField<super::stats::ServerStats>) {
5648        self.server_stats = v;
5649    }
5650
5651    // Mutable pointer to the field.
5652    pub fn mut_server_stats(&mut self) -> &mut ::protobuf::RepeatedField<super::stats::ServerStats> {
5653        &mut self.server_stats
5654    }
5655
5656    // Take field
5657    pub fn take_server_stats(&mut self) -> ::protobuf::RepeatedField<super::stats::ServerStats> {
5658        ::std::mem::replace(&mut self.server_stats, ::protobuf::RepeatedField::new())
5659    }
5660
5661    // repeated int32 server_cores = 5;
5662
5663
5664    pub fn get_server_cores(&self) -> &[i32] {
5665        &self.server_cores
5666    }
5667    pub fn clear_server_cores(&mut self) {
5668        self.server_cores.clear();
5669    }
5670
5671    // Param is passed by value, moved
5672    pub fn set_server_cores(&mut self, v: ::std::vec::Vec<i32>) {
5673        self.server_cores = v;
5674    }
5675
5676    // Mutable pointer to the field.
5677    pub fn mut_server_cores(&mut self) -> &mut ::std::vec::Vec<i32> {
5678        &mut self.server_cores
5679    }
5680
5681    // Take field
5682    pub fn take_server_cores(&mut self) -> ::std::vec::Vec<i32> {
5683        ::std::mem::replace(&mut self.server_cores, ::std::vec::Vec::new())
5684    }
5685
5686    // .grpc.testing.ScenarioResultSummary summary = 6;
5687
5688
5689    pub fn get_summary(&self) -> &ScenarioResultSummary {
5690        self.summary.as_ref().unwrap_or_else(|| ScenarioResultSummary::default_instance())
5691    }
5692    pub fn clear_summary(&mut self) {
5693        self.summary.clear();
5694    }
5695
5696    pub fn has_summary(&self) -> bool {
5697        self.summary.is_some()
5698    }
5699
5700    // Param is passed by value, moved
5701    pub fn set_summary(&mut self, v: ScenarioResultSummary) {
5702        self.summary = ::protobuf::SingularPtrField::some(v);
5703    }
5704
5705    // Mutable pointer to the field.
5706    // If field is not initialized, it is initialized with default value first.
5707    pub fn mut_summary(&mut self) -> &mut ScenarioResultSummary {
5708        if self.summary.is_none() {
5709            self.summary.set_default();
5710        }
5711        self.summary.as_mut().unwrap()
5712    }
5713
5714    // Take field
5715    pub fn take_summary(&mut self) -> ScenarioResultSummary {
5716        self.summary.take().unwrap_or_else(|| ScenarioResultSummary::new())
5717    }
5718
5719    // repeated bool client_success = 7;
5720
5721
5722    pub fn get_client_success(&self) -> &[bool] {
5723        &self.client_success
5724    }
5725    pub fn clear_client_success(&mut self) {
5726        self.client_success.clear();
5727    }
5728
5729    // Param is passed by value, moved
5730    pub fn set_client_success(&mut self, v: ::std::vec::Vec<bool>) {
5731        self.client_success = v;
5732    }
5733
5734    // Mutable pointer to the field.
5735    pub fn mut_client_success(&mut self) -> &mut ::std::vec::Vec<bool> {
5736        &mut self.client_success
5737    }
5738
5739    // Take field
5740    pub fn take_client_success(&mut self) -> ::std::vec::Vec<bool> {
5741        ::std::mem::replace(&mut self.client_success, ::std::vec::Vec::new())
5742    }
5743
5744    // repeated bool server_success = 8;
5745
5746
5747    pub fn get_server_success(&self) -> &[bool] {
5748        &self.server_success
5749    }
5750    pub fn clear_server_success(&mut self) {
5751        self.server_success.clear();
5752    }
5753
5754    // Param is passed by value, moved
5755    pub fn set_server_success(&mut self, v: ::std::vec::Vec<bool>) {
5756        self.server_success = v;
5757    }
5758
5759    // Mutable pointer to the field.
5760    pub fn mut_server_success(&mut self) -> &mut ::std::vec::Vec<bool> {
5761        &mut self.server_success
5762    }
5763
5764    // Take field
5765    pub fn take_server_success(&mut self) -> ::std::vec::Vec<bool> {
5766        ::std::mem::replace(&mut self.server_success, ::std::vec::Vec::new())
5767    }
5768
5769    // repeated .grpc.testing.RequestResultCount request_results = 9;
5770
5771
5772    pub fn get_request_results(&self) -> &[super::stats::RequestResultCount] {
5773        &self.request_results
5774    }
5775    pub fn clear_request_results(&mut self) {
5776        self.request_results.clear();
5777    }
5778
5779    // Param is passed by value, moved
5780    pub fn set_request_results(&mut self, v: ::protobuf::RepeatedField<super::stats::RequestResultCount>) {
5781        self.request_results = v;
5782    }
5783
5784    // Mutable pointer to the field.
5785    pub fn mut_request_results(&mut self) -> &mut ::protobuf::RepeatedField<super::stats::RequestResultCount> {
5786        &mut self.request_results
5787    }
5788
5789    // Take field
5790    pub fn take_request_results(&mut self) -> ::protobuf::RepeatedField<super::stats::RequestResultCount> {
5791        ::std::mem::replace(&mut self.request_results, ::protobuf::RepeatedField::new())
5792    }
5793}
5794
5795impl ::protobuf::Message for ScenarioResult {
5796    fn is_initialized(&self) -> bool {
5797        for v in &self.scenario {
5798            if !v.is_initialized() {
5799                return false;
5800            }
5801        };
5802        for v in &self.latencies {
5803            if !v.is_initialized() {
5804                return false;
5805            }
5806        };
5807        for v in &self.client_stats {
5808            if !v.is_initialized() {
5809                return false;
5810            }
5811        };
5812        for v in &self.server_stats {
5813            if !v.is_initialized() {
5814                return false;
5815            }
5816        };
5817        for v in &self.summary {
5818            if !v.is_initialized() {
5819                return false;
5820            }
5821        };
5822        for v in &self.request_results {
5823            if !v.is_initialized() {
5824                return false;
5825            }
5826        };
5827        true
5828    }
5829
5830    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5831        while !is.eof()? {
5832            let (field_number, wire_type) = is.read_tag_unpack()?;
5833            match field_number {
5834                1 => {
5835                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.scenario)?;
5836                },
5837                2 => {
5838                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.latencies)?;
5839                },
5840                3 => {
5841                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.client_stats)?;
5842                },
5843                4 => {
5844                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.server_stats)?;
5845                },
5846                5 => {
5847                    ::protobuf::rt::read_repeated_int32_into(wire_type, is, &mut self.server_cores)?;
5848                },
5849                6 => {
5850                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.summary)?;
5851                },
5852                7 => {
5853                    ::protobuf::rt::read_repeated_bool_into(wire_type, is, &mut self.client_success)?;
5854                },
5855                8 => {
5856                    ::protobuf::rt::read_repeated_bool_into(wire_type, is, &mut self.server_success)?;
5857                },
5858                9 => {
5859                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.request_results)?;
5860                },
5861                _ => {
5862                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5863                },
5864            };
5865        }
5866        ::std::result::Result::Ok(())
5867    }
5868
5869    // Compute sizes of nested messages
5870    #[allow(unused_variables)]
5871    fn compute_size(&self) -> u32 {
5872        let mut my_size = 0;
5873        if let Some(ref v) = self.scenario.as_ref() {
5874            let len = v.compute_size();
5875            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5876        }
5877        if let Some(ref v) = self.latencies.as_ref() {
5878            let len = v.compute_size();
5879            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5880        }
5881        for value in &self.client_stats {
5882            let len = value.compute_size();
5883            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5884        };
5885        for value in &self.server_stats {
5886            let len = value.compute_size();
5887            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5888        };
5889        for value in &self.server_cores {
5890            my_size += ::protobuf::rt::value_size(5, *value, ::protobuf::wire_format::WireTypeVarint);
5891        };
5892        if let Some(ref v) = self.summary.as_ref() {
5893            let len = v.compute_size();
5894            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5895        }
5896        my_size += 2 * self.client_success.len() as u32;
5897        my_size += 2 * self.server_success.len() as u32;
5898        for value in &self.request_results {
5899            let len = value.compute_size();
5900            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5901        };
5902        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5903        self.cached_size.set(my_size);
5904        my_size
5905    }
5906
5907    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5908        if let Some(ref v) = self.scenario.as_ref() {
5909            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5910            os.write_raw_varint32(v.get_cached_size())?;
5911            v.write_to_with_cached_sizes(os)?;
5912        }
5913        if let Some(ref v) = self.latencies.as_ref() {
5914            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5915            os.write_raw_varint32(v.get_cached_size())?;
5916            v.write_to_with_cached_sizes(os)?;
5917        }
5918        for v in &self.client_stats {
5919            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5920            os.write_raw_varint32(v.get_cached_size())?;
5921            v.write_to_with_cached_sizes(os)?;
5922        };
5923        for v in &self.server_stats {
5924            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5925            os.write_raw_varint32(v.get_cached_size())?;
5926            v.write_to_with_cached_sizes(os)?;
5927        };
5928        for v in &self.server_cores {
5929            os.write_int32(5, *v)?;
5930        };
5931        if let Some(ref v) = self.summary.as_ref() {
5932            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5933            os.write_raw_varint32(v.get_cached_size())?;
5934            v.write_to_with_cached_sizes(os)?;
5935        }
5936        for v in &self.client_success {
5937            os.write_bool(7, *v)?;
5938        };
5939        for v in &self.server_success {
5940            os.write_bool(8, *v)?;
5941        };
5942        for v in &self.request_results {
5943            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5944            os.write_raw_varint32(v.get_cached_size())?;
5945            v.write_to_with_cached_sizes(os)?;
5946        };
5947        os.write_unknown_fields(self.get_unknown_fields())?;
5948        ::std::result::Result::Ok(())
5949    }
5950
5951    fn get_cached_size(&self) -> u32 {
5952        self.cached_size.get()
5953    }
5954
5955    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5956        &self.unknown_fields
5957    }
5958
5959    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5960        &mut self.unknown_fields
5961    }
5962
5963    fn as_any(&self) -> &dyn (::std::any::Any) {
5964        self as &dyn (::std::any::Any)
5965    }
5966    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5967        self as &mut dyn (::std::any::Any)
5968    }
5969    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5970        self
5971    }
5972
5973    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5974        Self::descriptor_static()
5975    }
5976
5977    fn new() -> ScenarioResult {
5978        ScenarioResult::new()
5979    }
5980
5981    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5982        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
5983            lock: ::protobuf::lazy::ONCE_INIT,
5984            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
5985        };
5986        unsafe {
5987            descriptor.get(|| {
5988                let mut fields = ::std::vec::Vec::new();
5989                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Scenario>>(
5990                    "scenario",
5991                    |m: &ScenarioResult| { &m.scenario },
5992                    |m: &mut ScenarioResult| { &mut m.scenario },
5993                ));
5994                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::stats::HistogramData>>(
5995                    "latencies",
5996                    |m: &ScenarioResult| { &m.latencies },
5997                    |m: &mut ScenarioResult| { &mut m.latencies },
5998                ));
5999                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::stats::ClientStats>>(
6000                    "client_stats",
6001                    |m: &ScenarioResult| { &m.client_stats },
6002                    |m: &mut ScenarioResult| { &mut m.client_stats },
6003                ));
6004                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::stats::ServerStats>>(
6005                    "server_stats",
6006                    |m: &ScenarioResult| { &m.server_stats },
6007                    |m: &mut ScenarioResult| { &mut m.server_stats },
6008                ));
6009                fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
6010                    "server_cores",
6011                    |m: &ScenarioResult| { &m.server_cores },
6012                    |m: &mut ScenarioResult| { &mut m.server_cores },
6013                ));
6014                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ScenarioResultSummary>>(
6015                    "summary",
6016                    |m: &ScenarioResult| { &m.summary },
6017                    |m: &mut ScenarioResult| { &mut m.summary },
6018                ));
6019                fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
6020                    "client_success",
6021                    |m: &ScenarioResult| { &m.client_success },
6022                    |m: &mut ScenarioResult| { &mut m.client_success },
6023                ));
6024                fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
6025                    "server_success",
6026                    |m: &ScenarioResult| { &m.server_success },
6027                    |m: &mut ScenarioResult| { &mut m.server_success },
6028                ));
6029                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::stats::RequestResultCount>>(
6030                    "request_results",
6031                    |m: &ScenarioResult| { &m.request_results },
6032                    |m: &mut ScenarioResult| { &mut m.request_results },
6033                ));
6034                ::protobuf::reflect::MessageDescriptor::new::<ScenarioResult>(
6035                    "ScenarioResult",
6036                    fields,
6037                    file_descriptor_proto()
6038                )
6039            })
6040        }
6041    }
6042
6043    fn default_instance() -> &'static ScenarioResult {
6044        static mut instance: ::protobuf::lazy::Lazy<ScenarioResult> = ::protobuf::lazy::Lazy {
6045            lock: ::protobuf::lazy::ONCE_INIT,
6046            ptr: 0 as *const ScenarioResult,
6047        };
6048        unsafe {
6049            instance.get(ScenarioResult::new)
6050        }
6051    }
6052}
6053
6054impl ::protobuf::Clear for ScenarioResult {
6055    fn clear(&mut self) {
6056        self.scenario.clear();
6057        self.latencies.clear();
6058        self.client_stats.clear();
6059        self.server_stats.clear();
6060        self.server_cores.clear();
6061        self.summary.clear();
6062        self.client_success.clear();
6063        self.server_success.clear();
6064        self.request_results.clear();
6065        self.unknown_fields.clear();
6066    }
6067}
6068
6069impl ::std::fmt::Debug for ScenarioResult {
6070    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6071        ::protobuf::text_format::fmt(self, f)
6072    }
6073}
6074
6075impl ::protobuf::reflect::ProtobufValue for ScenarioResult {
6076    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
6077        ::protobuf::reflect::ProtobufValueRef::Message(self)
6078    }
6079}
6080
6081#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6082pub enum ClientType {
6083    SYNC_CLIENT = 0,
6084    ASYNC_CLIENT = 1,
6085    OTHER_CLIENT = 2,
6086}
6087
6088impl ::protobuf::ProtobufEnum for ClientType {
6089    fn value(&self) -> i32 {
6090        *self as i32
6091    }
6092
6093    fn from_i32(value: i32) -> ::std::option::Option<ClientType> {
6094        match value {
6095            0 => ::std::option::Option::Some(ClientType::SYNC_CLIENT),
6096            1 => ::std::option::Option::Some(ClientType::ASYNC_CLIENT),
6097            2 => ::std::option::Option::Some(ClientType::OTHER_CLIENT),
6098            _ => ::std::option::Option::None
6099        }
6100    }
6101
6102    fn values() -> &'static [Self] {
6103        static values: &'static [ClientType] = &[
6104            ClientType::SYNC_CLIENT,
6105            ClientType::ASYNC_CLIENT,
6106            ClientType::OTHER_CLIENT,
6107        ];
6108        values
6109    }
6110
6111    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6112        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
6113            lock: ::protobuf::lazy::ONCE_INIT,
6114            ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
6115        };
6116        unsafe {
6117            descriptor.get(|| {
6118                ::protobuf::reflect::EnumDescriptor::new("ClientType", file_descriptor_proto())
6119            })
6120        }
6121    }
6122}
6123
6124impl ::std::marker::Copy for ClientType {
6125}
6126
6127impl ::std::default::Default for ClientType {
6128    fn default() -> Self {
6129        ClientType::SYNC_CLIENT
6130    }
6131}
6132
6133impl ::protobuf::reflect::ProtobufValue for ClientType {
6134    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
6135        ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
6136    }
6137}
6138
6139#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6140pub enum ServerType {
6141    SYNC_SERVER = 0,
6142    ASYNC_SERVER = 1,
6143    ASYNC_GENERIC_SERVER = 2,
6144    OTHER_SERVER = 3,
6145}
6146
6147impl ::protobuf::ProtobufEnum for ServerType {
6148    fn value(&self) -> i32 {
6149        *self as i32
6150    }
6151
6152    fn from_i32(value: i32) -> ::std::option::Option<ServerType> {
6153        match value {
6154            0 => ::std::option::Option::Some(ServerType::SYNC_SERVER),
6155            1 => ::std::option::Option::Some(ServerType::ASYNC_SERVER),
6156            2 => ::std::option::Option::Some(ServerType::ASYNC_GENERIC_SERVER),
6157            3 => ::std::option::Option::Some(ServerType::OTHER_SERVER),
6158            _ => ::std::option::Option::None
6159        }
6160    }
6161
6162    fn values() -> &'static [Self] {
6163        static values: &'static [ServerType] = &[
6164            ServerType::SYNC_SERVER,
6165            ServerType::ASYNC_SERVER,
6166            ServerType::ASYNC_GENERIC_SERVER,
6167            ServerType::OTHER_SERVER,
6168        ];
6169        values
6170    }
6171
6172    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6173        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
6174            lock: ::protobuf::lazy::ONCE_INIT,
6175            ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
6176        };
6177        unsafe {
6178            descriptor.get(|| {
6179                ::protobuf::reflect::EnumDescriptor::new("ServerType", file_descriptor_proto())
6180            })
6181        }
6182    }
6183}
6184
6185impl ::std::marker::Copy for ServerType {
6186}
6187
6188impl ::std::default::Default for ServerType {
6189    fn default() -> Self {
6190        ServerType::SYNC_SERVER
6191    }
6192}
6193
6194impl ::protobuf::reflect::ProtobufValue for ServerType {
6195    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
6196        ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
6197    }
6198}
6199
6200#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6201pub enum RpcType {
6202    UNARY = 0,
6203    STREAMING = 1,
6204    STREAMING_FROM_CLIENT = 2,
6205    STREAMING_FROM_SERVER = 3,
6206    STREAMING_BOTH_WAYS = 4,
6207}
6208
6209impl ::protobuf::ProtobufEnum for RpcType {
6210    fn value(&self) -> i32 {
6211        *self as i32
6212    }
6213
6214    fn from_i32(value: i32) -> ::std::option::Option<RpcType> {
6215        match value {
6216            0 => ::std::option::Option::Some(RpcType::UNARY),
6217            1 => ::std::option::Option::Some(RpcType::STREAMING),
6218            2 => ::std::option::Option::Some(RpcType::STREAMING_FROM_CLIENT),
6219            3 => ::std::option::Option::Some(RpcType::STREAMING_FROM_SERVER),
6220            4 => ::std::option::Option::Some(RpcType::STREAMING_BOTH_WAYS),
6221            _ => ::std::option::Option::None
6222        }
6223    }
6224
6225    fn values() -> &'static [Self] {
6226        static values: &'static [RpcType] = &[
6227            RpcType::UNARY,
6228            RpcType::STREAMING,
6229            RpcType::STREAMING_FROM_CLIENT,
6230            RpcType::STREAMING_FROM_SERVER,
6231            RpcType::STREAMING_BOTH_WAYS,
6232        ];
6233        values
6234    }
6235
6236    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6237        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
6238            lock: ::protobuf::lazy::ONCE_INIT,
6239            ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
6240        };
6241        unsafe {
6242            descriptor.get(|| {
6243                ::protobuf::reflect::EnumDescriptor::new("RpcType", file_descriptor_proto())
6244            })
6245        }
6246    }
6247}
6248
6249impl ::std::marker::Copy for RpcType {
6250}
6251
6252impl ::std::default::Default for RpcType {
6253    fn default() -> Self {
6254        RpcType::UNARY
6255    }
6256}
6257
6258impl ::protobuf::reflect::ProtobufValue for RpcType {
6259    fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
6260        ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
6261    }
6262}
6263
6264static file_descriptor_proto_data: &'static [u8] = b"\
6265    \n\x1agrpc/testing/control.proto\x12\x0cgrpc.testing\x1a\x1bgrpc/testing\
6266    /payloads.proto\x1a\x18grpc/testing/stats.proto\"2\n\rPoissonParams\x12!\
6267    \n\x0coffered_load\x18\x01\x20\x01(\x01R\x0bofferedLoad\"\x12\n\x10Close\
6268    dLoopParams\"\x90\x01\n\nLoadParams\x12A\n\x0bclosed_loop\x18\x01\x20\
6269    \x01(\x0b2\x1e.grpc.testing.ClosedLoopParamsH\0R\nclosedLoop\x127\n\x07p\
6270    oisson\x18\x02\x20\x01(\x0b2\x1b.grpc.testing.PoissonParamsH\0R\x07poiss\
6271    onB\x06\n\x04load\"\x7f\n\x0eSecurityParams\x12\x1e\n\x0buse_test_ca\x18\
6272    \x01\x20\x01(\x08R\tuseTestCa\x120\n\x14server_host_override\x18\x02\x20\
6273    \x01(\tR\x12serverHostOverride\x12\x1b\n\tcred_type\x18\x03\x20\x01(\tR\
6274    \x08credType\"g\n\nChannelArg\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04n\
6275    ame\x12\x1d\n\tstr_value\x18\x02\x20\x01(\tH\0R\x08strValue\x12\x1d\n\ti\
6276    nt_value\x18\x03\x20\x01(\x05H\0R\x08intValueB\x07\n\x05value\"\xc7\x06\
6277    \n\x0cClientConfig\x12%\n\x0eserver_targets\x18\x01\x20\x03(\tR\rserverT\
6278    argets\x129\n\x0bclient_type\x18\x02\x20\x01(\x0e2\x18.grpc.testing.Clie\
6279    ntTypeR\nclientType\x12E\n\x0fsecurity_params\x18\x03\x20\x01(\x0b2\x1c.\
6280    grpc.testing.SecurityParamsR\x0esecurityParams\x12?\n\x1coutstanding_rpc\
6281    s_per_channel\x18\x04\x20\x01(\x05R\x19outstandingRpcsPerChannel\x12'\n\
6282    \x0fclient_channels\x18\x05\x20\x01(\x05R\x0eclientChannels\x120\n\x14as\
6283    ync_client_threads\x18\x07\x20\x01(\x05R\x12asyncClientThreads\x120\n\
6284    \x08rpc_type\x18\x08\x20\x01(\x0e2\x15.grpc.testing.RpcTypeR\x07rpcType\
6285    \x129\n\x0bload_params\x18\n\x20\x01(\x0b2\x18.grpc.testing.LoadParamsR\
6286    \nloadParams\x12B\n\x0epayload_config\x18\x0b\x20\x01(\x0b2\x1b.grpc.tes\
6287    ting.PayloadConfigR\rpayloadConfig\x12H\n\x10histogram_params\x18\x0c\
6288    \x20\x01(\x0b2\x1d.grpc.testing.HistogramParamsR\x0fhistogramParams\x12\
6289    \x1b\n\tcore_list\x18\r\x20\x03(\x05R\x08coreList\x12\x1d\n\ncore_limit\
6290    \x18\x0e\x20\x01(\x05R\tcoreLimit\x12(\n\x10other_client_api\x18\x0f\x20\
6291    \x01(\tR\x0eotherClientApi\x12;\n\x0cchannel_args\x18\x10\x20\x03(\x0b2\
6292    \x18.grpc.testing.ChannelArgR\x0bchannelArgs\x12$\n\x0ethreads_per_cq\
6293    \x18\x11\x20\x01(\x05R\x0cthreadsPerCq\x12.\n\x13messages_per_stream\x18\
6294    \x12\x20\x01(\x05R\x11messagesPerStream\"?\n\x0cClientStatus\x12/\n\x05s\
6295    tats\x18\x01\x20\x01(\x0b2\x19.grpc.testing.ClientStatsR\x05stats\"\x1c\
6296    \n\x04Mark\x12\x14\n\x05reset\x18\x01\x20\x01(\x08R\x05reset\"u\n\nClien\
6297    tArgs\x122\n\x05setup\x18\x01\x20\x01(\x0b2\x1a.grpc.testing.ClientConfi\
6298    gH\0R\x05setup\x12(\n\x04mark\x18\x02\x20\x01(\x0b2\x12.grpc.testing.Mar\
6299    kH\0R\x04markB\t\n\x07argtype\"\x95\x04\n\x0cServerConfig\x129\n\x0bserv\
6300    er_type\x18\x01\x20\x01(\x0e2\x18.grpc.testing.ServerTypeR\nserverType\
6301    \x12E\n\x0fsecurity_params\x18\x02\x20\x01(\x0b2\x1c.grpc.testing.Securi\
6302    tyParamsR\x0esecurityParams\x12\x12\n\x04port\x18\x04\x20\x01(\x05R\x04p\
6303    ort\x120\n\x14async_server_threads\x18\x07\x20\x01(\x05R\x12asyncServerT\
6304    hreads\x12\x1d\n\ncore_limit\x18\x08\x20\x01(\x05R\tcoreLimit\x12B\n\x0e\
6305    payload_config\x18\t\x20\x01(\x0b2\x1b.grpc.testing.PayloadConfigR\rpayl\
6306    oadConfig\x12\x1b\n\tcore_list\x18\n\x20\x03(\x05R\x08coreList\x12(\n\
6307    \x10other_server_api\x18\x0b\x20\x01(\tR\x0eotherServerApi\x12$\n\x0ethr\
6308    eads_per_cq\x18\x0c\x20\x01(\x05R\x0cthreadsPerCq\x12/\n\x13resource_quo\
6309    ta_size\x18\xe9\x07\x20\x01(\x05R\x11resourceQuotaSize\x12<\n\x0cchannel\
6310    _args\x18\xea\x07\x20\x03(\x0b2\x18.grpc.testing.ChannelArgR\x0bchannelA\
6311    rgs\"u\n\nServerArgs\x122\n\x05setup\x18\x01\x20\x01(\x0b2\x1a.grpc.test\
6312    ing.ServerConfigH\0R\x05setup\x12(\n\x04mark\x18\x02\x20\x01(\x0b2\x12.g\
6313    rpc.testing.MarkH\0R\x04markB\t\n\x07argtype\"i\n\x0cServerStatus\x12/\n\
6314    \x05stats\x18\x01\x20\x01(\x0b2\x19.grpc.testing.ServerStatsR\x05stats\
6315    \x12\x12\n\x04port\x18\x02\x20\x01(\x05R\x04port\x12\x14\n\x05cores\x18\
6316    \x03\x20\x01(\x05R\x05cores\"\r\n\x0bCoreRequest\"$\n\x0cCoreResponse\
6317    \x12\x14\n\x05cores\x18\x01\x20\x01(\x05R\x05cores\"\x06\n\x04Void\"\xef\
6318    \x02\n\x08Scenario\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12?\n\
6319    \rclient_config\x18\x02\x20\x01(\x0b2\x1a.grpc.testing.ClientConfigR\x0c\
6320    clientConfig\x12\x1f\n\x0bnum_clients\x18\x03\x20\x01(\x05R\nnumClients\
6321    \x12?\n\rserver_config\x18\x04\x20\x01(\x0b2\x1a.grpc.testing.ServerConf\
6322    igR\x0cserverConfig\x12\x1f\n\x0bnum_servers\x18\x05\x20\x01(\x05R\nnumS\
6323    ervers\x12%\n\x0ewarmup_seconds\x18\x06\x20\x01(\x05R\rwarmupSeconds\x12\
6324    +\n\x11benchmark_seconds\x18\x07\x20\x01(\x05R\x10benchmarkSeconds\x127\
6325    \n\x18spawn_local_worker_count\x18\x08\x20\x01(\x05R\x15spawnLocalWorker\
6326    Count\"A\n\tScenarios\x124\n\tscenarios\x18\x01\x20\x03(\x0b2\x16.grpc.t\
6327    esting.ScenarioR\tscenarios\"\xbb\x06\n\x15ScenarioResultSummary\x12\x10\
6328    \n\x03qps\x18\x01\x20\x01(\x01R\x03qps\x12-\n\x13qps_per_server_core\x18\
6329    \x02\x20\x01(\x01R\x10qpsPerServerCore\x12,\n\x12server_system_time\x18\
6330    \x03\x20\x01(\x01R\x10serverSystemTime\x12(\n\x10server_user_time\x18\
6331    \x04\x20\x01(\x01R\x0eserverUserTime\x12,\n\x12client_system_time\x18\
6332    \x05\x20\x01(\x01R\x10clientSystemTime\x12(\n\x10client_user_time\x18\
6333    \x06\x20\x01(\x01R\x0eclientUserTime\x12\x1d\n\nlatency_50\x18\x07\x20\
6334    \x01(\x01R\tlatency50\x12\x1d\n\nlatency_90\x18\x08\x20\x01(\x01R\tlaten\
6335    cy90\x12\x1d\n\nlatency_95\x18\t\x20\x01(\x01R\tlatency95\x12\x1d\n\nlat\
6336    ency_99\x18\n\x20\x01(\x01R\tlatency99\x12\x1f\n\x0blatency_999\x18\x0b\
6337    \x20\x01(\x01R\nlatency999\x12(\n\x10server_cpu_usage\x18\x0c\x20\x01(\
6338    \x01R\x0eserverCpuUsage\x12C\n\x1esuccessful_requests_per_second\x18\r\
6339    \x20\x01(\x01R\x1bsuccessfulRequestsPerSecond\x12;\n\x1afailed_requests_\
6340    per_second\x18\x0e\x20\x01(\x01R\x17failedRequestsPerSecond\x127\n\x18cl\
6341    ient_polls_per_request\x18\x0f\x20\x01(\x01R\x15clientPollsPerRequest\
6342    \x127\n\x18server_polls_per_request\x18\x10\x20\x01(\x01R\x15serverPolls\
6343    PerRequest\x12:\n\x1aserver_queries_per_cpu_sec\x18\x11\x20\x01(\x01R\
6344    \x16serverQueriesPerCpuSec\x12:\n\x1aclient_queries_per_cpu_sec\x18\x12\
6345    \x20\x01(\x01R\x16clientQueriesPerCpuSec\"\xf6\x03\n\x0eScenarioResult\
6346    \x122\n\x08scenario\x18\x01\x20\x01(\x0b2\x16.grpc.testing.ScenarioR\x08\
6347    scenario\x129\n\tlatencies\x18\x02\x20\x01(\x0b2\x1b.grpc.testing.Histog\
6348    ramDataR\tlatencies\x12<\n\x0cclient_stats\x18\x03\x20\x03(\x0b2\x19.grp\
6349    c.testing.ClientStatsR\x0bclientStats\x12<\n\x0cserver_stats\x18\x04\x20\
6350    \x03(\x0b2\x19.grpc.testing.ServerStatsR\x0bserverStats\x12!\n\x0cserver\
6351    _cores\x18\x05\x20\x03(\x05R\x0bserverCores\x12=\n\x07summary\x18\x06\
6352    \x20\x01(\x0b2#.grpc.testing.ScenarioResultSummaryR\x07summary\x12%\n\
6353    \x0eclient_success\x18\x07\x20\x03(\x08R\rclientSuccess\x12%\n\x0eserver\
6354    _success\x18\x08\x20\x03(\x08R\rserverSuccess\x12I\n\x0frequest_results\
6355    \x18\t\x20\x03(\x0b2\x20.grpc.testing.RequestResultCountR\x0erequestResu\
6356    lts*A\n\nClientType\x12\x0f\n\x0bSYNC_CLIENT\x10\0\x12\x10\n\x0cASYNC_CL\
6357    IENT\x10\x01\x12\x10\n\x0cOTHER_CLIENT\x10\x02*[\n\nServerType\x12\x0f\n\
6358    \x0bSYNC_SERVER\x10\0\x12\x10\n\x0cASYNC_SERVER\x10\x01\x12\x18\n\x14ASY\
6359    NC_GENERIC_SERVER\x10\x02\x12\x10\n\x0cOTHER_SERVER\x10\x03*r\n\x07RpcTy\
6360    pe\x12\t\n\x05UNARY\x10\0\x12\r\n\tSTREAMING\x10\x01\x12\x19\n\x15STREAM\
6361    ING_FROM_CLIENT\x10\x02\x12\x19\n\x15STREAMING_FROM_SERVER\x10\x03\x12\
6362    \x17\n\x13STREAMING_BOTH_WAYS\x10\x04b\x06proto3\
6363";
6364
6365static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
6366    lock: ::protobuf::lazy::ONCE_INIT,
6367    ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto,
6368};
6369
6370fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
6371    ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
6372}
6373
6374pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
6375    unsafe {
6376        file_descriptor_proto_lazy.get(|| {
6377            parse_descriptor_proto()
6378        })
6379    }
6380}