Skip to main content

connectrpc_reflection/generated/buffa/
grpc.reflection.v1alpha.reflection.rs

1// @generated by buffa-codegen. DO NOT EDIT.
2// source: grpc/reflection/v1alpha/reflection.proto
3
4/// The message sent by the client when calling ServerReflectionInfo method.
5#[derive(Clone, PartialEq, Default)]
6#[derive(::serde::Serialize)]
7#[serde(default)]
8pub struct ServerReflectionRequest {
9    /// Field 1: `host`
10    #[serde(
11        rename = "host",
12        with = "::buffa::json_helpers::proto_string",
13        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_str"
14    )]
15    pub host: ::buffa::alloc::string::String,
16    #[serde(flatten)]
17    pub message_request: ::core::option::Option<
18        __buffa::oneof::server_reflection_request::MessageRequest,
19    >,
20    #[serde(skip)]
21    #[doc(hidden)]
22    pub __buffa_unknown_fields: ::buffa::UnknownFields,
23}
24impl ::core::fmt::Debug for ServerReflectionRequest {
25    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26        f.debug_struct("ServerReflectionRequest")
27            .field("host", &self.host)
28            .field("message_request", &self.message_request)
29            .finish()
30    }
31}
32impl ServerReflectionRequest {
33    /// Protobuf type URL for this message, for use with `Any::pack` and
34    /// `Any::unpack_if`.
35    ///
36    /// Format: `type.googleapis.com/<fully.qualified.TypeName>`
37    pub const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ServerReflectionRequest";
38}
39impl ::buffa::DefaultInstance for ServerReflectionRequest {
40    fn default_instance() -> &'static Self {
41        static VALUE: ::buffa::__private::OnceBox<ServerReflectionRequest> = ::buffa::__private::OnceBox::new();
42        VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
43    }
44}
45impl ::buffa::MessageName for ServerReflectionRequest {
46    const PACKAGE: &'static str = "grpc.reflection.v1alpha";
47    const NAME: &'static str = "ServerReflectionRequest";
48    const FULL_NAME: &'static str = "grpc.reflection.v1alpha.ServerReflectionRequest";
49    const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ServerReflectionRequest";
50}
51impl ::buffa::Message for ServerReflectionRequest {
52    /// Returns the total encoded size in bytes.
53    ///
54    /// The result is a `u32`; the protobuf specification requires all
55    /// messages to fit within 2 GiB (2,147,483,647 bytes), so a
56    /// compliant message will never overflow this type.
57    #[allow(clippy::let_and_return)]
58    fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
59        #[allow(unused_imports)]
60        use ::buffa::Enumeration as _;
61        let mut size = 0u32;
62        if !self.host.is_empty() {
63            size += 1u32 + ::buffa::types::string_encoded_len(&self.host) as u32;
64        }
65        if let ::core::option::Option::Some(ref v) = self.message_request {
66            match v {
67                __buffa::oneof::server_reflection_request::MessageRequest::FileByFilename(
68                    x,
69                ) => {
70                    size += 1u32 + ::buffa::types::string_encoded_len(x) as u32;
71                }
72                __buffa::oneof::server_reflection_request::MessageRequest::FileContainingSymbol(
73                    x,
74                ) => {
75                    size += 1u32 + ::buffa::types::string_encoded_len(x) as u32;
76                }
77                __buffa::oneof::server_reflection_request::MessageRequest::FileContainingExtension(
78                    x,
79                ) => {
80                    let __slot = __cache.reserve();
81                    let inner = x.compute_size(__cache);
82                    __cache.set(__slot, inner);
83                    size
84                        += 1u32 + ::buffa::encoding::varint_len(inner as u64) as u32
85                            + inner;
86                }
87                __buffa::oneof::server_reflection_request::MessageRequest::AllExtensionNumbersOfType(
88                    x,
89                ) => {
90                    size += 1u32 + ::buffa::types::string_encoded_len(x) as u32;
91                }
92                __buffa::oneof::server_reflection_request::MessageRequest::ListServices(
93                    x,
94                ) => {
95                    size += 1u32 + ::buffa::types::string_encoded_len(x) as u32;
96                }
97            }
98        }
99        size += self.__buffa_unknown_fields.encoded_len() as u32;
100        size
101    }
102    fn write_to(
103        &self,
104        __cache: &mut ::buffa::SizeCache,
105        buf: &mut impl ::buffa::bytes::BufMut,
106    ) {
107        #[allow(unused_imports)]
108        use ::buffa::Enumeration as _;
109        if !self.host.is_empty() {
110            ::buffa::encoding::Tag::new(
111                    1u32,
112                    ::buffa::encoding::WireType::LengthDelimited,
113                )
114                .encode(buf);
115            ::buffa::types::encode_string(&self.host, buf);
116        }
117        if let ::core::option::Option::Some(ref v) = self.message_request {
118            match v {
119                __buffa::oneof::server_reflection_request::MessageRequest::FileByFilename(
120                    x,
121                ) => {
122                    ::buffa::encoding::Tag::new(
123                            3u32,
124                            ::buffa::encoding::WireType::LengthDelimited,
125                        )
126                        .encode(buf);
127                    ::buffa::types::encode_string(x, buf);
128                }
129                __buffa::oneof::server_reflection_request::MessageRequest::FileContainingSymbol(
130                    x,
131                ) => {
132                    ::buffa::encoding::Tag::new(
133                            4u32,
134                            ::buffa::encoding::WireType::LengthDelimited,
135                        )
136                        .encode(buf);
137                    ::buffa::types::encode_string(x, buf);
138                }
139                __buffa::oneof::server_reflection_request::MessageRequest::FileContainingExtension(
140                    x,
141                ) => {
142                    ::buffa::encoding::Tag::new(
143                            5u32,
144                            ::buffa::encoding::WireType::LengthDelimited,
145                        )
146                        .encode(buf);
147                    ::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
148                    x.write_to(__cache, buf);
149                }
150                __buffa::oneof::server_reflection_request::MessageRequest::AllExtensionNumbersOfType(
151                    x,
152                ) => {
153                    ::buffa::encoding::Tag::new(
154                            6u32,
155                            ::buffa::encoding::WireType::LengthDelimited,
156                        )
157                        .encode(buf);
158                    ::buffa::types::encode_string(x, buf);
159                }
160                __buffa::oneof::server_reflection_request::MessageRequest::ListServices(
161                    x,
162                ) => {
163                    ::buffa::encoding::Tag::new(
164                            7u32,
165                            ::buffa::encoding::WireType::LengthDelimited,
166                        )
167                        .encode(buf);
168                    ::buffa::types::encode_string(x, buf);
169                }
170            }
171        }
172        self.__buffa_unknown_fields.write_to(buf);
173    }
174    fn merge_field(
175        &mut self,
176        tag: ::buffa::encoding::Tag,
177        buf: &mut impl ::buffa::bytes::Buf,
178        depth: u32,
179    ) -> ::core::result::Result<(), ::buffa::DecodeError> {
180        #[allow(unused_imports)]
181        use ::buffa::bytes::Buf as _;
182        #[allow(unused_imports)]
183        use ::buffa::Enumeration as _;
184        match tag.field_number() {
185            1u32 => {
186                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
187                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
188                        field_number: 1u32,
189                        expected: 2u8,
190                        actual: tag.wire_type() as u8,
191                    });
192                }
193                ::buffa::types::merge_string(&mut self.host, buf)?;
194            }
195            3u32 => {
196                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
197                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
198                        field_number: 3u32,
199                        expected: 2u8,
200                        actual: tag.wire_type() as u8,
201                    });
202                }
203                self.message_request = ::core::option::Option::Some(
204                    __buffa::oneof::server_reflection_request::MessageRequest::FileByFilename(
205                        ::buffa::types::decode_string(buf)?,
206                    ),
207                );
208            }
209            4u32 => {
210                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
211                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
212                        field_number: 4u32,
213                        expected: 2u8,
214                        actual: tag.wire_type() as u8,
215                    });
216                }
217                self.message_request = ::core::option::Option::Some(
218                    __buffa::oneof::server_reflection_request::MessageRequest::FileContainingSymbol(
219                        ::buffa::types::decode_string(buf)?,
220                    ),
221                );
222            }
223            5u32 => {
224                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
225                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
226                        field_number: 5u32,
227                        expected: 2u8,
228                        actual: tag.wire_type() as u8,
229                    });
230                }
231                if let ::core::option::Option::Some(
232                    __buffa::oneof::server_reflection_request::MessageRequest::FileContainingExtension(
233                        ref mut existing,
234                    ),
235                ) = self.message_request
236                {
237                    ::buffa::Message::merge_length_delimited(
238                        &mut **existing,
239                        buf,
240                        depth,
241                    )?;
242                } else {
243                    let mut val = ::core::default::Default::default();
244                    ::buffa::Message::merge_length_delimited(&mut val, buf, depth)?;
245                    self.message_request = ::core::option::Option::Some(
246                        __buffa::oneof::server_reflection_request::MessageRequest::FileContainingExtension(
247                            ::buffa::alloc::boxed::Box::new(val),
248                        ),
249                    );
250                }
251            }
252            6u32 => {
253                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
254                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
255                        field_number: 6u32,
256                        expected: 2u8,
257                        actual: tag.wire_type() as u8,
258                    });
259                }
260                self.message_request = ::core::option::Option::Some(
261                    __buffa::oneof::server_reflection_request::MessageRequest::AllExtensionNumbersOfType(
262                        ::buffa::types::decode_string(buf)?,
263                    ),
264                );
265            }
266            7u32 => {
267                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
268                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
269                        field_number: 7u32,
270                        expected: 2u8,
271                        actual: tag.wire_type() as u8,
272                    });
273                }
274                self.message_request = ::core::option::Option::Some(
275                    __buffa::oneof::server_reflection_request::MessageRequest::ListServices(
276                        ::buffa::types::decode_string(buf)?,
277                    ),
278                );
279            }
280            _ => {
281                self.__buffa_unknown_fields
282                    .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
283            }
284        }
285        ::core::result::Result::Ok(())
286    }
287    fn clear(&mut self) {
288        self.host.clear();
289        self.message_request = ::core::option::Option::None;
290        self.__buffa_unknown_fields.clear();
291    }
292}
293impl ::buffa::ExtensionSet for ServerReflectionRequest {
294    const PROTO_FQN: &'static str = "grpc.reflection.v1alpha.ServerReflectionRequest";
295    fn unknown_fields(&self) -> &::buffa::UnknownFields {
296        &self.__buffa_unknown_fields
297    }
298    fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
299        &mut self.__buffa_unknown_fields
300    }
301}
302impl<'de> serde::Deserialize<'de> for ServerReflectionRequest {
303    fn deserialize<D: serde::Deserializer<'de>>(
304        d: D,
305    ) -> ::core::result::Result<Self, D::Error> {
306        struct _V;
307        impl<'de> serde::de::Visitor<'de> for _V {
308            type Value = ServerReflectionRequest;
309            fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
310                f.write_str("struct ServerReflectionRequest")
311            }
312            #[allow(clippy::field_reassign_with_default)]
313            fn visit_map<A: serde::de::MapAccess<'de>>(
314                self,
315                mut map: A,
316            ) -> ::core::result::Result<ServerReflectionRequest, A::Error> {
317                let mut __f_host: ::core::option::Option<
318                    ::buffa::alloc::string::String,
319                > = None;
320                let mut __oneof_message_request: ::core::option::Option<
321                    __buffa::oneof::server_reflection_request::MessageRequest,
322                > = None;
323                while let Some(key) = map.next_key::<::buffa::alloc::string::String>()? {
324                    match key.as_str() {
325                        "host" => {
326                            __f_host = Some({
327                                struct _S;
328                                impl<'de> serde::de::DeserializeSeed<'de> for _S {
329                                    type Value = ::buffa::alloc::string::String;
330                                    fn deserialize<D: serde::Deserializer<'de>>(
331                                        self,
332                                        d: D,
333                                    ) -> ::core::result::Result<
334                                        ::buffa::alloc::string::String,
335                                        D::Error,
336                                    > {
337                                        ::buffa::json_helpers::proto_string::deserialize(d)
338                                    }
339                                }
340                                map.next_value_seed(_S)?
341                            });
342                        }
343                        "fileByFilename" | "file_by_filename" => {
344                            let v: ::core::option::Option<
345                                ::buffa::alloc::string::String,
346                            > = map
347                                .next_value_seed(
348                                    ::buffa::json_helpers::NullableDeserializeSeed(
349                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
350                                            ::buffa::alloc::string::String,
351                                        >::new(),
352                                    ),
353                                )?;
354                            if let Some(v) = v {
355                                if __oneof_message_request.is_some() {
356                                    return Err(
357                                        serde::de::Error::custom(
358                                            "multiple oneof fields set for 'message_request'",
359                                        ),
360                                    );
361                                }
362                                __oneof_message_request = Some(
363                                    __buffa::oneof::server_reflection_request::MessageRequest::FileByFilename(
364                                        v,
365                                    ),
366                                );
367                            }
368                        }
369                        "fileContainingSymbol" | "file_containing_symbol" => {
370                            let v: ::core::option::Option<
371                                ::buffa::alloc::string::String,
372                            > = map
373                                .next_value_seed(
374                                    ::buffa::json_helpers::NullableDeserializeSeed(
375                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
376                                            ::buffa::alloc::string::String,
377                                        >::new(),
378                                    ),
379                                )?;
380                            if let Some(v) = v {
381                                if __oneof_message_request.is_some() {
382                                    return Err(
383                                        serde::de::Error::custom(
384                                            "multiple oneof fields set for 'message_request'",
385                                        ),
386                                    );
387                                }
388                                __oneof_message_request = Some(
389                                    __buffa::oneof::server_reflection_request::MessageRequest::FileContainingSymbol(
390                                        v,
391                                    ),
392                                );
393                            }
394                        }
395                        "fileContainingExtension" | "file_containing_extension" => {
396                            let v: ::core::option::Option<ExtensionRequest> = map
397                                .next_value_seed(
398                                    ::buffa::json_helpers::NullableDeserializeSeed(
399                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
400                                            ExtensionRequest,
401                                        >::new(),
402                                    ),
403                                )?;
404                            if let Some(v) = v {
405                                if __oneof_message_request.is_some() {
406                                    return Err(
407                                        serde::de::Error::custom(
408                                            "multiple oneof fields set for 'message_request'",
409                                        ),
410                                    );
411                                }
412                                __oneof_message_request = Some(
413                                    __buffa::oneof::server_reflection_request::MessageRequest::FileContainingExtension(
414                                        ::buffa::alloc::boxed::Box::new(v),
415                                    ),
416                                );
417                            }
418                        }
419                        "allExtensionNumbersOfType"
420                        | "all_extension_numbers_of_type" => {
421                            let v: ::core::option::Option<
422                                ::buffa::alloc::string::String,
423                            > = map
424                                .next_value_seed(
425                                    ::buffa::json_helpers::NullableDeserializeSeed(
426                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
427                                            ::buffa::alloc::string::String,
428                                        >::new(),
429                                    ),
430                                )?;
431                            if let Some(v) = v {
432                                if __oneof_message_request.is_some() {
433                                    return Err(
434                                        serde::de::Error::custom(
435                                            "multiple oneof fields set for 'message_request'",
436                                        ),
437                                    );
438                                }
439                                __oneof_message_request = Some(
440                                    __buffa::oneof::server_reflection_request::MessageRequest::AllExtensionNumbersOfType(
441                                        v,
442                                    ),
443                                );
444                            }
445                        }
446                        "listServices" | "list_services" => {
447                            let v: ::core::option::Option<
448                                ::buffa::alloc::string::String,
449                            > = map
450                                .next_value_seed(
451                                    ::buffa::json_helpers::NullableDeserializeSeed(
452                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
453                                            ::buffa::alloc::string::String,
454                                        >::new(),
455                                    ),
456                                )?;
457                            if let Some(v) = v {
458                                if __oneof_message_request.is_some() {
459                                    return Err(
460                                        serde::de::Error::custom(
461                                            "multiple oneof fields set for 'message_request'",
462                                        ),
463                                    );
464                                }
465                                __oneof_message_request = Some(
466                                    __buffa::oneof::server_reflection_request::MessageRequest::ListServices(
467                                        v,
468                                    ),
469                                );
470                            }
471                        }
472                        _ => {
473                            map.next_value::<serde::de::IgnoredAny>()?;
474                        }
475                    }
476                }
477                let mut __r = <ServerReflectionRequest as ::core::default::Default>::default();
478                if let ::core::option::Option::Some(v) = __f_host {
479                    __r.host = v;
480                }
481                __r.message_request = __oneof_message_request;
482                Ok(__r)
483            }
484        }
485        d.deserialize_map(_V)
486    }
487}
488impl ::buffa::json_helpers::ProtoElemJson for ServerReflectionRequest {
489    fn serialize_proto_json<S: ::serde::Serializer>(
490        v: &Self,
491        s: S,
492    ) -> ::core::result::Result<S::Ok, S::Error> {
493        ::serde::Serialize::serialize(v, s)
494    }
495    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
496        d: D,
497    ) -> ::core::result::Result<Self, D::Error> {
498        <Self as ::serde::Deserialize>::deserialize(d)
499    }
500}
501#[doc(hidden)]
502pub const __SERVER_REFLECTION_REQUEST_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa::type_registry::JsonAnyEntry {
503    type_url: "type.googleapis.com/grpc.reflection.v1alpha.ServerReflectionRequest",
504    to_json: ::buffa::type_registry::any_to_json::<ServerReflectionRequest>,
505    from_json: ::buffa::type_registry::any_from_json::<ServerReflectionRequest>,
506    is_wkt: false,
507};
508pub mod server_reflection_request {
509    #[allow(unused_imports)]
510    use super::*;
511    #[doc(inline)]
512    pub use super::__buffa::oneof::server_reflection_request::MessageRequest;
513    #[doc(inline)]
514    pub use super::__buffa::view::oneof::server_reflection_request::MessageRequest as MessageRequestView;
515}
516/// The type name and extension number sent by the client when requesting
517/// file_containing_extension.
518#[derive(Clone, PartialEq, Default)]
519#[derive(::serde::Serialize, ::serde::Deserialize)]
520#[serde(default)]
521pub struct ExtensionRequest {
522    /// Fully-qualified type name. The format should be \<package\>.\<type\>
523    ///
524    /// Field 1: `containing_type`
525    #[serde(
526        rename = "containingType",
527        alias = "containing_type",
528        with = "::buffa::json_helpers::proto_string",
529        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_str"
530    )]
531    pub containing_type: ::buffa::alloc::string::String,
532    /// Field 2: `extension_number`
533    #[serde(
534        rename = "extensionNumber",
535        alias = "extension_number",
536        with = "::buffa::json_helpers::int32",
537        skip_serializing_if = "::buffa::json_helpers::skip_if::is_zero_i32"
538    )]
539    pub extension_number: i32,
540    #[serde(skip)]
541    #[doc(hidden)]
542    pub __buffa_unknown_fields: ::buffa::UnknownFields,
543}
544impl ::core::fmt::Debug for ExtensionRequest {
545    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
546        f.debug_struct("ExtensionRequest")
547            .field("containing_type", &self.containing_type)
548            .field("extension_number", &self.extension_number)
549            .finish()
550    }
551}
552impl ExtensionRequest {
553    /// Protobuf type URL for this message, for use with `Any::pack` and
554    /// `Any::unpack_if`.
555    ///
556    /// Format: `type.googleapis.com/<fully.qualified.TypeName>`
557    pub const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ExtensionRequest";
558}
559impl ::buffa::DefaultInstance for ExtensionRequest {
560    fn default_instance() -> &'static Self {
561        static VALUE: ::buffa::__private::OnceBox<ExtensionRequest> = ::buffa::__private::OnceBox::new();
562        VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
563    }
564}
565impl ::buffa::MessageName for ExtensionRequest {
566    const PACKAGE: &'static str = "grpc.reflection.v1alpha";
567    const NAME: &'static str = "ExtensionRequest";
568    const FULL_NAME: &'static str = "grpc.reflection.v1alpha.ExtensionRequest";
569    const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ExtensionRequest";
570}
571impl ::buffa::Message for ExtensionRequest {
572    /// Returns the total encoded size in bytes.
573    ///
574    /// The result is a `u32`; the protobuf specification requires all
575    /// messages to fit within 2 GiB (2,147,483,647 bytes), so a
576    /// compliant message will never overflow this type.
577    #[allow(clippy::let_and_return)]
578    fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
579        #[allow(unused_imports)]
580        use ::buffa::Enumeration as _;
581        let mut size = 0u32;
582        if !self.containing_type.is_empty() {
583            size
584                += 1u32
585                    + ::buffa::types::string_encoded_len(&self.containing_type) as u32;
586        }
587        if self.extension_number != 0i32 {
588            size
589                += 1u32
590                    + ::buffa::types::int32_encoded_len(self.extension_number) as u32;
591        }
592        size += self.__buffa_unknown_fields.encoded_len() as u32;
593        size
594    }
595    fn write_to(
596        &self,
597        _cache: &mut ::buffa::SizeCache,
598        buf: &mut impl ::buffa::bytes::BufMut,
599    ) {
600        #[allow(unused_imports)]
601        use ::buffa::Enumeration as _;
602        if !self.containing_type.is_empty() {
603            ::buffa::encoding::Tag::new(
604                    1u32,
605                    ::buffa::encoding::WireType::LengthDelimited,
606                )
607                .encode(buf);
608            ::buffa::types::encode_string(&self.containing_type, buf);
609        }
610        if self.extension_number != 0i32 {
611            ::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
612                .encode(buf);
613            ::buffa::types::encode_int32(self.extension_number, buf);
614        }
615        self.__buffa_unknown_fields.write_to(buf);
616    }
617    fn merge_field(
618        &mut self,
619        tag: ::buffa::encoding::Tag,
620        buf: &mut impl ::buffa::bytes::Buf,
621        depth: u32,
622    ) -> ::core::result::Result<(), ::buffa::DecodeError> {
623        #[allow(unused_imports)]
624        use ::buffa::bytes::Buf as _;
625        #[allow(unused_imports)]
626        use ::buffa::Enumeration as _;
627        match tag.field_number() {
628            1u32 => {
629                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
630                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
631                        field_number: 1u32,
632                        expected: 2u8,
633                        actual: tag.wire_type() as u8,
634                    });
635                }
636                ::buffa::types::merge_string(&mut self.containing_type, buf)?;
637            }
638            2u32 => {
639                if tag.wire_type() != ::buffa::encoding::WireType::Varint {
640                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
641                        field_number: 2u32,
642                        expected: 0u8,
643                        actual: tag.wire_type() as u8,
644                    });
645                }
646                self.extension_number = ::buffa::types::decode_int32(buf)?;
647            }
648            _ => {
649                self.__buffa_unknown_fields
650                    .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
651            }
652        }
653        ::core::result::Result::Ok(())
654    }
655    fn clear(&mut self) {
656        self.containing_type.clear();
657        self.extension_number = 0i32;
658        self.__buffa_unknown_fields.clear();
659    }
660}
661impl ::buffa::ExtensionSet for ExtensionRequest {
662    const PROTO_FQN: &'static str = "grpc.reflection.v1alpha.ExtensionRequest";
663    fn unknown_fields(&self) -> &::buffa::UnknownFields {
664        &self.__buffa_unknown_fields
665    }
666    fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
667        &mut self.__buffa_unknown_fields
668    }
669}
670impl ::buffa::json_helpers::ProtoElemJson for ExtensionRequest {
671    fn serialize_proto_json<S: ::serde::Serializer>(
672        v: &Self,
673        s: S,
674    ) -> ::core::result::Result<S::Ok, S::Error> {
675        ::serde::Serialize::serialize(v, s)
676    }
677    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
678        d: D,
679    ) -> ::core::result::Result<Self, D::Error> {
680        <Self as ::serde::Deserialize>::deserialize(d)
681    }
682}
683#[doc(hidden)]
684pub const __EXTENSION_REQUEST_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa::type_registry::JsonAnyEntry {
685    type_url: "type.googleapis.com/grpc.reflection.v1alpha.ExtensionRequest",
686    to_json: ::buffa::type_registry::any_to_json::<ExtensionRequest>,
687    from_json: ::buffa::type_registry::any_from_json::<ExtensionRequest>,
688    is_wkt: false,
689};
690/// The message sent by the server to answer ServerReflectionInfo method.
691#[derive(Clone, PartialEq, Default)]
692#[derive(::serde::Serialize)]
693#[serde(default)]
694pub struct ServerReflectionResponse {
695    /// Field 1: `valid_host`
696    #[serde(
697        rename = "validHost",
698        alias = "valid_host",
699        with = "::buffa::json_helpers::proto_string",
700        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_str"
701    )]
702    pub valid_host: ::buffa::alloc::string::String,
703    /// Field 2: `original_request`
704    #[serde(
705        rename = "originalRequest",
706        alias = "original_request",
707        skip_serializing_if = "::buffa::json_helpers::skip_if::is_unset_message_field"
708    )]
709    pub original_request: ::buffa::MessageField<ServerReflectionRequest>,
710    #[serde(flatten)]
711    pub message_response: ::core::option::Option<
712        __buffa::oneof::server_reflection_response::MessageResponse,
713    >,
714    #[serde(skip)]
715    #[doc(hidden)]
716    pub __buffa_unknown_fields: ::buffa::UnknownFields,
717}
718impl ::core::fmt::Debug for ServerReflectionResponse {
719    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
720        f.debug_struct("ServerReflectionResponse")
721            .field("valid_host", &self.valid_host)
722            .field("original_request", &self.original_request)
723            .field("message_response", &self.message_response)
724            .finish()
725    }
726}
727impl ServerReflectionResponse {
728    /// Protobuf type URL for this message, for use with `Any::pack` and
729    /// `Any::unpack_if`.
730    ///
731    /// Format: `type.googleapis.com/<fully.qualified.TypeName>`
732    pub const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ServerReflectionResponse";
733}
734impl ::buffa::DefaultInstance for ServerReflectionResponse {
735    fn default_instance() -> &'static Self {
736        static VALUE: ::buffa::__private::OnceBox<ServerReflectionResponse> = ::buffa::__private::OnceBox::new();
737        VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
738    }
739}
740impl ::buffa::MessageName for ServerReflectionResponse {
741    const PACKAGE: &'static str = "grpc.reflection.v1alpha";
742    const NAME: &'static str = "ServerReflectionResponse";
743    const FULL_NAME: &'static str = "grpc.reflection.v1alpha.ServerReflectionResponse";
744    const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ServerReflectionResponse";
745}
746impl ::buffa::Message for ServerReflectionResponse {
747    /// Returns the total encoded size in bytes.
748    ///
749    /// The result is a `u32`; the protobuf specification requires all
750    /// messages to fit within 2 GiB (2,147,483,647 bytes), so a
751    /// compliant message will never overflow this type.
752    #[allow(clippy::let_and_return)]
753    fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
754        #[allow(unused_imports)]
755        use ::buffa::Enumeration as _;
756        let mut size = 0u32;
757        if !self.valid_host.is_empty() {
758            size += 1u32 + ::buffa::types::string_encoded_len(&self.valid_host) as u32;
759        }
760        if self.original_request.is_set() {
761            let __slot = __cache.reserve();
762            let inner_size = self.original_request.compute_size(__cache);
763            __cache.set(__slot, inner_size);
764            size
765                += 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
766                    + inner_size;
767        }
768        if let ::core::option::Option::Some(ref v) = self.message_response {
769            match v {
770                __buffa::oneof::server_reflection_response::MessageResponse::FileDescriptorResponse(
771                    x,
772                ) => {
773                    let __slot = __cache.reserve();
774                    let inner = x.compute_size(__cache);
775                    __cache.set(__slot, inner);
776                    size
777                        += 1u32 + ::buffa::encoding::varint_len(inner as u64) as u32
778                            + inner;
779                }
780                __buffa::oneof::server_reflection_response::MessageResponse::AllExtensionNumbersResponse(
781                    x,
782                ) => {
783                    let __slot = __cache.reserve();
784                    let inner = x.compute_size(__cache);
785                    __cache.set(__slot, inner);
786                    size
787                        += 1u32 + ::buffa::encoding::varint_len(inner as u64) as u32
788                            + inner;
789                }
790                __buffa::oneof::server_reflection_response::MessageResponse::ListServicesResponse(
791                    x,
792                ) => {
793                    let __slot = __cache.reserve();
794                    let inner = x.compute_size(__cache);
795                    __cache.set(__slot, inner);
796                    size
797                        += 1u32 + ::buffa::encoding::varint_len(inner as u64) as u32
798                            + inner;
799                }
800                __buffa::oneof::server_reflection_response::MessageResponse::ErrorResponse(
801                    x,
802                ) => {
803                    let __slot = __cache.reserve();
804                    let inner = x.compute_size(__cache);
805                    __cache.set(__slot, inner);
806                    size
807                        += 1u32 + ::buffa::encoding::varint_len(inner as u64) as u32
808                            + inner;
809                }
810            }
811        }
812        size += self.__buffa_unknown_fields.encoded_len() as u32;
813        size
814    }
815    fn write_to(
816        &self,
817        __cache: &mut ::buffa::SizeCache,
818        buf: &mut impl ::buffa::bytes::BufMut,
819    ) {
820        #[allow(unused_imports)]
821        use ::buffa::Enumeration as _;
822        if !self.valid_host.is_empty() {
823            ::buffa::encoding::Tag::new(
824                    1u32,
825                    ::buffa::encoding::WireType::LengthDelimited,
826                )
827                .encode(buf);
828            ::buffa::types::encode_string(&self.valid_host, buf);
829        }
830        if self.original_request.is_set() {
831            ::buffa::encoding::Tag::new(
832                    2u32,
833                    ::buffa::encoding::WireType::LengthDelimited,
834                )
835                .encode(buf);
836            ::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
837            self.original_request.write_to(__cache, buf);
838        }
839        if let ::core::option::Option::Some(ref v) = self.message_response {
840            match v {
841                __buffa::oneof::server_reflection_response::MessageResponse::FileDescriptorResponse(
842                    x,
843                ) => {
844                    ::buffa::encoding::Tag::new(
845                            4u32,
846                            ::buffa::encoding::WireType::LengthDelimited,
847                        )
848                        .encode(buf);
849                    ::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
850                    x.write_to(__cache, buf);
851                }
852                __buffa::oneof::server_reflection_response::MessageResponse::AllExtensionNumbersResponse(
853                    x,
854                ) => {
855                    ::buffa::encoding::Tag::new(
856                            5u32,
857                            ::buffa::encoding::WireType::LengthDelimited,
858                        )
859                        .encode(buf);
860                    ::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
861                    x.write_to(__cache, buf);
862                }
863                __buffa::oneof::server_reflection_response::MessageResponse::ListServicesResponse(
864                    x,
865                ) => {
866                    ::buffa::encoding::Tag::new(
867                            6u32,
868                            ::buffa::encoding::WireType::LengthDelimited,
869                        )
870                        .encode(buf);
871                    ::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
872                    x.write_to(__cache, buf);
873                }
874                __buffa::oneof::server_reflection_response::MessageResponse::ErrorResponse(
875                    x,
876                ) => {
877                    ::buffa::encoding::Tag::new(
878                            7u32,
879                            ::buffa::encoding::WireType::LengthDelimited,
880                        )
881                        .encode(buf);
882                    ::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
883                    x.write_to(__cache, buf);
884                }
885            }
886        }
887        self.__buffa_unknown_fields.write_to(buf);
888    }
889    fn merge_field(
890        &mut self,
891        tag: ::buffa::encoding::Tag,
892        buf: &mut impl ::buffa::bytes::Buf,
893        depth: u32,
894    ) -> ::core::result::Result<(), ::buffa::DecodeError> {
895        #[allow(unused_imports)]
896        use ::buffa::bytes::Buf as _;
897        #[allow(unused_imports)]
898        use ::buffa::Enumeration as _;
899        match tag.field_number() {
900            1u32 => {
901                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
902                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
903                        field_number: 1u32,
904                        expected: 2u8,
905                        actual: tag.wire_type() as u8,
906                    });
907                }
908                ::buffa::types::merge_string(&mut self.valid_host, buf)?;
909            }
910            2u32 => {
911                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
912                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
913                        field_number: 2u32,
914                        expected: 2u8,
915                        actual: tag.wire_type() as u8,
916                    });
917                }
918                ::buffa::Message::merge_length_delimited(
919                    self.original_request.get_or_insert_default(),
920                    buf,
921                    depth,
922                )?;
923            }
924            4u32 => {
925                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
926                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
927                        field_number: 4u32,
928                        expected: 2u8,
929                        actual: tag.wire_type() as u8,
930                    });
931                }
932                if let ::core::option::Option::Some(
933                    __buffa::oneof::server_reflection_response::MessageResponse::FileDescriptorResponse(
934                        ref mut existing,
935                    ),
936                ) = self.message_response
937                {
938                    ::buffa::Message::merge_length_delimited(
939                        &mut **existing,
940                        buf,
941                        depth,
942                    )?;
943                } else {
944                    let mut val = ::core::default::Default::default();
945                    ::buffa::Message::merge_length_delimited(&mut val, buf, depth)?;
946                    self.message_response = ::core::option::Option::Some(
947                        __buffa::oneof::server_reflection_response::MessageResponse::FileDescriptorResponse(
948                            ::buffa::alloc::boxed::Box::new(val),
949                        ),
950                    );
951                }
952            }
953            5u32 => {
954                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
955                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
956                        field_number: 5u32,
957                        expected: 2u8,
958                        actual: tag.wire_type() as u8,
959                    });
960                }
961                if let ::core::option::Option::Some(
962                    __buffa::oneof::server_reflection_response::MessageResponse::AllExtensionNumbersResponse(
963                        ref mut existing,
964                    ),
965                ) = self.message_response
966                {
967                    ::buffa::Message::merge_length_delimited(
968                        &mut **existing,
969                        buf,
970                        depth,
971                    )?;
972                } else {
973                    let mut val = ::core::default::Default::default();
974                    ::buffa::Message::merge_length_delimited(&mut val, buf, depth)?;
975                    self.message_response = ::core::option::Option::Some(
976                        __buffa::oneof::server_reflection_response::MessageResponse::AllExtensionNumbersResponse(
977                            ::buffa::alloc::boxed::Box::new(val),
978                        ),
979                    );
980                }
981            }
982            6u32 => {
983                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
984                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
985                        field_number: 6u32,
986                        expected: 2u8,
987                        actual: tag.wire_type() as u8,
988                    });
989                }
990                if let ::core::option::Option::Some(
991                    __buffa::oneof::server_reflection_response::MessageResponse::ListServicesResponse(
992                        ref mut existing,
993                    ),
994                ) = self.message_response
995                {
996                    ::buffa::Message::merge_length_delimited(
997                        &mut **existing,
998                        buf,
999                        depth,
1000                    )?;
1001                } else {
1002                    let mut val = ::core::default::Default::default();
1003                    ::buffa::Message::merge_length_delimited(&mut val, buf, depth)?;
1004                    self.message_response = ::core::option::Option::Some(
1005                        __buffa::oneof::server_reflection_response::MessageResponse::ListServicesResponse(
1006                            ::buffa::alloc::boxed::Box::new(val),
1007                        ),
1008                    );
1009                }
1010            }
1011            7u32 => {
1012                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
1013                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
1014                        field_number: 7u32,
1015                        expected: 2u8,
1016                        actual: tag.wire_type() as u8,
1017                    });
1018                }
1019                if let ::core::option::Option::Some(
1020                    __buffa::oneof::server_reflection_response::MessageResponse::ErrorResponse(
1021                        ref mut existing,
1022                    ),
1023                ) = self.message_response
1024                {
1025                    ::buffa::Message::merge_length_delimited(
1026                        &mut **existing,
1027                        buf,
1028                        depth,
1029                    )?;
1030                } else {
1031                    let mut val = ::core::default::Default::default();
1032                    ::buffa::Message::merge_length_delimited(&mut val, buf, depth)?;
1033                    self.message_response = ::core::option::Option::Some(
1034                        __buffa::oneof::server_reflection_response::MessageResponse::ErrorResponse(
1035                            ::buffa::alloc::boxed::Box::new(val),
1036                        ),
1037                    );
1038                }
1039            }
1040            _ => {
1041                self.__buffa_unknown_fields
1042                    .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
1043            }
1044        }
1045        ::core::result::Result::Ok(())
1046    }
1047    fn clear(&mut self) {
1048        self.valid_host.clear();
1049        self.original_request = ::buffa::MessageField::none();
1050        self.message_response = ::core::option::Option::None;
1051        self.__buffa_unknown_fields.clear();
1052    }
1053}
1054impl ::buffa::ExtensionSet for ServerReflectionResponse {
1055    const PROTO_FQN: &'static str = "grpc.reflection.v1alpha.ServerReflectionResponse";
1056    fn unknown_fields(&self) -> &::buffa::UnknownFields {
1057        &self.__buffa_unknown_fields
1058    }
1059    fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
1060        &mut self.__buffa_unknown_fields
1061    }
1062}
1063impl<'de> serde::Deserialize<'de> for ServerReflectionResponse {
1064    fn deserialize<D: serde::Deserializer<'de>>(
1065        d: D,
1066    ) -> ::core::result::Result<Self, D::Error> {
1067        struct _V;
1068        impl<'de> serde::de::Visitor<'de> for _V {
1069            type Value = ServerReflectionResponse;
1070            fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1071                f.write_str("struct ServerReflectionResponse")
1072            }
1073            #[allow(clippy::field_reassign_with_default)]
1074            fn visit_map<A: serde::de::MapAccess<'de>>(
1075                self,
1076                mut map: A,
1077            ) -> ::core::result::Result<ServerReflectionResponse, A::Error> {
1078                let mut __f_valid_host: ::core::option::Option<
1079                    ::buffa::alloc::string::String,
1080                > = None;
1081                let mut __f_original_request: ::core::option::Option<
1082                    ::buffa::MessageField<ServerReflectionRequest>,
1083                > = None;
1084                let mut __oneof_message_response: ::core::option::Option<
1085                    __buffa::oneof::server_reflection_response::MessageResponse,
1086                > = None;
1087                while let Some(key) = map.next_key::<::buffa::alloc::string::String>()? {
1088                    match key.as_str() {
1089                        "validHost" | "valid_host" => {
1090                            __f_valid_host = Some({
1091                                struct _S;
1092                                impl<'de> serde::de::DeserializeSeed<'de> for _S {
1093                                    type Value = ::buffa::alloc::string::String;
1094                                    fn deserialize<D: serde::Deserializer<'de>>(
1095                                        self,
1096                                        d: D,
1097                                    ) -> ::core::result::Result<
1098                                        ::buffa::alloc::string::String,
1099                                        D::Error,
1100                                    > {
1101                                        ::buffa::json_helpers::proto_string::deserialize(d)
1102                                    }
1103                                }
1104                                map.next_value_seed(_S)?
1105                            });
1106                        }
1107                        "originalRequest" | "original_request" => {
1108                            __f_original_request = Some(
1109                                map
1110                                    .next_value::<
1111                                        ::buffa::MessageField<ServerReflectionRequest>,
1112                                    >()?,
1113                            );
1114                        }
1115                        "fileDescriptorResponse" | "file_descriptor_response" => {
1116                            let v: ::core::option::Option<FileDescriptorResponse> = map
1117                                .next_value_seed(
1118                                    ::buffa::json_helpers::NullableDeserializeSeed(
1119                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
1120                                            FileDescriptorResponse,
1121                                        >::new(),
1122                                    ),
1123                                )?;
1124                            if let Some(v) = v {
1125                                if __oneof_message_response.is_some() {
1126                                    return Err(
1127                                        serde::de::Error::custom(
1128                                            "multiple oneof fields set for 'message_response'",
1129                                        ),
1130                                    );
1131                                }
1132                                __oneof_message_response = Some(
1133                                    __buffa::oneof::server_reflection_response::MessageResponse::FileDescriptorResponse(
1134                                        ::buffa::alloc::boxed::Box::new(v),
1135                                    ),
1136                                );
1137                            }
1138                        }
1139                        "allExtensionNumbersResponse"
1140                        | "all_extension_numbers_response" => {
1141                            let v: ::core::option::Option<ExtensionNumberResponse> = map
1142                                .next_value_seed(
1143                                    ::buffa::json_helpers::NullableDeserializeSeed(
1144                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
1145                                            ExtensionNumberResponse,
1146                                        >::new(),
1147                                    ),
1148                                )?;
1149                            if let Some(v) = v {
1150                                if __oneof_message_response.is_some() {
1151                                    return Err(
1152                                        serde::de::Error::custom(
1153                                            "multiple oneof fields set for 'message_response'",
1154                                        ),
1155                                    );
1156                                }
1157                                __oneof_message_response = Some(
1158                                    __buffa::oneof::server_reflection_response::MessageResponse::AllExtensionNumbersResponse(
1159                                        ::buffa::alloc::boxed::Box::new(v),
1160                                    ),
1161                                );
1162                            }
1163                        }
1164                        "listServicesResponse" | "list_services_response" => {
1165                            let v: ::core::option::Option<ListServiceResponse> = map
1166                                .next_value_seed(
1167                                    ::buffa::json_helpers::NullableDeserializeSeed(
1168                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
1169                                            ListServiceResponse,
1170                                        >::new(),
1171                                    ),
1172                                )?;
1173                            if let Some(v) = v {
1174                                if __oneof_message_response.is_some() {
1175                                    return Err(
1176                                        serde::de::Error::custom(
1177                                            "multiple oneof fields set for 'message_response'",
1178                                        ),
1179                                    );
1180                                }
1181                                __oneof_message_response = Some(
1182                                    __buffa::oneof::server_reflection_response::MessageResponse::ListServicesResponse(
1183                                        ::buffa::alloc::boxed::Box::new(v),
1184                                    ),
1185                                );
1186                            }
1187                        }
1188                        "errorResponse" | "error_response" => {
1189                            let v: ::core::option::Option<ErrorResponse> = map
1190                                .next_value_seed(
1191                                    ::buffa::json_helpers::NullableDeserializeSeed(
1192                                        ::buffa::json_helpers::DefaultDeserializeSeed::<
1193                                            ErrorResponse,
1194                                        >::new(),
1195                                    ),
1196                                )?;
1197                            if let Some(v) = v {
1198                                if __oneof_message_response.is_some() {
1199                                    return Err(
1200                                        serde::de::Error::custom(
1201                                            "multiple oneof fields set for 'message_response'",
1202                                        ),
1203                                    );
1204                                }
1205                                __oneof_message_response = Some(
1206                                    __buffa::oneof::server_reflection_response::MessageResponse::ErrorResponse(
1207                                        ::buffa::alloc::boxed::Box::new(v),
1208                                    ),
1209                                );
1210                            }
1211                        }
1212                        _ => {
1213                            map.next_value::<serde::de::IgnoredAny>()?;
1214                        }
1215                    }
1216                }
1217                let mut __r = <ServerReflectionResponse as ::core::default::Default>::default();
1218                if let ::core::option::Option::Some(v) = __f_valid_host {
1219                    __r.valid_host = v;
1220                }
1221                if let ::core::option::Option::Some(v) = __f_original_request {
1222                    __r.original_request = v;
1223                }
1224                __r.message_response = __oneof_message_response;
1225                Ok(__r)
1226            }
1227        }
1228        d.deserialize_map(_V)
1229    }
1230}
1231impl ::buffa::json_helpers::ProtoElemJson for ServerReflectionResponse {
1232    fn serialize_proto_json<S: ::serde::Serializer>(
1233        v: &Self,
1234        s: S,
1235    ) -> ::core::result::Result<S::Ok, S::Error> {
1236        ::serde::Serialize::serialize(v, s)
1237    }
1238    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
1239        d: D,
1240    ) -> ::core::result::Result<Self, D::Error> {
1241        <Self as ::serde::Deserialize>::deserialize(d)
1242    }
1243}
1244#[doc(hidden)]
1245pub const __SERVER_REFLECTION_RESPONSE_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa::type_registry::JsonAnyEntry {
1246    type_url: "type.googleapis.com/grpc.reflection.v1alpha.ServerReflectionResponse",
1247    to_json: ::buffa::type_registry::any_to_json::<ServerReflectionResponse>,
1248    from_json: ::buffa::type_registry::any_from_json::<ServerReflectionResponse>,
1249    is_wkt: false,
1250};
1251pub mod server_reflection_response {
1252    #[allow(unused_imports)]
1253    use super::*;
1254    #[doc(inline)]
1255    pub use super::__buffa::oneof::server_reflection_response::MessageResponse;
1256    #[doc(inline)]
1257    pub use super::__buffa::view::oneof::server_reflection_response::MessageResponse as MessageResponseView;
1258}
1259/// Serialized FileDescriptorProto messages sent by the server answering
1260/// a file_by_filename, file_containing_symbol, or file_containing_extension
1261/// request.
1262#[derive(Clone, PartialEq, Default)]
1263#[derive(::serde::Serialize, ::serde::Deserialize)]
1264#[serde(default)]
1265pub struct FileDescriptorResponse {
1266    /// Serialized FileDescriptorProto messages. We avoid taking a dependency on
1267    /// descriptor.proto, which uses proto2 only features, by making them opaque
1268    /// bytes instead.
1269    ///
1270    /// Field 1: `file_descriptor_proto`
1271    #[serde(
1272        rename = "fileDescriptorProto",
1273        alias = "file_descriptor_proto",
1274        with = "::buffa::json_helpers::proto_seq",
1275        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_vec"
1276    )]
1277    pub file_descriptor_proto: ::buffa::alloc::vec::Vec<::buffa::alloc::vec::Vec<u8>>,
1278    #[serde(skip)]
1279    #[doc(hidden)]
1280    pub __buffa_unknown_fields: ::buffa::UnknownFields,
1281}
1282impl ::core::fmt::Debug for FileDescriptorResponse {
1283    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1284        f.debug_struct("FileDescriptorResponse")
1285            .field("file_descriptor_proto", &self.file_descriptor_proto)
1286            .finish()
1287    }
1288}
1289impl FileDescriptorResponse {
1290    /// Protobuf type URL for this message, for use with `Any::pack` and
1291    /// `Any::unpack_if`.
1292    ///
1293    /// Format: `type.googleapis.com/<fully.qualified.TypeName>`
1294    pub const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.FileDescriptorResponse";
1295}
1296impl ::buffa::DefaultInstance for FileDescriptorResponse {
1297    fn default_instance() -> &'static Self {
1298        static VALUE: ::buffa::__private::OnceBox<FileDescriptorResponse> = ::buffa::__private::OnceBox::new();
1299        VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
1300    }
1301}
1302impl ::buffa::MessageName for FileDescriptorResponse {
1303    const PACKAGE: &'static str = "grpc.reflection.v1alpha";
1304    const NAME: &'static str = "FileDescriptorResponse";
1305    const FULL_NAME: &'static str = "grpc.reflection.v1alpha.FileDescriptorResponse";
1306    const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.FileDescriptorResponse";
1307}
1308impl ::buffa::Message for FileDescriptorResponse {
1309    /// Returns the total encoded size in bytes.
1310    ///
1311    /// The result is a `u32`; the protobuf specification requires all
1312    /// messages to fit within 2 GiB (2,147,483,647 bytes), so a
1313    /// compliant message will never overflow this type.
1314    #[allow(clippy::let_and_return)]
1315    fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
1316        #[allow(unused_imports)]
1317        use ::buffa::Enumeration as _;
1318        let mut size = 0u32;
1319        for v in &self.file_descriptor_proto {
1320            size += 1u32 + ::buffa::types::bytes_encoded_len(v) as u32;
1321        }
1322        size += self.__buffa_unknown_fields.encoded_len() as u32;
1323        size
1324    }
1325    fn write_to(
1326        &self,
1327        _cache: &mut ::buffa::SizeCache,
1328        buf: &mut impl ::buffa::bytes::BufMut,
1329    ) {
1330        #[allow(unused_imports)]
1331        use ::buffa::Enumeration as _;
1332        for v in &self.file_descriptor_proto {
1333            ::buffa::encoding::Tag::new(
1334                    1u32,
1335                    ::buffa::encoding::WireType::LengthDelimited,
1336                )
1337                .encode(buf);
1338            ::buffa::types::encode_bytes(v, buf);
1339        }
1340        self.__buffa_unknown_fields.write_to(buf);
1341    }
1342    fn merge_field(
1343        &mut self,
1344        tag: ::buffa::encoding::Tag,
1345        buf: &mut impl ::buffa::bytes::Buf,
1346        depth: u32,
1347    ) -> ::core::result::Result<(), ::buffa::DecodeError> {
1348        #[allow(unused_imports)]
1349        use ::buffa::bytes::Buf as _;
1350        #[allow(unused_imports)]
1351        use ::buffa::Enumeration as _;
1352        match tag.field_number() {
1353            1u32 => {
1354                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
1355                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
1356                        field_number: 1u32,
1357                        expected: 2u8,
1358                        actual: tag.wire_type() as u8,
1359                    });
1360                }
1361                self.file_descriptor_proto.push(::buffa::types::decode_bytes(buf)?);
1362            }
1363            _ => {
1364                self.__buffa_unknown_fields
1365                    .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
1366            }
1367        }
1368        ::core::result::Result::Ok(())
1369    }
1370    fn clear(&mut self) {
1371        self.file_descriptor_proto.clear();
1372        self.__buffa_unknown_fields.clear();
1373    }
1374}
1375impl ::buffa::ExtensionSet for FileDescriptorResponse {
1376    const PROTO_FQN: &'static str = "grpc.reflection.v1alpha.FileDescriptorResponse";
1377    fn unknown_fields(&self) -> &::buffa::UnknownFields {
1378        &self.__buffa_unknown_fields
1379    }
1380    fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
1381        &mut self.__buffa_unknown_fields
1382    }
1383}
1384impl ::buffa::json_helpers::ProtoElemJson for FileDescriptorResponse {
1385    fn serialize_proto_json<S: ::serde::Serializer>(
1386        v: &Self,
1387        s: S,
1388    ) -> ::core::result::Result<S::Ok, S::Error> {
1389        ::serde::Serialize::serialize(v, s)
1390    }
1391    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
1392        d: D,
1393    ) -> ::core::result::Result<Self, D::Error> {
1394        <Self as ::serde::Deserialize>::deserialize(d)
1395    }
1396}
1397#[doc(hidden)]
1398pub const __FILE_DESCRIPTOR_RESPONSE_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa::type_registry::JsonAnyEntry {
1399    type_url: "type.googleapis.com/grpc.reflection.v1alpha.FileDescriptorResponse",
1400    to_json: ::buffa::type_registry::any_to_json::<FileDescriptorResponse>,
1401    from_json: ::buffa::type_registry::any_from_json::<FileDescriptorResponse>,
1402    is_wkt: false,
1403};
1404/// A list of extension numbers sent by the server answering
1405/// all_extension_numbers_of_type request.
1406#[derive(Clone, PartialEq, Default)]
1407#[derive(::serde::Serialize, ::serde::Deserialize)]
1408#[serde(default)]
1409pub struct ExtensionNumberResponse {
1410    /// Full name of the base type, including the package name. The format
1411    /// is \<package\>.\<type\>
1412    ///
1413    /// Field 1: `base_type_name`
1414    #[serde(
1415        rename = "baseTypeName",
1416        alias = "base_type_name",
1417        with = "::buffa::json_helpers::proto_string",
1418        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_str"
1419    )]
1420    pub base_type_name: ::buffa::alloc::string::String,
1421    /// Field 2: `extension_number`
1422    #[serde(
1423        rename = "extensionNumber",
1424        alias = "extension_number",
1425        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_vec",
1426        deserialize_with = "::buffa::json_helpers::null_as_default"
1427    )]
1428    pub extension_number: ::buffa::alloc::vec::Vec<i32>,
1429    #[serde(skip)]
1430    #[doc(hidden)]
1431    pub __buffa_unknown_fields: ::buffa::UnknownFields,
1432}
1433impl ::core::fmt::Debug for ExtensionNumberResponse {
1434    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1435        f.debug_struct("ExtensionNumberResponse")
1436            .field("base_type_name", &self.base_type_name)
1437            .field("extension_number", &self.extension_number)
1438            .finish()
1439    }
1440}
1441impl ExtensionNumberResponse {
1442    /// Protobuf type URL for this message, for use with `Any::pack` and
1443    /// `Any::unpack_if`.
1444    ///
1445    /// Format: `type.googleapis.com/<fully.qualified.TypeName>`
1446    pub const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ExtensionNumberResponse";
1447}
1448impl ::buffa::DefaultInstance for ExtensionNumberResponse {
1449    fn default_instance() -> &'static Self {
1450        static VALUE: ::buffa::__private::OnceBox<ExtensionNumberResponse> = ::buffa::__private::OnceBox::new();
1451        VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
1452    }
1453}
1454impl ::buffa::MessageName for ExtensionNumberResponse {
1455    const PACKAGE: &'static str = "grpc.reflection.v1alpha";
1456    const NAME: &'static str = "ExtensionNumberResponse";
1457    const FULL_NAME: &'static str = "grpc.reflection.v1alpha.ExtensionNumberResponse";
1458    const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ExtensionNumberResponse";
1459}
1460impl ::buffa::Message for ExtensionNumberResponse {
1461    /// Returns the total encoded size in bytes.
1462    ///
1463    /// The result is a `u32`; the protobuf specification requires all
1464    /// messages to fit within 2 GiB (2,147,483,647 bytes), so a
1465    /// compliant message will never overflow this type.
1466    #[allow(clippy::let_and_return)]
1467    fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
1468        #[allow(unused_imports)]
1469        use ::buffa::Enumeration as _;
1470        let mut size = 0u32;
1471        if !self.base_type_name.is_empty() {
1472            size
1473                += 1u32
1474                    + ::buffa::types::string_encoded_len(&self.base_type_name) as u32;
1475        }
1476        if !self.extension_number.is_empty() {
1477            let payload: u32 = self
1478                .extension_number
1479                .iter()
1480                .map(|&v| ::buffa::types::int32_encoded_len(v) as u32)
1481                .sum::<u32>();
1482            size
1483                += 1u32 + ::buffa::encoding::varint_len(payload as u64) as u32 + payload;
1484        }
1485        size += self.__buffa_unknown_fields.encoded_len() as u32;
1486        size
1487    }
1488    fn write_to(
1489        &self,
1490        _cache: &mut ::buffa::SizeCache,
1491        buf: &mut impl ::buffa::bytes::BufMut,
1492    ) {
1493        #[allow(unused_imports)]
1494        use ::buffa::Enumeration as _;
1495        if !self.base_type_name.is_empty() {
1496            ::buffa::encoding::Tag::new(
1497                    1u32,
1498                    ::buffa::encoding::WireType::LengthDelimited,
1499                )
1500                .encode(buf);
1501            ::buffa::types::encode_string(&self.base_type_name, buf);
1502        }
1503        if !self.extension_number.is_empty() {
1504            let payload: u32 = self
1505                .extension_number
1506                .iter()
1507                .map(|&v| ::buffa::types::int32_encoded_len(v) as u32)
1508                .sum::<u32>();
1509            ::buffa::encoding::Tag::new(
1510                    2u32,
1511                    ::buffa::encoding::WireType::LengthDelimited,
1512                )
1513                .encode(buf);
1514            ::buffa::encoding::encode_varint(payload as u64, buf);
1515            for &v in &self.extension_number {
1516                ::buffa::types::encode_int32(v, buf);
1517            }
1518        }
1519        self.__buffa_unknown_fields.write_to(buf);
1520    }
1521    fn merge_field(
1522        &mut self,
1523        tag: ::buffa::encoding::Tag,
1524        buf: &mut impl ::buffa::bytes::Buf,
1525        depth: u32,
1526    ) -> ::core::result::Result<(), ::buffa::DecodeError> {
1527        #[allow(unused_imports)]
1528        use ::buffa::bytes::Buf as _;
1529        #[allow(unused_imports)]
1530        use ::buffa::Enumeration as _;
1531        match tag.field_number() {
1532            1u32 => {
1533                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
1534                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
1535                        field_number: 1u32,
1536                        expected: 2u8,
1537                        actual: tag.wire_type() as u8,
1538                    });
1539                }
1540                ::buffa::types::merge_string(&mut self.base_type_name, buf)?;
1541            }
1542            2u32 => {
1543                if tag.wire_type() == ::buffa::encoding::WireType::LengthDelimited {
1544                    let len = ::buffa::encoding::decode_varint(buf)?;
1545                    let len = usize::try_from(len)
1546                        .map_err(|_| ::buffa::DecodeError::MessageTooLarge)?;
1547                    if buf.remaining() < len {
1548                        return ::core::result::Result::Err(
1549                            ::buffa::DecodeError::UnexpectedEof,
1550                        );
1551                    }
1552                    self.extension_number.reserve(len);
1553                    let mut limited = buf.take(len);
1554                    while limited.has_remaining() {
1555                        self.extension_number
1556                            .push(::buffa::types::decode_int32(&mut limited)?);
1557                    }
1558                    let leftover = limited.remaining();
1559                    if leftover > 0 {
1560                        limited.advance(leftover);
1561                    }
1562                } else if tag.wire_type() == ::buffa::encoding::WireType::Varint {
1563                    self.extension_number.push(::buffa::types::decode_int32(buf)?);
1564                } else {
1565                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
1566                        field_number: 2u32,
1567                        expected: 2u8,
1568                        actual: tag.wire_type() as u8,
1569                    });
1570                }
1571            }
1572            _ => {
1573                self.__buffa_unknown_fields
1574                    .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
1575            }
1576        }
1577        ::core::result::Result::Ok(())
1578    }
1579    fn clear(&mut self) {
1580        self.base_type_name.clear();
1581        self.extension_number.clear();
1582        self.__buffa_unknown_fields.clear();
1583    }
1584}
1585impl ::buffa::ExtensionSet for ExtensionNumberResponse {
1586    const PROTO_FQN: &'static str = "grpc.reflection.v1alpha.ExtensionNumberResponse";
1587    fn unknown_fields(&self) -> &::buffa::UnknownFields {
1588        &self.__buffa_unknown_fields
1589    }
1590    fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
1591        &mut self.__buffa_unknown_fields
1592    }
1593}
1594impl ::buffa::json_helpers::ProtoElemJson for ExtensionNumberResponse {
1595    fn serialize_proto_json<S: ::serde::Serializer>(
1596        v: &Self,
1597        s: S,
1598    ) -> ::core::result::Result<S::Ok, S::Error> {
1599        ::serde::Serialize::serialize(v, s)
1600    }
1601    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
1602        d: D,
1603    ) -> ::core::result::Result<Self, D::Error> {
1604        <Self as ::serde::Deserialize>::deserialize(d)
1605    }
1606}
1607#[doc(hidden)]
1608pub const __EXTENSION_NUMBER_RESPONSE_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa::type_registry::JsonAnyEntry {
1609    type_url: "type.googleapis.com/grpc.reflection.v1alpha.ExtensionNumberResponse",
1610    to_json: ::buffa::type_registry::any_to_json::<ExtensionNumberResponse>,
1611    from_json: ::buffa::type_registry::any_from_json::<ExtensionNumberResponse>,
1612    is_wkt: false,
1613};
1614/// A list of ServiceResponse sent by the server answering list_services request.
1615#[derive(Clone, PartialEq, Default)]
1616#[derive(::serde::Serialize, ::serde::Deserialize)]
1617#[serde(default)]
1618pub struct ListServiceResponse {
1619    /// The information of each service may be expanded in the future, so we use
1620    /// ServiceResponse message to encapsulate it.
1621    ///
1622    /// Field 1: `service`
1623    #[serde(
1624        rename = "service",
1625        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_vec",
1626        deserialize_with = "::buffa::json_helpers::null_as_default"
1627    )]
1628    pub service: ::buffa::alloc::vec::Vec<ServiceResponse>,
1629    #[serde(skip)]
1630    #[doc(hidden)]
1631    pub __buffa_unknown_fields: ::buffa::UnknownFields,
1632}
1633impl ::core::fmt::Debug for ListServiceResponse {
1634    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1635        f.debug_struct("ListServiceResponse").field("service", &self.service).finish()
1636    }
1637}
1638impl ListServiceResponse {
1639    /// Protobuf type URL for this message, for use with `Any::pack` and
1640    /// `Any::unpack_if`.
1641    ///
1642    /// Format: `type.googleapis.com/<fully.qualified.TypeName>`
1643    pub const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ListServiceResponse";
1644}
1645impl ::buffa::DefaultInstance for ListServiceResponse {
1646    fn default_instance() -> &'static Self {
1647        static VALUE: ::buffa::__private::OnceBox<ListServiceResponse> = ::buffa::__private::OnceBox::new();
1648        VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
1649    }
1650}
1651impl ::buffa::MessageName for ListServiceResponse {
1652    const PACKAGE: &'static str = "grpc.reflection.v1alpha";
1653    const NAME: &'static str = "ListServiceResponse";
1654    const FULL_NAME: &'static str = "grpc.reflection.v1alpha.ListServiceResponse";
1655    const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ListServiceResponse";
1656}
1657impl ::buffa::Message for ListServiceResponse {
1658    /// Returns the total encoded size in bytes.
1659    ///
1660    /// The result is a `u32`; the protobuf specification requires all
1661    /// messages to fit within 2 GiB (2,147,483,647 bytes), so a
1662    /// compliant message will never overflow this type.
1663    #[allow(clippy::let_and_return)]
1664    fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
1665        #[allow(unused_imports)]
1666        use ::buffa::Enumeration as _;
1667        let mut size = 0u32;
1668        for v in &self.service {
1669            let __slot = __cache.reserve();
1670            let inner_size = v.compute_size(__cache);
1671            __cache.set(__slot, inner_size);
1672            size
1673                += 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
1674                    + inner_size;
1675        }
1676        size += self.__buffa_unknown_fields.encoded_len() as u32;
1677        size
1678    }
1679    fn write_to(
1680        &self,
1681        __cache: &mut ::buffa::SizeCache,
1682        buf: &mut impl ::buffa::bytes::BufMut,
1683    ) {
1684        #[allow(unused_imports)]
1685        use ::buffa::Enumeration as _;
1686        for v in &self.service {
1687            ::buffa::encoding::Tag::new(
1688                    1u32,
1689                    ::buffa::encoding::WireType::LengthDelimited,
1690                )
1691                .encode(buf);
1692            ::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
1693            v.write_to(__cache, buf);
1694        }
1695        self.__buffa_unknown_fields.write_to(buf);
1696    }
1697    fn merge_field(
1698        &mut self,
1699        tag: ::buffa::encoding::Tag,
1700        buf: &mut impl ::buffa::bytes::Buf,
1701        depth: u32,
1702    ) -> ::core::result::Result<(), ::buffa::DecodeError> {
1703        #[allow(unused_imports)]
1704        use ::buffa::bytes::Buf as _;
1705        #[allow(unused_imports)]
1706        use ::buffa::Enumeration as _;
1707        match tag.field_number() {
1708            1u32 => {
1709                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
1710                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
1711                        field_number: 1u32,
1712                        expected: 2u8,
1713                        actual: tag.wire_type() as u8,
1714                    });
1715                }
1716                let mut elem = ::core::default::Default::default();
1717                ::buffa::Message::merge_length_delimited(&mut elem, buf, depth)?;
1718                self.service.push(elem);
1719            }
1720            _ => {
1721                self.__buffa_unknown_fields
1722                    .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
1723            }
1724        }
1725        ::core::result::Result::Ok(())
1726    }
1727    fn clear(&mut self) {
1728        self.service.clear();
1729        self.__buffa_unknown_fields.clear();
1730    }
1731}
1732impl ::buffa::ExtensionSet for ListServiceResponse {
1733    const PROTO_FQN: &'static str = "grpc.reflection.v1alpha.ListServiceResponse";
1734    fn unknown_fields(&self) -> &::buffa::UnknownFields {
1735        &self.__buffa_unknown_fields
1736    }
1737    fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
1738        &mut self.__buffa_unknown_fields
1739    }
1740}
1741impl ::buffa::json_helpers::ProtoElemJson for ListServiceResponse {
1742    fn serialize_proto_json<S: ::serde::Serializer>(
1743        v: &Self,
1744        s: S,
1745    ) -> ::core::result::Result<S::Ok, S::Error> {
1746        ::serde::Serialize::serialize(v, s)
1747    }
1748    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
1749        d: D,
1750    ) -> ::core::result::Result<Self, D::Error> {
1751        <Self as ::serde::Deserialize>::deserialize(d)
1752    }
1753}
1754#[doc(hidden)]
1755pub const __LIST_SERVICE_RESPONSE_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa::type_registry::JsonAnyEntry {
1756    type_url: "type.googleapis.com/grpc.reflection.v1alpha.ListServiceResponse",
1757    to_json: ::buffa::type_registry::any_to_json::<ListServiceResponse>,
1758    from_json: ::buffa::type_registry::any_from_json::<ListServiceResponse>,
1759    is_wkt: false,
1760};
1761/// The information of a single service used by ListServiceResponse to answer
1762/// list_services request.
1763#[derive(Clone, PartialEq, Default)]
1764#[derive(::serde::Serialize, ::serde::Deserialize)]
1765#[serde(default)]
1766pub struct ServiceResponse {
1767    /// Full name of a registered service, including its package name. The format
1768    /// is \<package\>.\<service\>
1769    ///
1770    /// Field 1: `name`
1771    #[serde(
1772        rename = "name",
1773        with = "::buffa::json_helpers::proto_string",
1774        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_str"
1775    )]
1776    pub name: ::buffa::alloc::string::String,
1777    #[serde(skip)]
1778    #[doc(hidden)]
1779    pub __buffa_unknown_fields: ::buffa::UnknownFields,
1780}
1781impl ::core::fmt::Debug for ServiceResponse {
1782    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1783        f.debug_struct("ServiceResponse").field("name", &self.name).finish()
1784    }
1785}
1786impl ServiceResponse {
1787    /// Protobuf type URL for this message, for use with `Any::pack` and
1788    /// `Any::unpack_if`.
1789    ///
1790    /// Format: `type.googleapis.com/<fully.qualified.TypeName>`
1791    pub const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ServiceResponse";
1792}
1793impl ::buffa::DefaultInstance for ServiceResponse {
1794    fn default_instance() -> &'static Self {
1795        static VALUE: ::buffa::__private::OnceBox<ServiceResponse> = ::buffa::__private::OnceBox::new();
1796        VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
1797    }
1798}
1799impl ::buffa::MessageName for ServiceResponse {
1800    const PACKAGE: &'static str = "grpc.reflection.v1alpha";
1801    const NAME: &'static str = "ServiceResponse";
1802    const FULL_NAME: &'static str = "grpc.reflection.v1alpha.ServiceResponse";
1803    const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ServiceResponse";
1804}
1805impl ::buffa::Message for ServiceResponse {
1806    /// Returns the total encoded size in bytes.
1807    ///
1808    /// The result is a `u32`; the protobuf specification requires all
1809    /// messages to fit within 2 GiB (2,147,483,647 bytes), so a
1810    /// compliant message will never overflow this type.
1811    #[allow(clippy::let_and_return)]
1812    fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
1813        #[allow(unused_imports)]
1814        use ::buffa::Enumeration as _;
1815        let mut size = 0u32;
1816        if !self.name.is_empty() {
1817            size += 1u32 + ::buffa::types::string_encoded_len(&self.name) as u32;
1818        }
1819        size += self.__buffa_unknown_fields.encoded_len() as u32;
1820        size
1821    }
1822    fn write_to(
1823        &self,
1824        _cache: &mut ::buffa::SizeCache,
1825        buf: &mut impl ::buffa::bytes::BufMut,
1826    ) {
1827        #[allow(unused_imports)]
1828        use ::buffa::Enumeration as _;
1829        if !self.name.is_empty() {
1830            ::buffa::encoding::Tag::new(
1831                    1u32,
1832                    ::buffa::encoding::WireType::LengthDelimited,
1833                )
1834                .encode(buf);
1835            ::buffa::types::encode_string(&self.name, buf);
1836        }
1837        self.__buffa_unknown_fields.write_to(buf);
1838    }
1839    fn merge_field(
1840        &mut self,
1841        tag: ::buffa::encoding::Tag,
1842        buf: &mut impl ::buffa::bytes::Buf,
1843        depth: u32,
1844    ) -> ::core::result::Result<(), ::buffa::DecodeError> {
1845        #[allow(unused_imports)]
1846        use ::buffa::bytes::Buf as _;
1847        #[allow(unused_imports)]
1848        use ::buffa::Enumeration as _;
1849        match tag.field_number() {
1850            1u32 => {
1851                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
1852                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
1853                        field_number: 1u32,
1854                        expected: 2u8,
1855                        actual: tag.wire_type() as u8,
1856                    });
1857                }
1858                ::buffa::types::merge_string(&mut self.name, buf)?;
1859            }
1860            _ => {
1861                self.__buffa_unknown_fields
1862                    .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
1863            }
1864        }
1865        ::core::result::Result::Ok(())
1866    }
1867    fn clear(&mut self) {
1868        self.name.clear();
1869        self.__buffa_unknown_fields.clear();
1870    }
1871}
1872impl ::buffa::ExtensionSet for ServiceResponse {
1873    const PROTO_FQN: &'static str = "grpc.reflection.v1alpha.ServiceResponse";
1874    fn unknown_fields(&self) -> &::buffa::UnknownFields {
1875        &self.__buffa_unknown_fields
1876    }
1877    fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
1878        &mut self.__buffa_unknown_fields
1879    }
1880}
1881impl ::buffa::json_helpers::ProtoElemJson for ServiceResponse {
1882    fn serialize_proto_json<S: ::serde::Serializer>(
1883        v: &Self,
1884        s: S,
1885    ) -> ::core::result::Result<S::Ok, S::Error> {
1886        ::serde::Serialize::serialize(v, s)
1887    }
1888    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
1889        d: D,
1890    ) -> ::core::result::Result<Self, D::Error> {
1891        <Self as ::serde::Deserialize>::deserialize(d)
1892    }
1893}
1894#[doc(hidden)]
1895pub const __SERVICE_RESPONSE_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa::type_registry::JsonAnyEntry {
1896    type_url: "type.googleapis.com/grpc.reflection.v1alpha.ServiceResponse",
1897    to_json: ::buffa::type_registry::any_to_json::<ServiceResponse>,
1898    from_json: ::buffa::type_registry::any_from_json::<ServiceResponse>,
1899    is_wkt: false,
1900};
1901/// The error code and error message sent by the server when an error occurs.
1902#[derive(Clone, PartialEq, Default)]
1903#[derive(::serde::Serialize, ::serde::Deserialize)]
1904#[serde(default)]
1905pub struct ErrorResponse {
1906    /// This field uses the error codes defined in grpc::StatusCode.
1907    ///
1908    /// Field 1: `error_code`
1909    #[serde(
1910        rename = "errorCode",
1911        alias = "error_code",
1912        with = "::buffa::json_helpers::int32",
1913        skip_serializing_if = "::buffa::json_helpers::skip_if::is_zero_i32"
1914    )]
1915    pub error_code: i32,
1916    /// Field 2: `error_message`
1917    #[serde(
1918        rename = "errorMessage",
1919        alias = "error_message",
1920        with = "::buffa::json_helpers::proto_string",
1921        skip_serializing_if = "::buffa::json_helpers::skip_if::is_empty_str"
1922    )]
1923    pub error_message: ::buffa::alloc::string::String,
1924    #[serde(skip)]
1925    #[doc(hidden)]
1926    pub __buffa_unknown_fields: ::buffa::UnknownFields,
1927}
1928impl ::core::fmt::Debug for ErrorResponse {
1929    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1930        f.debug_struct("ErrorResponse")
1931            .field("error_code", &self.error_code)
1932            .field("error_message", &self.error_message)
1933            .finish()
1934    }
1935}
1936impl ErrorResponse {
1937    /// Protobuf type URL for this message, for use with `Any::pack` and
1938    /// `Any::unpack_if`.
1939    ///
1940    /// Format: `type.googleapis.com/<fully.qualified.TypeName>`
1941    pub const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ErrorResponse";
1942}
1943impl ::buffa::DefaultInstance for ErrorResponse {
1944    fn default_instance() -> &'static Self {
1945        static VALUE: ::buffa::__private::OnceBox<ErrorResponse> = ::buffa::__private::OnceBox::new();
1946        VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
1947    }
1948}
1949impl ::buffa::MessageName for ErrorResponse {
1950    const PACKAGE: &'static str = "grpc.reflection.v1alpha";
1951    const NAME: &'static str = "ErrorResponse";
1952    const FULL_NAME: &'static str = "grpc.reflection.v1alpha.ErrorResponse";
1953    const TYPE_URL: &'static str = "type.googleapis.com/grpc.reflection.v1alpha.ErrorResponse";
1954}
1955impl ::buffa::Message for ErrorResponse {
1956    /// Returns the total encoded size in bytes.
1957    ///
1958    /// The result is a `u32`; the protobuf specification requires all
1959    /// messages to fit within 2 GiB (2,147,483,647 bytes), so a
1960    /// compliant message will never overflow this type.
1961    #[allow(clippy::let_and_return)]
1962    fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
1963        #[allow(unused_imports)]
1964        use ::buffa::Enumeration as _;
1965        let mut size = 0u32;
1966        if self.error_code != 0i32 {
1967            size += 1u32 + ::buffa::types::int32_encoded_len(self.error_code) as u32;
1968        }
1969        if !self.error_message.is_empty() {
1970            size
1971                += 1u32 + ::buffa::types::string_encoded_len(&self.error_message) as u32;
1972        }
1973        size += self.__buffa_unknown_fields.encoded_len() as u32;
1974        size
1975    }
1976    fn write_to(
1977        &self,
1978        _cache: &mut ::buffa::SizeCache,
1979        buf: &mut impl ::buffa::bytes::BufMut,
1980    ) {
1981        #[allow(unused_imports)]
1982        use ::buffa::Enumeration as _;
1983        if self.error_code != 0i32 {
1984            ::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
1985                .encode(buf);
1986            ::buffa::types::encode_int32(self.error_code, buf);
1987        }
1988        if !self.error_message.is_empty() {
1989            ::buffa::encoding::Tag::new(
1990                    2u32,
1991                    ::buffa::encoding::WireType::LengthDelimited,
1992                )
1993                .encode(buf);
1994            ::buffa::types::encode_string(&self.error_message, buf);
1995        }
1996        self.__buffa_unknown_fields.write_to(buf);
1997    }
1998    fn merge_field(
1999        &mut self,
2000        tag: ::buffa::encoding::Tag,
2001        buf: &mut impl ::buffa::bytes::Buf,
2002        depth: u32,
2003    ) -> ::core::result::Result<(), ::buffa::DecodeError> {
2004        #[allow(unused_imports)]
2005        use ::buffa::bytes::Buf as _;
2006        #[allow(unused_imports)]
2007        use ::buffa::Enumeration as _;
2008        match tag.field_number() {
2009            1u32 => {
2010                if tag.wire_type() != ::buffa::encoding::WireType::Varint {
2011                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
2012                        field_number: 1u32,
2013                        expected: 0u8,
2014                        actual: tag.wire_type() as u8,
2015                    });
2016                }
2017                self.error_code = ::buffa::types::decode_int32(buf)?;
2018            }
2019            2u32 => {
2020                if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
2021                    return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
2022                        field_number: 2u32,
2023                        expected: 2u8,
2024                        actual: tag.wire_type() as u8,
2025                    });
2026                }
2027                ::buffa::types::merge_string(&mut self.error_message, buf)?;
2028            }
2029            _ => {
2030                self.__buffa_unknown_fields
2031                    .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
2032            }
2033        }
2034        ::core::result::Result::Ok(())
2035    }
2036    fn clear(&mut self) {
2037        self.error_code = 0i32;
2038        self.error_message.clear();
2039        self.__buffa_unknown_fields.clear();
2040    }
2041}
2042impl ::buffa::ExtensionSet for ErrorResponse {
2043    const PROTO_FQN: &'static str = "grpc.reflection.v1alpha.ErrorResponse";
2044    fn unknown_fields(&self) -> &::buffa::UnknownFields {
2045        &self.__buffa_unknown_fields
2046    }
2047    fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
2048        &mut self.__buffa_unknown_fields
2049    }
2050}
2051impl ::buffa::json_helpers::ProtoElemJson for ErrorResponse {
2052    fn serialize_proto_json<S: ::serde::Serializer>(
2053        v: &Self,
2054        s: S,
2055    ) -> ::core::result::Result<S::Ok, S::Error> {
2056        ::serde::Serialize::serialize(v, s)
2057    }
2058    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
2059        d: D,
2060    ) -> ::core::result::Result<Self, D::Error> {
2061        <Self as ::serde::Deserialize>::deserialize(d)
2062    }
2063}
2064#[doc(hidden)]
2065pub const __ERROR_RESPONSE_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa::type_registry::JsonAnyEntry {
2066    type_url: "type.googleapis.com/grpc.reflection.v1alpha.ErrorResponse",
2067    to_json: ::buffa::type_registry::any_to_json::<ErrorResponse>,
2068    from_json: ::buffa::type_registry::any_from_json::<ErrorResponse>,
2069    is_wkt: false,
2070};