buffa_types/generated/
google.protobuf.duration.rs1#[derive(Clone, PartialEq, Default)]
69#[cfg_attr(feature = "arbitrary", derive(::arbitrary::Arbitrary))]
70pub struct Duration {
71 pub seconds: i64,
77 pub nanos: i32,
86 #[doc(hidden)]
87 pub __buffa_unknown_fields: ::buffa::UnknownFields,
88}
89impl ::core::fmt::Debug for Duration {
90 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
91 f.debug_struct("Duration")
92 .field("seconds", &self.seconds)
93 .field("nanos", &self.nanos)
94 .finish()
95 }
96}
97impl Duration {
98 pub const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.Duration";
103}
104impl ::buffa::DefaultInstance for Duration {
105 fn default_instance() -> &'static Self {
106 static VALUE: ::buffa::__private::OnceBox<Duration> = ::buffa::__private::OnceBox::new();
107 VALUE.get_or_init(|| ::buffa::alloc::boxed::Box::new(Self::default()))
108 }
109}
110impl ::buffa::MessageName for Duration {
111 const PACKAGE: &'static str = "google.protobuf";
112 const NAME: &'static str = "Duration";
113 const FULL_NAME: &'static str = "google.protobuf.Duration";
114 const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.Duration";
115}
116impl ::buffa::Message for Duration {
117 #[allow(clippy::let_and_return)]
123 fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
124 #[allow(unused_imports)]
125 use ::buffa::Enumeration as _;
126 let mut size = 0u32;
127 if self.seconds != 0i64 {
128 size += 1u32 + ::buffa::types::int64_encoded_len(self.seconds) as u32;
129 }
130 if self.nanos != 0i32 {
131 size += 1u32 + ::buffa::types::int32_encoded_len(self.nanos) as u32;
132 }
133 size += self.__buffa_unknown_fields.encoded_len() as u32;
134 size
135 }
136 fn write_to(
137 &self,
138 _cache: &mut ::buffa::SizeCache,
139 buf: &mut impl ::buffa::bytes::BufMut,
140 ) {
141 #[allow(unused_imports)]
142 use ::buffa::Enumeration as _;
143 if self.seconds != 0i64 {
144 ::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
145 .encode(buf);
146 ::buffa::types::encode_int64(self.seconds, buf);
147 }
148 if self.nanos != 0i32 {
149 ::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
150 .encode(buf);
151 ::buffa::types::encode_int32(self.nanos, buf);
152 }
153 self.__buffa_unknown_fields.write_to(buf);
154 }
155 fn merge_field(
156 &mut self,
157 tag: ::buffa::encoding::Tag,
158 buf: &mut impl ::buffa::bytes::Buf,
159 depth: u32,
160 ) -> ::core::result::Result<(), ::buffa::DecodeError> {
161 #[allow(unused_imports)]
162 use ::buffa::bytes::Buf as _;
163 #[allow(unused_imports)]
164 use ::buffa::Enumeration as _;
165 match tag.field_number() {
166 1u32 => {
167 if tag.wire_type() != ::buffa::encoding::WireType::Varint {
168 return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
169 field_number: 1u32,
170 expected: 0u8,
171 actual: tag.wire_type() as u8,
172 });
173 }
174 self.seconds = ::buffa::types::decode_int64(buf)?;
175 }
176 2u32 => {
177 if tag.wire_type() != ::buffa::encoding::WireType::Varint {
178 return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
179 field_number: 2u32,
180 expected: 0u8,
181 actual: tag.wire_type() as u8,
182 });
183 }
184 self.nanos = ::buffa::types::decode_int32(buf)?;
185 }
186 _ => {
187 self.__buffa_unknown_fields
188 .push(::buffa::encoding::decode_unknown_field(tag, buf, depth)?);
189 }
190 }
191 ::core::result::Result::Ok(())
192 }
193 fn clear(&mut self) {
194 self.seconds = 0i64;
195 self.nanos = 0i32;
196 self.__buffa_unknown_fields.clear();
197 }
198}
199impl ::buffa::ExtensionSet for Duration {
200 const PROTO_FQN: &'static str = "google.protobuf.Duration";
201 fn unknown_fields(&self) -> &::buffa::UnknownFields {
202 &self.__buffa_unknown_fields
203 }
204 fn unknown_fields_mut(&mut self) -> &mut ::buffa::UnknownFields {
205 &mut self.__buffa_unknown_fields
206 }
207}
208impl ::buffa::text::TextFormat for Duration {
209 fn encode_text(
210 &self,
211 enc: &mut ::buffa::text::TextEncoder<'_>,
212 ) -> ::core::fmt::Result {
213 #[allow(unused_imports)]
214 use ::buffa::Enumeration as _;
215 if self.seconds != 0i64 {
216 enc.write_field_name("seconds")?;
217 enc.write_i64(self.seconds)?;
218 }
219 if self.nanos != 0i32 {
220 enc.write_field_name("nanos")?;
221 enc.write_i32(self.nanos)?;
222 }
223 enc.write_unknown_fields(&self.__buffa_unknown_fields)?;
224 ::core::result::Result::Ok(())
225 }
226 fn merge_text(
227 &mut self,
228 dec: &mut ::buffa::text::TextDecoder<'_>,
229 ) -> ::core::result::Result<(), ::buffa::text::ParseError> {
230 #[allow(unused_imports)]
231 use ::buffa::Enumeration as _;
232 while let ::core::option::Option::Some(__name) = dec.read_field_name()? {
233 match __name {
234 "seconds" => self.seconds = dec.read_i64()?,
235 "nanos" => self.nanos = dec.read_i32()?,
236 _ => dec.skip_value()?,
237 }
238 }
239 ::core::result::Result::Ok(())
240 }
241}
242#[doc(hidden)]
243pub const __DURATION_TEXT_ANY: ::buffa::type_registry::TextAnyEntry = ::buffa::type_registry::TextAnyEntry {
244 type_url: "type.googleapis.com/google.protobuf.Duration",
245 text_encode: ::buffa::type_registry::any_encode_text::<Duration>,
246 text_merge: ::buffa::type_registry::any_merge_text::<Duration>,
247};