1#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::client::QueryResponseFut;
8use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
9use fidl::endpoints::{ControlHandle as _, Responder as _};
10pub use fidl_fidl_test_compatibility_common::*;
11use futures::future::{self, MaybeDone, TryFutureExt};
12use zx_status;
13
14#[derive(Debug, PartialEq)]
15pub struct ArraysStruct {
16 pub bools: [bool; 3],
17 pub int8s: [i8; 3],
18 pub int16s: [i16; 3],
19 pub int32s: [i32; 3],
20 pub int64s: [i64; 3],
21 pub uint8s: [u8; 3],
22 pub uint16s: [u16; 3],
23 pub uint32s: [u32; 3],
24 pub uint64s: [u64; 3],
25 pub float32s: [f32; 3],
26 pub float64s: [f64; 3],
27 pub enums: [DefaultEnum; 3],
28 pub bits: [DefaultBits; 3],
29 pub handles: [fidl::NullableHandle; 3],
30 pub nullable_handles: [Option<fidl::NullableHandle>; 3],
31 pub strings: [String; 3],
32 pub nullable_strings: [Option<String>; 3],
33 pub structs: [ThisIsAStruct; 3],
34 pub nullable_structs: [Option<Box<ThisIsAStruct>>; 3],
35 pub unions: [ThisIsAUnion; 3],
36 pub nullable_unions: [Option<Box<ThisIsAUnion>>; 3],
37 pub arrays: [[u32; 3]; 3],
38 pub vectors: [Vec<u32>; 3],
39 pub nullable_vectors: [Option<Vec<u32>>; 3],
40 pub tables: [ThisIsATable; 3],
41 pub xunions: [ThisIsAXunion; 3],
42}
43
44impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for ArraysStruct {}
45
46#[derive(Debug, PartialEq)]
47pub struct EchoEchoArraysRequest {
48 pub value: ArraysStruct,
49 pub forward_to_server: String,
50}
51
52impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoArraysRequest {}
53
54#[derive(Debug, PartialEq)]
55pub struct EchoEchoArraysResponse {
56 pub value: ArraysStruct,
57}
58
59impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoArraysResponse {}
60
61#[derive(Debug, PartialEq)]
62pub struct EchoEchoArraysWithErrorRequest {
63 pub value: ArraysStruct,
64 pub result_err: DefaultEnum,
65 pub forward_to_server: String,
66 pub result_variant: RespondWith,
67}
68
69impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
70 for EchoEchoArraysWithErrorRequest
71{
72}
73
74#[derive(Debug, PartialEq)]
75pub struct EchoEchoEventRequest {
76 pub value: Struct,
77}
78
79impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoEventRequest {}
80
81#[derive(Debug, PartialEq)]
82pub struct EchoEchoStructNoRetValRequest {
83 pub value: Struct,
84 pub forward_to_server: String,
85}
86
87impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
88 for EchoEchoStructNoRetValRequest
89{
90}
91
92#[derive(Debug, PartialEq)]
93pub struct EchoEchoStructRequest {
94 pub value: Struct,
95 pub forward_to_server: String,
96}
97
98impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoStructRequest {}
99
100#[derive(Debug, PartialEq)]
101pub struct EchoEchoStructResponse {
102 pub value: Struct,
103}
104
105impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoStructResponse {}
106
107#[derive(Debug, PartialEq)]
108pub struct EchoEchoStructWithErrorRequest {
109 pub value: Struct,
110 pub result_err: DefaultEnum,
111 pub forward_to_server: String,
112 pub result_variant: RespondWith,
113}
114
115impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
116 for EchoEchoStructWithErrorRequest
117{
118}
119
120#[derive(Debug, PartialEq)]
121pub struct EchoEchoTableRequest {
122 pub value: AllTypesTable,
123 pub forward_to_server: String,
124}
125
126impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoTableRequest {}
127
128#[derive(Debug, PartialEq)]
129pub struct EchoEchoTableResponse {
130 pub value: AllTypesTable,
131}
132
133impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoTableResponse {}
134
135#[derive(Debug, PartialEq)]
136pub struct EchoEchoTableWithErrorRequest {
137 pub value: AllTypesTable,
138 pub result_err: DefaultEnum,
139 pub forward_to_server: String,
140 pub result_variant: RespondWith,
141}
142
143impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
144 for EchoEchoTableWithErrorRequest
145{
146}
147
148#[derive(Debug, PartialEq)]
149pub struct EchoEchoVectorsRequest {
150 pub value: VectorsStruct,
151 pub forward_to_server: String,
152}
153
154impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoVectorsRequest {}
155
156#[derive(Debug, PartialEq)]
157pub struct EchoEchoVectorsResponse {
158 pub value: VectorsStruct,
159}
160
161impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoVectorsResponse {}
162
163#[derive(Debug, PartialEq)]
164pub struct EchoEchoVectorsWithErrorRequest {
165 pub value: VectorsStruct,
166 pub result_err: DefaultEnum,
167 pub forward_to_server: String,
168 pub result_variant: RespondWith,
169}
170
171impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
172 for EchoEchoVectorsWithErrorRequest
173{
174}
175
176#[derive(Debug, PartialEq)]
177pub struct EchoEchoXunionsRequest {
178 pub value: Vec<AllTypesXunion>,
179 pub forward_to_server: String,
180}
181
182impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoXunionsRequest {}
183
184#[derive(Debug, PartialEq)]
185pub struct EchoEchoXunionsResponse {
186 pub value: Vec<AllTypesXunion>,
187}
188
189impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for EchoEchoXunionsResponse {}
190
191#[derive(Debug, PartialEq)]
192pub struct EchoEchoXunionsWithErrorRequest {
193 pub value: Vec<AllTypesXunion>,
194 pub result_err: DefaultEnum,
195 pub forward_to_server: String,
196 pub result_variant: RespondWith,
197}
198
199impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
200 for EchoEchoXunionsWithErrorRequest
201{
202}
203
204#[derive(Debug, PartialEq)]
205pub struct EchoEchoArraysWithErrorResponse {
206 pub value: ArraysStruct,
207}
208
209impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
210 for EchoEchoArraysWithErrorResponse
211{
212}
213
214#[derive(Debug, PartialEq)]
215pub struct EchoEchoStructWithErrorResponse {
216 pub value: Struct,
217}
218
219impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
220 for EchoEchoStructWithErrorResponse
221{
222}
223
224#[derive(Debug, PartialEq)]
225pub struct EchoEchoTableWithErrorResponse {
226 pub value: AllTypesTable,
227}
228
229impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
230 for EchoEchoTableWithErrorResponse
231{
232}
233
234#[derive(Debug, PartialEq)]
235pub struct EchoEchoVectorsWithErrorResponse {
236 pub value: VectorsStruct,
237}
238
239impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
240 for EchoEchoVectorsWithErrorResponse
241{
242}
243
244#[derive(Debug, PartialEq)]
245pub struct EchoEchoXunionsWithErrorResponse {
246 pub value: Vec<AllTypesXunion>,
247}
248
249impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
250 for EchoEchoXunionsWithErrorResponse
251{
252}
253
254#[derive(Debug, PartialEq)]
255pub struct Struct {
256 pub primitive_types: PrimitiveTypes,
257 pub default_values: DefaultValues,
258 pub arrays: Arrays,
259 pub arrays_2d: Arrays2d,
260 pub vectors: Vectors,
261 pub handles: Handles,
262 pub strings: Strings,
263 pub default_enum: DefaultEnum,
264 pub i8_enum: I8Enum,
265 pub i16_enum: I16Enum,
266 pub i32_enum: I32Enum,
267 pub i64_enum: I64Enum,
268 pub u8_enum: U8Enum,
269 pub u16_enum: U16Enum,
270 pub u32_enum: U32Enum,
271 pub u64_enum: U64Enum,
272 pub default_bits: DefaultBits,
273 pub u8_bits: U8Bits,
274 pub u16_bits: U16Bits,
275 pub u32_bits: U32Bits,
276 pub u64_bits: U64Bits,
277 pub structs: Structs,
278 pub unions: Unions,
279 pub table: ThisIsATable,
280 pub xunion: ThisIsAXunion,
281 pub b: bool,
282}
283
284impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for Struct {}
285
286#[derive(Debug, PartialEq)]
287pub struct VectorsStruct {
288 pub bools: Vec<bool>,
289 pub int8s: Vec<i8>,
290 pub int16s: Vec<i16>,
291 pub int32s: Vec<i32>,
292 pub int64s: Vec<i64>,
293 pub uint8s: Vec<u8>,
294 pub uint16s: Vec<u16>,
295 pub uint32s: Vec<u32>,
296 pub uint64s: Vec<u64>,
297 pub float32s: Vec<f32>,
298 pub float64s: Vec<f64>,
299 pub enums: Vec<DefaultEnum>,
300 pub bits: Vec<DefaultBits>,
301 pub handles: Vec<fidl::NullableHandle>,
302 pub nullable_handles: Vec<Option<fidl::NullableHandle>>,
303 pub strings: Vec<String>,
304 pub nullable_strings: Vec<Option<String>>,
305 pub structs: Vec<ThisIsAStruct>,
306 pub nullable_structs: Vec<Option<Box<ThisIsAStruct>>>,
307 pub unions: Vec<ThisIsAUnion>,
308 pub nullable_unions: Vec<Option<Box<ThisIsAUnion>>>,
309 pub arrays: Vec<[u32; 3]>,
310 pub vectors: Vec<Vec<u32>>,
311 pub nullable_vectors: Vec<Option<Vec<u32>>>,
312 pub tables: Vec<ThisIsATable>,
313 pub xunions: Vec<ThisIsAXunion>,
314}
315
316impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for VectorsStruct {}
317
318#[derive(Debug, PartialEq, PartialOrd)]
319pub struct Arrays {
320 pub b_0: [bool; 1],
321 pub i8_0: [i8; 1],
322 pub i16_0: [i16; 1],
323 pub i32_0: [i32; 1],
324 pub i64_0: [i64; 1],
325 pub u8_0: [u8; 1],
326 pub u16_0: [u16; 1],
327 pub u32_0: [u32; 1],
328 pub u64_0: [u64; 1],
329 pub f32_0: [f32; 1],
330 pub f64_0: [f64; 1],
331 pub handle_0: [fidl::NullableHandle; 1],
332 pub b_1: [bool; 3],
333 pub i8_1: [i8; 3],
334 pub i16_1: [i16; 3],
335 pub i32_1: [i32; 3],
336 pub i64_1: [i64; 3],
337 pub u8_1: [u8; 3],
338 pub u16_1: [u16; 3],
339 pub u32_1: [u32; 3],
340 pub u64_1: [u64; 3],
341 pub f32_1: [f32; 3],
342 pub f64_1: [f64; 3],
343 pub handle_1: [fidl::NullableHandle; 3],
344}
345
346impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for Arrays {}
347
348#[derive(Debug, PartialEq, PartialOrd)]
349pub struct Arrays2d {
350 pub b: [[bool; 2]; 3],
351 pub i8: [[i8; 2]; 3],
352 pub i16: [[i16; 2]; 3],
353 pub i32: [[i32; 2]; 3],
354 pub i64: [[i64; 2]; 3],
355 pub u8: [[u8; 2]; 3],
356 pub u16: [[u16; 2]; 3],
357 pub u32: [[u32; 2]; 3],
358 pub u64: [[u64; 2]; 3],
359 pub f32: [[f32; 2]; 3],
360 pub f64: [[f64; 2]; 3],
361 pub handle_handle: [[fidl::NullableHandle; 2]; 3],
362}
363
364impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for Arrays2d {}
365
366#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
367pub struct Handles {
368 pub handle_handle: fidl::NullableHandle,
369 pub process_handle: fidl::Process,
370 pub thread_handle: fidl::Thread,
371 pub vmo_handle: fidl::Vmo,
372 pub event_handle: fidl::Event,
373 pub port_handle: fidl::Port,
374 pub socket_handle: fidl::Socket,
375 pub eventpair_handle: fidl::EventPair,
376 pub job_handle: fidl::Job,
377 pub vmar_handle: fidl::Vmar,
378 pub fifo_handle: fidl::Fifo,
379 pub timer_handle: fidl::Timer,
380 pub nullable_handle_handle: Option<fidl::NullableHandle>,
381 pub nullable_process_handle: Option<fidl::Process>,
382 pub nullable_thread_handle: Option<fidl::Thread>,
383 pub nullable_vmo_handle: Option<fidl::Vmo>,
384 pub nullable_channel_handle: Option<fidl::Channel>,
385 pub nullable_event_handle: Option<fidl::Event>,
386 pub nullable_port_handle: Option<fidl::Port>,
387 pub nullable_interrupt_handle: Option<fidl::Interrupt>,
388 pub nullable_log_handle: Option<fidl::DebugLog>,
389 pub nullable_socket_handle: Option<fidl::Socket>,
390 pub nullable_eventpair_handle: Option<fidl::EventPair>,
391 pub nullable_job_handle: Option<fidl::Job>,
392 pub nullable_vmar_handle: Option<fidl::Vmar>,
393 pub nullable_fifo_handle: Option<fidl::Fifo>,
394 pub nullable_timer_handle: Option<fidl::Timer>,
395}
396
397impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for Handles {}
398
399#[derive(Debug, PartialEq, PartialOrd)]
400pub struct Vectors {
401 pub b_0: Vec<bool>,
402 pub i8_0: Vec<i8>,
403 pub i16_0: Vec<i16>,
404 pub i32_0: Vec<i32>,
405 pub i64_0: Vec<i64>,
406 pub u8_0: Vec<u8>,
407 pub u16_0: Vec<u16>,
408 pub u32_0: Vec<u32>,
409 pub u64_0: Vec<u64>,
410 pub f32_0: Vec<f32>,
411 pub f64_0: Vec<f64>,
412 pub handle_0: Vec<fidl::NullableHandle>,
413 pub b_1: Vec<Vec<bool>>,
414 pub i8_1: Vec<Vec<i8>>,
415 pub i16_1: Vec<Vec<i16>>,
416 pub i32_1: Vec<Vec<i32>>,
417 pub i64_1: Vec<Vec<i64>>,
418 pub u8_1: Vec<Vec<u8>>,
419 pub u16_1: Vec<Vec<u16>>,
420 pub u32_1: Vec<Vec<u32>>,
421 pub u64_1: Vec<Vec<u64>>,
422 pub f32_1: Vec<Vec<f32>>,
423 pub f64_1: Vec<Vec<f64>>,
424 pub handle_1: Vec<Vec<fidl::NullableHandle>>,
425 pub b_sized_0: Vec<bool>,
426 pub i8_sized_0: Vec<i8>,
427 pub i16_sized_0: Vec<i16>,
428 pub i32_sized_0: Vec<i32>,
429 pub i64_sized_0: Vec<i64>,
430 pub u8_sized_0: Vec<u8>,
431 pub u16_sized_0: Vec<u16>,
432 pub u32_sized_0: Vec<u32>,
433 pub u64_sized_0: Vec<u64>,
434 pub f32_sized_0: Vec<f32>,
435 pub f64_sized_0: Vec<f64>,
436 pub handle_sized_0: Vec<fidl::NullableHandle>,
437 pub b_sized_1: Vec<bool>,
438 pub i8_sized_1: Vec<i8>,
439 pub i16_sized_1: Vec<i16>,
440 pub i32_sized_1: Vec<i32>,
441 pub i64_sized_1: Vec<i64>,
442 pub u8_sized_1: Vec<u8>,
443 pub u16_sized_1: Vec<u16>,
444 pub u32_sized_1: Vec<u32>,
445 pub u64_sized_1: Vec<u64>,
446 pub f32_sized_1: Vec<f32>,
447 pub f64_sized_1: Vec<f64>,
448 pub handle_sized_1: Vec<fidl::NullableHandle>,
449 pub b_sized_2: Vec<Vec<bool>>,
450 pub i8_sized_2: Vec<Vec<i8>>,
451 pub i16_sized_2: Vec<Vec<i16>>,
452 pub i32_sized_2: Vec<Vec<i32>>,
453 pub i64_sized_2: Vec<Vec<i64>>,
454 pub u8_sized_2: Vec<Vec<u8>>,
455 pub u16_sized_2: Vec<Vec<u16>>,
456 pub u32_sized_2: Vec<Vec<u32>>,
457 pub u64_sized_2: Vec<Vec<u64>>,
458 pub f32_sized_2: Vec<Vec<f32>>,
459 pub f64_sized_2: Vec<Vec<f64>>,
460 pub handle_sized_2: Vec<Vec<fidl::NullableHandle>>,
461 pub b_nullable_0: Option<Vec<bool>>,
462 pub i8_nullable_0: Option<Vec<i8>>,
463 pub i16_nullable_0: Option<Vec<i16>>,
464 pub i32_nullable_0: Option<Vec<i32>>,
465 pub i64_nullable_0: Option<Vec<i64>>,
466 pub u8_nullable_0: Option<Vec<u8>>,
467 pub u16_nullable_0: Option<Vec<u16>>,
468 pub u32_nullable_0: Option<Vec<u32>>,
469 pub u64_nullable_0: Option<Vec<u64>>,
470 pub f32_nullable_0: Option<Vec<f32>>,
471 pub f64_nullable_0: Option<Vec<f64>>,
472 pub handle_nullable_0: Option<Vec<fidl::NullableHandle>>,
473 pub b_nullable_1: Option<Vec<Vec<bool>>>,
474 pub i8_nullable_1: Option<Vec<Vec<i8>>>,
475 pub i16_nullable_1: Option<Vec<Vec<i16>>>,
476 pub i32_nullable_1: Option<Vec<Vec<i32>>>,
477 pub i64_nullable_1: Option<Vec<Vec<i64>>>,
478 pub u8_nullable_1: Option<Vec<Vec<u8>>>,
479 pub u16_nullable_1: Option<Vec<Vec<u16>>>,
480 pub u32_nullable_1: Option<Vec<Vec<u32>>>,
481 pub u64_nullable_1: Option<Vec<Vec<u64>>>,
482 pub f32_nullable_1: Option<Vec<Vec<f32>>>,
483 pub f64_nullable_1: Option<Vec<Vec<f64>>>,
484 pub handle_nullable_1: Option<Vec<Vec<fidl::NullableHandle>>>,
485 pub b_nullable_sized_0: Option<Vec<bool>>,
486 pub i8_nullable_sized_0: Option<Vec<i8>>,
487 pub i16_nullable_sized_0: Option<Vec<i16>>,
488 pub i32_nullable_sized_0: Option<Vec<i32>>,
489 pub i64_nullable_sized_0: Option<Vec<i64>>,
490 pub u8_nullable_sized_0: Option<Vec<u8>>,
491 pub u16_nullable_sized_0: Option<Vec<u16>>,
492 pub u32_nullable_sized_0: Option<Vec<u32>>,
493 pub u64_nullable_sized_0: Option<Vec<u64>>,
494 pub f32_nullable_sized_0: Option<Vec<f32>>,
495 pub f64_nullable_sized_0: Option<Vec<f64>>,
496 pub handle_nullable_sized_0: Option<Vec<fidl::NullableHandle>>,
497 pub b_nullable_sized_1: Option<Vec<bool>>,
498 pub i8_nullable_sized_1: Option<Vec<i8>>,
499 pub i16_nullable_sized_1: Option<Vec<i16>>,
500 pub i32_nullable_sized_1: Option<Vec<i32>>,
501 pub i64_nullable_sized_1: Option<Vec<i64>>,
502 pub u8_nullable_sized_1: Option<Vec<u8>>,
503 pub u16_nullable_sized_1: Option<Vec<u16>>,
504 pub u32_nullable_sized_1: Option<Vec<u32>>,
505 pub u64_nullable_sized_1: Option<Vec<u64>>,
506 pub f32_nullable_sized_1: Option<Vec<f32>>,
507 pub f64_nullable_sized_1: Option<Vec<f64>>,
508 pub handle_nullable_sized_1: Option<Vec<fidl::NullableHandle>>,
509 pub b_nullable_sized_2: Option<Vec<Vec<bool>>>,
510 pub i8_nullable_sized_2: Option<Vec<Vec<i8>>>,
511 pub i16_nullable_sized_2: Option<Vec<Vec<i16>>>,
512 pub i32_nullable_sized_2: Option<Vec<Vec<i32>>>,
513 pub i64_nullable_sized_2: Option<Vec<Vec<i64>>>,
514 pub u8_nullable_sized_2: Option<Vec<Vec<u8>>>,
515 pub u16_nullable_sized_2: Option<Vec<Vec<u16>>>,
516 pub u32_nullable_sized_2: Option<Vec<Vec<u32>>>,
517 pub u64_nullable_sized_2: Option<Vec<Vec<u64>>>,
518 pub f32_nullable_sized_2: Option<Vec<Vec<f32>>>,
519 pub f64_nullable_sized_2: Option<Vec<Vec<f64>>>,
520 pub handle_nullable_sized_2: Option<Vec<Vec<fidl::NullableHandle>>>,
521}
522
523impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for Vectors {}
524
525#[derive(Debug, Default, PartialEq)]
526pub struct AllTypesTable {
527 pub bool_member: Option<bool>,
528 pub int8_member: Option<i8>,
529 pub int16_member: Option<i16>,
530 pub int32_member: Option<i32>,
531 pub int64_member: Option<i64>,
532 pub uint8_member: Option<u8>,
533 pub uint16_member: Option<u16>,
534 pub uint32_member: Option<u32>,
535 pub uint64_member: Option<u64>,
536 pub float32_member: Option<f32>,
537 pub float64_member: Option<f64>,
538 pub enum_member: Option<DefaultEnum>,
539 pub bits_member: Option<DefaultBits>,
540 pub handle_member: Option<fidl::NullableHandle>,
541 pub string_member: Option<String>,
542 pub struct_member: Option<ThisIsAStruct>,
543 pub union_member: Option<ThisIsAUnion>,
544 pub array_member: Option<[u32; 3]>,
545 pub vector_member: Option<Vec<u32>>,
546 pub table_member: Option<ThisIsATable>,
547 pub xunion_member: Option<ThisIsAXunion>,
548 #[doc(hidden)]
549 pub __source_breaking: fidl::marker::SourceBreaking,
550}
551
552impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for AllTypesTable {}
553
554#[derive(Debug)]
555pub enum AllTypesXunion {
556 BoolMember(bool),
557 Int8Member(i8),
558 Int16Member(i16),
559 Int32Member(i32),
560 Int64Member(i64),
561 Uint8Member(u8),
562 Uint16Member(u16),
563 Uint32Member(u32),
564 Uint64Member(u64),
565 Float32Member(f32),
566 Float64Member(f64),
567 EnumMember(DefaultEnum),
568 BitsMember(DefaultBits),
569 HandleMember(fidl::NullableHandle),
570 StringMember(String),
571 StructMember(ThisIsAStruct),
572 UnionMember(ThisIsAUnion),
573 ArrayMember([u32; 3]),
574 VectorMember(Vec<u32>),
575 TableMember(ThisIsATable),
576 XunionMember(ThisIsAXunion),
577 #[doc(hidden)]
578 __SourceBreaking {
579 unknown_ordinal: u64,
580 },
581}
582
583#[macro_export]
585macro_rules! AllTypesXunionUnknown {
586 () => {
587 _
588 };
589}
590
591impl PartialEq for AllTypesXunion {
593 fn eq(&self, other: &Self) -> bool {
594 match (self, other) {
595 (Self::BoolMember(x), Self::BoolMember(y)) => *x == *y,
596 (Self::Int8Member(x), Self::Int8Member(y)) => *x == *y,
597 (Self::Int16Member(x), Self::Int16Member(y)) => *x == *y,
598 (Self::Int32Member(x), Self::Int32Member(y)) => *x == *y,
599 (Self::Int64Member(x), Self::Int64Member(y)) => *x == *y,
600 (Self::Uint8Member(x), Self::Uint8Member(y)) => *x == *y,
601 (Self::Uint16Member(x), Self::Uint16Member(y)) => *x == *y,
602 (Self::Uint32Member(x), Self::Uint32Member(y)) => *x == *y,
603 (Self::Uint64Member(x), Self::Uint64Member(y)) => *x == *y,
604 (Self::Float32Member(x), Self::Float32Member(y)) => *x == *y,
605 (Self::Float64Member(x), Self::Float64Member(y)) => *x == *y,
606 (Self::EnumMember(x), Self::EnumMember(y)) => *x == *y,
607 (Self::BitsMember(x), Self::BitsMember(y)) => *x == *y,
608 (Self::HandleMember(x), Self::HandleMember(y)) => *x == *y,
609 (Self::StringMember(x), Self::StringMember(y)) => *x == *y,
610 (Self::StructMember(x), Self::StructMember(y)) => *x == *y,
611 (Self::UnionMember(x), Self::UnionMember(y)) => *x == *y,
612 (Self::ArrayMember(x), Self::ArrayMember(y)) => *x == *y,
613 (Self::VectorMember(x), Self::VectorMember(y)) => *x == *y,
614 (Self::TableMember(x), Self::TableMember(y)) => *x == *y,
615 (Self::XunionMember(x), Self::XunionMember(y)) => *x == *y,
616 _ => false,
617 }
618 }
619}
620
621impl AllTypesXunion {
622 #[inline]
623 pub fn ordinal(&self) -> u64 {
624 match *self {
625 Self::BoolMember(_) => 1,
626 Self::Int8Member(_) => 2,
627 Self::Int16Member(_) => 3,
628 Self::Int32Member(_) => 4,
629 Self::Int64Member(_) => 5,
630 Self::Uint8Member(_) => 6,
631 Self::Uint16Member(_) => 7,
632 Self::Uint32Member(_) => 8,
633 Self::Uint64Member(_) => 9,
634 Self::Float32Member(_) => 10,
635 Self::Float64Member(_) => 11,
636 Self::EnumMember(_) => 12,
637 Self::BitsMember(_) => 13,
638 Self::HandleMember(_) => 14,
639 Self::StringMember(_) => 15,
640 Self::StructMember(_) => 16,
641 Self::UnionMember(_) => 17,
642 Self::ArrayMember(_) => 18,
643 Self::VectorMember(_) => 19,
644 Self::TableMember(_) => 20,
645 Self::XunionMember(_) => 21,
646 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
647 }
648 }
649
650 #[inline]
651 pub fn unknown_variant_for_testing() -> Self {
652 Self::__SourceBreaking { unknown_ordinal: 0 }
653 }
654
655 #[inline]
656 pub fn is_unknown(&self) -> bool {
657 match self {
658 Self::__SourceBreaking { .. } => true,
659 _ => false,
660 }
661 }
662}
663
664impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for AllTypesXunion {}
665
666#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
667pub struct ConfigMarker;
668
669impl fidl::endpoints::ProtocolMarker for ConfigMarker {
670 type Proxy = ConfigProxy;
671 type RequestStream = ConfigRequestStream;
672 #[cfg(target_os = "fuchsia")]
673 type SynchronousProxy = ConfigSynchronousProxy;
674
675 const DEBUG_NAME: &'static str = "fidl.test.compatibility.Config";
676}
677impl fidl::endpoints::DiscoverableProtocolMarker for ConfigMarker {}
678
679pub trait ConfigProxyInterface: Send + Sync {
680 type GetImplsResponseFut: std::future::Future<Output = Result<Vec<String>, fidl::Error>> + Send;
681 fn r#get_impls(&self) -> Self::GetImplsResponseFut;
682}
683#[derive(Debug)]
684#[cfg(target_os = "fuchsia")]
685pub struct ConfigSynchronousProxy {
686 client: fidl::client::sync::Client,
687}
688
689#[cfg(target_os = "fuchsia")]
690impl fidl::endpoints::SynchronousProxy for ConfigSynchronousProxy {
691 type Proxy = ConfigProxy;
692 type Protocol = ConfigMarker;
693
694 fn from_channel(inner: fidl::Channel) -> Self {
695 Self::new(inner)
696 }
697
698 fn into_channel(self) -> fidl::Channel {
699 self.client.into_channel()
700 }
701
702 fn as_channel(&self) -> &fidl::Channel {
703 self.client.as_channel()
704 }
705}
706
707#[cfg(target_os = "fuchsia")]
708impl ConfigSynchronousProxy {
709 pub fn new(channel: fidl::Channel) -> Self {
710 Self { client: fidl::client::sync::Client::new(channel) }
711 }
712
713 pub fn into_channel(self) -> fidl::Channel {
714 self.client.into_channel()
715 }
716
717 pub fn wait_for_event(
720 &self,
721 deadline: zx::MonotonicInstant,
722 ) -> Result<ConfigEvent, fidl::Error> {
723 ConfigEvent::decode(self.client.wait_for_event::<ConfigMarker>(deadline)?)
724 }
725
726 pub fn r#get_impls(
727 &self,
728 ___deadline: zx::MonotonicInstant,
729 ) -> Result<Vec<String>, fidl::Error> {
730 let _response = self
731 .client
732 .send_query::<fidl::encoding::EmptyPayload, ConfigGetImplsResponse, ConfigMarker>(
733 (),
734 0x3b360c86a6dbdfe0,
735 fidl::encoding::DynamicFlags::empty(),
736 ___deadline,
737 )?;
738 Ok(_response.impls)
739 }
740}
741
742#[cfg(target_os = "fuchsia")]
743impl From<ConfigSynchronousProxy> for zx::NullableHandle {
744 fn from(value: ConfigSynchronousProxy) -> Self {
745 value.into_channel().into()
746 }
747}
748
749#[cfg(target_os = "fuchsia")]
750impl From<fidl::Channel> for ConfigSynchronousProxy {
751 fn from(value: fidl::Channel) -> Self {
752 Self::new(value)
753 }
754}
755
756#[cfg(target_os = "fuchsia")]
757impl fidl::endpoints::FromClient for ConfigSynchronousProxy {
758 type Protocol = ConfigMarker;
759
760 fn from_client(value: fidl::endpoints::ClientEnd<ConfigMarker>) -> Self {
761 Self::new(value.into_channel())
762 }
763}
764
765#[derive(Debug, Clone)]
766pub struct ConfigProxy {
767 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
768}
769
770impl fidl::endpoints::Proxy for ConfigProxy {
771 type Protocol = ConfigMarker;
772
773 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
774 Self::new(inner)
775 }
776
777 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
778 self.client.into_channel().map_err(|client| Self { client })
779 }
780
781 fn as_channel(&self) -> &::fidl::AsyncChannel {
782 self.client.as_channel()
783 }
784}
785
786impl ConfigProxy {
787 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
789 let protocol_name = <ConfigMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
790 Self { client: fidl::client::Client::new(channel, protocol_name) }
791 }
792
793 pub fn take_event_stream(&self) -> ConfigEventStream {
799 ConfigEventStream { event_receiver: self.client.take_event_receiver() }
800 }
801
802 pub fn r#get_impls(
803 &self,
804 ) -> fidl::client::QueryResponseFut<Vec<String>, fidl::encoding::DefaultFuchsiaResourceDialect>
805 {
806 ConfigProxyInterface::r#get_impls(self)
807 }
808}
809
810impl ConfigProxyInterface for ConfigProxy {
811 type GetImplsResponseFut =
812 fidl::client::QueryResponseFut<Vec<String>, fidl::encoding::DefaultFuchsiaResourceDialect>;
813 fn r#get_impls(&self) -> Self::GetImplsResponseFut {
814 fn _decode(
815 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
816 ) -> Result<Vec<String>, fidl::Error> {
817 let _response = fidl::client::decode_transaction_body::<
818 ConfigGetImplsResponse,
819 fidl::encoding::DefaultFuchsiaResourceDialect,
820 0x3b360c86a6dbdfe0,
821 >(_buf?)?;
822 Ok(_response.impls)
823 }
824 self.client.send_query_and_decode::<fidl::encoding::EmptyPayload, Vec<String>>(
825 (),
826 0x3b360c86a6dbdfe0,
827 fidl::encoding::DynamicFlags::empty(),
828 _decode,
829 )
830 }
831}
832
833pub struct ConfigEventStream {
834 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
835}
836
837impl std::marker::Unpin for ConfigEventStream {}
838
839impl futures::stream::FusedStream for ConfigEventStream {
840 fn is_terminated(&self) -> bool {
841 self.event_receiver.is_terminated()
842 }
843}
844
845impl futures::Stream for ConfigEventStream {
846 type Item = Result<ConfigEvent, fidl::Error>;
847
848 fn poll_next(
849 mut self: std::pin::Pin<&mut Self>,
850 cx: &mut std::task::Context<'_>,
851 ) -> std::task::Poll<Option<Self::Item>> {
852 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
853 &mut self.event_receiver,
854 cx
855 )?) {
856 Some(buf) => std::task::Poll::Ready(Some(ConfigEvent::decode(buf))),
857 None => std::task::Poll::Ready(None),
858 }
859 }
860}
861
862#[derive(Debug)]
863pub enum ConfigEvent {}
864
865impl ConfigEvent {
866 fn decode(
868 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
869 ) -> Result<ConfigEvent, fidl::Error> {
870 let (bytes, _handles) = buf.split_mut();
871 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
872 debug_assert_eq!(tx_header.tx_id, 0);
873 match tx_header.ordinal {
874 _ => Err(fidl::Error::UnknownOrdinal {
875 ordinal: tx_header.ordinal,
876 protocol_name: <ConfigMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
877 }),
878 }
879 }
880}
881
882pub struct ConfigRequestStream {
884 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
885 is_terminated: bool,
886}
887
888impl std::marker::Unpin for ConfigRequestStream {}
889
890impl futures::stream::FusedStream for ConfigRequestStream {
891 fn is_terminated(&self) -> bool {
892 self.is_terminated
893 }
894}
895
896impl fidl::endpoints::RequestStream for ConfigRequestStream {
897 type Protocol = ConfigMarker;
898 type ControlHandle = ConfigControlHandle;
899
900 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
901 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
902 }
903
904 fn control_handle(&self) -> Self::ControlHandle {
905 ConfigControlHandle { inner: self.inner.clone() }
906 }
907
908 fn into_inner(
909 self,
910 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
911 {
912 (self.inner, self.is_terminated)
913 }
914
915 fn from_inner(
916 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
917 is_terminated: bool,
918 ) -> Self {
919 Self { inner, is_terminated }
920 }
921}
922
923impl futures::Stream for ConfigRequestStream {
924 type Item = Result<ConfigRequest, fidl::Error>;
925
926 fn poll_next(
927 mut self: std::pin::Pin<&mut Self>,
928 cx: &mut std::task::Context<'_>,
929 ) -> std::task::Poll<Option<Self::Item>> {
930 let this = &mut *self;
931 if this.inner.check_shutdown(cx) {
932 this.is_terminated = true;
933 return std::task::Poll::Ready(None);
934 }
935 if this.is_terminated {
936 panic!("polled ConfigRequestStream after completion");
937 }
938 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
939 |bytes, handles| {
940 match this.inner.channel().read_etc(cx, bytes, handles) {
941 std::task::Poll::Ready(Ok(())) => {}
942 std::task::Poll::Pending => return std::task::Poll::Pending,
943 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
944 this.is_terminated = true;
945 return std::task::Poll::Ready(None);
946 }
947 std::task::Poll::Ready(Err(e)) => {
948 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
949 e.into(),
950 ))));
951 }
952 }
953
954 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
956
957 std::task::Poll::Ready(Some(match header.ordinal {
958 0x3b360c86a6dbdfe0 => {
959 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
960 let mut req = fidl::new_empty!(
961 fidl::encoding::EmptyPayload,
962 fidl::encoding::DefaultFuchsiaResourceDialect
963 );
964 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
965 let control_handle = ConfigControlHandle { inner: this.inner.clone() };
966 Ok(ConfigRequest::GetImpls {
967 responder: ConfigGetImplsResponder {
968 control_handle: std::mem::ManuallyDrop::new(control_handle),
969 tx_id: header.tx_id,
970 },
971 })
972 }
973 _ => Err(fidl::Error::UnknownOrdinal {
974 ordinal: header.ordinal,
975 protocol_name:
976 <ConfigMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
977 }),
978 }))
979 },
980 )
981 }
982}
983
984#[derive(Debug)]
985pub enum ConfigRequest {
986 GetImpls { responder: ConfigGetImplsResponder },
987}
988
989impl ConfigRequest {
990 #[allow(irrefutable_let_patterns)]
991 pub fn into_get_impls(self) -> Option<(ConfigGetImplsResponder)> {
992 if let ConfigRequest::GetImpls { responder } = self { Some((responder)) } else { None }
993 }
994
995 pub fn method_name(&self) -> &'static str {
997 match *self {
998 ConfigRequest::GetImpls { .. } => "get_impls",
999 }
1000 }
1001}
1002
1003#[derive(Debug, Clone)]
1004pub struct ConfigControlHandle {
1005 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
1006}
1007
1008impl ConfigControlHandle {
1009 pub fn shutdown_with_epitaph(&self, status: impl Into<fidl::Epitaph>) {
1010 self.inner.shutdown_with_epitaph(status.into())
1011 }
1012}
1013
1014impl fidl::endpoints::ControlHandle for ConfigControlHandle {
1015 fn shutdown(&self) {
1016 self.inner.shutdown()
1017 }
1018
1019 fn shutdown_with_epitaph(&self, status: fidl::Epitaph) {
1020 self.inner.shutdown_with_epitaph(status)
1021 }
1022
1023 fn is_closed(&self) -> bool {
1024 self.inner.channel().is_closed()
1025 }
1026 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
1027 self.inner.channel().on_closed()
1028 }
1029
1030 #[cfg(target_os = "fuchsia")]
1031 fn signal_peer(
1032 &self,
1033 clear_mask: zx::Signals,
1034 set_mask: zx::Signals,
1035 ) -> Result<(), zx_status::Status> {
1036 use fidl::Peered;
1037 self.inner.channel().signal_peer(clear_mask, set_mask)
1038 }
1039}
1040
1041impl ConfigControlHandle {}
1042
1043#[must_use = "FIDL methods require a response to be sent"]
1044#[derive(Debug)]
1045pub struct ConfigGetImplsResponder {
1046 control_handle: std::mem::ManuallyDrop<ConfigControlHandle>,
1047 tx_id: u32,
1048}
1049
1050impl std::ops::Drop for ConfigGetImplsResponder {
1054 fn drop(&mut self) {
1055 self.control_handle.shutdown();
1056 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
1058 }
1059}
1060
1061impl fidl::endpoints::Responder for ConfigGetImplsResponder {
1062 type ControlHandle = ConfigControlHandle;
1063
1064 fn control_handle(&self) -> &ConfigControlHandle {
1065 &self.control_handle
1066 }
1067
1068 fn drop_without_shutdown(mut self) {
1069 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
1071 std::mem::forget(self);
1073 }
1074}
1075
1076impl ConfigGetImplsResponder {
1077 pub fn send(self, mut impls: &[String]) -> Result<(), fidl::Error> {
1081 let _result = self.send_raw(impls);
1082 if _result.is_err() {
1083 self.control_handle.shutdown();
1084 }
1085 self.drop_without_shutdown();
1086 _result
1087 }
1088
1089 pub fn send_no_shutdown_on_err(self, mut impls: &[String]) -> Result<(), fidl::Error> {
1091 let _result = self.send_raw(impls);
1092 self.drop_without_shutdown();
1093 _result
1094 }
1095
1096 fn send_raw(&self, mut impls: &[String]) -> Result<(), fidl::Error> {
1097 self.control_handle.inner.send::<ConfigGetImplsResponse>(
1098 (impls,),
1099 self.tx_id,
1100 0x3b360c86a6dbdfe0,
1101 fidl::encoding::DynamicFlags::empty(),
1102 )
1103 }
1104}
1105
1106#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1107pub struct EchoMarker;
1108
1109impl fidl::endpoints::ProtocolMarker for EchoMarker {
1110 type Proxy = EchoProxy;
1111 type RequestStream = EchoRequestStream;
1112 #[cfg(target_os = "fuchsia")]
1113 type SynchronousProxy = EchoSynchronousProxy;
1114
1115 const DEBUG_NAME: &'static str = "fidl.test.compatibility.Echo";
1116}
1117impl fidl::endpoints::DiscoverableProtocolMarker for EchoMarker {}
1118pub type EchoEchoMinimalWithErrorResult = Result<(), u32>;
1119pub type EchoEchoStructWithErrorResult = Result<Struct, DefaultEnum>;
1120pub type EchoEchoArraysWithErrorResult = Result<ArraysStruct, DefaultEnum>;
1121pub type EchoEchoVectorsWithErrorResult = Result<VectorsStruct, DefaultEnum>;
1122pub type EchoEchoTableWithErrorResult = Result<AllTypesTable, DefaultEnum>;
1123pub type EchoEchoXunionsWithErrorResult = Result<Vec<AllTypesXunion>, DefaultEnum>;
1124pub type EchoEchoNamedStructWithErrorResult = Result<fidl_fidl_test_imported::SimpleStruct, u32>;
1125pub type EchoEchoTablePayloadWithErrorResult = Result<ResponseTable, DefaultEnum>;
1126pub type EchoEchoUnionPayloadWithErrorResult = Result<ResponseUnion, DefaultEnum>;
1127
1128pub trait EchoProxyInterface: Send + Sync {
1129 type EchoTableRequestComposedResponseFut: std::future::Future<Output = Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error>>
1130 + Send;
1131 fn r#echo_table_request_composed(
1132 &self,
1133 payload: &fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
1134 ) -> Self::EchoTableRequestComposedResponseFut;
1135 type EchoUnionResponseWithErrorComposedResponseFut: std::future::Future<
1136 Output = Result<
1137 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
1138 fidl::Error,
1139 >,
1140 > + Send;
1141 fn r#echo_union_response_with_error_composed(
1142 &self,
1143 value: i64,
1144 want_absolute_value: bool,
1145 forward_to_server: &str,
1146 result_err: u32,
1147 result_variant: fidl_fidl_test_imported::WantResponse,
1148 ) -> Self::EchoUnionResponseWithErrorComposedResponseFut;
1149 type EchoMinimalResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
1150 fn r#echo_minimal(&self, forward_to_server: &str) -> Self::EchoMinimalResponseFut;
1151 type EchoMinimalWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoMinimalWithErrorResult, fidl::Error>>
1152 + Send;
1153 fn r#echo_minimal_with_error(
1154 &self,
1155 forward_to_server: &str,
1156 result_variant: RespondWith,
1157 ) -> Self::EchoMinimalWithErrorResponseFut;
1158 fn r#echo_minimal_no_ret_val(&self, forward_to_server: &str) -> Result<(), fidl::Error>;
1159 type EchoStructResponseFut: std::future::Future<Output = Result<Struct, fidl::Error>> + Send;
1160 fn r#echo_struct(&self, value: Struct, forward_to_server: &str) -> Self::EchoStructResponseFut;
1161 type EchoStructWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoStructWithErrorResult, fidl::Error>>
1162 + Send;
1163 fn r#echo_struct_with_error(
1164 &self,
1165 value: Struct,
1166 result_err: DefaultEnum,
1167 forward_to_server: &str,
1168 result_variant: RespondWith,
1169 ) -> Self::EchoStructWithErrorResponseFut;
1170 fn r#echo_struct_no_ret_val(
1171 &self,
1172 value: Struct,
1173 forward_to_server: &str,
1174 ) -> Result<(), fidl::Error>;
1175 type EchoArraysResponseFut: std::future::Future<Output = Result<ArraysStruct, fidl::Error>>
1176 + Send;
1177 fn r#echo_arrays(
1178 &self,
1179 value: ArraysStruct,
1180 forward_to_server: &str,
1181 ) -> Self::EchoArraysResponseFut;
1182 type EchoArraysWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoArraysWithErrorResult, fidl::Error>>
1183 + Send;
1184 fn r#echo_arrays_with_error(
1185 &self,
1186 value: ArraysStruct,
1187 result_err: DefaultEnum,
1188 forward_to_server: &str,
1189 result_variant: RespondWith,
1190 ) -> Self::EchoArraysWithErrorResponseFut;
1191 type EchoVectorsResponseFut: std::future::Future<Output = Result<VectorsStruct, fidl::Error>>
1192 + Send;
1193 fn r#echo_vectors(
1194 &self,
1195 value: VectorsStruct,
1196 forward_to_server: &str,
1197 ) -> Self::EchoVectorsResponseFut;
1198 type EchoVectorsWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoVectorsWithErrorResult, fidl::Error>>
1199 + Send;
1200 fn r#echo_vectors_with_error(
1201 &self,
1202 value: VectorsStruct,
1203 result_err: DefaultEnum,
1204 forward_to_server: &str,
1205 result_variant: RespondWith,
1206 ) -> Self::EchoVectorsWithErrorResponseFut;
1207 type EchoTableResponseFut: std::future::Future<Output = Result<AllTypesTable, fidl::Error>>
1208 + Send;
1209 fn r#echo_table(
1210 &self,
1211 value: AllTypesTable,
1212 forward_to_server: &str,
1213 ) -> Self::EchoTableResponseFut;
1214 type EchoTableWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoTableWithErrorResult, fidl::Error>>
1215 + Send;
1216 fn r#echo_table_with_error(
1217 &self,
1218 value: AllTypesTable,
1219 result_err: DefaultEnum,
1220 forward_to_server: &str,
1221 result_variant: RespondWith,
1222 ) -> Self::EchoTableWithErrorResponseFut;
1223 type EchoXunionsResponseFut: std::future::Future<Output = Result<Vec<AllTypesXunion>, fidl::Error>>
1224 + Send;
1225 fn r#echo_xunions(
1226 &self,
1227 value: Vec<AllTypesXunion>,
1228 forward_to_server: &str,
1229 ) -> Self::EchoXunionsResponseFut;
1230 type EchoXunionsWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoXunionsWithErrorResult, fidl::Error>>
1231 + Send;
1232 fn r#echo_xunions_with_error(
1233 &self,
1234 value: Vec<AllTypesXunion>,
1235 result_err: DefaultEnum,
1236 forward_to_server: &str,
1237 result_variant: RespondWith,
1238 ) -> Self::EchoXunionsWithErrorResponseFut;
1239 type EchoNamedStructResponseFut: std::future::Future<Output = Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error>>
1240 + Send;
1241 fn r#echo_named_struct(
1242 &self,
1243 value: &fidl_fidl_test_imported::SimpleStruct,
1244 forward_to_server: &str,
1245 ) -> Self::EchoNamedStructResponseFut;
1246 type EchoNamedStructWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoNamedStructWithErrorResult, fidl::Error>>
1247 + Send;
1248 fn r#echo_named_struct_with_error(
1249 &self,
1250 value: &fidl_fidl_test_imported::SimpleStruct,
1251 result_err: u32,
1252 forward_to_server: &str,
1253 result_variant: fidl_fidl_test_imported::WantResponse,
1254 ) -> Self::EchoNamedStructWithErrorResponseFut;
1255 fn r#echo_named_struct_no_ret_val(
1256 &self,
1257 value: &fidl_fidl_test_imported::SimpleStruct,
1258 forward_to_server: &str,
1259 ) -> Result<(), fidl::Error>;
1260 type EchoTablePayloadResponseFut: std::future::Future<Output = Result<ResponseTable, fidl::Error>>
1261 + Send;
1262 fn r#echo_table_payload(&self, payload: &RequestTable) -> Self::EchoTablePayloadResponseFut;
1263 type EchoTablePayloadWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoTablePayloadWithErrorResult, fidl::Error>>
1264 + Send;
1265 fn r#echo_table_payload_with_error(
1266 &self,
1267 payload: &EchoEchoTablePayloadWithErrorRequest,
1268 ) -> Self::EchoTablePayloadWithErrorResponseFut;
1269 fn r#echo_table_payload_no_ret_val(&self, payload: &RequestTable) -> Result<(), fidl::Error>;
1270 type EchoUnionPayloadResponseFut: std::future::Future<Output = Result<ResponseUnion, fidl::Error>>
1271 + Send;
1272 fn r#echo_union_payload(&self, payload: &RequestUnion) -> Self::EchoUnionPayloadResponseFut;
1273 type EchoUnionPayloadWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoUnionPayloadWithErrorResult, fidl::Error>>
1274 + Send;
1275 fn r#echo_union_payload_with_error(
1276 &self,
1277 payload: &EchoEchoUnionPayloadWithErrorRequest,
1278 ) -> Self::EchoUnionPayloadWithErrorResponseFut;
1279 fn r#echo_union_payload_no_ret_val(&self, payload: &RequestUnion) -> Result<(), fidl::Error>;
1280}
1281#[derive(Debug)]
1282#[cfg(target_os = "fuchsia")]
1283pub struct EchoSynchronousProxy {
1284 client: fidl::client::sync::Client,
1285}
1286
1287#[cfg(target_os = "fuchsia")]
1288impl fidl::endpoints::SynchronousProxy for EchoSynchronousProxy {
1289 type Proxy = EchoProxy;
1290 type Protocol = EchoMarker;
1291
1292 fn from_channel(inner: fidl::Channel) -> Self {
1293 Self::new(inner)
1294 }
1295
1296 fn into_channel(self) -> fidl::Channel {
1297 self.client.into_channel()
1298 }
1299
1300 fn as_channel(&self) -> &fidl::Channel {
1301 self.client.as_channel()
1302 }
1303}
1304
1305#[cfg(target_os = "fuchsia")]
1306impl EchoSynchronousProxy {
1307 pub fn new(channel: fidl::Channel) -> Self {
1308 Self { client: fidl::client::sync::Client::new(channel) }
1309 }
1310
1311 pub fn into_channel(self) -> fidl::Channel {
1312 self.client.into_channel()
1313 }
1314
1315 pub fn wait_for_event(&self, deadline: zx::MonotonicInstant) -> Result<EchoEvent, fidl::Error> {
1318 EchoEvent::decode(self.client.wait_for_event::<EchoMarker>(deadline)?)
1319 }
1320
1321 pub fn r#echo_table_request_composed(
1322 &self,
1323 mut payload: &fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
1324 ___deadline: zx::MonotonicInstant,
1325 ) -> Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error> {
1326 let _response = self.client.send_query::<
1327 fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
1328 fidl_fidl_test_imported::ResponseStruct,
1329 EchoMarker,
1330 >(
1331 payload,
1332 0x1d545c738c7a8ee,
1333 fidl::encoding::DynamicFlags::empty(),
1334 ___deadline,
1335 )?;
1336 Ok(_response.value)
1337 }
1338
1339 pub fn r#echo_union_response_with_error_composed(
1340 &self,
1341 mut value: i64,
1342 mut want_absolute_value: bool,
1343 mut forward_to_server: &str,
1344 mut result_err: u32,
1345 mut result_variant: fidl_fidl_test_imported::WantResponse,
1346 ___deadline: zx::MonotonicInstant,
1347 ) -> Result<
1348 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
1349 fidl::Error,
1350 > {
1351 let _response = self.client.send_query::<
1352 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedRequest,
1353 fidl::encoding::ResultType<fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse, u32>,
1354 EchoMarker,
1355 >(
1356 (value, want_absolute_value, forward_to_server, result_err, result_variant,),
1357 0x38a67e88d6106443,
1358 fidl::encoding::DynamicFlags::empty(),
1359 ___deadline,
1360 )?;
1361 Ok(_response.map(|x| x))
1362 }
1363
1364 pub fn r#echo_minimal(
1365 &self,
1366 mut forward_to_server: &str,
1367 ___deadline: zx::MonotonicInstant,
1368 ) -> Result<(), fidl::Error> {
1369 let _response = self
1370 .client
1371 .send_query::<EchoEchoMinimalRequest, fidl::encoding::EmptyPayload, EchoMarker>(
1372 (forward_to_server,),
1373 0x39edd68c837482ec,
1374 fidl::encoding::DynamicFlags::empty(),
1375 ___deadline,
1376 )?;
1377 Ok(_response)
1378 }
1379
1380 pub fn r#echo_minimal_with_error(
1381 &self,
1382 mut forward_to_server: &str,
1383 mut result_variant: RespondWith,
1384 ___deadline: zx::MonotonicInstant,
1385 ) -> Result<EchoEchoMinimalWithErrorResult, fidl::Error> {
1386 let _response = self.client.send_query::<
1387 EchoEchoMinimalWithErrorRequest,
1388 fidl::encoding::ResultType<fidl::encoding::EmptyStruct, u32>,
1389 EchoMarker,
1390 >(
1391 (forward_to_server, result_variant,),
1392 0x36f4695996e35acc,
1393 fidl::encoding::DynamicFlags::empty(),
1394 ___deadline,
1395 )?;
1396 Ok(_response.map(|x| x))
1397 }
1398
1399 pub fn r#echo_minimal_no_ret_val(
1400 &self,
1401 mut forward_to_server: &str,
1402 ) -> Result<(), fidl::Error> {
1403 self.client.send::<EchoEchoMinimalNoRetValRequest>(
1404 (forward_to_server,),
1405 0x42693c143e2c3694,
1406 fidl::encoding::DynamicFlags::empty(),
1407 )
1408 }
1409
1410 pub fn r#echo_struct(
1411 &self,
1412 mut value: Struct,
1413 mut forward_to_server: &str,
1414 ___deadline: zx::MonotonicInstant,
1415 ) -> Result<Struct, fidl::Error> {
1416 let _response =
1417 self.client.send_query::<EchoEchoStructRequest, EchoEchoStructResponse, EchoMarker>(
1418 (&mut value, forward_to_server),
1419 0x4c2f85818cc53f37,
1420 fidl::encoding::DynamicFlags::empty(),
1421 ___deadline,
1422 )?;
1423 Ok(_response.value)
1424 }
1425
1426 pub fn r#echo_struct_with_error(
1427 &self,
1428 mut value: Struct,
1429 mut result_err: DefaultEnum,
1430 mut forward_to_server: &str,
1431 mut result_variant: RespondWith,
1432 ___deadline: zx::MonotonicInstant,
1433 ) -> Result<EchoEchoStructWithErrorResult, fidl::Error> {
1434 let _response = self.client.send_query::<
1435 EchoEchoStructWithErrorRequest,
1436 fidl::encoding::ResultType<EchoEchoStructWithErrorResponse, DefaultEnum>,
1437 EchoMarker,
1438 >(
1439 (&mut value, result_err, forward_to_server, result_variant,),
1440 0x46cb32652c4c0899,
1441 fidl::encoding::DynamicFlags::empty(),
1442 ___deadline,
1443 )?;
1444 Ok(_response.map(|x| x.value))
1445 }
1446
1447 pub fn r#echo_struct_no_ret_val(
1448 &self,
1449 mut value: Struct,
1450 mut forward_to_server: &str,
1451 ) -> Result<(), fidl::Error> {
1452 self.client.send::<EchoEchoStructNoRetValRequest>(
1453 (&mut value, forward_to_server),
1454 0x1f763e602cf5892a,
1455 fidl::encoding::DynamicFlags::empty(),
1456 )
1457 }
1458
1459 pub fn r#echo_arrays(
1460 &self,
1461 mut value: ArraysStruct,
1462 mut forward_to_server: &str,
1463 ___deadline: zx::MonotonicInstant,
1464 ) -> Result<ArraysStruct, fidl::Error> {
1465 let _response =
1466 self.client.send_query::<EchoEchoArraysRequest, EchoEchoArraysResponse, EchoMarker>(
1467 (&mut value, forward_to_server),
1468 0x1b6019d5611f2470,
1469 fidl::encoding::DynamicFlags::empty(),
1470 ___deadline,
1471 )?;
1472 Ok(_response.value)
1473 }
1474
1475 pub fn r#echo_arrays_with_error(
1476 &self,
1477 mut value: ArraysStruct,
1478 mut result_err: DefaultEnum,
1479 mut forward_to_server: &str,
1480 mut result_variant: RespondWith,
1481 ___deadline: zx::MonotonicInstant,
1482 ) -> Result<EchoEchoArraysWithErrorResult, fidl::Error> {
1483 let _response = self.client.send_query::<
1484 EchoEchoArraysWithErrorRequest,
1485 fidl::encoding::ResultType<EchoEchoArraysWithErrorResponse, DefaultEnum>,
1486 EchoMarker,
1487 >(
1488 (&mut value, result_err, forward_to_server, result_variant,),
1489 0x6dbf26e67e253afa,
1490 fidl::encoding::DynamicFlags::empty(),
1491 ___deadline,
1492 )?;
1493 Ok(_response.map(|x| x.value))
1494 }
1495
1496 pub fn r#echo_vectors(
1497 &self,
1498 mut value: VectorsStruct,
1499 mut forward_to_server: &str,
1500 ___deadline: zx::MonotonicInstant,
1501 ) -> Result<VectorsStruct, fidl::Error> {
1502 let _response =
1503 self.client.send_query::<EchoEchoVectorsRequest, EchoEchoVectorsResponse, EchoMarker>(
1504 (&mut value, forward_to_server),
1505 0x1582623f0d9f6e5e,
1506 fidl::encoding::DynamicFlags::empty(),
1507 ___deadline,
1508 )?;
1509 Ok(_response.value)
1510 }
1511
1512 pub fn r#echo_vectors_with_error(
1513 &self,
1514 mut value: VectorsStruct,
1515 mut result_err: DefaultEnum,
1516 mut forward_to_server: &str,
1517 mut result_variant: RespondWith,
1518 ___deadline: zx::MonotonicInstant,
1519 ) -> Result<EchoEchoVectorsWithErrorResult, fidl::Error> {
1520 let _response = self.client.send_query::<
1521 EchoEchoVectorsWithErrorRequest,
1522 fidl::encoding::ResultType<EchoEchoVectorsWithErrorResponse, DefaultEnum>,
1523 EchoMarker,
1524 >(
1525 (&mut value, result_err, forward_to_server, result_variant,),
1526 0x730f163401e2b3e5,
1527 fidl::encoding::DynamicFlags::empty(),
1528 ___deadline,
1529 )?;
1530 Ok(_response.map(|x| x.value))
1531 }
1532
1533 pub fn r#echo_table(
1534 &self,
1535 mut value: AllTypesTable,
1536 mut forward_to_server: &str,
1537 ___deadline: zx::MonotonicInstant,
1538 ) -> Result<AllTypesTable, fidl::Error> {
1539 let _response =
1540 self.client.send_query::<EchoEchoTableRequest, EchoEchoTableResponse, EchoMarker>(
1541 (&mut value, forward_to_server),
1542 0x4f1fb0a512f47c4b,
1543 fidl::encoding::DynamicFlags::empty(),
1544 ___deadline,
1545 )?;
1546 Ok(_response.value)
1547 }
1548
1549 pub fn r#echo_table_with_error(
1550 &self,
1551 mut value: AllTypesTable,
1552 mut result_err: DefaultEnum,
1553 mut forward_to_server: &str,
1554 mut result_variant: RespondWith,
1555 ___deadline: zx::MonotonicInstant,
1556 ) -> Result<EchoEchoTableWithErrorResult, fidl::Error> {
1557 let _response = self.client.send_query::<
1558 EchoEchoTableWithErrorRequest,
1559 fidl::encoding::ResultType<EchoEchoTableWithErrorResponse, DefaultEnum>,
1560 EchoMarker,
1561 >(
1562 (&mut value, result_err, forward_to_server, result_variant,),
1563 0x44e835cb1eb9a931,
1564 fidl::encoding::DynamicFlags::empty(),
1565 ___deadline,
1566 )?;
1567 Ok(_response.map(|x| x.value))
1568 }
1569
1570 pub fn r#echo_xunions(
1571 &self,
1572 mut value: Vec<AllTypesXunion>,
1573 mut forward_to_server: &str,
1574 ___deadline: zx::MonotonicInstant,
1575 ) -> Result<Vec<AllTypesXunion>, fidl::Error> {
1576 let _response =
1577 self.client.send_query::<EchoEchoXunionsRequest, EchoEchoXunionsResponse, EchoMarker>(
1578 (value.as_mut(), forward_to_server),
1579 0x3dc181909041a583,
1580 fidl::encoding::DynamicFlags::empty(),
1581 ___deadline,
1582 )?;
1583 Ok(_response.value)
1584 }
1585
1586 pub fn r#echo_xunions_with_error(
1587 &self,
1588 mut value: Vec<AllTypesXunion>,
1589 mut result_err: DefaultEnum,
1590 mut forward_to_server: &str,
1591 mut result_variant: RespondWith,
1592 ___deadline: zx::MonotonicInstant,
1593 ) -> Result<EchoEchoXunionsWithErrorResult, fidl::Error> {
1594 let _response = self.client.send_query::<
1595 EchoEchoXunionsWithErrorRequest,
1596 fidl::encoding::ResultType<EchoEchoXunionsWithErrorResponse, DefaultEnum>,
1597 EchoMarker,
1598 >(
1599 (value.as_mut(), result_err, forward_to_server, result_variant,),
1600 0x75184102667fa766,
1601 fidl::encoding::DynamicFlags::empty(),
1602 ___deadline,
1603 )?;
1604 Ok(_response.map(|x| x.value))
1605 }
1606
1607 pub fn r#echo_named_struct(
1608 &self,
1609 mut value: &fidl_fidl_test_imported::SimpleStruct,
1610 mut forward_to_server: &str,
1611 ___deadline: zx::MonotonicInstant,
1612 ) -> Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error> {
1613 let _response = self.client.send_query::<
1614 fidl_fidl_test_imported::RequestStruct,
1615 fidl_fidl_test_imported::ResponseStruct,
1616 EchoMarker,
1617 >(
1618 (value, forward_to_server,),
1619 0xf2d4aa9e65f7111,
1620 fidl::encoding::DynamicFlags::empty(),
1621 ___deadline,
1622 )?;
1623 Ok(_response.value)
1624 }
1625
1626 pub fn r#echo_named_struct_with_error(
1627 &self,
1628 mut value: &fidl_fidl_test_imported::SimpleStruct,
1629 mut result_err: u32,
1630 mut forward_to_server: &str,
1631 mut result_variant: fidl_fidl_test_imported::WantResponse,
1632 ___deadline: zx::MonotonicInstant,
1633 ) -> Result<EchoEchoNamedStructWithErrorResult, fidl::Error> {
1634 let _response = self.client.send_query::<
1635 fidl_fidl_test_imported::ErrorableRequestStruct,
1636 fidl::encoding::ResultType<fidl_fidl_test_imported::ResponseStruct, u32>,
1637 EchoMarker,
1638 >(
1639 (value, result_err, forward_to_server, result_variant,),
1640 0x5766fee9e74442e8,
1641 fidl::encoding::DynamicFlags::empty(),
1642 ___deadline,
1643 )?;
1644 Ok(_response.map(|x| x.value))
1645 }
1646
1647 pub fn r#echo_named_struct_no_ret_val(
1648 &self,
1649 mut value: &fidl_fidl_test_imported::SimpleStruct,
1650 mut forward_to_server: &str,
1651 ) -> Result<(), fidl::Error> {
1652 self.client.send::<fidl_fidl_test_imported::EventTriggeringRequestStruct>(
1653 (value, forward_to_server),
1654 0x3a50bbf7d2113ad7,
1655 fidl::encoding::DynamicFlags::empty(),
1656 )
1657 }
1658
1659 pub fn r#echo_table_payload(
1660 &self,
1661 mut payload: &RequestTable,
1662 ___deadline: zx::MonotonicInstant,
1663 ) -> Result<ResponseTable, fidl::Error> {
1664 let _response = self.client.send_query::<RequestTable, ResponseTable, EchoMarker>(
1665 payload,
1666 0x641d98087378c003,
1667 fidl::encoding::DynamicFlags::empty(),
1668 ___deadline,
1669 )?;
1670 Ok(_response)
1671 }
1672
1673 pub fn r#echo_table_payload_with_error(
1674 &self,
1675 mut payload: &EchoEchoTablePayloadWithErrorRequest,
1676 ___deadline: zx::MonotonicInstant,
1677 ) -> Result<EchoEchoTablePayloadWithErrorResult, fidl::Error> {
1678 let _response = self.client.send_query::<
1679 EchoEchoTablePayloadWithErrorRequest,
1680 fidl::encoding::ResultType<ResponseTable, DefaultEnum>,
1681 EchoMarker,
1682 >(
1683 payload,
1684 0x636ed243761ab66d,
1685 fidl::encoding::DynamicFlags::empty(),
1686 ___deadline,
1687 )?;
1688 Ok(_response.map(|x| x))
1689 }
1690
1691 pub fn r#echo_table_payload_no_ret_val(
1692 &self,
1693 mut payload: &RequestTable,
1694 ) -> Result<(), fidl::Error> {
1695 self.client.send::<RequestTable>(
1696 payload,
1697 0x32961f7d718569f8,
1698 fidl::encoding::DynamicFlags::empty(),
1699 )
1700 }
1701
1702 pub fn r#echo_union_payload(
1703 &self,
1704 mut payload: &RequestUnion,
1705 ___deadline: zx::MonotonicInstant,
1706 ) -> Result<ResponseUnion, fidl::Error> {
1707 let _response = self.client.send_query::<RequestUnion, ResponseUnion, EchoMarker>(
1708 payload,
1709 0x66def9e793f10c55,
1710 fidl::encoding::DynamicFlags::empty(),
1711 ___deadline,
1712 )?;
1713 Ok(_response)
1714 }
1715
1716 pub fn r#echo_union_payload_with_error(
1717 &self,
1718 mut payload: &EchoEchoUnionPayloadWithErrorRequest,
1719 ___deadline: zx::MonotonicInstant,
1720 ) -> Result<EchoEchoUnionPayloadWithErrorResult, fidl::Error> {
1721 let _response = self.client.send_query::<
1722 EchoEchoUnionPayloadWithErrorRequest,
1723 fidl::encoding::ResultType<ResponseUnion, DefaultEnum>,
1724 EchoMarker,
1725 >(
1726 payload,
1727 0x1be890d6e68ef063,
1728 fidl::encoding::DynamicFlags::empty(),
1729 ___deadline,
1730 )?;
1731 Ok(_response.map(|x| x))
1732 }
1733
1734 pub fn r#echo_union_payload_no_ret_val(
1735 &self,
1736 mut payload: &RequestUnion,
1737 ) -> Result<(), fidl::Error> {
1738 self.client.send::<RequestUnion>(
1739 payload,
1740 0x11518bf346430040,
1741 fidl::encoding::DynamicFlags::empty(),
1742 )
1743 }
1744}
1745
1746#[cfg(target_os = "fuchsia")]
1747impl From<EchoSynchronousProxy> for zx::NullableHandle {
1748 fn from(value: EchoSynchronousProxy) -> Self {
1749 value.into_channel().into()
1750 }
1751}
1752
1753#[cfg(target_os = "fuchsia")]
1754impl From<fidl::Channel> for EchoSynchronousProxy {
1755 fn from(value: fidl::Channel) -> Self {
1756 Self::new(value)
1757 }
1758}
1759
1760#[cfg(target_os = "fuchsia")]
1761impl fidl::endpoints::FromClient for EchoSynchronousProxy {
1762 type Protocol = EchoMarker;
1763
1764 fn from_client(value: fidl::endpoints::ClientEnd<EchoMarker>) -> Self {
1765 Self::new(value.into_channel())
1766 }
1767}
1768
1769#[derive(Debug, Clone)]
1770pub struct EchoProxy {
1771 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
1772}
1773
1774impl fidl::endpoints::Proxy for EchoProxy {
1775 type Protocol = EchoMarker;
1776
1777 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
1778 Self::new(inner)
1779 }
1780
1781 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
1782 self.client.into_channel().map_err(|client| Self { client })
1783 }
1784
1785 fn as_channel(&self) -> &::fidl::AsyncChannel {
1786 self.client.as_channel()
1787 }
1788}
1789
1790impl EchoProxy {
1791 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
1793 let protocol_name = <EchoMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
1794 Self { client: fidl::client::Client::new(channel, protocol_name) }
1795 }
1796
1797 pub fn take_event_stream(&self) -> EchoEventStream {
1803 EchoEventStream { event_receiver: self.client.take_event_receiver() }
1804 }
1805
1806 pub fn r#echo_table_request_composed(
1807 &self,
1808 mut payload: &fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
1809 ) -> fidl::client::QueryResponseFut<
1810 fidl_fidl_test_imported::SimpleStruct,
1811 fidl::encoding::DefaultFuchsiaResourceDialect,
1812 > {
1813 EchoProxyInterface::r#echo_table_request_composed(self, payload)
1814 }
1815
1816 pub fn r#echo_union_response_with_error_composed(
1817 &self,
1818 mut value: i64,
1819 mut want_absolute_value: bool,
1820 mut forward_to_server: &str,
1821 mut result_err: u32,
1822 mut result_variant: fidl_fidl_test_imported::WantResponse,
1823 ) -> fidl::client::QueryResponseFut<
1824 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
1825 fidl::encoding::DefaultFuchsiaResourceDialect,
1826 > {
1827 EchoProxyInterface::r#echo_union_response_with_error_composed(
1828 self,
1829 value,
1830 want_absolute_value,
1831 forward_to_server,
1832 result_err,
1833 result_variant,
1834 )
1835 }
1836
1837 pub fn r#echo_minimal(
1838 &self,
1839 mut forward_to_server: &str,
1840 ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1841 EchoProxyInterface::r#echo_minimal(self, forward_to_server)
1842 }
1843
1844 pub fn r#echo_minimal_with_error(
1845 &self,
1846 mut forward_to_server: &str,
1847 mut result_variant: RespondWith,
1848 ) -> fidl::client::QueryResponseFut<
1849 EchoEchoMinimalWithErrorResult,
1850 fidl::encoding::DefaultFuchsiaResourceDialect,
1851 > {
1852 EchoProxyInterface::r#echo_minimal_with_error(self, forward_to_server, result_variant)
1853 }
1854
1855 pub fn r#echo_minimal_no_ret_val(
1856 &self,
1857 mut forward_to_server: &str,
1858 ) -> Result<(), fidl::Error> {
1859 EchoProxyInterface::r#echo_minimal_no_ret_val(self, forward_to_server)
1860 }
1861
1862 pub fn r#echo_struct(
1863 &self,
1864 mut value: Struct,
1865 mut forward_to_server: &str,
1866 ) -> fidl::client::QueryResponseFut<Struct, fidl::encoding::DefaultFuchsiaResourceDialect> {
1867 EchoProxyInterface::r#echo_struct(self, value, forward_to_server)
1868 }
1869
1870 pub fn r#echo_struct_with_error(
1871 &self,
1872 mut value: Struct,
1873 mut result_err: DefaultEnum,
1874 mut forward_to_server: &str,
1875 mut result_variant: RespondWith,
1876 ) -> fidl::client::QueryResponseFut<
1877 EchoEchoStructWithErrorResult,
1878 fidl::encoding::DefaultFuchsiaResourceDialect,
1879 > {
1880 EchoProxyInterface::r#echo_struct_with_error(
1881 self,
1882 value,
1883 result_err,
1884 forward_to_server,
1885 result_variant,
1886 )
1887 }
1888
1889 pub fn r#echo_struct_no_ret_val(
1890 &self,
1891 mut value: Struct,
1892 mut forward_to_server: &str,
1893 ) -> Result<(), fidl::Error> {
1894 EchoProxyInterface::r#echo_struct_no_ret_val(self, value, forward_to_server)
1895 }
1896
1897 pub fn r#echo_arrays(
1898 &self,
1899 mut value: ArraysStruct,
1900 mut forward_to_server: &str,
1901 ) -> fidl::client::QueryResponseFut<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
1902 {
1903 EchoProxyInterface::r#echo_arrays(self, value, forward_to_server)
1904 }
1905
1906 pub fn r#echo_arrays_with_error(
1907 &self,
1908 mut value: ArraysStruct,
1909 mut result_err: DefaultEnum,
1910 mut forward_to_server: &str,
1911 mut result_variant: RespondWith,
1912 ) -> fidl::client::QueryResponseFut<
1913 EchoEchoArraysWithErrorResult,
1914 fidl::encoding::DefaultFuchsiaResourceDialect,
1915 > {
1916 EchoProxyInterface::r#echo_arrays_with_error(
1917 self,
1918 value,
1919 result_err,
1920 forward_to_server,
1921 result_variant,
1922 )
1923 }
1924
1925 pub fn r#echo_vectors(
1926 &self,
1927 mut value: VectorsStruct,
1928 mut forward_to_server: &str,
1929 ) -> fidl::client::QueryResponseFut<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
1930 {
1931 EchoProxyInterface::r#echo_vectors(self, value, forward_to_server)
1932 }
1933
1934 pub fn r#echo_vectors_with_error(
1935 &self,
1936 mut value: VectorsStruct,
1937 mut result_err: DefaultEnum,
1938 mut forward_to_server: &str,
1939 mut result_variant: RespondWith,
1940 ) -> fidl::client::QueryResponseFut<
1941 EchoEchoVectorsWithErrorResult,
1942 fidl::encoding::DefaultFuchsiaResourceDialect,
1943 > {
1944 EchoProxyInterface::r#echo_vectors_with_error(
1945 self,
1946 value,
1947 result_err,
1948 forward_to_server,
1949 result_variant,
1950 )
1951 }
1952
1953 pub fn r#echo_table(
1954 &self,
1955 mut value: AllTypesTable,
1956 mut forward_to_server: &str,
1957 ) -> fidl::client::QueryResponseFut<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>
1958 {
1959 EchoProxyInterface::r#echo_table(self, value, forward_to_server)
1960 }
1961
1962 pub fn r#echo_table_with_error(
1963 &self,
1964 mut value: AllTypesTable,
1965 mut result_err: DefaultEnum,
1966 mut forward_to_server: &str,
1967 mut result_variant: RespondWith,
1968 ) -> fidl::client::QueryResponseFut<
1969 EchoEchoTableWithErrorResult,
1970 fidl::encoding::DefaultFuchsiaResourceDialect,
1971 > {
1972 EchoProxyInterface::r#echo_table_with_error(
1973 self,
1974 value,
1975 result_err,
1976 forward_to_server,
1977 result_variant,
1978 )
1979 }
1980
1981 pub fn r#echo_xunions(
1982 &self,
1983 mut value: Vec<AllTypesXunion>,
1984 mut forward_to_server: &str,
1985 ) -> fidl::client::QueryResponseFut<
1986 Vec<AllTypesXunion>,
1987 fidl::encoding::DefaultFuchsiaResourceDialect,
1988 > {
1989 EchoProxyInterface::r#echo_xunions(self, value, forward_to_server)
1990 }
1991
1992 pub fn r#echo_xunions_with_error(
1993 &self,
1994 mut value: Vec<AllTypesXunion>,
1995 mut result_err: DefaultEnum,
1996 mut forward_to_server: &str,
1997 mut result_variant: RespondWith,
1998 ) -> fidl::client::QueryResponseFut<
1999 EchoEchoXunionsWithErrorResult,
2000 fidl::encoding::DefaultFuchsiaResourceDialect,
2001 > {
2002 EchoProxyInterface::r#echo_xunions_with_error(
2003 self,
2004 value,
2005 result_err,
2006 forward_to_server,
2007 result_variant,
2008 )
2009 }
2010
2011 pub fn r#echo_named_struct(
2012 &self,
2013 mut value: &fidl_fidl_test_imported::SimpleStruct,
2014 mut forward_to_server: &str,
2015 ) -> fidl::client::QueryResponseFut<
2016 fidl_fidl_test_imported::SimpleStruct,
2017 fidl::encoding::DefaultFuchsiaResourceDialect,
2018 > {
2019 EchoProxyInterface::r#echo_named_struct(self, value, forward_to_server)
2020 }
2021
2022 pub fn r#echo_named_struct_with_error(
2023 &self,
2024 mut value: &fidl_fidl_test_imported::SimpleStruct,
2025 mut result_err: u32,
2026 mut forward_to_server: &str,
2027 mut result_variant: fidl_fidl_test_imported::WantResponse,
2028 ) -> fidl::client::QueryResponseFut<
2029 EchoEchoNamedStructWithErrorResult,
2030 fidl::encoding::DefaultFuchsiaResourceDialect,
2031 > {
2032 EchoProxyInterface::r#echo_named_struct_with_error(
2033 self,
2034 value,
2035 result_err,
2036 forward_to_server,
2037 result_variant,
2038 )
2039 }
2040
2041 pub fn r#echo_named_struct_no_ret_val(
2042 &self,
2043 mut value: &fidl_fidl_test_imported::SimpleStruct,
2044 mut forward_to_server: &str,
2045 ) -> Result<(), fidl::Error> {
2046 EchoProxyInterface::r#echo_named_struct_no_ret_val(self, value, forward_to_server)
2047 }
2048
2049 pub fn r#echo_table_payload(
2050 &self,
2051 mut payload: &RequestTable,
2052 ) -> fidl::client::QueryResponseFut<ResponseTable, fidl::encoding::DefaultFuchsiaResourceDialect>
2053 {
2054 EchoProxyInterface::r#echo_table_payload(self, payload)
2055 }
2056
2057 pub fn r#echo_table_payload_with_error(
2058 &self,
2059 mut payload: &EchoEchoTablePayloadWithErrorRequest,
2060 ) -> fidl::client::QueryResponseFut<
2061 EchoEchoTablePayloadWithErrorResult,
2062 fidl::encoding::DefaultFuchsiaResourceDialect,
2063 > {
2064 EchoProxyInterface::r#echo_table_payload_with_error(self, payload)
2065 }
2066
2067 pub fn r#echo_table_payload_no_ret_val(
2068 &self,
2069 mut payload: &RequestTable,
2070 ) -> Result<(), fidl::Error> {
2071 EchoProxyInterface::r#echo_table_payload_no_ret_val(self, payload)
2072 }
2073
2074 pub fn r#echo_union_payload(
2075 &self,
2076 mut payload: &RequestUnion,
2077 ) -> fidl::client::QueryResponseFut<ResponseUnion, fidl::encoding::DefaultFuchsiaResourceDialect>
2078 {
2079 EchoProxyInterface::r#echo_union_payload(self, payload)
2080 }
2081
2082 pub fn r#echo_union_payload_with_error(
2083 &self,
2084 mut payload: &EchoEchoUnionPayloadWithErrorRequest,
2085 ) -> fidl::client::QueryResponseFut<
2086 EchoEchoUnionPayloadWithErrorResult,
2087 fidl::encoding::DefaultFuchsiaResourceDialect,
2088 > {
2089 EchoProxyInterface::r#echo_union_payload_with_error(self, payload)
2090 }
2091
2092 pub fn r#echo_union_payload_no_ret_val(
2093 &self,
2094 mut payload: &RequestUnion,
2095 ) -> Result<(), fidl::Error> {
2096 EchoProxyInterface::r#echo_union_payload_no_ret_val(self, payload)
2097 }
2098}
2099
2100impl EchoProxyInterface for EchoProxy {
2101 type EchoTableRequestComposedResponseFut = fidl::client::QueryResponseFut<
2102 fidl_fidl_test_imported::SimpleStruct,
2103 fidl::encoding::DefaultFuchsiaResourceDialect,
2104 >;
2105 fn r#echo_table_request_composed(
2106 &self,
2107 mut payload: &fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
2108 ) -> Self::EchoTableRequestComposedResponseFut {
2109 fn _decode(
2110 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2111 ) -> Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error> {
2112 let _response = fidl::client::decode_transaction_body::<
2113 fidl_fidl_test_imported::ResponseStruct,
2114 fidl::encoding::DefaultFuchsiaResourceDialect,
2115 0x1d545c738c7a8ee,
2116 >(_buf?)?;
2117 Ok(_response.value)
2118 }
2119 self.client.send_query_and_decode::<
2120 fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
2121 fidl_fidl_test_imported::SimpleStruct,
2122 >(
2123 payload,
2124 0x1d545c738c7a8ee,
2125 fidl::encoding::DynamicFlags::empty(),
2126 _decode,
2127 )
2128 }
2129
2130 type EchoUnionResponseWithErrorComposedResponseFut = fidl::client::QueryResponseFut<
2131 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
2132 fidl::encoding::DefaultFuchsiaResourceDialect,
2133 >;
2134 fn r#echo_union_response_with_error_composed(
2135 &self,
2136 mut value: i64,
2137 mut want_absolute_value: bool,
2138 mut forward_to_server: &str,
2139 mut result_err: u32,
2140 mut result_variant: fidl_fidl_test_imported::WantResponse,
2141 ) -> Self::EchoUnionResponseWithErrorComposedResponseFut {
2142 fn _decode(
2143 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2144 ) -> Result<
2145 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
2146 fidl::Error,
2147 > {
2148 let _response = fidl::client::decode_transaction_body::<
2149 fidl::encoding::ResultType<
2150 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
2151 u32,
2152 >,
2153 fidl::encoding::DefaultFuchsiaResourceDialect,
2154 0x38a67e88d6106443,
2155 >(_buf?)?;
2156 Ok(_response.map(|x| x))
2157 }
2158 self.client.send_query_and_decode::<
2159 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedRequest,
2160 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
2161 >(
2162 (value, want_absolute_value, forward_to_server, result_err, result_variant,),
2163 0x38a67e88d6106443,
2164 fidl::encoding::DynamicFlags::empty(),
2165 _decode,
2166 )
2167 }
2168
2169 type EchoMinimalResponseFut =
2170 fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
2171 fn r#echo_minimal(&self, mut forward_to_server: &str) -> Self::EchoMinimalResponseFut {
2172 fn _decode(
2173 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2174 ) -> Result<(), fidl::Error> {
2175 let _response = fidl::client::decode_transaction_body::<
2176 fidl::encoding::EmptyPayload,
2177 fidl::encoding::DefaultFuchsiaResourceDialect,
2178 0x39edd68c837482ec,
2179 >(_buf?)?;
2180 Ok(_response)
2181 }
2182 self.client.send_query_and_decode::<EchoEchoMinimalRequest, ()>(
2183 (forward_to_server,),
2184 0x39edd68c837482ec,
2185 fidl::encoding::DynamicFlags::empty(),
2186 _decode,
2187 )
2188 }
2189
2190 type EchoMinimalWithErrorResponseFut = fidl::client::QueryResponseFut<
2191 EchoEchoMinimalWithErrorResult,
2192 fidl::encoding::DefaultFuchsiaResourceDialect,
2193 >;
2194 fn r#echo_minimal_with_error(
2195 &self,
2196 mut forward_to_server: &str,
2197 mut result_variant: RespondWith,
2198 ) -> Self::EchoMinimalWithErrorResponseFut {
2199 fn _decode(
2200 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2201 ) -> Result<EchoEchoMinimalWithErrorResult, fidl::Error> {
2202 let _response = fidl::client::decode_transaction_body::<
2203 fidl::encoding::ResultType<fidl::encoding::EmptyStruct, u32>,
2204 fidl::encoding::DefaultFuchsiaResourceDialect,
2205 0x36f4695996e35acc,
2206 >(_buf?)?;
2207 Ok(_response.map(|x| x))
2208 }
2209 self.client.send_query_and_decode::<
2210 EchoEchoMinimalWithErrorRequest,
2211 EchoEchoMinimalWithErrorResult,
2212 >(
2213 (forward_to_server, result_variant,),
2214 0x36f4695996e35acc,
2215 fidl::encoding::DynamicFlags::empty(),
2216 _decode,
2217 )
2218 }
2219
2220 fn r#echo_minimal_no_ret_val(&self, mut forward_to_server: &str) -> Result<(), fidl::Error> {
2221 self.client.send::<EchoEchoMinimalNoRetValRequest>(
2222 (forward_to_server,),
2223 0x42693c143e2c3694,
2224 fidl::encoding::DynamicFlags::empty(),
2225 )
2226 }
2227
2228 type EchoStructResponseFut =
2229 fidl::client::QueryResponseFut<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>;
2230 fn r#echo_struct(
2231 &self,
2232 mut value: Struct,
2233 mut forward_to_server: &str,
2234 ) -> Self::EchoStructResponseFut {
2235 fn _decode(
2236 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2237 ) -> Result<Struct, fidl::Error> {
2238 let _response = fidl::client::decode_transaction_body::<
2239 EchoEchoStructResponse,
2240 fidl::encoding::DefaultFuchsiaResourceDialect,
2241 0x4c2f85818cc53f37,
2242 >(_buf?)?;
2243 Ok(_response.value)
2244 }
2245 self.client.send_query_and_decode::<EchoEchoStructRequest, Struct>(
2246 (&mut value, forward_to_server),
2247 0x4c2f85818cc53f37,
2248 fidl::encoding::DynamicFlags::empty(),
2249 _decode,
2250 )
2251 }
2252
2253 type EchoStructWithErrorResponseFut = fidl::client::QueryResponseFut<
2254 EchoEchoStructWithErrorResult,
2255 fidl::encoding::DefaultFuchsiaResourceDialect,
2256 >;
2257 fn r#echo_struct_with_error(
2258 &self,
2259 mut value: Struct,
2260 mut result_err: DefaultEnum,
2261 mut forward_to_server: &str,
2262 mut result_variant: RespondWith,
2263 ) -> Self::EchoStructWithErrorResponseFut {
2264 fn _decode(
2265 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2266 ) -> Result<EchoEchoStructWithErrorResult, fidl::Error> {
2267 let _response = fidl::client::decode_transaction_body::<
2268 fidl::encoding::ResultType<EchoEchoStructWithErrorResponse, DefaultEnum>,
2269 fidl::encoding::DefaultFuchsiaResourceDialect,
2270 0x46cb32652c4c0899,
2271 >(_buf?)?;
2272 Ok(_response.map(|x| x.value))
2273 }
2274 self.client
2275 .send_query_and_decode::<EchoEchoStructWithErrorRequest, EchoEchoStructWithErrorResult>(
2276 (&mut value, result_err, forward_to_server, result_variant),
2277 0x46cb32652c4c0899,
2278 fidl::encoding::DynamicFlags::empty(),
2279 _decode,
2280 )
2281 }
2282
2283 fn r#echo_struct_no_ret_val(
2284 &self,
2285 mut value: Struct,
2286 mut forward_to_server: &str,
2287 ) -> Result<(), fidl::Error> {
2288 self.client.send::<EchoEchoStructNoRetValRequest>(
2289 (&mut value, forward_to_server),
2290 0x1f763e602cf5892a,
2291 fidl::encoding::DynamicFlags::empty(),
2292 )
2293 }
2294
2295 type EchoArraysResponseFut =
2296 fidl::client::QueryResponseFut<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>;
2297 fn r#echo_arrays(
2298 &self,
2299 mut value: ArraysStruct,
2300 mut forward_to_server: &str,
2301 ) -> Self::EchoArraysResponseFut {
2302 fn _decode(
2303 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2304 ) -> Result<ArraysStruct, fidl::Error> {
2305 let _response = fidl::client::decode_transaction_body::<
2306 EchoEchoArraysResponse,
2307 fidl::encoding::DefaultFuchsiaResourceDialect,
2308 0x1b6019d5611f2470,
2309 >(_buf?)?;
2310 Ok(_response.value)
2311 }
2312 self.client.send_query_and_decode::<EchoEchoArraysRequest, ArraysStruct>(
2313 (&mut value, forward_to_server),
2314 0x1b6019d5611f2470,
2315 fidl::encoding::DynamicFlags::empty(),
2316 _decode,
2317 )
2318 }
2319
2320 type EchoArraysWithErrorResponseFut = fidl::client::QueryResponseFut<
2321 EchoEchoArraysWithErrorResult,
2322 fidl::encoding::DefaultFuchsiaResourceDialect,
2323 >;
2324 fn r#echo_arrays_with_error(
2325 &self,
2326 mut value: ArraysStruct,
2327 mut result_err: DefaultEnum,
2328 mut forward_to_server: &str,
2329 mut result_variant: RespondWith,
2330 ) -> Self::EchoArraysWithErrorResponseFut {
2331 fn _decode(
2332 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2333 ) -> Result<EchoEchoArraysWithErrorResult, fidl::Error> {
2334 let _response = fidl::client::decode_transaction_body::<
2335 fidl::encoding::ResultType<EchoEchoArraysWithErrorResponse, DefaultEnum>,
2336 fidl::encoding::DefaultFuchsiaResourceDialect,
2337 0x6dbf26e67e253afa,
2338 >(_buf?)?;
2339 Ok(_response.map(|x| x.value))
2340 }
2341 self.client
2342 .send_query_and_decode::<EchoEchoArraysWithErrorRequest, EchoEchoArraysWithErrorResult>(
2343 (&mut value, result_err, forward_to_server, result_variant),
2344 0x6dbf26e67e253afa,
2345 fidl::encoding::DynamicFlags::empty(),
2346 _decode,
2347 )
2348 }
2349
2350 type EchoVectorsResponseFut = fidl::client::QueryResponseFut<
2351 VectorsStruct,
2352 fidl::encoding::DefaultFuchsiaResourceDialect,
2353 >;
2354 fn r#echo_vectors(
2355 &self,
2356 mut value: VectorsStruct,
2357 mut forward_to_server: &str,
2358 ) -> Self::EchoVectorsResponseFut {
2359 fn _decode(
2360 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2361 ) -> Result<VectorsStruct, fidl::Error> {
2362 let _response = fidl::client::decode_transaction_body::<
2363 EchoEchoVectorsResponse,
2364 fidl::encoding::DefaultFuchsiaResourceDialect,
2365 0x1582623f0d9f6e5e,
2366 >(_buf?)?;
2367 Ok(_response.value)
2368 }
2369 self.client.send_query_and_decode::<EchoEchoVectorsRequest, VectorsStruct>(
2370 (&mut value, forward_to_server),
2371 0x1582623f0d9f6e5e,
2372 fidl::encoding::DynamicFlags::empty(),
2373 _decode,
2374 )
2375 }
2376
2377 type EchoVectorsWithErrorResponseFut = fidl::client::QueryResponseFut<
2378 EchoEchoVectorsWithErrorResult,
2379 fidl::encoding::DefaultFuchsiaResourceDialect,
2380 >;
2381 fn r#echo_vectors_with_error(
2382 &self,
2383 mut value: VectorsStruct,
2384 mut result_err: DefaultEnum,
2385 mut forward_to_server: &str,
2386 mut result_variant: RespondWith,
2387 ) -> Self::EchoVectorsWithErrorResponseFut {
2388 fn _decode(
2389 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2390 ) -> Result<EchoEchoVectorsWithErrorResult, fidl::Error> {
2391 let _response = fidl::client::decode_transaction_body::<
2392 fidl::encoding::ResultType<EchoEchoVectorsWithErrorResponse, DefaultEnum>,
2393 fidl::encoding::DefaultFuchsiaResourceDialect,
2394 0x730f163401e2b3e5,
2395 >(_buf?)?;
2396 Ok(_response.map(|x| x.value))
2397 }
2398 self.client.send_query_and_decode::<
2399 EchoEchoVectorsWithErrorRequest,
2400 EchoEchoVectorsWithErrorResult,
2401 >(
2402 (&mut value, result_err, forward_to_server, result_variant,),
2403 0x730f163401e2b3e5,
2404 fidl::encoding::DynamicFlags::empty(),
2405 _decode,
2406 )
2407 }
2408
2409 type EchoTableResponseFut = fidl::client::QueryResponseFut<
2410 AllTypesTable,
2411 fidl::encoding::DefaultFuchsiaResourceDialect,
2412 >;
2413 fn r#echo_table(
2414 &self,
2415 mut value: AllTypesTable,
2416 mut forward_to_server: &str,
2417 ) -> Self::EchoTableResponseFut {
2418 fn _decode(
2419 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2420 ) -> Result<AllTypesTable, fidl::Error> {
2421 let _response = fidl::client::decode_transaction_body::<
2422 EchoEchoTableResponse,
2423 fidl::encoding::DefaultFuchsiaResourceDialect,
2424 0x4f1fb0a512f47c4b,
2425 >(_buf?)?;
2426 Ok(_response.value)
2427 }
2428 self.client.send_query_and_decode::<EchoEchoTableRequest, AllTypesTable>(
2429 (&mut value, forward_to_server),
2430 0x4f1fb0a512f47c4b,
2431 fidl::encoding::DynamicFlags::empty(),
2432 _decode,
2433 )
2434 }
2435
2436 type EchoTableWithErrorResponseFut = fidl::client::QueryResponseFut<
2437 EchoEchoTableWithErrorResult,
2438 fidl::encoding::DefaultFuchsiaResourceDialect,
2439 >;
2440 fn r#echo_table_with_error(
2441 &self,
2442 mut value: AllTypesTable,
2443 mut result_err: DefaultEnum,
2444 mut forward_to_server: &str,
2445 mut result_variant: RespondWith,
2446 ) -> Self::EchoTableWithErrorResponseFut {
2447 fn _decode(
2448 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2449 ) -> Result<EchoEchoTableWithErrorResult, fidl::Error> {
2450 let _response = fidl::client::decode_transaction_body::<
2451 fidl::encoding::ResultType<EchoEchoTableWithErrorResponse, DefaultEnum>,
2452 fidl::encoding::DefaultFuchsiaResourceDialect,
2453 0x44e835cb1eb9a931,
2454 >(_buf?)?;
2455 Ok(_response.map(|x| x.value))
2456 }
2457 self.client
2458 .send_query_and_decode::<EchoEchoTableWithErrorRequest, EchoEchoTableWithErrorResult>(
2459 (&mut value, result_err, forward_to_server, result_variant),
2460 0x44e835cb1eb9a931,
2461 fidl::encoding::DynamicFlags::empty(),
2462 _decode,
2463 )
2464 }
2465
2466 type EchoXunionsResponseFut = fidl::client::QueryResponseFut<
2467 Vec<AllTypesXunion>,
2468 fidl::encoding::DefaultFuchsiaResourceDialect,
2469 >;
2470 fn r#echo_xunions(
2471 &self,
2472 mut value: Vec<AllTypesXunion>,
2473 mut forward_to_server: &str,
2474 ) -> Self::EchoXunionsResponseFut {
2475 fn _decode(
2476 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2477 ) -> Result<Vec<AllTypesXunion>, fidl::Error> {
2478 let _response = fidl::client::decode_transaction_body::<
2479 EchoEchoXunionsResponse,
2480 fidl::encoding::DefaultFuchsiaResourceDialect,
2481 0x3dc181909041a583,
2482 >(_buf?)?;
2483 Ok(_response.value)
2484 }
2485 self.client.send_query_and_decode::<EchoEchoXunionsRequest, Vec<AllTypesXunion>>(
2486 (value.as_mut(), forward_to_server),
2487 0x3dc181909041a583,
2488 fidl::encoding::DynamicFlags::empty(),
2489 _decode,
2490 )
2491 }
2492
2493 type EchoXunionsWithErrorResponseFut = fidl::client::QueryResponseFut<
2494 EchoEchoXunionsWithErrorResult,
2495 fidl::encoding::DefaultFuchsiaResourceDialect,
2496 >;
2497 fn r#echo_xunions_with_error(
2498 &self,
2499 mut value: Vec<AllTypesXunion>,
2500 mut result_err: DefaultEnum,
2501 mut forward_to_server: &str,
2502 mut result_variant: RespondWith,
2503 ) -> Self::EchoXunionsWithErrorResponseFut {
2504 fn _decode(
2505 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2506 ) -> Result<EchoEchoXunionsWithErrorResult, fidl::Error> {
2507 let _response = fidl::client::decode_transaction_body::<
2508 fidl::encoding::ResultType<EchoEchoXunionsWithErrorResponse, DefaultEnum>,
2509 fidl::encoding::DefaultFuchsiaResourceDialect,
2510 0x75184102667fa766,
2511 >(_buf?)?;
2512 Ok(_response.map(|x| x.value))
2513 }
2514 self.client.send_query_and_decode::<
2515 EchoEchoXunionsWithErrorRequest,
2516 EchoEchoXunionsWithErrorResult,
2517 >(
2518 (value.as_mut(), result_err, forward_to_server, result_variant,),
2519 0x75184102667fa766,
2520 fidl::encoding::DynamicFlags::empty(),
2521 _decode,
2522 )
2523 }
2524
2525 type EchoNamedStructResponseFut = fidl::client::QueryResponseFut<
2526 fidl_fidl_test_imported::SimpleStruct,
2527 fidl::encoding::DefaultFuchsiaResourceDialect,
2528 >;
2529 fn r#echo_named_struct(
2530 &self,
2531 mut value: &fidl_fidl_test_imported::SimpleStruct,
2532 mut forward_to_server: &str,
2533 ) -> Self::EchoNamedStructResponseFut {
2534 fn _decode(
2535 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2536 ) -> Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error> {
2537 let _response = fidl::client::decode_transaction_body::<
2538 fidl_fidl_test_imported::ResponseStruct,
2539 fidl::encoding::DefaultFuchsiaResourceDialect,
2540 0xf2d4aa9e65f7111,
2541 >(_buf?)?;
2542 Ok(_response.value)
2543 }
2544 self.client.send_query_and_decode::<
2545 fidl_fidl_test_imported::RequestStruct,
2546 fidl_fidl_test_imported::SimpleStruct,
2547 >(
2548 (value, forward_to_server,),
2549 0xf2d4aa9e65f7111,
2550 fidl::encoding::DynamicFlags::empty(),
2551 _decode,
2552 )
2553 }
2554
2555 type EchoNamedStructWithErrorResponseFut = fidl::client::QueryResponseFut<
2556 EchoEchoNamedStructWithErrorResult,
2557 fidl::encoding::DefaultFuchsiaResourceDialect,
2558 >;
2559 fn r#echo_named_struct_with_error(
2560 &self,
2561 mut value: &fidl_fidl_test_imported::SimpleStruct,
2562 mut result_err: u32,
2563 mut forward_to_server: &str,
2564 mut result_variant: fidl_fidl_test_imported::WantResponse,
2565 ) -> Self::EchoNamedStructWithErrorResponseFut {
2566 fn _decode(
2567 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2568 ) -> Result<EchoEchoNamedStructWithErrorResult, fidl::Error> {
2569 let _response = fidl::client::decode_transaction_body::<
2570 fidl::encoding::ResultType<fidl_fidl_test_imported::ResponseStruct, u32>,
2571 fidl::encoding::DefaultFuchsiaResourceDialect,
2572 0x5766fee9e74442e8,
2573 >(_buf?)?;
2574 Ok(_response.map(|x| x.value))
2575 }
2576 self.client.send_query_and_decode::<
2577 fidl_fidl_test_imported::ErrorableRequestStruct,
2578 EchoEchoNamedStructWithErrorResult,
2579 >(
2580 (value, result_err, forward_to_server, result_variant,),
2581 0x5766fee9e74442e8,
2582 fidl::encoding::DynamicFlags::empty(),
2583 _decode,
2584 )
2585 }
2586
2587 fn r#echo_named_struct_no_ret_val(
2588 &self,
2589 mut value: &fidl_fidl_test_imported::SimpleStruct,
2590 mut forward_to_server: &str,
2591 ) -> Result<(), fidl::Error> {
2592 self.client.send::<fidl_fidl_test_imported::EventTriggeringRequestStruct>(
2593 (value, forward_to_server),
2594 0x3a50bbf7d2113ad7,
2595 fidl::encoding::DynamicFlags::empty(),
2596 )
2597 }
2598
2599 type EchoTablePayloadResponseFut = fidl::client::QueryResponseFut<
2600 ResponseTable,
2601 fidl::encoding::DefaultFuchsiaResourceDialect,
2602 >;
2603 fn r#echo_table_payload(
2604 &self,
2605 mut payload: &RequestTable,
2606 ) -> Self::EchoTablePayloadResponseFut {
2607 fn _decode(
2608 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2609 ) -> Result<ResponseTable, fidl::Error> {
2610 let _response = fidl::client::decode_transaction_body::<
2611 ResponseTable,
2612 fidl::encoding::DefaultFuchsiaResourceDialect,
2613 0x641d98087378c003,
2614 >(_buf?)?;
2615 Ok(_response)
2616 }
2617 self.client.send_query_and_decode::<RequestTable, ResponseTable>(
2618 payload,
2619 0x641d98087378c003,
2620 fidl::encoding::DynamicFlags::empty(),
2621 _decode,
2622 )
2623 }
2624
2625 type EchoTablePayloadWithErrorResponseFut = fidl::client::QueryResponseFut<
2626 EchoEchoTablePayloadWithErrorResult,
2627 fidl::encoding::DefaultFuchsiaResourceDialect,
2628 >;
2629 fn r#echo_table_payload_with_error(
2630 &self,
2631 mut payload: &EchoEchoTablePayloadWithErrorRequest,
2632 ) -> Self::EchoTablePayloadWithErrorResponseFut {
2633 fn _decode(
2634 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2635 ) -> Result<EchoEchoTablePayloadWithErrorResult, fidl::Error> {
2636 let _response = fidl::client::decode_transaction_body::<
2637 fidl::encoding::ResultType<ResponseTable, DefaultEnum>,
2638 fidl::encoding::DefaultFuchsiaResourceDialect,
2639 0x636ed243761ab66d,
2640 >(_buf?)?;
2641 Ok(_response.map(|x| x))
2642 }
2643 self.client.send_query_and_decode::<
2644 EchoEchoTablePayloadWithErrorRequest,
2645 EchoEchoTablePayloadWithErrorResult,
2646 >(
2647 payload,
2648 0x636ed243761ab66d,
2649 fidl::encoding::DynamicFlags::empty(),
2650 _decode,
2651 )
2652 }
2653
2654 fn r#echo_table_payload_no_ret_val(
2655 &self,
2656 mut payload: &RequestTable,
2657 ) -> Result<(), fidl::Error> {
2658 self.client.send::<RequestTable>(
2659 payload,
2660 0x32961f7d718569f8,
2661 fidl::encoding::DynamicFlags::empty(),
2662 )
2663 }
2664
2665 type EchoUnionPayloadResponseFut = fidl::client::QueryResponseFut<
2666 ResponseUnion,
2667 fidl::encoding::DefaultFuchsiaResourceDialect,
2668 >;
2669 fn r#echo_union_payload(
2670 &self,
2671 mut payload: &RequestUnion,
2672 ) -> Self::EchoUnionPayloadResponseFut {
2673 fn _decode(
2674 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2675 ) -> Result<ResponseUnion, fidl::Error> {
2676 let _response = fidl::client::decode_transaction_body::<
2677 ResponseUnion,
2678 fidl::encoding::DefaultFuchsiaResourceDialect,
2679 0x66def9e793f10c55,
2680 >(_buf?)?;
2681 Ok(_response)
2682 }
2683 self.client.send_query_and_decode::<RequestUnion, ResponseUnion>(
2684 payload,
2685 0x66def9e793f10c55,
2686 fidl::encoding::DynamicFlags::empty(),
2687 _decode,
2688 )
2689 }
2690
2691 type EchoUnionPayloadWithErrorResponseFut = fidl::client::QueryResponseFut<
2692 EchoEchoUnionPayloadWithErrorResult,
2693 fidl::encoding::DefaultFuchsiaResourceDialect,
2694 >;
2695 fn r#echo_union_payload_with_error(
2696 &self,
2697 mut payload: &EchoEchoUnionPayloadWithErrorRequest,
2698 ) -> Self::EchoUnionPayloadWithErrorResponseFut {
2699 fn _decode(
2700 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2701 ) -> Result<EchoEchoUnionPayloadWithErrorResult, fidl::Error> {
2702 let _response = fidl::client::decode_transaction_body::<
2703 fidl::encoding::ResultType<ResponseUnion, DefaultEnum>,
2704 fidl::encoding::DefaultFuchsiaResourceDialect,
2705 0x1be890d6e68ef063,
2706 >(_buf?)?;
2707 Ok(_response.map(|x| x))
2708 }
2709 self.client.send_query_and_decode::<
2710 EchoEchoUnionPayloadWithErrorRequest,
2711 EchoEchoUnionPayloadWithErrorResult,
2712 >(
2713 payload,
2714 0x1be890d6e68ef063,
2715 fidl::encoding::DynamicFlags::empty(),
2716 _decode,
2717 )
2718 }
2719
2720 fn r#echo_union_payload_no_ret_val(
2721 &self,
2722 mut payload: &RequestUnion,
2723 ) -> Result<(), fidl::Error> {
2724 self.client.send::<RequestUnion>(
2725 payload,
2726 0x11518bf346430040,
2727 fidl::encoding::DynamicFlags::empty(),
2728 )
2729 }
2730}
2731
2732pub struct EchoEventStream {
2733 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
2734}
2735
2736impl std::marker::Unpin for EchoEventStream {}
2737
2738impl futures::stream::FusedStream for EchoEventStream {
2739 fn is_terminated(&self) -> bool {
2740 self.event_receiver.is_terminated()
2741 }
2742}
2743
2744impl futures::Stream for EchoEventStream {
2745 type Item = Result<EchoEvent, fidl::Error>;
2746
2747 fn poll_next(
2748 mut self: std::pin::Pin<&mut Self>,
2749 cx: &mut std::task::Context<'_>,
2750 ) -> std::task::Poll<Option<Self::Item>> {
2751 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
2752 &mut self.event_receiver,
2753 cx
2754 )?) {
2755 Some(buf) => std::task::Poll::Ready(Some(EchoEvent::decode(buf))),
2756 None => std::task::Poll::Ready(None),
2757 }
2758 }
2759}
2760
2761#[derive(Debug)]
2762pub enum EchoEvent {
2763 EchoMinimalEvent {},
2764 EchoEvent { value: Struct },
2765 OnEchoNamedEvent { value: fidl_fidl_test_imported::SimpleStruct },
2766 OnEchoTablePayloadEvent { payload: ResponseTable },
2767 OnEchoUnionPayloadEvent { payload: ResponseUnion },
2768}
2769
2770impl EchoEvent {
2771 #[allow(irrefutable_let_patterns)]
2772 pub fn into_echo_minimal_event(self) -> Option<()> {
2773 if let EchoEvent::EchoMinimalEvent {} = self { Some(()) } else { None }
2774 }
2775 #[allow(irrefutable_let_patterns)]
2776 pub fn into_echo_event(self) -> Option<Struct> {
2777 if let EchoEvent::EchoEvent { value } = self { Some((value)) } else { None }
2778 }
2779 #[allow(irrefutable_let_patterns)]
2780 pub fn into_on_echo_named_event(self) -> Option<fidl_fidl_test_imported::SimpleStruct> {
2781 if let EchoEvent::OnEchoNamedEvent { value } = self { Some((value)) } else { None }
2782 }
2783 #[allow(irrefutable_let_patterns)]
2784 pub fn into_on_echo_table_payload_event(self) -> Option<ResponseTable> {
2785 if let EchoEvent::OnEchoTablePayloadEvent { payload } = self {
2786 Some((payload))
2787 } else {
2788 None
2789 }
2790 }
2791 #[allow(irrefutable_let_patterns)]
2792 pub fn into_on_echo_union_payload_event(self) -> Option<ResponseUnion> {
2793 if let EchoEvent::OnEchoUnionPayloadEvent { payload } = self {
2794 Some((payload))
2795 } else {
2796 None
2797 }
2798 }
2799
2800 fn decode(
2802 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
2803 ) -> Result<EchoEvent, fidl::Error> {
2804 let (bytes, _handles) = buf.split_mut();
2805 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
2806 debug_assert_eq!(tx_header.tx_id, 0);
2807 match tx_header.ordinal {
2808 0x273b2029f1a0aee2 => {
2809 let mut out = fidl::new_empty!(
2810 fidl::encoding::EmptyPayload,
2811 fidl::encoding::DefaultFuchsiaResourceDialect
2812 );
2813 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&tx_header, _body_bytes, _handles, &mut out)?;
2814 Ok((EchoEvent::EchoMinimalEvent {}))
2815 }
2816 0x1219e12e0450024 => {
2817 let mut out = fidl::new_empty!(
2818 EchoEchoEventRequest,
2819 fidl::encoding::DefaultFuchsiaResourceDialect
2820 );
2821 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoEventRequest>(&tx_header, _body_bytes, _handles, &mut out)?;
2822 Ok((EchoEvent::EchoEvent { value: out.value }))
2823 }
2824 0x749ebde83348a374 => {
2825 let mut out = fidl::new_empty!(
2826 fidl_fidl_test_imported::ResponseStruct,
2827 fidl::encoding::DefaultFuchsiaResourceDialect
2828 );
2829 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::ResponseStruct>(&tx_header, _body_bytes, _handles, &mut out)?;
2830 Ok((EchoEvent::OnEchoNamedEvent { value: out.value }))
2831 }
2832 0x708dddea1cb98430 => {
2833 let mut out =
2834 fidl::new_empty!(ResponseTable, fidl::encoding::DefaultFuchsiaResourceDialect);
2835 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ResponseTable>(&tx_header, _body_bytes, _handles, &mut out)?;
2836 Ok((EchoEvent::OnEchoTablePayloadEvent { payload: out }))
2837 }
2838 0x642f4c265a05f4c0 => {
2839 let mut out =
2840 fidl::new_empty!(ResponseUnion, fidl::encoding::DefaultFuchsiaResourceDialect);
2841 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ResponseUnion>(&tx_header, _body_bytes, _handles, &mut out)?;
2842 Ok((EchoEvent::OnEchoUnionPayloadEvent { payload: out }))
2843 }
2844 _ => Err(fidl::Error::UnknownOrdinal {
2845 ordinal: tx_header.ordinal,
2846 protocol_name: <EchoMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
2847 }),
2848 }
2849 }
2850}
2851
2852pub struct EchoRequestStream {
2854 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
2855 is_terminated: bool,
2856}
2857
2858impl std::marker::Unpin for EchoRequestStream {}
2859
2860impl futures::stream::FusedStream for EchoRequestStream {
2861 fn is_terminated(&self) -> bool {
2862 self.is_terminated
2863 }
2864}
2865
2866impl fidl::endpoints::RequestStream for EchoRequestStream {
2867 type Protocol = EchoMarker;
2868 type ControlHandle = EchoControlHandle;
2869
2870 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
2871 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
2872 }
2873
2874 fn control_handle(&self) -> Self::ControlHandle {
2875 EchoControlHandle { inner: self.inner.clone() }
2876 }
2877
2878 fn into_inner(
2879 self,
2880 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
2881 {
2882 (self.inner, self.is_terminated)
2883 }
2884
2885 fn from_inner(
2886 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
2887 is_terminated: bool,
2888 ) -> Self {
2889 Self { inner, is_terminated }
2890 }
2891}
2892
2893impl futures::Stream for EchoRequestStream {
2894 type Item = Result<EchoRequest, fidl::Error>;
2895
2896 fn poll_next(
2897 mut self: std::pin::Pin<&mut Self>,
2898 cx: &mut std::task::Context<'_>,
2899 ) -> std::task::Poll<Option<Self::Item>> {
2900 let this = &mut *self;
2901 if this.inner.check_shutdown(cx) {
2902 this.is_terminated = true;
2903 return std::task::Poll::Ready(None);
2904 }
2905 if this.is_terminated {
2906 panic!("polled EchoRequestStream after completion");
2907 }
2908 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
2909 |bytes, handles| {
2910 match this.inner.channel().read_etc(cx, bytes, handles) {
2911 std::task::Poll::Ready(Ok(())) => {}
2912 std::task::Poll::Pending => return std::task::Poll::Pending,
2913 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
2914 this.is_terminated = true;
2915 return std::task::Poll::Ready(None);
2916 }
2917 std::task::Poll::Ready(Err(e)) => {
2918 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
2919 e.into(),
2920 ))));
2921 }
2922 }
2923
2924 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
2926
2927 std::task::Poll::Ready(Some(match header.ordinal {
2928 0x1d545c738c7a8ee => {
2929 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2930 let mut req = fidl::new_empty!(
2931 fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
2932 fidl::encoding::DefaultFuchsiaResourceDialect
2933 );
2934 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest>(&header, _body_bytes, handles, &mut req)?;
2935 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2936 Ok(EchoRequest::EchoTableRequestComposed {
2937 payload: req,
2938 responder: EchoEchoTableRequestComposedResponder {
2939 control_handle: std::mem::ManuallyDrop::new(control_handle),
2940 tx_id: header.tx_id,
2941 },
2942 })
2943 }
2944 0x38a67e88d6106443 => {
2945 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2946 let mut req = fidl::new_empty!(fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
2947 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedRequest>(&header, _body_bytes, handles, &mut req)?;
2948 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2949 Ok(EchoRequest::EchoUnionResponseWithErrorComposed {
2950 value: req.value,
2951 want_absolute_value: req.want_absolute_value,
2952 forward_to_server: req.forward_to_server,
2953 result_err: req.result_err,
2954 result_variant: req.result_variant,
2955
2956 responder: EchoEchoUnionResponseWithErrorComposedResponder {
2957 control_handle: std::mem::ManuallyDrop::new(control_handle),
2958 tx_id: header.tx_id,
2959 },
2960 })
2961 }
2962 0x39edd68c837482ec => {
2963 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2964 let mut req = fidl::new_empty!(
2965 EchoEchoMinimalRequest,
2966 fidl::encoding::DefaultFuchsiaResourceDialect
2967 );
2968 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoMinimalRequest>(&header, _body_bytes, handles, &mut req)?;
2969 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2970 Ok(EchoRequest::EchoMinimal {
2971 forward_to_server: req.forward_to_server,
2972
2973 responder: EchoEchoMinimalResponder {
2974 control_handle: std::mem::ManuallyDrop::new(control_handle),
2975 tx_id: header.tx_id,
2976 },
2977 })
2978 }
2979 0x36f4695996e35acc => {
2980 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2981 let mut req = fidl::new_empty!(
2982 EchoEchoMinimalWithErrorRequest,
2983 fidl::encoding::DefaultFuchsiaResourceDialect
2984 );
2985 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoMinimalWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
2986 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2987 Ok(EchoRequest::EchoMinimalWithError {
2988 forward_to_server: req.forward_to_server,
2989 result_variant: req.result_variant,
2990
2991 responder: EchoEchoMinimalWithErrorResponder {
2992 control_handle: std::mem::ManuallyDrop::new(control_handle),
2993 tx_id: header.tx_id,
2994 },
2995 })
2996 }
2997 0x42693c143e2c3694 => {
2998 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
2999 let mut req = fidl::new_empty!(
3000 EchoEchoMinimalNoRetValRequest,
3001 fidl::encoding::DefaultFuchsiaResourceDialect
3002 );
3003 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoMinimalNoRetValRequest>(&header, _body_bytes, handles, &mut req)?;
3004 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3005 Ok(EchoRequest::EchoMinimalNoRetVal {
3006 forward_to_server: req.forward_to_server,
3007
3008 control_handle,
3009 })
3010 }
3011 0x4c2f85818cc53f37 => {
3012 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3013 let mut req = fidl::new_empty!(
3014 EchoEchoStructRequest,
3015 fidl::encoding::DefaultFuchsiaResourceDialect
3016 );
3017 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoStructRequest>(&header, _body_bytes, handles, &mut req)?;
3018 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3019 Ok(EchoRequest::EchoStruct {
3020 value: req.value,
3021 forward_to_server: req.forward_to_server,
3022
3023 responder: EchoEchoStructResponder {
3024 control_handle: std::mem::ManuallyDrop::new(control_handle),
3025 tx_id: header.tx_id,
3026 },
3027 })
3028 }
3029 0x46cb32652c4c0899 => {
3030 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3031 let mut req = fidl::new_empty!(
3032 EchoEchoStructWithErrorRequest,
3033 fidl::encoding::DefaultFuchsiaResourceDialect
3034 );
3035 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoStructWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3036 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3037 Ok(EchoRequest::EchoStructWithError {
3038 value: req.value,
3039 result_err: req.result_err,
3040 forward_to_server: req.forward_to_server,
3041 result_variant: req.result_variant,
3042
3043 responder: EchoEchoStructWithErrorResponder {
3044 control_handle: std::mem::ManuallyDrop::new(control_handle),
3045 tx_id: header.tx_id,
3046 },
3047 })
3048 }
3049 0x1f763e602cf5892a => {
3050 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
3051 let mut req = fidl::new_empty!(
3052 EchoEchoStructNoRetValRequest,
3053 fidl::encoding::DefaultFuchsiaResourceDialect
3054 );
3055 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoStructNoRetValRequest>(&header, _body_bytes, handles, &mut req)?;
3056 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3057 Ok(EchoRequest::EchoStructNoRetVal {
3058 value: req.value,
3059 forward_to_server: req.forward_to_server,
3060
3061 control_handle,
3062 })
3063 }
3064 0x1b6019d5611f2470 => {
3065 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3066 let mut req = fidl::new_empty!(
3067 EchoEchoArraysRequest,
3068 fidl::encoding::DefaultFuchsiaResourceDialect
3069 );
3070 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoArraysRequest>(&header, _body_bytes, handles, &mut req)?;
3071 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3072 Ok(EchoRequest::EchoArrays {
3073 value: req.value,
3074 forward_to_server: req.forward_to_server,
3075
3076 responder: EchoEchoArraysResponder {
3077 control_handle: std::mem::ManuallyDrop::new(control_handle),
3078 tx_id: header.tx_id,
3079 },
3080 })
3081 }
3082 0x6dbf26e67e253afa => {
3083 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3084 let mut req = fidl::new_empty!(
3085 EchoEchoArraysWithErrorRequest,
3086 fidl::encoding::DefaultFuchsiaResourceDialect
3087 );
3088 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoArraysWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3089 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3090 Ok(EchoRequest::EchoArraysWithError {
3091 value: req.value,
3092 result_err: req.result_err,
3093 forward_to_server: req.forward_to_server,
3094 result_variant: req.result_variant,
3095
3096 responder: EchoEchoArraysWithErrorResponder {
3097 control_handle: std::mem::ManuallyDrop::new(control_handle),
3098 tx_id: header.tx_id,
3099 },
3100 })
3101 }
3102 0x1582623f0d9f6e5e => {
3103 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3104 let mut req = fidl::new_empty!(
3105 EchoEchoVectorsRequest,
3106 fidl::encoding::DefaultFuchsiaResourceDialect
3107 );
3108 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoVectorsRequest>(&header, _body_bytes, handles, &mut req)?;
3109 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3110 Ok(EchoRequest::EchoVectors {
3111 value: req.value,
3112 forward_to_server: req.forward_to_server,
3113
3114 responder: EchoEchoVectorsResponder {
3115 control_handle: std::mem::ManuallyDrop::new(control_handle),
3116 tx_id: header.tx_id,
3117 },
3118 })
3119 }
3120 0x730f163401e2b3e5 => {
3121 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3122 let mut req = fidl::new_empty!(
3123 EchoEchoVectorsWithErrorRequest,
3124 fidl::encoding::DefaultFuchsiaResourceDialect
3125 );
3126 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoVectorsWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3127 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3128 Ok(EchoRequest::EchoVectorsWithError {
3129 value: req.value,
3130 result_err: req.result_err,
3131 forward_to_server: req.forward_to_server,
3132 result_variant: req.result_variant,
3133
3134 responder: EchoEchoVectorsWithErrorResponder {
3135 control_handle: std::mem::ManuallyDrop::new(control_handle),
3136 tx_id: header.tx_id,
3137 },
3138 })
3139 }
3140 0x4f1fb0a512f47c4b => {
3141 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3142 let mut req = fidl::new_empty!(
3143 EchoEchoTableRequest,
3144 fidl::encoding::DefaultFuchsiaResourceDialect
3145 );
3146 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoTableRequest>(&header, _body_bytes, handles, &mut req)?;
3147 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3148 Ok(EchoRequest::EchoTable {
3149 value: req.value,
3150 forward_to_server: req.forward_to_server,
3151
3152 responder: EchoEchoTableResponder {
3153 control_handle: std::mem::ManuallyDrop::new(control_handle),
3154 tx_id: header.tx_id,
3155 },
3156 })
3157 }
3158 0x44e835cb1eb9a931 => {
3159 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3160 let mut req = fidl::new_empty!(
3161 EchoEchoTableWithErrorRequest,
3162 fidl::encoding::DefaultFuchsiaResourceDialect
3163 );
3164 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoTableWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3165 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3166 Ok(EchoRequest::EchoTableWithError {
3167 value: req.value,
3168 result_err: req.result_err,
3169 forward_to_server: req.forward_to_server,
3170 result_variant: req.result_variant,
3171
3172 responder: EchoEchoTableWithErrorResponder {
3173 control_handle: std::mem::ManuallyDrop::new(control_handle),
3174 tx_id: header.tx_id,
3175 },
3176 })
3177 }
3178 0x3dc181909041a583 => {
3179 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3180 let mut req = fidl::new_empty!(
3181 EchoEchoXunionsRequest,
3182 fidl::encoding::DefaultFuchsiaResourceDialect
3183 );
3184 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoXunionsRequest>(&header, _body_bytes, handles, &mut req)?;
3185 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3186 Ok(EchoRequest::EchoXunions {
3187 value: req.value,
3188 forward_to_server: req.forward_to_server,
3189
3190 responder: EchoEchoXunionsResponder {
3191 control_handle: std::mem::ManuallyDrop::new(control_handle),
3192 tx_id: header.tx_id,
3193 },
3194 })
3195 }
3196 0x75184102667fa766 => {
3197 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3198 let mut req = fidl::new_empty!(
3199 EchoEchoXunionsWithErrorRequest,
3200 fidl::encoding::DefaultFuchsiaResourceDialect
3201 );
3202 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoXunionsWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3203 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3204 Ok(EchoRequest::EchoXunionsWithError {
3205 value: req.value,
3206 result_err: req.result_err,
3207 forward_to_server: req.forward_to_server,
3208 result_variant: req.result_variant,
3209
3210 responder: EchoEchoXunionsWithErrorResponder {
3211 control_handle: std::mem::ManuallyDrop::new(control_handle),
3212 tx_id: header.tx_id,
3213 },
3214 })
3215 }
3216 0xf2d4aa9e65f7111 => {
3217 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3218 let mut req = fidl::new_empty!(
3219 fidl_fidl_test_imported::RequestStruct,
3220 fidl::encoding::DefaultFuchsiaResourceDialect
3221 );
3222 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::RequestStruct>(&header, _body_bytes, handles, &mut req)?;
3223 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3224 Ok(EchoRequest::EchoNamedStruct {
3225 value: req.value,
3226 forward_to_server: req.forward_to_server,
3227
3228 responder: EchoEchoNamedStructResponder {
3229 control_handle: std::mem::ManuallyDrop::new(control_handle),
3230 tx_id: header.tx_id,
3231 },
3232 })
3233 }
3234 0x5766fee9e74442e8 => {
3235 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3236 let mut req = fidl::new_empty!(
3237 fidl_fidl_test_imported::ErrorableRequestStruct,
3238 fidl::encoding::DefaultFuchsiaResourceDialect
3239 );
3240 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::ErrorableRequestStruct>(&header, _body_bytes, handles, &mut req)?;
3241 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3242 Ok(EchoRequest::EchoNamedStructWithError {
3243 value: req.value,
3244 result_err: req.result_err,
3245 forward_to_server: req.forward_to_server,
3246 result_variant: req.result_variant,
3247
3248 responder: EchoEchoNamedStructWithErrorResponder {
3249 control_handle: std::mem::ManuallyDrop::new(control_handle),
3250 tx_id: header.tx_id,
3251 },
3252 })
3253 }
3254 0x3a50bbf7d2113ad7 => {
3255 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
3256 let mut req = fidl::new_empty!(
3257 fidl_fidl_test_imported::EventTriggeringRequestStruct,
3258 fidl::encoding::DefaultFuchsiaResourceDialect
3259 );
3260 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::EventTriggeringRequestStruct>(&header, _body_bytes, handles, &mut req)?;
3261 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3262 Ok(EchoRequest::EchoNamedStructNoRetVal {
3263 value: req.value,
3264 forward_to_server: req.forward_to_server,
3265
3266 control_handle,
3267 })
3268 }
3269 0x641d98087378c003 => {
3270 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3271 let mut req = fidl::new_empty!(
3272 RequestTable,
3273 fidl::encoding::DefaultFuchsiaResourceDialect
3274 );
3275 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<RequestTable>(&header, _body_bytes, handles, &mut req)?;
3276 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3277 Ok(EchoRequest::EchoTablePayload {
3278 payload: req,
3279 responder: EchoEchoTablePayloadResponder {
3280 control_handle: std::mem::ManuallyDrop::new(control_handle),
3281 tx_id: header.tx_id,
3282 },
3283 })
3284 }
3285 0x636ed243761ab66d => {
3286 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3287 let mut req = fidl::new_empty!(
3288 EchoEchoTablePayloadWithErrorRequest,
3289 fidl::encoding::DefaultFuchsiaResourceDialect
3290 );
3291 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoTablePayloadWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3292 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3293 Ok(EchoRequest::EchoTablePayloadWithError {
3294 payload: req,
3295 responder: EchoEchoTablePayloadWithErrorResponder {
3296 control_handle: std::mem::ManuallyDrop::new(control_handle),
3297 tx_id: header.tx_id,
3298 },
3299 })
3300 }
3301 0x32961f7d718569f8 => {
3302 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
3303 let mut req = fidl::new_empty!(
3304 RequestTable,
3305 fidl::encoding::DefaultFuchsiaResourceDialect
3306 );
3307 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<RequestTable>(&header, _body_bytes, handles, &mut req)?;
3308 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3309 Ok(EchoRequest::EchoTablePayloadNoRetVal { payload: req, control_handle })
3310 }
3311 0x66def9e793f10c55 => {
3312 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3313 let mut req = fidl::new_empty!(
3314 RequestUnion,
3315 fidl::encoding::DefaultFuchsiaResourceDialect
3316 );
3317 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<RequestUnion>(&header, _body_bytes, handles, &mut req)?;
3318 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3319 Ok(EchoRequest::EchoUnionPayload {
3320 payload: req,
3321 responder: EchoEchoUnionPayloadResponder {
3322 control_handle: std::mem::ManuallyDrop::new(control_handle),
3323 tx_id: header.tx_id,
3324 },
3325 })
3326 }
3327 0x1be890d6e68ef063 => {
3328 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3329 let mut req = fidl::new_empty!(
3330 EchoEchoUnionPayloadWithErrorRequest,
3331 fidl::encoding::DefaultFuchsiaResourceDialect
3332 );
3333 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoUnionPayloadWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3334 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3335 Ok(EchoRequest::EchoUnionPayloadWithError {
3336 payload: req,
3337 responder: EchoEchoUnionPayloadWithErrorResponder {
3338 control_handle: std::mem::ManuallyDrop::new(control_handle),
3339 tx_id: header.tx_id,
3340 },
3341 })
3342 }
3343 0x11518bf346430040 => {
3344 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
3345 let mut req = fidl::new_empty!(
3346 RequestUnion,
3347 fidl::encoding::DefaultFuchsiaResourceDialect
3348 );
3349 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<RequestUnion>(&header, _body_bytes, handles, &mut req)?;
3350 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3351 Ok(EchoRequest::EchoUnionPayloadNoRetVal { payload: req, control_handle })
3352 }
3353 _ => Err(fidl::Error::UnknownOrdinal {
3354 ordinal: header.ordinal,
3355 protocol_name: <EchoMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
3356 }),
3357 }))
3358 },
3359 )
3360 }
3361}
3362
3363#[derive(Debug)]
3364pub enum EchoRequest {
3365 EchoTableRequestComposed {
3366 payload: fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
3367 responder: EchoEchoTableRequestComposedResponder,
3368 },
3369 EchoUnionResponseWithErrorComposed {
3370 value: i64,
3371 want_absolute_value: bool,
3372 forward_to_server: String,
3373 result_err: u32,
3374 result_variant: fidl_fidl_test_imported::WantResponse,
3375 responder: EchoEchoUnionResponseWithErrorComposedResponder,
3376 },
3377 EchoMinimal {
3378 forward_to_server: String,
3379 responder: EchoEchoMinimalResponder,
3380 },
3381 EchoMinimalWithError {
3382 forward_to_server: String,
3383 result_variant: RespondWith,
3384 responder: EchoEchoMinimalWithErrorResponder,
3385 },
3386 EchoMinimalNoRetVal {
3387 forward_to_server: String,
3388 control_handle: EchoControlHandle,
3389 },
3390 EchoStruct {
3391 value: Struct,
3392 forward_to_server: String,
3393 responder: EchoEchoStructResponder,
3394 },
3395 EchoStructWithError {
3396 value: Struct,
3397 result_err: DefaultEnum,
3398 forward_to_server: String,
3399 result_variant: RespondWith,
3400 responder: EchoEchoStructWithErrorResponder,
3401 },
3402 EchoStructNoRetVal {
3403 value: Struct,
3404 forward_to_server: String,
3405 control_handle: EchoControlHandle,
3406 },
3407 EchoArrays {
3408 value: ArraysStruct,
3409 forward_to_server: String,
3410 responder: EchoEchoArraysResponder,
3411 },
3412 EchoArraysWithError {
3413 value: ArraysStruct,
3414 result_err: DefaultEnum,
3415 forward_to_server: String,
3416 result_variant: RespondWith,
3417 responder: EchoEchoArraysWithErrorResponder,
3418 },
3419 EchoVectors {
3420 value: VectorsStruct,
3421 forward_to_server: String,
3422 responder: EchoEchoVectorsResponder,
3423 },
3424 EchoVectorsWithError {
3425 value: VectorsStruct,
3426 result_err: DefaultEnum,
3427 forward_to_server: String,
3428 result_variant: RespondWith,
3429 responder: EchoEchoVectorsWithErrorResponder,
3430 },
3431 EchoTable {
3432 value: AllTypesTable,
3433 forward_to_server: String,
3434 responder: EchoEchoTableResponder,
3435 },
3436 EchoTableWithError {
3437 value: AllTypesTable,
3438 result_err: DefaultEnum,
3439 forward_to_server: String,
3440 result_variant: RespondWith,
3441 responder: EchoEchoTableWithErrorResponder,
3442 },
3443 EchoXunions {
3444 value: Vec<AllTypesXunion>,
3445 forward_to_server: String,
3446 responder: EchoEchoXunionsResponder,
3447 },
3448 EchoXunionsWithError {
3449 value: Vec<AllTypesXunion>,
3450 result_err: DefaultEnum,
3451 forward_to_server: String,
3452 result_variant: RespondWith,
3453 responder: EchoEchoXunionsWithErrorResponder,
3454 },
3455 EchoNamedStruct {
3456 value: fidl_fidl_test_imported::SimpleStruct,
3457 forward_to_server: String,
3458 responder: EchoEchoNamedStructResponder,
3459 },
3460 EchoNamedStructWithError {
3461 value: fidl_fidl_test_imported::SimpleStruct,
3462 result_err: u32,
3463 forward_to_server: String,
3464 result_variant: fidl_fidl_test_imported::WantResponse,
3465 responder: EchoEchoNamedStructWithErrorResponder,
3466 },
3467 EchoNamedStructNoRetVal {
3468 value: fidl_fidl_test_imported::SimpleStruct,
3469 forward_to_server: String,
3470 control_handle: EchoControlHandle,
3471 },
3472 EchoTablePayload {
3473 payload: RequestTable,
3474 responder: EchoEchoTablePayloadResponder,
3475 },
3476 EchoTablePayloadWithError {
3477 payload: EchoEchoTablePayloadWithErrorRequest,
3478 responder: EchoEchoTablePayloadWithErrorResponder,
3479 },
3480 EchoTablePayloadNoRetVal {
3481 payload: RequestTable,
3482 control_handle: EchoControlHandle,
3483 },
3484 EchoUnionPayload {
3485 payload: RequestUnion,
3486 responder: EchoEchoUnionPayloadResponder,
3487 },
3488 EchoUnionPayloadWithError {
3489 payload: EchoEchoUnionPayloadWithErrorRequest,
3490 responder: EchoEchoUnionPayloadWithErrorResponder,
3491 },
3492 EchoUnionPayloadNoRetVal {
3493 payload: RequestUnion,
3494 control_handle: EchoControlHandle,
3495 },
3496}
3497
3498impl EchoRequest {
3499 #[allow(irrefutable_let_patterns)]
3500 pub fn into_echo_table_request_composed(
3501 self,
3502 ) -> Option<(
3503 fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
3504 EchoEchoTableRequestComposedResponder,
3505 )> {
3506 if let EchoRequest::EchoTableRequestComposed { payload, responder } = self {
3507 Some((payload, responder))
3508 } else {
3509 None
3510 }
3511 }
3512
3513 #[allow(irrefutable_let_patterns)]
3514 pub fn into_echo_union_response_with_error_composed(
3515 self,
3516 ) -> Option<(
3517 i64,
3518 bool,
3519 String,
3520 u32,
3521 fidl_fidl_test_imported::WantResponse,
3522 EchoEchoUnionResponseWithErrorComposedResponder,
3523 )> {
3524 if let EchoRequest::EchoUnionResponseWithErrorComposed {
3525 value,
3526 want_absolute_value,
3527 forward_to_server,
3528 result_err,
3529 result_variant,
3530 responder,
3531 } = self
3532 {
3533 Some((
3534 value,
3535 want_absolute_value,
3536 forward_to_server,
3537 result_err,
3538 result_variant,
3539 responder,
3540 ))
3541 } else {
3542 None
3543 }
3544 }
3545
3546 #[allow(irrefutable_let_patterns)]
3547 pub fn into_echo_minimal(self) -> Option<(String, EchoEchoMinimalResponder)> {
3548 if let EchoRequest::EchoMinimal { forward_to_server, responder } = self {
3549 Some((forward_to_server, responder))
3550 } else {
3551 None
3552 }
3553 }
3554
3555 #[allow(irrefutable_let_patterns)]
3556 pub fn into_echo_minimal_with_error(
3557 self,
3558 ) -> Option<(String, RespondWith, EchoEchoMinimalWithErrorResponder)> {
3559 if let EchoRequest::EchoMinimalWithError { forward_to_server, result_variant, responder } =
3560 self
3561 {
3562 Some((forward_to_server, result_variant, responder))
3563 } else {
3564 None
3565 }
3566 }
3567
3568 #[allow(irrefutable_let_patterns)]
3569 pub fn into_echo_minimal_no_ret_val(self) -> Option<(String, EchoControlHandle)> {
3570 if let EchoRequest::EchoMinimalNoRetVal { forward_to_server, control_handle } = self {
3571 Some((forward_to_server, control_handle))
3572 } else {
3573 None
3574 }
3575 }
3576
3577 #[allow(irrefutable_let_patterns)]
3578 pub fn into_echo_struct(self) -> Option<(Struct, String, EchoEchoStructResponder)> {
3579 if let EchoRequest::EchoStruct { value, forward_to_server, responder } = self {
3580 Some((value, forward_to_server, responder))
3581 } else {
3582 None
3583 }
3584 }
3585
3586 #[allow(irrefutable_let_patterns)]
3587 pub fn into_echo_struct_with_error(
3588 self,
3589 ) -> Option<(Struct, DefaultEnum, String, RespondWith, EchoEchoStructWithErrorResponder)> {
3590 if let EchoRequest::EchoStructWithError {
3591 value,
3592 result_err,
3593 forward_to_server,
3594 result_variant,
3595 responder,
3596 } = self
3597 {
3598 Some((value, result_err, forward_to_server, result_variant, responder))
3599 } else {
3600 None
3601 }
3602 }
3603
3604 #[allow(irrefutable_let_patterns)]
3605 pub fn into_echo_struct_no_ret_val(self) -> Option<(Struct, String, EchoControlHandle)> {
3606 if let EchoRequest::EchoStructNoRetVal { value, forward_to_server, control_handle } = self {
3607 Some((value, forward_to_server, control_handle))
3608 } else {
3609 None
3610 }
3611 }
3612
3613 #[allow(irrefutable_let_patterns)]
3614 pub fn into_echo_arrays(self) -> Option<(ArraysStruct, String, EchoEchoArraysResponder)> {
3615 if let EchoRequest::EchoArrays { value, forward_to_server, responder } = self {
3616 Some((value, forward_to_server, responder))
3617 } else {
3618 None
3619 }
3620 }
3621
3622 #[allow(irrefutable_let_patterns)]
3623 pub fn into_echo_arrays_with_error(
3624 self,
3625 ) -> Option<(ArraysStruct, DefaultEnum, String, RespondWith, EchoEchoArraysWithErrorResponder)>
3626 {
3627 if let EchoRequest::EchoArraysWithError {
3628 value,
3629 result_err,
3630 forward_to_server,
3631 result_variant,
3632 responder,
3633 } = self
3634 {
3635 Some((value, result_err, forward_to_server, result_variant, responder))
3636 } else {
3637 None
3638 }
3639 }
3640
3641 #[allow(irrefutable_let_patterns)]
3642 pub fn into_echo_vectors(self) -> Option<(VectorsStruct, String, EchoEchoVectorsResponder)> {
3643 if let EchoRequest::EchoVectors { value, forward_to_server, responder } = self {
3644 Some((value, forward_to_server, responder))
3645 } else {
3646 None
3647 }
3648 }
3649
3650 #[allow(irrefutable_let_patterns)]
3651 pub fn into_echo_vectors_with_error(
3652 self,
3653 ) -> Option<(VectorsStruct, DefaultEnum, String, RespondWith, EchoEchoVectorsWithErrorResponder)>
3654 {
3655 if let EchoRequest::EchoVectorsWithError {
3656 value,
3657 result_err,
3658 forward_to_server,
3659 result_variant,
3660 responder,
3661 } = self
3662 {
3663 Some((value, result_err, forward_to_server, result_variant, responder))
3664 } else {
3665 None
3666 }
3667 }
3668
3669 #[allow(irrefutable_let_patterns)]
3670 pub fn into_echo_table(self) -> Option<(AllTypesTable, String, EchoEchoTableResponder)> {
3671 if let EchoRequest::EchoTable { value, forward_to_server, responder } = self {
3672 Some((value, forward_to_server, responder))
3673 } else {
3674 None
3675 }
3676 }
3677
3678 #[allow(irrefutable_let_patterns)]
3679 pub fn into_echo_table_with_error(
3680 self,
3681 ) -> Option<(AllTypesTable, DefaultEnum, String, RespondWith, EchoEchoTableWithErrorResponder)>
3682 {
3683 if let EchoRequest::EchoTableWithError {
3684 value,
3685 result_err,
3686 forward_to_server,
3687 result_variant,
3688 responder,
3689 } = self
3690 {
3691 Some((value, result_err, forward_to_server, result_variant, responder))
3692 } else {
3693 None
3694 }
3695 }
3696
3697 #[allow(irrefutable_let_patterns)]
3698 pub fn into_echo_xunions(
3699 self,
3700 ) -> Option<(Vec<AllTypesXunion>, String, EchoEchoXunionsResponder)> {
3701 if let EchoRequest::EchoXunions { value, forward_to_server, responder } = self {
3702 Some((value, forward_to_server, responder))
3703 } else {
3704 None
3705 }
3706 }
3707
3708 #[allow(irrefutable_let_patterns)]
3709 pub fn into_echo_xunions_with_error(
3710 self,
3711 ) -> Option<(
3712 Vec<AllTypesXunion>,
3713 DefaultEnum,
3714 String,
3715 RespondWith,
3716 EchoEchoXunionsWithErrorResponder,
3717 )> {
3718 if let EchoRequest::EchoXunionsWithError {
3719 value,
3720 result_err,
3721 forward_to_server,
3722 result_variant,
3723 responder,
3724 } = self
3725 {
3726 Some((value, result_err, forward_to_server, result_variant, responder))
3727 } else {
3728 None
3729 }
3730 }
3731
3732 #[allow(irrefutable_let_patterns)]
3733 pub fn into_echo_named_struct(
3734 self,
3735 ) -> Option<(fidl_fidl_test_imported::SimpleStruct, String, EchoEchoNamedStructResponder)> {
3736 if let EchoRequest::EchoNamedStruct { value, forward_to_server, responder } = self {
3737 Some((value, forward_to_server, responder))
3738 } else {
3739 None
3740 }
3741 }
3742
3743 #[allow(irrefutable_let_patterns)]
3744 pub fn into_echo_named_struct_with_error(
3745 self,
3746 ) -> Option<(
3747 fidl_fidl_test_imported::SimpleStruct,
3748 u32,
3749 String,
3750 fidl_fidl_test_imported::WantResponse,
3751 EchoEchoNamedStructWithErrorResponder,
3752 )> {
3753 if let EchoRequest::EchoNamedStructWithError {
3754 value,
3755 result_err,
3756 forward_to_server,
3757 result_variant,
3758 responder,
3759 } = self
3760 {
3761 Some((value, result_err, forward_to_server, result_variant, responder))
3762 } else {
3763 None
3764 }
3765 }
3766
3767 #[allow(irrefutable_let_patterns)]
3768 pub fn into_echo_named_struct_no_ret_val(
3769 self,
3770 ) -> Option<(fidl_fidl_test_imported::SimpleStruct, String, EchoControlHandle)> {
3771 if let EchoRequest::EchoNamedStructNoRetVal { value, forward_to_server, control_handle } =
3772 self
3773 {
3774 Some((value, forward_to_server, control_handle))
3775 } else {
3776 None
3777 }
3778 }
3779
3780 #[allow(irrefutable_let_patterns)]
3781 pub fn into_echo_table_payload(self) -> Option<(RequestTable, EchoEchoTablePayloadResponder)> {
3782 if let EchoRequest::EchoTablePayload { payload, responder } = self {
3783 Some((payload, responder))
3784 } else {
3785 None
3786 }
3787 }
3788
3789 #[allow(irrefutable_let_patterns)]
3790 pub fn into_echo_table_payload_with_error(
3791 self,
3792 ) -> Option<(EchoEchoTablePayloadWithErrorRequest, EchoEchoTablePayloadWithErrorResponder)>
3793 {
3794 if let EchoRequest::EchoTablePayloadWithError { payload, responder } = self {
3795 Some((payload, responder))
3796 } else {
3797 None
3798 }
3799 }
3800
3801 #[allow(irrefutable_let_patterns)]
3802 pub fn into_echo_table_payload_no_ret_val(self) -> Option<(RequestTable, EchoControlHandle)> {
3803 if let EchoRequest::EchoTablePayloadNoRetVal { payload, control_handle } = self {
3804 Some((payload, control_handle))
3805 } else {
3806 None
3807 }
3808 }
3809
3810 #[allow(irrefutable_let_patterns)]
3811 pub fn into_echo_union_payload(self) -> Option<(RequestUnion, EchoEchoUnionPayloadResponder)> {
3812 if let EchoRequest::EchoUnionPayload { payload, responder } = self {
3813 Some((payload, responder))
3814 } else {
3815 None
3816 }
3817 }
3818
3819 #[allow(irrefutable_let_patterns)]
3820 pub fn into_echo_union_payload_with_error(
3821 self,
3822 ) -> Option<(EchoEchoUnionPayloadWithErrorRequest, EchoEchoUnionPayloadWithErrorResponder)>
3823 {
3824 if let EchoRequest::EchoUnionPayloadWithError { payload, responder } = self {
3825 Some((payload, responder))
3826 } else {
3827 None
3828 }
3829 }
3830
3831 #[allow(irrefutable_let_patterns)]
3832 pub fn into_echo_union_payload_no_ret_val(self) -> Option<(RequestUnion, EchoControlHandle)> {
3833 if let EchoRequest::EchoUnionPayloadNoRetVal { payload, control_handle } = self {
3834 Some((payload, control_handle))
3835 } else {
3836 None
3837 }
3838 }
3839
3840 pub fn method_name(&self) -> &'static str {
3842 match *self {
3843 EchoRequest::EchoTableRequestComposed { .. } => "echo_table_request_composed",
3844 EchoRequest::EchoUnionResponseWithErrorComposed { .. } => {
3845 "echo_union_response_with_error_composed"
3846 }
3847 EchoRequest::EchoMinimal { .. } => "echo_minimal",
3848 EchoRequest::EchoMinimalWithError { .. } => "echo_minimal_with_error",
3849 EchoRequest::EchoMinimalNoRetVal { .. } => "echo_minimal_no_ret_val",
3850 EchoRequest::EchoStruct { .. } => "echo_struct",
3851 EchoRequest::EchoStructWithError { .. } => "echo_struct_with_error",
3852 EchoRequest::EchoStructNoRetVal { .. } => "echo_struct_no_ret_val",
3853 EchoRequest::EchoArrays { .. } => "echo_arrays",
3854 EchoRequest::EchoArraysWithError { .. } => "echo_arrays_with_error",
3855 EchoRequest::EchoVectors { .. } => "echo_vectors",
3856 EchoRequest::EchoVectorsWithError { .. } => "echo_vectors_with_error",
3857 EchoRequest::EchoTable { .. } => "echo_table",
3858 EchoRequest::EchoTableWithError { .. } => "echo_table_with_error",
3859 EchoRequest::EchoXunions { .. } => "echo_xunions",
3860 EchoRequest::EchoXunionsWithError { .. } => "echo_xunions_with_error",
3861 EchoRequest::EchoNamedStruct { .. } => "echo_named_struct",
3862 EchoRequest::EchoNamedStructWithError { .. } => "echo_named_struct_with_error",
3863 EchoRequest::EchoNamedStructNoRetVal { .. } => "echo_named_struct_no_ret_val",
3864 EchoRequest::EchoTablePayload { .. } => "echo_table_payload",
3865 EchoRequest::EchoTablePayloadWithError { .. } => "echo_table_payload_with_error",
3866 EchoRequest::EchoTablePayloadNoRetVal { .. } => "echo_table_payload_no_ret_val",
3867 EchoRequest::EchoUnionPayload { .. } => "echo_union_payload",
3868 EchoRequest::EchoUnionPayloadWithError { .. } => "echo_union_payload_with_error",
3869 EchoRequest::EchoUnionPayloadNoRetVal { .. } => "echo_union_payload_no_ret_val",
3870 }
3871 }
3872}
3873
3874#[derive(Debug, Clone)]
3875pub struct EchoControlHandle {
3876 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
3877}
3878
3879impl EchoControlHandle {
3880 pub fn shutdown_with_epitaph(&self, status: impl Into<fidl::Epitaph>) {
3881 self.inner.shutdown_with_epitaph(status.into())
3882 }
3883}
3884
3885impl fidl::endpoints::ControlHandle for EchoControlHandle {
3886 fn shutdown(&self) {
3887 self.inner.shutdown()
3888 }
3889
3890 fn shutdown_with_epitaph(&self, status: fidl::Epitaph) {
3891 self.inner.shutdown_with_epitaph(status)
3892 }
3893
3894 fn is_closed(&self) -> bool {
3895 self.inner.channel().is_closed()
3896 }
3897 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
3898 self.inner.channel().on_closed()
3899 }
3900
3901 #[cfg(target_os = "fuchsia")]
3902 fn signal_peer(
3903 &self,
3904 clear_mask: zx::Signals,
3905 set_mask: zx::Signals,
3906 ) -> Result<(), zx_status::Status> {
3907 use fidl::Peered;
3908 self.inner.channel().signal_peer(clear_mask, set_mask)
3909 }
3910}
3911
3912impl EchoControlHandle {
3913 pub fn send_echo_minimal_event(&self) -> Result<(), fidl::Error> {
3914 self.inner.send::<fidl::encoding::EmptyPayload>(
3915 (),
3916 0,
3917 0x273b2029f1a0aee2,
3918 fidl::encoding::DynamicFlags::empty(),
3919 )
3920 }
3921
3922 pub fn send_echo_event(&self, mut value: Struct) -> Result<(), fidl::Error> {
3923 self.inner.send::<EchoEchoEventRequest>(
3924 (&mut value,),
3925 0,
3926 0x1219e12e0450024,
3927 fidl::encoding::DynamicFlags::empty(),
3928 )
3929 }
3930
3931 pub fn send_on_echo_named_event(
3932 &self,
3933 mut value: &fidl_fidl_test_imported::SimpleStruct,
3934 ) -> Result<(), fidl::Error> {
3935 self.inner.send::<fidl_fidl_test_imported::ResponseStruct>(
3936 (value,),
3937 0,
3938 0x749ebde83348a374,
3939 fidl::encoding::DynamicFlags::empty(),
3940 )
3941 }
3942
3943 pub fn send_on_echo_table_payload_event(
3944 &self,
3945 mut payload: &ResponseTable,
3946 ) -> Result<(), fidl::Error> {
3947 self.inner.send::<ResponseTable>(
3948 payload,
3949 0,
3950 0x708dddea1cb98430,
3951 fidl::encoding::DynamicFlags::empty(),
3952 )
3953 }
3954
3955 pub fn send_on_echo_union_payload_event(
3956 &self,
3957 mut payload: &ResponseUnion,
3958 ) -> Result<(), fidl::Error> {
3959 self.inner.send::<ResponseUnion>(
3960 payload,
3961 0,
3962 0x642f4c265a05f4c0,
3963 fidl::encoding::DynamicFlags::empty(),
3964 )
3965 }
3966}
3967
3968#[must_use = "FIDL methods require a response to be sent"]
3969#[derive(Debug)]
3970pub struct EchoEchoTableRequestComposedResponder {
3971 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
3972 tx_id: u32,
3973}
3974
3975impl std::ops::Drop for EchoEchoTableRequestComposedResponder {
3979 fn drop(&mut self) {
3980 self.control_handle.shutdown();
3981 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3983 }
3984}
3985
3986impl fidl::endpoints::Responder for EchoEchoTableRequestComposedResponder {
3987 type ControlHandle = EchoControlHandle;
3988
3989 fn control_handle(&self) -> &EchoControlHandle {
3990 &self.control_handle
3991 }
3992
3993 fn drop_without_shutdown(mut self) {
3994 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3996 std::mem::forget(self);
3998 }
3999}
4000
4001impl EchoEchoTableRequestComposedResponder {
4002 pub fn send(
4006 self,
4007 mut value: &fidl_fidl_test_imported::SimpleStruct,
4008 ) -> Result<(), fidl::Error> {
4009 let _result = self.send_raw(value);
4010 if _result.is_err() {
4011 self.control_handle.shutdown();
4012 }
4013 self.drop_without_shutdown();
4014 _result
4015 }
4016
4017 pub fn send_no_shutdown_on_err(
4019 self,
4020 mut value: &fidl_fidl_test_imported::SimpleStruct,
4021 ) -> Result<(), fidl::Error> {
4022 let _result = self.send_raw(value);
4023 self.drop_without_shutdown();
4024 _result
4025 }
4026
4027 fn send_raw(
4028 &self,
4029 mut value: &fidl_fidl_test_imported::SimpleStruct,
4030 ) -> Result<(), fidl::Error> {
4031 self.control_handle.inner.send::<fidl_fidl_test_imported::ResponseStruct>(
4032 (value,),
4033 self.tx_id,
4034 0x1d545c738c7a8ee,
4035 fidl::encoding::DynamicFlags::empty(),
4036 )
4037 }
4038}
4039
4040#[must_use = "FIDL methods require a response to be sent"]
4041#[derive(Debug)]
4042pub struct EchoEchoUnionResponseWithErrorComposedResponder {
4043 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4044 tx_id: u32,
4045}
4046
4047impl std::ops::Drop for EchoEchoUnionResponseWithErrorComposedResponder {
4051 fn drop(&mut self) {
4052 self.control_handle.shutdown();
4053 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4055 }
4056}
4057
4058impl fidl::endpoints::Responder for EchoEchoUnionResponseWithErrorComposedResponder {
4059 type ControlHandle = EchoControlHandle;
4060
4061 fn control_handle(&self) -> &EchoControlHandle {
4062 &self.control_handle
4063 }
4064
4065 fn drop_without_shutdown(mut self) {
4066 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4068 std::mem::forget(self);
4070 }
4071}
4072
4073impl EchoEchoUnionResponseWithErrorComposedResponder {
4074 pub fn send(
4078 self,
4079 mut result: Result<
4080 &fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
4081 u32,
4082 >,
4083 ) -> Result<(), fidl::Error> {
4084 let _result = self.send_raw(result);
4085 if _result.is_err() {
4086 self.control_handle.shutdown();
4087 }
4088 self.drop_without_shutdown();
4089 _result
4090 }
4091
4092 pub fn send_no_shutdown_on_err(
4094 self,
4095 mut result: Result<
4096 &fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
4097 u32,
4098 >,
4099 ) -> Result<(), fidl::Error> {
4100 let _result = self.send_raw(result);
4101 self.drop_without_shutdown();
4102 _result
4103 }
4104
4105 fn send_raw(
4106 &self,
4107 mut result: Result<
4108 &fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
4109 u32,
4110 >,
4111 ) -> Result<(), fidl::Error> {
4112 self.control_handle.inner.send::<fidl::encoding::ResultType<
4113 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
4114 u32,
4115 >>(
4116 result,
4117 self.tx_id,
4118 0x38a67e88d6106443,
4119 fidl::encoding::DynamicFlags::empty(),
4120 )
4121 }
4122}
4123
4124#[must_use = "FIDL methods require a response to be sent"]
4125#[derive(Debug)]
4126pub struct EchoEchoMinimalResponder {
4127 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4128 tx_id: u32,
4129}
4130
4131impl std::ops::Drop for EchoEchoMinimalResponder {
4135 fn drop(&mut self) {
4136 self.control_handle.shutdown();
4137 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4139 }
4140}
4141
4142impl fidl::endpoints::Responder for EchoEchoMinimalResponder {
4143 type ControlHandle = EchoControlHandle;
4144
4145 fn control_handle(&self) -> &EchoControlHandle {
4146 &self.control_handle
4147 }
4148
4149 fn drop_without_shutdown(mut self) {
4150 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4152 std::mem::forget(self);
4154 }
4155}
4156
4157impl EchoEchoMinimalResponder {
4158 pub fn send(self) -> Result<(), fidl::Error> {
4162 let _result = self.send_raw();
4163 if _result.is_err() {
4164 self.control_handle.shutdown();
4165 }
4166 self.drop_without_shutdown();
4167 _result
4168 }
4169
4170 pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4172 let _result = self.send_raw();
4173 self.drop_without_shutdown();
4174 _result
4175 }
4176
4177 fn send_raw(&self) -> Result<(), fidl::Error> {
4178 self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4179 (),
4180 self.tx_id,
4181 0x39edd68c837482ec,
4182 fidl::encoding::DynamicFlags::empty(),
4183 )
4184 }
4185}
4186
4187#[must_use = "FIDL methods require a response to be sent"]
4188#[derive(Debug)]
4189pub struct EchoEchoMinimalWithErrorResponder {
4190 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4191 tx_id: u32,
4192}
4193
4194impl std::ops::Drop for EchoEchoMinimalWithErrorResponder {
4198 fn drop(&mut self) {
4199 self.control_handle.shutdown();
4200 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4202 }
4203}
4204
4205impl fidl::endpoints::Responder for EchoEchoMinimalWithErrorResponder {
4206 type ControlHandle = EchoControlHandle;
4207
4208 fn control_handle(&self) -> &EchoControlHandle {
4209 &self.control_handle
4210 }
4211
4212 fn drop_without_shutdown(mut self) {
4213 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4215 std::mem::forget(self);
4217 }
4218}
4219
4220impl EchoEchoMinimalWithErrorResponder {
4221 pub fn send(self, mut result: Result<(), u32>) -> Result<(), fidl::Error> {
4225 let _result = self.send_raw(result);
4226 if _result.is_err() {
4227 self.control_handle.shutdown();
4228 }
4229 self.drop_without_shutdown();
4230 _result
4231 }
4232
4233 pub fn send_no_shutdown_on_err(self, mut result: Result<(), u32>) -> Result<(), fidl::Error> {
4235 let _result = self.send_raw(result);
4236 self.drop_without_shutdown();
4237 _result
4238 }
4239
4240 fn send_raw(&self, mut result: Result<(), u32>) -> Result<(), fidl::Error> {
4241 self.control_handle
4242 .inner
4243 .send::<fidl::encoding::ResultType<fidl::encoding::EmptyStruct, u32>>(
4244 result,
4245 self.tx_id,
4246 0x36f4695996e35acc,
4247 fidl::encoding::DynamicFlags::empty(),
4248 )
4249 }
4250}
4251
4252#[must_use = "FIDL methods require a response to be sent"]
4253#[derive(Debug)]
4254pub struct EchoEchoStructResponder {
4255 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4256 tx_id: u32,
4257}
4258
4259impl std::ops::Drop for EchoEchoStructResponder {
4263 fn drop(&mut self) {
4264 self.control_handle.shutdown();
4265 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4267 }
4268}
4269
4270impl fidl::endpoints::Responder for EchoEchoStructResponder {
4271 type ControlHandle = EchoControlHandle;
4272
4273 fn control_handle(&self) -> &EchoControlHandle {
4274 &self.control_handle
4275 }
4276
4277 fn drop_without_shutdown(mut self) {
4278 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4280 std::mem::forget(self);
4282 }
4283}
4284
4285impl EchoEchoStructResponder {
4286 pub fn send(self, mut value: Struct) -> Result<(), fidl::Error> {
4290 let _result = self.send_raw(value);
4291 if _result.is_err() {
4292 self.control_handle.shutdown();
4293 }
4294 self.drop_without_shutdown();
4295 _result
4296 }
4297
4298 pub fn send_no_shutdown_on_err(self, mut value: Struct) -> Result<(), fidl::Error> {
4300 let _result = self.send_raw(value);
4301 self.drop_without_shutdown();
4302 _result
4303 }
4304
4305 fn send_raw(&self, mut value: Struct) -> Result<(), fidl::Error> {
4306 self.control_handle.inner.send::<EchoEchoStructResponse>(
4307 (&mut value,),
4308 self.tx_id,
4309 0x4c2f85818cc53f37,
4310 fidl::encoding::DynamicFlags::empty(),
4311 )
4312 }
4313}
4314
4315#[must_use = "FIDL methods require a response to be sent"]
4316#[derive(Debug)]
4317pub struct EchoEchoStructWithErrorResponder {
4318 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4319 tx_id: u32,
4320}
4321
4322impl std::ops::Drop for EchoEchoStructWithErrorResponder {
4326 fn drop(&mut self) {
4327 self.control_handle.shutdown();
4328 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4330 }
4331}
4332
4333impl fidl::endpoints::Responder for EchoEchoStructWithErrorResponder {
4334 type ControlHandle = EchoControlHandle;
4335
4336 fn control_handle(&self) -> &EchoControlHandle {
4337 &self.control_handle
4338 }
4339
4340 fn drop_without_shutdown(mut self) {
4341 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4343 std::mem::forget(self);
4345 }
4346}
4347
4348impl EchoEchoStructWithErrorResponder {
4349 pub fn send(self, mut result: Result<Struct, DefaultEnum>) -> Result<(), fidl::Error> {
4353 let _result = self.send_raw(result);
4354 if _result.is_err() {
4355 self.control_handle.shutdown();
4356 }
4357 self.drop_without_shutdown();
4358 _result
4359 }
4360
4361 pub fn send_no_shutdown_on_err(
4363 self,
4364 mut result: Result<Struct, DefaultEnum>,
4365 ) -> Result<(), fidl::Error> {
4366 let _result = self.send_raw(result);
4367 self.drop_without_shutdown();
4368 _result
4369 }
4370
4371 fn send_raw(&self, mut result: Result<Struct, DefaultEnum>) -> Result<(), fidl::Error> {
4372 self.control_handle.inner.send::<fidl::encoding::ResultType<
4373 EchoEchoStructWithErrorResponse,
4374 DefaultEnum,
4375 >>(
4376 result.as_mut().map_err(|e| *e).map(|value| (value,)),
4377 self.tx_id,
4378 0x46cb32652c4c0899,
4379 fidl::encoding::DynamicFlags::empty(),
4380 )
4381 }
4382}
4383
4384#[must_use = "FIDL methods require a response to be sent"]
4385#[derive(Debug)]
4386pub struct EchoEchoArraysResponder {
4387 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4388 tx_id: u32,
4389}
4390
4391impl std::ops::Drop for EchoEchoArraysResponder {
4395 fn drop(&mut self) {
4396 self.control_handle.shutdown();
4397 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4399 }
4400}
4401
4402impl fidl::endpoints::Responder for EchoEchoArraysResponder {
4403 type ControlHandle = EchoControlHandle;
4404
4405 fn control_handle(&self) -> &EchoControlHandle {
4406 &self.control_handle
4407 }
4408
4409 fn drop_without_shutdown(mut self) {
4410 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4412 std::mem::forget(self);
4414 }
4415}
4416
4417impl EchoEchoArraysResponder {
4418 pub fn send(self, mut value: ArraysStruct) -> Result<(), fidl::Error> {
4422 let _result = self.send_raw(value);
4423 if _result.is_err() {
4424 self.control_handle.shutdown();
4425 }
4426 self.drop_without_shutdown();
4427 _result
4428 }
4429
4430 pub fn send_no_shutdown_on_err(self, mut value: ArraysStruct) -> Result<(), fidl::Error> {
4432 let _result = self.send_raw(value);
4433 self.drop_without_shutdown();
4434 _result
4435 }
4436
4437 fn send_raw(&self, mut value: ArraysStruct) -> Result<(), fidl::Error> {
4438 self.control_handle.inner.send::<EchoEchoArraysResponse>(
4439 (&mut value,),
4440 self.tx_id,
4441 0x1b6019d5611f2470,
4442 fidl::encoding::DynamicFlags::empty(),
4443 )
4444 }
4445}
4446
4447#[must_use = "FIDL methods require a response to be sent"]
4448#[derive(Debug)]
4449pub struct EchoEchoArraysWithErrorResponder {
4450 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4451 tx_id: u32,
4452}
4453
4454impl std::ops::Drop for EchoEchoArraysWithErrorResponder {
4458 fn drop(&mut self) {
4459 self.control_handle.shutdown();
4460 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4462 }
4463}
4464
4465impl fidl::endpoints::Responder for EchoEchoArraysWithErrorResponder {
4466 type ControlHandle = EchoControlHandle;
4467
4468 fn control_handle(&self) -> &EchoControlHandle {
4469 &self.control_handle
4470 }
4471
4472 fn drop_without_shutdown(mut self) {
4473 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4475 std::mem::forget(self);
4477 }
4478}
4479
4480impl EchoEchoArraysWithErrorResponder {
4481 pub fn send(self, mut result: Result<ArraysStruct, DefaultEnum>) -> Result<(), fidl::Error> {
4485 let _result = self.send_raw(result);
4486 if _result.is_err() {
4487 self.control_handle.shutdown();
4488 }
4489 self.drop_without_shutdown();
4490 _result
4491 }
4492
4493 pub fn send_no_shutdown_on_err(
4495 self,
4496 mut result: Result<ArraysStruct, DefaultEnum>,
4497 ) -> Result<(), fidl::Error> {
4498 let _result = self.send_raw(result);
4499 self.drop_without_shutdown();
4500 _result
4501 }
4502
4503 fn send_raw(&self, mut result: Result<ArraysStruct, DefaultEnum>) -> Result<(), fidl::Error> {
4504 self.control_handle.inner.send::<fidl::encoding::ResultType<
4505 EchoEchoArraysWithErrorResponse,
4506 DefaultEnum,
4507 >>(
4508 result.as_mut().map_err(|e| *e).map(|value| (value,)),
4509 self.tx_id,
4510 0x6dbf26e67e253afa,
4511 fidl::encoding::DynamicFlags::empty(),
4512 )
4513 }
4514}
4515
4516#[must_use = "FIDL methods require a response to be sent"]
4517#[derive(Debug)]
4518pub struct EchoEchoVectorsResponder {
4519 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4520 tx_id: u32,
4521}
4522
4523impl std::ops::Drop for EchoEchoVectorsResponder {
4527 fn drop(&mut self) {
4528 self.control_handle.shutdown();
4529 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4531 }
4532}
4533
4534impl fidl::endpoints::Responder for EchoEchoVectorsResponder {
4535 type ControlHandle = EchoControlHandle;
4536
4537 fn control_handle(&self) -> &EchoControlHandle {
4538 &self.control_handle
4539 }
4540
4541 fn drop_without_shutdown(mut self) {
4542 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4544 std::mem::forget(self);
4546 }
4547}
4548
4549impl EchoEchoVectorsResponder {
4550 pub fn send(self, mut value: VectorsStruct) -> Result<(), fidl::Error> {
4554 let _result = self.send_raw(value);
4555 if _result.is_err() {
4556 self.control_handle.shutdown();
4557 }
4558 self.drop_without_shutdown();
4559 _result
4560 }
4561
4562 pub fn send_no_shutdown_on_err(self, mut value: VectorsStruct) -> Result<(), fidl::Error> {
4564 let _result = self.send_raw(value);
4565 self.drop_without_shutdown();
4566 _result
4567 }
4568
4569 fn send_raw(&self, mut value: VectorsStruct) -> Result<(), fidl::Error> {
4570 self.control_handle.inner.send::<EchoEchoVectorsResponse>(
4571 (&mut value,),
4572 self.tx_id,
4573 0x1582623f0d9f6e5e,
4574 fidl::encoding::DynamicFlags::empty(),
4575 )
4576 }
4577}
4578
4579#[must_use = "FIDL methods require a response to be sent"]
4580#[derive(Debug)]
4581pub struct EchoEchoVectorsWithErrorResponder {
4582 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4583 tx_id: u32,
4584}
4585
4586impl std::ops::Drop for EchoEchoVectorsWithErrorResponder {
4590 fn drop(&mut self) {
4591 self.control_handle.shutdown();
4592 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4594 }
4595}
4596
4597impl fidl::endpoints::Responder for EchoEchoVectorsWithErrorResponder {
4598 type ControlHandle = EchoControlHandle;
4599
4600 fn control_handle(&self) -> &EchoControlHandle {
4601 &self.control_handle
4602 }
4603
4604 fn drop_without_shutdown(mut self) {
4605 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4607 std::mem::forget(self);
4609 }
4610}
4611
4612impl EchoEchoVectorsWithErrorResponder {
4613 pub fn send(self, mut result: Result<VectorsStruct, DefaultEnum>) -> Result<(), fidl::Error> {
4617 let _result = self.send_raw(result);
4618 if _result.is_err() {
4619 self.control_handle.shutdown();
4620 }
4621 self.drop_without_shutdown();
4622 _result
4623 }
4624
4625 pub fn send_no_shutdown_on_err(
4627 self,
4628 mut result: Result<VectorsStruct, DefaultEnum>,
4629 ) -> Result<(), fidl::Error> {
4630 let _result = self.send_raw(result);
4631 self.drop_without_shutdown();
4632 _result
4633 }
4634
4635 fn send_raw(&self, mut result: Result<VectorsStruct, DefaultEnum>) -> Result<(), fidl::Error> {
4636 self.control_handle.inner.send::<fidl::encoding::ResultType<
4637 EchoEchoVectorsWithErrorResponse,
4638 DefaultEnum,
4639 >>(
4640 result.as_mut().map_err(|e| *e).map(|value| (value,)),
4641 self.tx_id,
4642 0x730f163401e2b3e5,
4643 fidl::encoding::DynamicFlags::empty(),
4644 )
4645 }
4646}
4647
4648#[must_use = "FIDL methods require a response to be sent"]
4649#[derive(Debug)]
4650pub struct EchoEchoTableResponder {
4651 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4652 tx_id: u32,
4653}
4654
4655impl std::ops::Drop for EchoEchoTableResponder {
4659 fn drop(&mut self) {
4660 self.control_handle.shutdown();
4661 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4663 }
4664}
4665
4666impl fidl::endpoints::Responder for EchoEchoTableResponder {
4667 type ControlHandle = EchoControlHandle;
4668
4669 fn control_handle(&self) -> &EchoControlHandle {
4670 &self.control_handle
4671 }
4672
4673 fn drop_without_shutdown(mut self) {
4674 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4676 std::mem::forget(self);
4678 }
4679}
4680
4681impl EchoEchoTableResponder {
4682 pub fn send(self, mut value: AllTypesTable) -> Result<(), fidl::Error> {
4686 let _result = self.send_raw(value);
4687 if _result.is_err() {
4688 self.control_handle.shutdown();
4689 }
4690 self.drop_without_shutdown();
4691 _result
4692 }
4693
4694 pub fn send_no_shutdown_on_err(self, mut value: AllTypesTable) -> Result<(), fidl::Error> {
4696 let _result = self.send_raw(value);
4697 self.drop_without_shutdown();
4698 _result
4699 }
4700
4701 fn send_raw(&self, mut value: AllTypesTable) -> Result<(), fidl::Error> {
4702 self.control_handle.inner.send::<EchoEchoTableResponse>(
4703 (&mut value,),
4704 self.tx_id,
4705 0x4f1fb0a512f47c4b,
4706 fidl::encoding::DynamicFlags::empty(),
4707 )
4708 }
4709}
4710
4711#[must_use = "FIDL methods require a response to be sent"]
4712#[derive(Debug)]
4713pub struct EchoEchoTableWithErrorResponder {
4714 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4715 tx_id: u32,
4716}
4717
4718impl std::ops::Drop for EchoEchoTableWithErrorResponder {
4722 fn drop(&mut self) {
4723 self.control_handle.shutdown();
4724 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4726 }
4727}
4728
4729impl fidl::endpoints::Responder for EchoEchoTableWithErrorResponder {
4730 type ControlHandle = EchoControlHandle;
4731
4732 fn control_handle(&self) -> &EchoControlHandle {
4733 &self.control_handle
4734 }
4735
4736 fn drop_without_shutdown(mut self) {
4737 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4739 std::mem::forget(self);
4741 }
4742}
4743
4744impl EchoEchoTableWithErrorResponder {
4745 pub fn send(self, mut result: Result<AllTypesTable, DefaultEnum>) -> Result<(), fidl::Error> {
4749 let _result = self.send_raw(result);
4750 if _result.is_err() {
4751 self.control_handle.shutdown();
4752 }
4753 self.drop_without_shutdown();
4754 _result
4755 }
4756
4757 pub fn send_no_shutdown_on_err(
4759 self,
4760 mut result: Result<AllTypesTable, DefaultEnum>,
4761 ) -> Result<(), fidl::Error> {
4762 let _result = self.send_raw(result);
4763 self.drop_without_shutdown();
4764 _result
4765 }
4766
4767 fn send_raw(&self, mut result: Result<AllTypesTable, DefaultEnum>) -> Result<(), fidl::Error> {
4768 self.control_handle.inner.send::<fidl::encoding::ResultType<
4769 EchoEchoTableWithErrorResponse,
4770 DefaultEnum,
4771 >>(
4772 result.as_mut().map_err(|e| *e).map(|value| (value,)),
4773 self.tx_id,
4774 0x44e835cb1eb9a931,
4775 fidl::encoding::DynamicFlags::empty(),
4776 )
4777 }
4778}
4779
4780#[must_use = "FIDL methods require a response to be sent"]
4781#[derive(Debug)]
4782pub struct EchoEchoXunionsResponder {
4783 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4784 tx_id: u32,
4785}
4786
4787impl std::ops::Drop for EchoEchoXunionsResponder {
4791 fn drop(&mut self) {
4792 self.control_handle.shutdown();
4793 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4795 }
4796}
4797
4798impl fidl::endpoints::Responder for EchoEchoXunionsResponder {
4799 type ControlHandle = EchoControlHandle;
4800
4801 fn control_handle(&self) -> &EchoControlHandle {
4802 &self.control_handle
4803 }
4804
4805 fn drop_without_shutdown(mut self) {
4806 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4808 std::mem::forget(self);
4810 }
4811}
4812
4813impl EchoEchoXunionsResponder {
4814 pub fn send(self, mut value: Vec<AllTypesXunion>) -> Result<(), fidl::Error> {
4818 let _result = self.send_raw(value);
4819 if _result.is_err() {
4820 self.control_handle.shutdown();
4821 }
4822 self.drop_without_shutdown();
4823 _result
4824 }
4825
4826 pub fn send_no_shutdown_on_err(
4828 self,
4829 mut value: Vec<AllTypesXunion>,
4830 ) -> Result<(), fidl::Error> {
4831 let _result = self.send_raw(value);
4832 self.drop_without_shutdown();
4833 _result
4834 }
4835
4836 fn send_raw(&self, mut value: Vec<AllTypesXunion>) -> Result<(), fidl::Error> {
4837 self.control_handle.inner.send::<EchoEchoXunionsResponse>(
4838 (value.as_mut(),),
4839 self.tx_id,
4840 0x3dc181909041a583,
4841 fidl::encoding::DynamicFlags::empty(),
4842 )
4843 }
4844}
4845
4846#[must_use = "FIDL methods require a response to be sent"]
4847#[derive(Debug)]
4848pub struct EchoEchoXunionsWithErrorResponder {
4849 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4850 tx_id: u32,
4851}
4852
4853impl std::ops::Drop for EchoEchoXunionsWithErrorResponder {
4857 fn drop(&mut self) {
4858 self.control_handle.shutdown();
4859 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4861 }
4862}
4863
4864impl fidl::endpoints::Responder for EchoEchoXunionsWithErrorResponder {
4865 type ControlHandle = EchoControlHandle;
4866
4867 fn control_handle(&self) -> &EchoControlHandle {
4868 &self.control_handle
4869 }
4870
4871 fn drop_without_shutdown(mut self) {
4872 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4874 std::mem::forget(self);
4876 }
4877}
4878
4879impl EchoEchoXunionsWithErrorResponder {
4880 pub fn send(
4884 self,
4885 mut result: Result<Vec<AllTypesXunion>, DefaultEnum>,
4886 ) -> Result<(), fidl::Error> {
4887 let _result = self.send_raw(result);
4888 if _result.is_err() {
4889 self.control_handle.shutdown();
4890 }
4891 self.drop_without_shutdown();
4892 _result
4893 }
4894
4895 pub fn send_no_shutdown_on_err(
4897 self,
4898 mut result: Result<Vec<AllTypesXunion>, DefaultEnum>,
4899 ) -> Result<(), fidl::Error> {
4900 let _result = self.send_raw(result);
4901 self.drop_without_shutdown();
4902 _result
4903 }
4904
4905 fn send_raw(
4906 &self,
4907 mut result: Result<Vec<AllTypesXunion>, DefaultEnum>,
4908 ) -> Result<(), fidl::Error> {
4909 self.control_handle.inner.send::<fidl::encoding::ResultType<
4910 EchoEchoXunionsWithErrorResponse,
4911 DefaultEnum,
4912 >>(
4913 result.as_mut().map_err(|e| *e).map(|value| (value.as_mut_slice(),)),
4914 self.tx_id,
4915 0x75184102667fa766,
4916 fidl::encoding::DynamicFlags::empty(),
4917 )
4918 }
4919}
4920
4921#[must_use = "FIDL methods require a response to be sent"]
4922#[derive(Debug)]
4923pub struct EchoEchoNamedStructResponder {
4924 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4925 tx_id: u32,
4926}
4927
4928impl std::ops::Drop for EchoEchoNamedStructResponder {
4932 fn drop(&mut self) {
4933 self.control_handle.shutdown();
4934 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4936 }
4937}
4938
4939impl fidl::endpoints::Responder for EchoEchoNamedStructResponder {
4940 type ControlHandle = EchoControlHandle;
4941
4942 fn control_handle(&self) -> &EchoControlHandle {
4943 &self.control_handle
4944 }
4945
4946 fn drop_without_shutdown(mut self) {
4947 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4949 std::mem::forget(self);
4951 }
4952}
4953
4954impl EchoEchoNamedStructResponder {
4955 pub fn send(
4959 self,
4960 mut value: &fidl_fidl_test_imported::SimpleStruct,
4961 ) -> Result<(), fidl::Error> {
4962 let _result = self.send_raw(value);
4963 if _result.is_err() {
4964 self.control_handle.shutdown();
4965 }
4966 self.drop_without_shutdown();
4967 _result
4968 }
4969
4970 pub fn send_no_shutdown_on_err(
4972 self,
4973 mut value: &fidl_fidl_test_imported::SimpleStruct,
4974 ) -> Result<(), fidl::Error> {
4975 let _result = self.send_raw(value);
4976 self.drop_without_shutdown();
4977 _result
4978 }
4979
4980 fn send_raw(
4981 &self,
4982 mut value: &fidl_fidl_test_imported::SimpleStruct,
4983 ) -> Result<(), fidl::Error> {
4984 self.control_handle.inner.send::<fidl_fidl_test_imported::ResponseStruct>(
4985 (value,),
4986 self.tx_id,
4987 0xf2d4aa9e65f7111,
4988 fidl::encoding::DynamicFlags::empty(),
4989 )
4990 }
4991}
4992
4993#[must_use = "FIDL methods require a response to be sent"]
4994#[derive(Debug)]
4995pub struct EchoEchoNamedStructWithErrorResponder {
4996 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4997 tx_id: u32,
4998}
4999
5000impl std::ops::Drop for EchoEchoNamedStructWithErrorResponder {
5004 fn drop(&mut self) {
5005 self.control_handle.shutdown();
5006 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5008 }
5009}
5010
5011impl fidl::endpoints::Responder for EchoEchoNamedStructWithErrorResponder {
5012 type ControlHandle = EchoControlHandle;
5013
5014 fn control_handle(&self) -> &EchoControlHandle {
5015 &self.control_handle
5016 }
5017
5018 fn drop_without_shutdown(mut self) {
5019 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5021 std::mem::forget(self);
5023 }
5024}
5025
5026impl EchoEchoNamedStructWithErrorResponder {
5027 pub fn send(
5031 self,
5032 mut result: Result<&fidl_fidl_test_imported::SimpleStruct, u32>,
5033 ) -> Result<(), fidl::Error> {
5034 let _result = self.send_raw(result);
5035 if _result.is_err() {
5036 self.control_handle.shutdown();
5037 }
5038 self.drop_without_shutdown();
5039 _result
5040 }
5041
5042 pub fn send_no_shutdown_on_err(
5044 self,
5045 mut result: Result<&fidl_fidl_test_imported::SimpleStruct, u32>,
5046 ) -> Result<(), fidl::Error> {
5047 let _result = self.send_raw(result);
5048 self.drop_without_shutdown();
5049 _result
5050 }
5051
5052 fn send_raw(
5053 &self,
5054 mut result: Result<&fidl_fidl_test_imported::SimpleStruct, u32>,
5055 ) -> Result<(), fidl::Error> {
5056 self.control_handle.inner.send::<fidl::encoding::ResultType<
5057 fidl_fidl_test_imported::ResponseStruct,
5058 u32,
5059 >>(
5060 result.map(|value| (value,)),
5061 self.tx_id,
5062 0x5766fee9e74442e8,
5063 fidl::encoding::DynamicFlags::empty(),
5064 )
5065 }
5066}
5067
5068#[must_use = "FIDL methods require a response to be sent"]
5069#[derive(Debug)]
5070pub struct EchoEchoTablePayloadResponder {
5071 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
5072 tx_id: u32,
5073}
5074
5075impl std::ops::Drop for EchoEchoTablePayloadResponder {
5079 fn drop(&mut self) {
5080 self.control_handle.shutdown();
5081 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5083 }
5084}
5085
5086impl fidl::endpoints::Responder for EchoEchoTablePayloadResponder {
5087 type ControlHandle = EchoControlHandle;
5088
5089 fn control_handle(&self) -> &EchoControlHandle {
5090 &self.control_handle
5091 }
5092
5093 fn drop_without_shutdown(mut self) {
5094 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5096 std::mem::forget(self);
5098 }
5099}
5100
5101impl EchoEchoTablePayloadResponder {
5102 pub fn send(self, mut payload: &ResponseTable) -> Result<(), fidl::Error> {
5106 let _result = self.send_raw(payload);
5107 if _result.is_err() {
5108 self.control_handle.shutdown();
5109 }
5110 self.drop_without_shutdown();
5111 _result
5112 }
5113
5114 pub fn send_no_shutdown_on_err(self, mut payload: &ResponseTable) -> Result<(), fidl::Error> {
5116 let _result = self.send_raw(payload);
5117 self.drop_without_shutdown();
5118 _result
5119 }
5120
5121 fn send_raw(&self, mut payload: &ResponseTable) -> Result<(), fidl::Error> {
5122 self.control_handle.inner.send::<ResponseTable>(
5123 payload,
5124 self.tx_id,
5125 0x641d98087378c003,
5126 fidl::encoding::DynamicFlags::empty(),
5127 )
5128 }
5129}
5130
5131#[must_use = "FIDL methods require a response to be sent"]
5132#[derive(Debug)]
5133pub struct EchoEchoTablePayloadWithErrorResponder {
5134 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
5135 tx_id: u32,
5136}
5137
5138impl std::ops::Drop for EchoEchoTablePayloadWithErrorResponder {
5142 fn drop(&mut self) {
5143 self.control_handle.shutdown();
5144 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5146 }
5147}
5148
5149impl fidl::endpoints::Responder for EchoEchoTablePayloadWithErrorResponder {
5150 type ControlHandle = EchoControlHandle;
5151
5152 fn control_handle(&self) -> &EchoControlHandle {
5153 &self.control_handle
5154 }
5155
5156 fn drop_without_shutdown(mut self) {
5157 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5159 std::mem::forget(self);
5161 }
5162}
5163
5164impl EchoEchoTablePayloadWithErrorResponder {
5165 pub fn send(self, mut result: Result<&ResponseTable, DefaultEnum>) -> Result<(), fidl::Error> {
5169 let _result = self.send_raw(result);
5170 if _result.is_err() {
5171 self.control_handle.shutdown();
5172 }
5173 self.drop_without_shutdown();
5174 _result
5175 }
5176
5177 pub fn send_no_shutdown_on_err(
5179 self,
5180 mut result: Result<&ResponseTable, DefaultEnum>,
5181 ) -> Result<(), fidl::Error> {
5182 let _result = self.send_raw(result);
5183 self.drop_without_shutdown();
5184 _result
5185 }
5186
5187 fn send_raw(&self, mut result: Result<&ResponseTable, DefaultEnum>) -> Result<(), fidl::Error> {
5188 self.control_handle.inner.send::<fidl::encoding::ResultType<ResponseTable, DefaultEnum>>(
5189 result,
5190 self.tx_id,
5191 0x636ed243761ab66d,
5192 fidl::encoding::DynamicFlags::empty(),
5193 )
5194 }
5195}
5196
5197#[must_use = "FIDL methods require a response to be sent"]
5198#[derive(Debug)]
5199pub struct EchoEchoUnionPayloadResponder {
5200 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
5201 tx_id: u32,
5202}
5203
5204impl std::ops::Drop for EchoEchoUnionPayloadResponder {
5208 fn drop(&mut self) {
5209 self.control_handle.shutdown();
5210 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5212 }
5213}
5214
5215impl fidl::endpoints::Responder for EchoEchoUnionPayloadResponder {
5216 type ControlHandle = EchoControlHandle;
5217
5218 fn control_handle(&self) -> &EchoControlHandle {
5219 &self.control_handle
5220 }
5221
5222 fn drop_without_shutdown(mut self) {
5223 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5225 std::mem::forget(self);
5227 }
5228}
5229
5230impl EchoEchoUnionPayloadResponder {
5231 pub fn send(self, mut payload: &ResponseUnion) -> Result<(), fidl::Error> {
5235 let _result = self.send_raw(payload);
5236 if _result.is_err() {
5237 self.control_handle.shutdown();
5238 }
5239 self.drop_without_shutdown();
5240 _result
5241 }
5242
5243 pub fn send_no_shutdown_on_err(self, mut payload: &ResponseUnion) -> Result<(), fidl::Error> {
5245 let _result = self.send_raw(payload);
5246 self.drop_without_shutdown();
5247 _result
5248 }
5249
5250 fn send_raw(&self, mut payload: &ResponseUnion) -> Result<(), fidl::Error> {
5251 self.control_handle.inner.send::<ResponseUnion>(
5252 payload,
5253 self.tx_id,
5254 0x66def9e793f10c55,
5255 fidl::encoding::DynamicFlags::empty(),
5256 )
5257 }
5258}
5259
5260#[must_use = "FIDL methods require a response to be sent"]
5261#[derive(Debug)]
5262pub struct EchoEchoUnionPayloadWithErrorResponder {
5263 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
5264 tx_id: u32,
5265}
5266
5267impl std::ops::Drop for EchoEchoUnionPayloadWithErrorResponder {
5271 fn drop(&mut self) {
5272 self.control_handle.shutdown();
5273 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5275 }
5276}
5277
5278impl fidl::endpoints::Responder for EchoEchoUnionPayloadWithErrorResponder {
5279 type ControlHandle = EchoControlHandle;
5280
5281 fn control_handle(&self) -> &EchoControlHandle {
5282 &self.control_handle
5283 }
5284
5285 fn drop_without_shutdown(mut self) {
5286 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5288 std::mem::forget(self);
5290 }
5291}
5292
5293impl EchoEchoUnionPayloadWithErrorResponder {
5294 pub fn send(self, mut result: Result<&ResponseUnion, DefaultEnum>) -> Result<(), fidl::Error> {
5298 let _result = self.send_raw(result);
5299 if _result.is_err() {
5300 self.control_handle.shutdown();
5301 }
5302 self.drop_without_shutdown();
5303 _result
5304 }
5305
5306 pub fn send_no_shutdown_on_err(
5308 self,
5309 mut result: Result<&ResponseUnion, DefaultEnum>,
5310 ) -> Result<(), fidl::Error> {
5311 let _result = self.send_raw(result);
5312 self.drop_without_shutdown();
5313 _result
5314 }
5315
5316 fn send_raw(&self, mut result: Result<&ResponseUnion, DefaultEnum>) -> Result<(), fidl::Error> {
5317 self.control_handle.inner.send::<fidl::encoding::ResultType<ResponseUnion, DefaultEnum>>(
5318 result,
5319 self.tx_id,
5320 0x1be890d6e68ef063,
5321 fidl::encoding::DynamicFlags::empty(),
5322 )
5323 }
5324}
5325
5326mod internal {
5327 use super::*;
5328
5329 impl fidl::encoding::ResourceTypeMarker for ArraysStruct {
5330 type Borrowed<'a> = &'a mut Self;
5331 fn take_or_borrow<'a>(
5332 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
5333 ) -> Self::Borrowed<'a> {
5334 value
5335 }
5336 }
5337
5338 unsafe impl fidl::encoding::TypeMarker for ArraysStruct {
5339 type Owned = Self;
5340
5341 #[inline(always)]
5342 fn inline_align(_context: fidl::encoding::Context) -> usize {
5343 8
5344 }
5345
5346 #[inline(always)]
5347 fn inline_size(_context: fidl::encoding::Context) -> usize {
5348 680
5349 }
5350 }
5351
5352 unsafe impl fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
5353 for &mut ArraysStruct
5354 {
5355 #[inline]
5356 unsafe fn encode(
5357 self,
5358 encoder: &mut fidl::encoding::Encoder<
5359 '_,
5360 fidl::encoding::DefaultFuchsiaResourceDialect,
5361 >,
5362 offset: usize,
5363 _depth: fidl::encoding::Depth,
5364 ) -> fidl::Result<()> {
5365 encoder.debug_check_bounds::<ArraysStruct>(offset);
5366 fidl::encoding::Encode::<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
5368 (
5369 <fidl::encoding::Array<bool, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.bools),
5370 <fidl::encoding::Array<i8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int8s),
5371 <fidl::encoding::Array<i16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int16s),
5372 <fidl::encoding::Array<i32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int32s),
5373 <fidl::encoding::Array<i64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int64s),
5374 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint8s),
5375 <fidl::encoding::Array<u16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint16s),
5376 <fidl::encoding::Array<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint32s),
5377 <fidl::encoding::Array<u64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint64s),
5378 <fidl::encoding::Array<f32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.float32s),
5379 <fidl::encoding::Array<f64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.float64s),
5380 <fidl::encoding::Array<DefaultEnum, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.enums),
5381 <fidl::encoding::Array<DefaultBits, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.bits),
5382 <fidl::encoding::Array<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handles),
5383 <fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.nullable_handles),
5384 <fidl::encoding::Array<fidl::encoding::UnboundedString, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.strings),
5385 <fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::UnboundedString>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_strings),
5386 <fidl::encoding::Array<ThisIsAStruct, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.structs),
5387 <fidl::encoding::Array<fidl::encoding::Boxed<ThisIsAStruct>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_structs),
5388 <fidl::encoding::Array<ThisIsAUnion, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.unions),
5389 <fidl::encoding::Array<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_unions),
5390 <fidl::encoding::Array<fidl::encoding::Array<u32, 3>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.arrays),
5391 <fidl::encoding::Array<fidl::encoding::UnboundedVector<u32>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.vectors),
5392 <fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_vectors),
5393 <fidl::encoding::Array<ThisIsATable, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.tables),
5394 <fidl::encoding::Array<ThisIsAXunion, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.xunions),
5395 ),
5396 encoder, offset, _depth
5397 )
5398 }
5399 }
5400 unsafe impl<
5401 T0: fidl::encoding::Encode<
5402 fidl::encoding::Array<bool, 3>,
5403 fidl::encoding::DefaultFuchsiaResourceDialect,
5404 >,
5405 T1: fidl::encoding::Encode<
5406 fidl::encoding::Array<i8, 3>,
5407 fidl::encoding::DefaultFuchsiaResourceDialect,
5408 >,
5409 T2: fidl::encoding::Encode<
5410 fidl::encoding::Array<i16, 3>,
5411 fidl::encoding::DefaultFuchsiaResourceDialect,
5412 >,
5413 T3: fidl::encoding::Encode<
5414 fidl::encoding::Array<i32, 3>,
5415 fidl::encoding::DefaultFuchsiaResourceDialect,
5416 >,
5417 T4: fidl::encoding::Encode<
5418 fidl::encoding::Array<i64, 3>,
5419 fidl::encoding::DefaultFuchsiaResourceDialect,
5420 >,
5421 T5: fidl::encoding::Encode<
5422 fidl::encoding::Array<u8, 3>,
5423 fidl::encoding::DefaultFuchsiaResourceDialect,
5424 >,
5425 T6: fidl::encoding::Encode<
5426 fidl::encoding::Array<u16, 3>,
5427 fidl::encoding::DefaultFuchsiaResourceDialect,
5428 >,
5429 T7: fidl::encoding::Encode<
5430 fidl::encoding::Array<u32, 3>,
5431 fidl::encoding::DefaultFuchsiaResourceDialect,
5432 >,
5433 T8: fidl::encoding::Encode<
5434 fidl::encoding::Array<u64, 3>,
5435 fidl::encoding::DefaultFuchsiaResourceDialect,
5436 >,
5437 T9: fidl::encoding::Encode<
5438 fidl::encoding::Array<f32, 3>,
5439 fidl::encoding::DefaultFuchsiaResourceDialect,
5440 >,
5441 T10: fidl::encoding::Encode<
5442 fidl::encoding::Array<f64, 3>,
5443 fidl::encoding::DefaultFuchsiaResourceDialect,
5444 >,
5445 T11: fidl::encoding::Encode<
5446 fidl::encoding::Array<DefaultEnum, 3>,
5447 fidl::encoding::DefaultFuchsiaResourceDialect,
5448 >,
5449 T12: fidl::encoding::Encode<
5450 fidl::encoding::Array<DefaultBits, 3>,
5451 fidl::encoding::DefaultFuchsiaResourceDialect,
5452 >,
5453 T13: fidl::encoding::Encode<
5454 fidl::encoding::Array<
5455 fidl::encoding::HandleType<
5456 fidl::NullableHandle,
5457 { fidl::ObjectType::NONE.into_raw() },
5458 2147483648,
5459 >,
5460 3,
5461 >,
5462 fidl::encoding::DefaultFuchsiaResourceDialect,
5463 >,
5464 T14: fidl::encoding::Encode<
5465 fidl::encoding::Array<
5466 fidl::encoding::Optional<
5467 fidl::encoding::HandleType<
5468 fidl::NullableHandle,
5469 { fidl::ObjectType::NONE.into_raw() },
5470 2147483648,
5471 >,
5472 >,
5473 3,
5474 >,
5475 fidl::encoding::DefaultFuchsiaResourceDialect,
5476 >,
5477 T15: fidl::encoding::Encode<
5478 fidl::encoding::Array<fidl::encoding::UnboundedString, 3>,
5479 fidl::encoding::DefaultFuchsiaResourceDialect,
5480 >,
5481 T16: fidl::encoding::Encode<
5482 fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::UnboundedString>, 3>,
5483 fidl::encoding::DefaultFuchsiaResourceDialect,
5484 >,
5485 T17: fidl::encoding::Encode<
5486 fidl::encoding::Array<ThisIsAStruct, 3>,
5487 fidl::encoding::DefaultFuchsiaResourceDialect,
5488 >,
5489 T18: fidl::encoding::Encode<
5490 fidl::encoding::Array<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
5491 fidl::encoding::DefaultFuchsiaResourceDialect,
5492 >,
5493 T19: fidl::encoding::Encode<
5494 fidl::encoding::Array<ThisIsAUnion, 3>,
5495 fidl::encoding::DefaultFuchsiaResourceDialect,
5496 >,
5497 T20: fidl::encoding::Encode<
5498 fidl::encoding::Array<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
5499 fidl::encoding::DefaultFuchsiaResourceDialect,
5500 >,
5501 T21: fidl::encoding::Encode<
5502 fidl::encoding::Array<fidl::encoding::Array<u32, 3>, 3>,
5503 fidl::encoding::DefaultFuchsiaResourceDialect,
5504 >,
5505 T22: fidl::encoding::Encode<
5506 fidl::encoding::Array<fidl::encoding::UnboundedVector<u32>, 3>,
5507 fidl::encoding::DefaultFuchsiaResourceDialect,
5508 >,
5509 T23: fidl::encoding::Encode<
5510 fidl::encoding::Array<
5511 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
5512 3,
5513 >,
5514 fidl::encoding::DefaultFuchsiaResourceDialect,
5515 >,
5516 T24: fidl::encoding::Encode<
5517 fidl::encoding::Array<ThisIsATable, 3>,
5518 fidl::encoding::DefaultFuchsiaResourceDialect,
5519 >,
5520 T25: fidl::encoding::Encode<
5521 fidl::encoding::Array<ThisIsAXunion, 3>,
5522 fidl::encoding::DefaultFuchsiaResourceDialect,
5523 >,
5524 > fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
5525 for (
5526 T0,
5527 T1,
5528 T2,
5529 T3,
5530 T4,
5531 T5,
5532 T6,
5533 T7,
5534 T8,
5535 T9,
5536 T10,
5537 T11,
5538 T12,
5539 T13,
5540 T14,
5541 T15,
5542 T16,
5543 T17,
5544 T18,
5545 T19,
5546 T20,
5547 T21,
5548 T22,
5549 T23,
5550 T24,
5551 T25,
5552 )
5553 {
5554 #[inline]
5555 unsafe fn encode(
5556 self,
5557 encoder: &mut fidl::encoding::Encoder<
5558 '_,
5559 fidl::encoding::DefaultFuchsiaResourceDialect,
5560 >,
5561 offset: usize,
5562 depth: fidl::encoding::Depth,
5563 ) -> fidl::Result<()> {
5564 encoder.debug_check_bounds::<ArraysStruct>(offset);
5565 unsafe {
5568 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
5569 (ptr as *mut u64).write_unaligned(0);
5570 }
5571 unsafe {
5572 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
5573 (ptr as *mut u64).write_unaligned(0);
5574 }
5575 unsafe {
5576 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(104);
5577 (ptr as *mut u64).write_unaligned(0);
5578 }
5579 unsafe {
5580 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(480);
5581 (ptr as *mut u64).write_unaligned(0);
5582 }
5583 self.0.encode(encoder, offset + 0, depth)?;
5585 self.1.encode(encoder, offset + 3, depth)?;
5586 self.2.encode(encoder, offset + 6, depth)?;
5587 self.3.encode(encoder, offset + 12, depth)?;
5588 self.4.encode(encoder, offset + 24, depth)?;
5589 self.5.encode(encoder, offset + 48, depth)?;
5590 self.6.encode(encoder, offset + 52, depth)?;
5591 self.7.encode(encoder, offset + 60, depth)?;
5592 self.8.encode(encoder, offset + 72, depth)?;
5593 self.9.encode(encoder, offset + 96, depth)?;
5594 self.10.encode(encoder, offset + 112, depth)?;
5595 self.11.encode(encoder, offset + 136, depth)?;
5596 self.12.encode(encoder, offset + 148, depth)?;
5597 self.13.encode(encoder, offset + 160, depth)?;
5598 self.14.encode(encoder, offset + 172, depth)?;
5599 self.15.encode(encoder, offset + 184, depth)?;
5600 self.16.encode(encoder, offset + 232, depth)?;
5601 self.17.encode(encoder, offset + 280, depth)?;
5602 self.18.encode(encoder, offset + 328, depth)?;
5603 self.19.encode(encoder, offset + 352, depth)?;
5604 self.20.encode(encoder, offset + 400, depth)?;
5605 self.21.encode(encoder, offset + 448, depth)?;
5606 self.22.encode(encoder, offset + 488, depth)?;
5607 self.23.encode(encoder, offset + 536, depth)?;
5608 self.24.encode(encoder, offset + 584, depth)?;
5609 self.25.encode(encoder, offset + 632, depth)?;
5610 Ok(())
5611 }
5612 }
5613
5614 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for ArraysStruct {
5615 #[inline(always)]
5616 fn new_empty() -> Self {
5617 Self {
5618 bools: fidl::new_empty!(fidl::encoding::Array<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5619 int8s: fidl::new_empty!(fidl::encoding::Array<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5620 int16s: fidl::new_empty!(fidl::encoding::Array<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5621 int32s: fidl::new_empty!(fidl::encoding::Array<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5622 int64s: fidl::new_empty!(fidl::encoding::Array<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5623 uint8s: fidl::new_empty!(fidl::encoding::Array<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5624 uint16s: fidl::new_empty!(fidl::encoding::Array<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5625 uint32s: fidl::new_empty!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5626 uint64s: fidl::new_empty!(fidl::encoding::Array<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5627 float32s: fidl::new_empty!(fidl::encoding::Array<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5628 float64s: fidl::new_empty!(fidl::encoding::Array<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5629 enums: fidl::new_empty!(fidl::encoding::Array<DefaultEnum, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5630 bits: fidl::new_empty!(fidl::encoding::Array<DefaultBits, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5631 handles: fidl::new_empty!(
5632 fidl::encoding::Array<
5633 fidl::encoding::HandleType<
5634 fidl::NullableHandle,
5635 { fidl::ObjectType::NONE.into_raw() },
5636 2147483648,
5637 >,
5638 3,
5639 >,
5640 fidl::encoding::DefaultFuchsiaResourceDialect
5641 ),
5642 nullable_handles: fidl::new_empty!(
5643 fidl::encoding::Array<
5644 fidl::encoding::Optional<
5645 fidl::encoding::HandleType<
5646 fidl::NullableHandle,
5647 { fidl::ObjectType::NONE.into_raw() },
5648 2147483648,
5649 >,
5650 >,
5651 3,
5652 >,
5653 fidl::encoding::DefaultFuchsiaResourceDialect
5654 ),
5655 strings: fidl::new_empty!(fidl::encoding::Array<fidl::encoding::UnboundedString, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5656 nullable_strings: fidl::new_empty!(
5657 fidl::encoding::Array<
5658 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
5659 3,
5660 >,
5661 fidl::encoding::DefaultFuchsiaResourceDialect
5662 ),
5663 structs: fidl::new_empty!(fidl::encoding::Array<ThisIsAStruct, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5664 nullable_structs: fidl::new_empty!(
5665 fidl::encoding::Array<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
5666 fidl::encoding::DefaultFuchsiaResourceDialect
5667 ),
5668 unions: fidl::new_empty!(fidl::encoding::Array<ThisIsAUnion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5669 nullable_unions: fidl::new_empty!(
5670 fidl::encoding::Array<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
5671 fidl::encoding::DefaultFuchsiaResourceDialect
5672 ),
5673 arrays: fidl::new_empty!(
5674 fidl::encoding::Array<fidl::encoding::Array<u32, 3>, 3>,
5675 fidl::encoding::DefaultFuchsiaResourceDialect
5676 ),
5677 vectors: fidl::new_empty!(
5678 fidl::encoding::Array<fidl::encoding::UnboundedVector<u32>, 3>,
5679 fidl::encoding::DefaultFuchsiaResourceDialect
5680 ),
5681 nullable_vectors: fidl::new_empty!(
5682 fidl::encoding::Array<
5683 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
5684 3,
5685 >,
5686 fidl::encoding::DefaultFuchsiaResourceDialect
5687 ),
5688 tables: fidl::new_empty!(fidl::encoding::Array<ThisIsATable, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5689 xunions: fidl::new_empty!(fidl::encoding::Array<ThisIsAXunion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5690 }
5691 }
5692
5693 #[inline]
5694 unsafe fn decode(
5695 &mut self,
5696 decoder: &mut fidl::encoding::Decoder<
5697 '_,
5698 fidl::encoding::DefaultFuchsiaResourceDialect,
5699 >,
5700 offset: usize,
5701 _depth: fidl::encoding::Depth,
5702 ) -> fidl::Result<()> {
5703 decoder.debug_check_bounds::<Self>(offset);
5704 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
5706 let padval = unsafe { (ptr as *const u64).read_unaligned() };
5707 let mask = 0xff000000u64;
5708 let maskedval = padval & mask;
5709 if maskedval != 0 {
5710 return Err(fidl::Error::NonZeroPadding {
5711 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
5712 });
5713 }
5714 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
5715 let padval = unsafe { (ptr as *const u64).read_unaligned() };
5716 let mask = 0xffff0000u64;
5717 let maskedval = padval & mask;
5718 if maskedval != 0 {
5719 return Err(fidl::Error::NonZeroPadding {
5720 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
5721 });
5722 }
5723 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(104) };
5724 let padval = unsafe { (ptr as *const u64).read_unaligned() };
5725 let mask = 0xffffffff00000000u64;
5726 let maskedval = padval & mask;
5727 if maskedval != 0 {
5728 return Err(fidl::Error::NonZeroPadding {
5729 padding_start: offset + 104 + ((mask as u64).trailing_zeros() / 8) as usize,
5730 });
5731 }
5732 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(480) };
5733 let padval = unsafe { (ptr as *const u64).read_unaligned() };
5734 let mask = 0xffffffff00000000u64;
5735 let maskedval = padval & mask;
5736 if maskedval != 0 {
5737 return Err(fidl::Error::NonZeroPadding {
5738 padding_start: offset + 480 + ((mask as u64).trailing_zeros() / 8) as usize,
5739 });
5740 }
5741 fidl::decode!(fidl::encoding::Array<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bools, decoder, offset + 0, _depth)?;
5742 fidl::decode!(fidl::encoding::Array<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int8s, decoder, offset + 3, _depth)?;
5743 fidl::decode!(fidl::encoding::Array<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int16s, decoder, offset + 6, _depth)?;
5744 fidl::decode!(fidl::encoding::Array<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int32s, decoder, offset + 12, _depth)?;
5745 fidl::decode!(fidl::encoding::Array<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int64s, decoder, offset + 24, _depth)?;
5746 fidl::decode!(fidl::encoding::Array<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint8s, decoder, offset + 48, _depth)?;
5747 fidl::decode!(fidl::encoding::Array<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint16s, decoder, offset + 52, _depth)?;
5748 fidl::decode!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint32s, decoder, offset + 60, _depth)?;
5749 fidl::decode!(fidl::encoding::Array<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint64s, decoder, offset + 72, _depth)?;
5750 fidl::decode!(fidl::encoding::Array<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.float32s, decoder, offset + 96, _depth)?;
5751 fidl::decode!(fidl::encoding::Array<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.float64s, decoder, offset + 112, _depth)?;
5752 fidl::decode!(fidl::encoding::Array<DefaultEnum, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.enums, decoder, offset + 136, _depth)?;
5753 fidl::decode!(fidl::encoding::Array<DefaultBits, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bits, decoder, offset + 148, _depth)?;
5754 fidl::decode!(
5755 fidl::encoding::Array<
5756 fidl::encoding::HandleType<
5757 fidl::NullableHandle,
5758 { fidl::ObjectType::NONE.into_raw() },
5759 2147483648,
5760 >,
5761 3,
5762 >,
5763 fidl::encoding::DefaultFuchsiaResourceDialect,
5764 &mut self.handles,
5765 decoder,
5766 offset + 160,
5767 _depth
5768 )?;
5769 fidl::decode!(
5770 fidl::encoding::Array<
5771 fidl::encoding::Optional<
5772 fidl::encoding::HandleType<
5773 fidl::NullableHandle,
5774 { fidl::ObjectType::NONE.into_raw() },
5775 2147483648,
5776 >,
5777 >,
5778 3,
5779 >,
5780 fidl::encoding::DefaultFuchsiaResourceDialect,
5781 &mut self.nullable_handles,
5782 decoder,
5783 offset + 172,
5784 _depth
5785 )?;
5786 fidl::decode!(fidl::encoding::Array<fidl::encoding::UnboundedString, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.strings, decoder, offset + 184, _depth)?;
5787 fidl::decode!(
5788 fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::UnboundedString>, 3>,
5789 fidl::encoding::DefaultFuchsiaResourceDialect,
5790 &mut self.nullable_strings,
5791 decoder,
5792 offset + 232,
5793 _depth
5794 )?;
5795 fidl::decode!(fidl::encoding::Array<ThisIsAStruct, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.structs, decoder, offset + 280, _depth)?;
5796 fidl::decode!(
5797 fidl::encoding::Array<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
5798 fidl::encoding::DefaultFuchsiaResourceDialect,
5799 &mut self.nullable_structs,
5800 decoder,
5801 offset + 328,
5802 _depth
5803 )?;
5804 fidl::decode!(fidl::encoding::Array<ThisIsAUnion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.unions, decoder, offset + 352, _depth)?;
5805 fidl::decode!(
5806 fidl::encoding::Array<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
5807 fidl::encoding::DefaultFuchsiaResourceDialect,
5808 &mut self.nullable_unions,
5809 decoder,
5810 offset + 400,
5811 _depth
5812 )?;
5813 fidl::decode!(
5814 fidl::encoding::Array<fidl::encoding::Array<u32, 3>, 3>,
5815 fidl::encoding::DefaultFuchsiaResourceDialect,
5816 &mut self.arrays,
5817 decoder,
5818 offset + 448,
5819 _depth
5820 )?;
5821 fidl::decode!(
5822 fidl::encoding::Array<fidl::encoding::UnboundedVector<u32>, 3>,
5823 fidl::encoding::DefaultFuchsiaResourceDialect,
5824 &mut self.vectors,
5825 decoder,
5826 offset + 488,
5827 _depth
5828 )?;
5829 fidl::decode!(
5830 fidl::encoding::Array<
5831 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
5832 3,
5833 >,
5834 fidl::encoding::DefaultFuchsiaResourceDialect,
5835 &mut self.nullable_vectors,
5836 decoder,
5837 offset + 536,
5838 _depth
5839 )?;
5840 fidl::decode!(fidl::encoding::Array<ThisIsATable, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.tables, decoder, offset + 584, _depth)?;
5841 fidl::decode!(fidl::encoding::Array<ThisIsAXunion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.xunions, decoder, offset + 632, _depth)?;
5842 Ok(())
5843 }
5844 }
5845
5846 impl fidl::encoding::ResourceTypeMarker for EchoEchoArraysRequest {
5847 type Borrowed<'a> = &'a mut Self;
5848 fn take_or_borrow<'a>(
5849 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
5850 ) -> Self::Borrowed<'a> {
5851 value
5852 }
5853 }
5854
5855 unsafe impl fidl::encoding::TypeMarker for EchoEchoArraysRequest {
5856 type Owned = Self;
5857
5858 #[inline(always)]
5859 fn inline_align(_context: fidl::encoding::Context) -> usize {
5860 8
5861 }
5862
5863 #[inline(always)]
5864 fn inline_size(_context: fidl::encoding::Context) -> usize {
5865 696
5866 }
5867 }
5868
5869 unsafe impl
5870 fidl::encoding::Encode<EchoEchoArraysRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
5871 for &mut EchoEchoArraysRequest
5872 {
5873 #[inline]
5874 unsafe fn encode(
5875 self,
5876 encoder: &mut fidl::encoding::Encoder<
5877 '_,
5878 fidl::encoding::DefaultFuchsiaResourceDialect,
5879 >,
5880 offset: usize,
5881 _depth: fidl::encoding::Depth,
5882 ) -> fidl::Result<()> {
5883 encoder.debug_check_bounds::<EchoEchoArraysRequest>(offset);
5884 fidl::encoding::Encode::<
5886 EchoEchoArraysRequest,
5887 fidl::encoding::DefaultFuchsiaResourceDialect,
5888 >::encode(
5889 (
5890 <ArraysStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
5891 &mut self.value,
5892 ),
5893 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
5894 &self.forward_to_server,
5895 ),
5896 ),
5897 encoder,
5898 offset,
5899 _depth,
5900 )
5901 }
5902 }
5903 unsafe impl<
5904 T0: fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
5905 T1: fidl::encoding::Encode<
5906 fidl::encoding::UnboundedString,
5907 fidl::encoding::DefaultFuchsiaResourceDialect,
5908 >,
5909 >
5910 fidl::encoding::Encode<EchoEchoArraysRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
5911 for (T0, T1)
5912 {
5913 #[inline]
5914 unsafe fn encode(
5915 self,
5916 encoder: &mut fidl::encoding::Encoder<
5917 '_,
5918 fidl::encoding::DefaultFuchsiaResourceDialect,
5919 >,
5920 offset: usize,
5921 depth: fidl::encoding::Depth,
5922 ) -> fidl::Result<()> {
5923 encoder.debug_check_bounds::<EchoEchoArraysRequest>(offset);
5924 self.0.encode(encoder, offset + 0, depth)?;
5928 self.1.encode(encoder, offset + 680, depth)?;
5929 Ok(())
5930 }
5931 }
5932
5933 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
5934 for EchoEchoArraysRequest
5935 {
5936 #[inline(always)]
5937 fn new_empty() -> Self {
5938 Self {
5939 value: fidl::new_empty!(
5940 ArraysStruct,
5941 fidl::encoding::DefaultFuchsiaResourceDialect
5942 ),
5943 forward_to_server: fidl::new_empty!(
5944 fidl::encoding::UnboundedString,
5945 fidl::encoding::DefaultFuchsiaResourceDialect
5946 ),
5947 }
5948 }
5949
5950 #[inline]
5951 unsafe fn decode(
5952 &mut self,
5953 decoder: &mut fidl::encoding::Decoder<
5954 '_,
5955 fidl::encoding::DefaultFuchsiaResourceDialect,
5956 >,
5957 offset: usize,
5958 _depth: fidl::encoding::Depth,
5959 ) -> fidl::Result<()> {
5960 decoder.debug_check_bounds::<Self>(offset);
5961 fidl::decode!(
5963 ArraysStruct,
5964 fidl::encoding::DefaultFuchsiaResourceDialect,
5965 &mut self.value,
5966 decoder,
5967 offset + 0,
5968 _depth
5969 )?;
5970 fidl::decode!(
5971 fidl::encoding::UnboundedString,
5972 fidl::encoding::DefaultFuchsiaResourceDialect,
5973 &mut self.forward_to_server,
5974 decoder,
5975 offset + 680,
5976 _depth
5977 )?;
5978 Ok(())
5979 }
5980 }
5981
5982 impl fidl::encoding::ResourceTypeMarker for EchoEchoArraysResponse {
5983 type Borrowed<'a> = &'a mut Self;
5984 fn take_or_borrow<'a>(
5985 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
5986 ) -> Self::Borrowed<'a> {
5987 value
5988 }
5989 }
5990
5991 unsafe impl fidl::encoding::TypeMarker for EchoEchoArraysResponse {
5992 type Owned = Self;
5993
5994 #[inline(always)]
5995 fn inline_align(_context: fidl::encoding::Context) -> usize {
5996 8
5997 }
5998
5999 #[inline(always)]
6000 fn inline_size(_context: fidl::encoding::Context) -> usize {
6001 680
6002 }
6003 }
6004
6005 unsafe impl
6006 fidl::encoding::Encode<
6007 EchoEchoArraysResponse,
6008 fidl::encoding::DefaultFuchsiaResourceDialect,
6009 > for &mut EchoEchoArraysResponse
6010 {
6011 #[inline]
6012 unsafe fn encode(
6013 self,
6014 encoder: &mut fidl::encoding::Encoder<
6015 '_,
6016 fidl::encoding::DefaultFuchsiaResourceDialect,
6017 >,
6018 offset: usize,
6019 _depth: fidl::encoding::Depth,
6020 ) -> fidl::Result<()> {
6021 encoder.debug_check_bounds::<EchoEchoArraysResponse>(offset);
6022 fidl::encoding::Encode::<
6024 EchoEchoArraysResponse,
6025 fidl::encoding::DefaultFuchsiaResourceDialect,
6026 >::encode(
6027 (<ArraysStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
6028 &mut self.value,
6029 ),),
6030 encoder,
6031 offset,
6032 _depth,
6033 )
6034 }
6035 }
6036 unsafe impl<
6037 T0: fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6038 >
6039 fidl::encoding::Encode<
6040 EchoEchoArraysResponse,
6041 fidl::encoding::DefaultFuchsiaResourceDialect,
6042 > for (T0,)
6043 {
6044 #[inline]
6045 unsafe fn encode(
6046 self,
6047 encoder: &mut fidl::encoding::Encoder<
6048 '_,
6049 fidl::encoding::DefaultFuchsiaResourceDialect,
6050 >,
6051 offset: usize,
6052 depth: fidl::encoding::Depth,
6053 ) -> fidl::Result<()> {
6054 encoder.debug_check_bounds::<EchoEchoArraysResponse>(offset);
6055 self.0.encode(encoder, offset + 0, depth)?;
6059 Ok(())
6060 }
6061 }
6062
6063 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6064 for EchoEchoArraysResponse
6065 {
6066 #[inline(always)]
6067 fn new_empty() -> Self {
6068 Self {
6069 value: fidl::new_empty!(
6070 ArraysStruct,
6071 fidl::encoding::DefaultFuchsiaResourceDialect
6072 ),
6073 }
6074 }
6075
6076 #[inline]
6077 unsafe fn decode(
6078 &mut self,
6079 decoder: &mut fidl::encoding::Decoder<
6080 '_,
6081 fidl::encoding::DefaultFuchsiaResourceDialect,
6082 >,
6083 offset: usize,
6084 _depth: fidl::encoding::Depth,
6085 ) -> fidl::Result<()> {
6086 decoder.debug_check_bounds::<Self>(offset);
6087 fidl::decode!(
6089 ArraysStruct,
6090 fidl::encoding::DefaultFuchsiaResourceDialect,
6091 &mut self.value,
6092 decoder,
6093 offset + 0,
6094 _depth
6095 )?;
6096 Ok(())
6097 }
6098 }
6099
6100 impl fidl::encoding::ResourceTypeMarker for EchoEchoArraysWithErrorRequest {
6101 type Borrowed<'a> = &'a mut Self;
6102 fn take_or_borrow<'a>(
6103 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6104 ) -> Self::Borrowed<'a> {
6105 value
6106 }
6107 }
6108
6109 unsafe impl fidl::encoding::TypeMarker for EchoEchoArraysWithErrorRequest {
6110 type Owned = Self;
6111
6112 #[inline(always)]
6113 fn inline_align(_context: fidl::encoding::Context) -> usize {
6114 8
6115 }
6116
6117 #[inline(always)]
6118 fn inline_size(_context: fidl::encoding::Context) -> usize {
6119 712
6120 }
6121 }
6122
6123 unsafe impl
6124 fidl::encoding::Encode<
6125 EchoEchoArraysWithErrorRequest,
6126 fidl::encoding::DefaultFuchsiaResourceDialect,
6127 > for &mut EchoEchoArraysWithErrorRequest
6128 {
6129 #[inline]
6130 unsafe fn encode(
6131 self,
6132 encoder: &mut fidl::encoding::Encoder<
6133 '_,
6134 fidl::encoding::DefaultFuchsiaResourceDialect,
6135 >,
6136 offset: usize,
6137 _depth: fidl::encoding::Depth,
6138 ) -> fidl::Result<()> {
6139 encoder.debug_check_bounds::<EchoEchoArraysWithErrorRequest>(offset);
6140 fidl::encoding::Encode::<
6142 EchoEchoArraysWithErrorRequest,
6143 fidl::encoding::DefaultFuchsiaResourceDialect,
6144 >::encode(
6145 (
6146 <ArraysStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
6147 &mut self.value,
6148 ),
6149 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
6150 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6151 &self.forward_to_server,
6152 ),
6153 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
6154 ),
6155 encoder,
6156 offset,
6157 _depth,
6158 )
6159 }
6160 }
6161 unsafe impl<
6162 T0: fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6163 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
6164 T2: fidl::encoding::Encode<
6165 fidl::encoding::UnboundedString,
6166 fidl::encoding::DefaultFuchsiaResourceDialect,
6167 >,
6168 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
6169 >
6170 fidl::encoding::Encode<
6171 EchoEchoArraysWithErrorRequest,
6172 fidl::encoding::DefaultFuchsiaResourceDialect,
6173 > for (T0, T1, T2, T3)
6174 {
6175 #[inline]
6176 unsafe fn encode(
6177 self,
6178 encoder: &mut fidl::encoding::Encoder<
6179 '_,
6180 fidl::encoding::DefaultFuchsiaResourceDialect,
6181 >,
6182 offset: usize,
6183 depth: fidl::encoding::Depth,
6184 ) -> fidl::Result<()> {
6185 encoder.debug_check_bounds::<EchoEchoArraysWithErrorRequest>(offset);
6186 unsafe {
6189 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(680);
6190 (ptr as *mut u64).write_unaligned(0);
6191 }
6192 unsafe {
6193 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(704);
6194 (ptr as *mut u64).write_unaligned(0);
6195 }
6196 self.0.encode(encoder, offset + 0, depth)?;
6198 self.1.encode(encoder, offset + 680, depth)?;
6199 self.2.encode(encoder, offset + 688, depth)?;
6200 self.3.encode(encoder, offset + 704, depth)?;
6201 Ok(())
6202 }
6203 }
6204
6205 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6206 for EchoEchoArraysWithErrorRequest
6207 {
6208 #[inline(always)]
6209 fn new_empty() -> Self {
6210 Self {
6211 value: fidl::new_empty!(
6212 ArraysStruct,
6213 fidl::encoding::DefaultFuchsiaResourceDialect
6214 ),
6215 result_err: fidl::new_empty!(
6216 DefaultEnum,
6217 fidl::encoding::DefaultFuchsiaResourceDialect
6218 ),
6219 forward_to_server: fidl::new_empty!(
6220 fidl::encoding::UnboundedString,
6221 fidl::encoding::DefaultFuchsiaResourceDialect
6222 ),
6223 result_variant: fidl::new_empty!(
6224 RespondWith,
6225 fidl::encoding::DefaultFuchsiaResourceDialect
6226 ),
6227 }
6228 }
6229
6230 #[inline]
6231 unsafe fn decode(
6232 &mut self,
6233 decoder: &mut fidl::encoding::Decoder<
6234 '_,
6235 fidl::encoding::DefaultFuchsiaResourceDialect,
6236 >,
6237 offset: usize,
6238 _depth: fidl::encoding::Depth,
6239 ) -> fidl::Result<()> {
6240 decoder.debug_check_bounds::<Self>(offset);
6241 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(680) };
6243 let padval = unsafe { (ptr as *const u64).read_unaligned() };
6244 let mask = 0xffffffff00000000u64;
6245 let maskedval = padval & mask;
6246 if maskedval != 0 {
6247 return Err(fidl::Error::NonZeroPadding {
6248 padding_start: offset + 680 + ((mask as u64).trailing_zeros() / 8) as usize,
6249 });
6250 }
6251 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(704) };
6252 let padval = unsafe { (ptr as *const u64).read_unaligned() };
6253 let mask = 0xffffffff00000000u64;
6254 let maskedval = padval & mask;
6255 if maskedval != 0 {
6256 return Err(fidl::Error::NonZeroPadding {
6257 padding_start: offset + 704 + ((mask as u64).trailing_zeros() / 8) as usize,
6258 });
6259 }
6260 fidl::decode!(
6261 ArraysStruct,
6262 fidl::encoding::DefaultFuchsiaResourceDialect,
6263 &mut self.value,
6264 decoder,
6265 offset + 0,
6266 _depth
6267 )?;
6268 fidl::decode!(
6269 DefaultEnum,
6270 fidl::encoding::DefaultFuchsiaResourceDialect,
6271 &mut self.result_err,
6272 decoder,
6273 offset + 680,
6274 _depth
6275 )?;
6276 fidl::decode!(
6277 fidl::encoding::UnboundedString,
6278 fidl::encoding::DefaultFuchsiaResourceDialect,
6279 &mut self.forward_to_server,
6280 decoder,
6281 offset + 688,
6282 _depth
6283 )?;
6284 fidl::decode!(
6285 RespondWith,
6286 fidl::encoding::DefaultFuchsiaResourceDialect,
6287 &mut self.result_variant,
6288 decoder,
6289 offset + 704,
6290 _depth
6291 )?;
6292 Ok(())
6293 }
6294 }
6295
6296 impl fidl::encoding::ResourceTypeMarker for EchoEchoEventRequest {
6297 type Borrowed<'a> = &'a mut Self;
6298 fn take_or_borrow<'a>(
6299 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6300 ) -> Self::Borrowed<'a> {
6301 value
6302 }
6303 }
6304
6305 unsafe impl fidl::encoding::TypeMarker for EchoEchoEventRequest {
6306 type Owned = Self;
6307
6308 #[inline(always)]
6309 fn inline_align(_context: fidl::encoding::Context) -> usize {
6310 8
6311 }
6312
6313 #[inline(always)]
6314 fn inline_size(_context: fidl::encoding::Context) -> usize {
6315 2912
6316 }
6317 }
6318
6319 unsafe impl
6320 fidl::encoding::Encode<EchoEchoEventRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6321 for &mut EchoEchoEventRequest
6322 {
6323 #[inline]
6324 unsafe fn encode(
6325 self,
6326 encoder: &mut fidl::encoding::Encoder<
6327 '_,
6328 fidl::encoding::DefaultFuchsiaResourceDialect,
6329 >,
6330 offset: usize,
6331 _depth: fidl::encoding::Depth,
6332 ) -> fidl::Result<()> {
6333 encoder.debug_check_bounds::<EchoEchoEventRequest>(offset);
6334 fidl::encoding::Encode::<
6336 EchoEchoEventRequest,
6337 fidl::encoding::DefaultFuchsiaResourceDialect,
6338 >::encode(
6339 (<Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),),
6340 encoder,
6341 offset,
6342 _depth,
6343 )
6344 }
6345 }
6346 unsafe impl<T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>>
6347 fidl::encoding::Encode<EchoEchoEventRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6348 for (T0,)
6349 {
6350 #[inline]
6351 unsafe fn encode(
6352 self,
6353 encoder: &mut fidl::encoding::Encoder<
6354 '_,
6355 fidl::encoding::DefaultFuchsiaResourceDialect,
6356 >,
6357 offset: usize,
6358 depth: fidl::encoding::Depth,
6359 ) -> fidl::Result<()> {
6360 encoder.debug_check_bounds::<EchoEchoEventRequest>(offset);
6361 self.0.encode(encoder, offset + 0, depth)?;
6365 Ok(())
6366 }
6367 }
6368
6369 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6370 for EchoEchoEventRequest
6371 {
6372 #[inline(always)]
6373 fn new_empty() -> Self {
6374 Self { value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect) }
6375 }
6376
6377 #[inline]
6378 unsafe fn decode(
6379 &mut self,
6380 decoder: &mut fidl::encoding::Decoder<
6381 '_,
6382 fidl::encoding::DefaultFuchsiaResourceDialect,
6383 >,
6384 offset: usize,
6385 _depth: fidl::encoding::Depth,
6386 ) -> fidl::Result<()> {
6387 decoder.debug_check_bounds::<Self>(offset);
6388 fidl::decode!(
6390 Struct,
6391 fidl::encoding::DefaultFuchsiaResourceDialect,
6392 &mut self.value,
6393 decoder,
6394 offset + 0,
6395 _depth
6396 )?;
6397 Ok(())
6398 }
6399 }
6400
6401 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructNoRetValRequest {
6402 type Borrowed<'a> = &'a mut Self;
6403 fn take_or_borrow<'a>(
6404 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6405 ) -> Self::Borrowed<'a> {
6406 value
6407 }
6408 }
6409
6410 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructNoRetValRequest {
6411 type Owned = Self;
6412
6413 #[inline(always)]
6414 fn inline_align(_context: fidl::encoding::Context) -> usize {
6415 8
6416 }
6417
6418 #[inline(always)]
6419 fn inline_size(_context: fidl::encoding::Context) -> usize {
6420 2928
6421 }
6422 }
6423
6424 unsafe impl
6425 fidl::encoding::Encode<
6426 EchoEchoStructNoRetValRequest,
6427 fidl::encoding::DefaultFuchsiaResourceDialect,
6428 > for &mut EchoEchoStructNoRetValRequest
6429 {
6430 #[inline]
6431 unsafe fn encode(
6432 self,
6433 encoder: &mut fidl::encoding::Encoder<
6434 '_,
6435 fidl::encoding::DefaultFuchsiaResourceDialect,
6436 >,
6437 offset: usize,
6438 _depth: fidl::encoding::Depth,
6439 ) -> fidl::Result<()> {
6440 encoder.debug_check_bounds::<EchoEchoStructNoRetValRequest>(offset);
6441 fidl::encoding::Encode::<
6443 EchoEchoStructNoRetValRequest,
6444 fidl::encoding::DefaultFuchsiaResourceDialect,
6445 >::encode(
6446 (
6447 <Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
6448 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6449 &self.forward_to_server,
6450 ),
6451 ),
6452 encoder,
6453 offset,
6454 _depth,
6455 )
6456 }
6457 }
6458 unsafe impl<
6459 T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6460 T1: fidl::encoding::Encode<
6461 fidl::encoding::UnboundedString,
6462 fidl::encoding::DefaultFuchsiaResourceDialect,
6463 >,
6464 >
6465 fidl::encoding::Encode<
6466 EchoEchoStructNoRetValRequest,
6467 fidl::encoding::DefaultFuchsiaResourceDialect,
6468 > for (T0, T1)
6469 {
6470 #[inline]
6471 unsafe fn encode(
6472 self,
6473 encoder: &mut fidl::encoding::Encoder<
6474 '_,
6475 fidl::encoding::DefaultFuchsiaResourceDialect,
6476 >,
6477 offset: usize,
6478 depth: fidl::encoding::Depth,
6479 ) -> fidl::Result<()> {
6480 encoder.debug_check_bounds::<EchoEchoStructNoRetValRequest>(offset);
6481 self.0.encode(encoder, offset + 0, depth)?;
6485 self.1.encode(encoder, offset + 2912, depth)?;
6486 Ok(())
6487 }
6488 }
6489
6490 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6491 for EchoEchoStructNoRetValRequest
6492 {
6493 #[inline(always)]
6494 fn new_empty() -> Self {
6495 Self {
6496 value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect),
6497 forward_to_server: fidl::new_empty!(
6498 fidl::encoding::UnboundedString,
6499 fidl::encoding::DefaultFuchsiaResourceDialect
6500 ),
6501 }
6502 }
6503
6504 #[inline]
6505 unsafe fn decode(
6506 &mut self,
6507 decoder: &mut fidl::encoding::Decoder<
6508 '_,
6509 fidl::encoding::DefaultFuchsiaResourceDialect,
6510 >,
6511 offset: usize,
6512 _depth: fidl::encoding::Depth,
6513 ) -> fidl::Result<()> {
6514 decoder.debug_check_bounds::<Self>(offset);
6515 fidl::decode!(
6517 Struct,
6518 fidl::encoding::DefaultFuchsiaResourceDialect,
6519 &mut self.value,
6520 decoder,
6521 offset + 0,
6522 _depth
6523 )?;
6524 fidl::decode!(
6525 fidl::encoding::UnboundedString,
6526 fidl::encoding::DefaultFuchsiaResourceDialect,
6527 &mut self.forward_to_server,
6528 decoder,
6529 offset + 2912,
6530 _depth
6531 )?;
6532 Ok(())
6533 }
6534 }
6535
6536 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructRequest {
6537 type Borrowed<'a> = &'a mut Self;
6538 fn take_or_borrow<'a>(
6539 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6540 ) -> Self::Borrowed<'a> {
6541 value
6542 }
6543 }
6544
6545 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructRequest {
6546 type Owned = Self;
6547
6548 #[inline(always)]
6549 fn inline_align(_context: fidl::encoding::Context) -> usize {
6550 8
6551 }
6552
6553 #[inline(always)]
6554 fn inline_size(_context: fidl::encoding::Context) -> usize {
6555 2928
6556 }
6557 }
6558
6559 unsafe impl
6560 fidl::encoding::Encode<EchoEchoStructRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6561 for &mut EchoEchoStructRequest
6562 {
6563 #[inline]
6564 unsafe fn encode(
6565 self,
6566 encoder: &mut fidl::encoding::Encoder<
6567 '_,
6568 fidl::encoding::DefaultFuchsiaResourceDialect,
6569 >,
6570 offset: usize,
6571 _depth: fidl::encoding::Depth,
6572 ) -> fidl::Result<()> {
6573 encoder.debug_check_bounds::<EchoEchoStructRequest>(offset);
6574 fidl::encoding::Encode::<
6576 EchoEchoStructRequest,
6577 fidl::encoding::DefaultFuchsiaResourceDialect,
6578 >::encode(
6579 (
6580 <Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
6581 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6582 &self.forward_to_server,
6583 ),
6584 ),
6585 encoder,
6586 offset,
6587 _depth,
6588 )
6589 }
6590 }
6591 unsafe impl<
6592 T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6593 T1: fidl::encoding::Encode<
6594 fidl::encoding::UnboundedString,
6595 fidl::encoding::DefaultFuchsiaResourceDialect,
6596 >,
6597 >
6598 fidl::encoding::Encode<EchoEchoStructRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6599 for (T0, T1)
6600 {
6601 #[inline]
6602 unsafe fn encode(
6603 self,
6604 encoder: &mut fidl::encoding::Encoder<
6605 '_,
6606 fidl::encoding::DefaultFuchsiaResourceDialect,
6607 >,
6608 offset: usize,
6609 depth: fidl::encoding::Depth,
6610 ) -> fidl::Result<()> {
6611 encoder.debug_check_bounds::<EchoEchoStructRequest>(offset);
6612 self.0.encode(encoder, offset + 0, depth)?;
6616 self.1.encode(encoder, offset + 2912, depth)?;
6617 Ok(())
6618 }
6619 }
6620
6621 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6622 for EchoEchoStructRequest
6623 {
6624 #[inline(always)]
6625 fn new_empty() -> Self {
6626 Self {
6627 value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect),
6628 forward_to_server: fidl::new_empty!(
6629 fidl::encoding::UnboundedString,
6630 fidl::encoding::DefaultFuchsiaResourceDialect
6631 ),
6632 }
6633 }
6634
6635 #[inline]
6636 unsafe fn decode(
6637 &mut self,
6638 decoder: &mut fidl::encoding::Decoder<
6639 '_,
6640 fidl::encoding::DefaultFuchsiaResourceDialect,
6641 >,
6642 offset: usize,
6643 _depth: fidl::encoding::Depth,
6644 ) -> fidl::Result<()> {
6645 decoder.debug_check_bounds::<Self>(offset);
6646 fidl::decode!(
6648 Struct,
6649 fidl::encoding::DefaultFuchsiaResourceDialect,
6650 &mut self.value,
6651 decoder,
6652 offset + 0,
6653 _depth
6654 )?;
6655 fidl::decode!(
6656 fidl::encoding::UnboundedString,
6657 fidl::encoding::DefaultFuchsiaResourceDialect,
6658 &mut self.forward_to_server,
6659 decoder,
6660 offset + 2912,
6661 _depth
6662 )?;
6663 Ok(())
6664 }
6665 }
6666
6667 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructResponse {
6668 type Borrowed<'a> = &'a mut Self;
6669 fn take_or_borrow<'a>(
6670 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6671 ) -> Self::Borrowed<'a> {
6672 value
6673 }
6674 }
6675
6676 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructResponse {
6677 type Owned = Self;
6678
6679 #[inline(always)]
6680 fn inline_align(_context: fidl::encoding::Context) -> usize {
6681 8
6682 }
6683
6684 #[inline(always)]
6685 fn inline_size(_context: fidl::encoding::Context) -> usize {
6686 2912
6687 }
6688 }
6689
6690 unsafe impl
6691 fidl::encoding::Encode<
6692 EchoEchoStructResponse,
6693 fidl::encoding::DefaultFuchsiaResourceDialect,
6694 > for &mut EchoEchoStructResponse
6695 {
6696 #[inline]
6697 unsafe fn encode(
6698 self,
6699 encoder: &mut fidl::encoding::Encoder<
6700 '_,
6701 fidl::encoding::DefaultFuchsiaResourceDialect,
6702 >,
6703 offset: usize,
6704 _depth: fidl::encoding::Depth,
6705 ) -> fidl::Result<()> {
6706 encoder.debug_check_bounds::<EchoEchoStructResponse>(offset);
6707 fidl::encoding::Encode::<
6709 EchoEchoStructResponse,
6710 fidl::encoding::DefaultFuchsiaResourceDialect,
6711 >::encode(
6712 (<Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),),
6713 encoder,
6714 offset,
6715 _depth,
6716 )
6717 }
6718 }
6719 unsafe impl<T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>>
6720 fidl::encoding::Encode<
6721 EchoEchoStructResponse,
6722 fidl::encoding::DefaultFuchsiaResourceDialect,
6723 > for (T0,)
6724 {
6725 #[inline]
6726 unsafe fn encode(
6727 self,
6728 encoder: &mut fidl::encoding::Encoder<
6729 '_,
6730 fidl::encoding::DefaultFuchsiaResourceDialect,
6731 >,
6732 offset: usize,
6733 depth: fidl::encoding::Depth,
6734 ) -> fidl::Result<()> {
6735 encoder.debug_check_bounds::<EchoEchoStructResponse>(offset);
6736 self.0.encode(encoder, offset + 0, depth)?;
6740 Ok(())
6741 }
6742 }
6743
6744 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6745 for EchoEchoStructResponse
6746 {
6747 #[inline(always)]
6748 fn new_empty() -> Self {
6749 Self { value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect) }
6750 }
6751
6752 #[inline]
6753 unsafe fn decode(
6754 &mut self,
6755 decoder: &mut fidl::encoding::Decoder<
6756 '_,
6757 fidl::encoding::DefaultFuchsiaResourceDialect,
6758 >,
6759 offset: usize,
6760 _depth: fidl::encoding::Depth,
6761 ) -> fidl::Result<()> {
6762 decoder.debug_check_bounds::<Self>(offset);
6763 fidl::decode!(
6765 Struct,
6766 fidl::encoding::DefaultFuchsiaResourceDialect,
6767 &mut self.value,
6768 decoder,
6769 offset + 0,
6770 _depth
6771 )?;
6772 Ok(())
6773 }
6774 }
6775
6776 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructWithErrorRequest {
6777 type Borrowed<'a> = &'a mut Self;
6778 fn take_or_borrow<'a>(
6779 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6780 ) -> Self::Borrowed<'a> {
6781 value
6782 }
6783 }
6784
6785 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructWithErrorRequest {
6786 type Owned = Self;
6787
6788 #[inline(always)]
6789 fn inline_align(_context: fidl::encoding::Context) -> usize {
6790 8
6791 }
6792
6793 #[inline(always)]
6794 fn inline_size(_context: fidl::encoding::Context) -> usize {
6795 2944
6796 }
6797 }
6798
6799 unsafe impl
6800 fidl::encoding::Encode<
6801 EchoEchoStructWithErrorRequest,
6802 fidl::encoding::DefaultFuchsiaResourceDialect,
6803 > for &mut EchoEchoStructWithErrorRequest
6804 {
6805 #[inline]
6806 unsafe fn encode(
6807 self,
6808 encoder: &mut fidl::encoding::Encoder<
6809 '_,
6810 fidl::encoding::DefaultFuchsiaResourceDialect,
6811 >,
6812 offset: usize,
6813 _depth: fidl::encoding::Depth,
6814 ) -> fidl::Result<()> {
6815 encoder.debug_check_bounds::<EchoEchoStructWithErrorRequest>(offset);
6816 fidl::encoding::Encode::<
6818 EchoEchoStructWithErrorRequest,
6819 fidl::encoding::DefaultFuchsiaResourceDialect,
6820 >::encode(
6821 (
6822 <Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
6823 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
6824 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6825 &self.forward_to_server,
6826 ),
6827 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
6828 ),
6829 encoder,
6830 offset,
6831 _depth,
6832 )
6833 }
6834 }
6835 unsafe impl<
6836 T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6837 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
6838 T2: fidl::encoding::Encode<
6839 fidl::encoding::UnboundedString,
6840 fidl::encoding::DefaultFuchsiaResourceDialect,
6841 >,
6842 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
6843 >
6844 fidl::encoding::Encode<
6845 EchoEchoStructWithErrorRequest,
6846 fidl::encoding::DefaultFuchsiaResourceDialect,
6847 > for (T0, T1, T2, T3)
6848 {
6849 #[inline]
6850 unsafe fn encode(
6851 self,
6852 encoder: &mut fidl::encoding::Encoder<
6853 '_,
6854 fidl::encoding::DefaultFuchsiaResourceDialect,
6855 >,
6856 offset: usize,
6857 depth: fidl::encoding::Depth,
6858 ) -> fidl::Result<()> {
6859 encoder.debug_check_bounds::<EchoEchoStructWithErrorRequest>(offset);
6860 unsafe {
6863 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2912);
6864 (ptr as *mut u64).write_unaligned(0);
6865 }
6866 unsafe {
6867 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2936);
6868 (ptr as *mut u64).write_unaligned(0);
6869 }
6870 self.0.encode(encoder, offset + 0, depth)?;
6872 self.1.encode(encoder, offset + 2912, depth)?;
6873 self.2.encode(encoder, offset + 2920, depth)?;
6874 self.3.encode(encoder, offset + 2936, depth)?;
6875 Ok(())
6876 }
6877 }
6878
6879 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6880 for EchoEchoStructWithErrorRequest
6881 {
6882 #[inline(always)]
6883 fn new_empty() -> Self {
6884 Self {
6885 value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect),
6886 result_err: fidl::new_empty!(
6887 DefaultEnum,
6888 fidl::encoding::DefaultFuchsiaResourceDialect
6889 ),
6890 forward_to_server: fidl::new_empty!(
6891 fidl::encoding::UnboundedString,
6892 fidl::encoding::DefaultFuchsiaResourceDialect
6893 ),
6894 result_variant: fidl::new_empty!(
6895 RespondWith,
6896 fidl::encoding::DefaultFuchsiaResourceDialect
6897 ),
6898 }
6899 }
6900
6901 #[inline]
6902 unsafe fn decode(
6903 &mut self,
6904 decoder: &mut fidl::encoding::Decoder<
6905 '_,
6906 fidl::encoding::DefaultFuchsiaResourceDialect,
6907 >,
6908 offset: usize,
6909 _depth: fidl::encoding::Depth,
6910 ) -> fidl::Result<()> {
6911 decoder.debug_check_bounds::<Self>(offset);
6912 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2912) };
6914 let padval = unsafe { (ptr as *const u64).read_unaligned() };
6915 let mask = 0xffffffff00000000u64;
6916 let maskedval = padval & mask;
6917 if maskedval != 0 {
6918 return Err(fidl::Error::NonZeroPadding {
6919 padding_start: offset + 2912 + ((mask as u64).trailing_zeros() / 8) as usize,
6920 });
6921 }
6922 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2936) };
6923 let padval = unsafe { (ptr as *const u64).read_unaligned() };
6924 let mask = 0xffffffff00000000u64;
6925 let maskedval = padval & mask;
6926 if maskedval != 0 {
6927 return Err(fidl::Error::NonZeroPadding {
6928 padding_start: offset + 2936 + ((mask as u64).trailing_zeros() / 8) as usize,
6929 });
6930 }
6931 fidl::decode!(
6932 Struct,
6933 fidl::encoding::DefaultFuchsiaResourceDialect,
6934 &mut self.value,
6935 decoder,
6936 offset + 0,
6937 _depth
6938 )?;
6939 fidl::decode!(
6940 DefaultEnum,
6941 fidl::encoding::DefaultFuchsiaResourceDialect,
6942 &mut self.result_err,
6943 decoder,
6944 offset + 2912,
6945 _depth
6946 )?;
6947 fidl::decode!(
6948 fidl::encoding::UnboundedString,
6949 fidl::encoding::DefaultFuchsiaResourceDialect,
6950 &mut self.forward_to_server,
6951 decoder,
6952 offset + 2920,
6953 _depth
6954 )?;
6955 fidl::decode!(
6956 RespondWith,
6957 fidl::encoding::DefaultFuchsiaResourceDialect,
6958 &mut self.result_variant,
6959 decoder,
6960 offset + 2936,
6961 _depth
6962 )?;
6963 Ok(())
6964 }
6965 }
6966
6967 impl fidl::encoding::ResourceTypeMarker for EchoEchoTableRequest {
6968 type Borrowed<'a> = &'a mut Self;
6969 fn take_or_borrow<'a>(
6970 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6971 ) -> Self::Borrowed<'a> {
6972 value
6973 }
6974 }
6975
6976 unsafe impl fidl::encoding::TypeMarker for EchoEchoTableRequest {
6977 type Owned = Self;
6978
6979 #[inline(always)]
6980 fn inline_align(_context: fidl::encoding::Context) -> usize {
6981 8
6982 }
6983
6984 #[inline(always)]
6985 fn inline_size(_context: fidl::encoding::Context) -> usize {
6986 32
6987 }
6988 }
6989
6990 unsafe impl
6991 fidl::encoding::Encode<EchoEchoTableRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6992 for &mut EchoEchoTableRequest
6993 {
6994 #[inline]
6995 unsafe fn encode(
6996 self,
6997 encoder: &mut fidl::encoding::Encoder<
6998 '_,
6999 fidl::encoding::DefaultFuchsiaResourceDialect,
7000 >,
7001 offset: usize,
7002 _depth: fidl::encoding::Depth,
7003 ) -> fidl::Result<()> {
7004 encoder.debug_check_bounds::<EchoEchoTableRequest>(offset);
7005 fidl::encoding::Encode::<
7007 EchoEchoTableRequest,
7008 fidl::encoding::DefaultFuchsiaResourceDialect,
7009 >::encode(
7010 (
7011 <AllTypesTable as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7012 &mut self.value,
7013 ),
7014 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
7015 &self.forward_to_server,
7016 ),
7017 ),
7018 encoder,
7019 offset,
7020 _depth,
7021 )
7022 }
7023 }
7024 unsafe impl<
7025 T0: fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>,
7026 T1: fidl::encoding::Encode<
7027 fidl::encoding::UnboundedString,
7028 fidl::encoding::DefaultFuchsiaResourceDialect,
7029 >,
7030 >
7031 fidl::encoding::Encode<EchoEchoTableRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
7032 for (T0, T1)
7033 {
7034 #[inline]
7035 unsafe fn encode(
7036 self,
7037 encoder: &mut fidl::encoding::Encoder<
7038 '_,
7039 fidl::encoding::DefaultFuchsiaResourceDialect,
7040 >,
7041 offset: usize,
7042 depth: fidl::encoding::Depth,
7043 ) -> fidl::Result<()> {
7044 encoder.debug_check_bounds::<EchoEchoTableRequest>(offset);
7045 self.0.encode(encoder, offset + 0, depth)?;
7049 self.1.encode(encoder, offset + 16, depth)?;
7050 Ok(())
7051 }
7052 }
7053
7054 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7055 for EchoEchoTableRequest
7056 {
7057 #[inline(always)]
7058 fn new_empty() -> Self {
7059 Self {
7060 value: fidl::new_empty!(
7061 AllTypesTable,
7062 fidl::encoding::DefaultFuchsiaResourceDialect
7063 ),
7064 forward_to_server: fidl::new_empty!(
7065 fidl::encoding::UnboundedString,
7066 fidl::encoding::DefaultFuchsiaResourceDialect
7067 ),
7068 }
7069 }
7070
7071 #[inline]
7072 unsafe fn decode(
7073 &mut self,
7074 decoder: &mut fidl::encoding::Decoder<
7075 '_,
7076 fidl::encoding::DefaultFuchsiaResourceDialect,
7077 >,
7078 offset: usize,
7079 _depth: fidl::encoding::Depth,
7080 ) -> fidl::Result<()> {
7081 decoder.debug_check_bounds::<Self>(offset);
7082 fidl::decode!(
7084 AllTypesTable,
7085 fidl::encoding::DefaultFuchsiaResourceDialect,
7086 &mut self.value,
7087 decoder,
7088 offset + 0,
7089 _depth
7090 )?;
7091 fidl::decode!(
7092 fidl::encoding::UnboundedString,
7093 fidl::encoding::DefaultFuchsiaResourceDialect,
7094 &mut self.forward_to_server,
7095 decoder,
7096 offset + 16,
7097 _depth
7098 )?;
7099 Ok(())
7100 }
7101 }
7102
7103 impl fidl::encoding::ResourceTypeMarker for EchoEchoTableResponse {
7104 type Borrowed<'a> = &'a mut Self;
7105 fn take_or_borrow<'a>(
7106 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7107 ) -> Self::Borrowed<'a> {
7108 value
7109 }
7110 }
7111
7112 unsafe impl fidl::encoding::TypeMarker for EchoEchoTableResponse {
7113 type Owned = Self;
7114
7115 #[inline(always)]
7116 fn inline_align(_context: fidl::encoding::Context) -> usize {
7117 8
7118 }
7119
7120 #[inline(always)]
7121 fn inline_size(_context: fidl::encoding::Context) -> usize {
7122 16
7123 }
7124 }
7125
7126 unsafe impl
7127 fidl::encoding::Encode<EchoEchoTableResponse, fidl::encoding::DefaultFuchsiaResourceDialect>
7128 for &mut EchoEchoTableResponse
7129 {
7130 #[inline]
7131 unsafe fn encode(
7132 self,
7133 encoder: &mut fidl::encoding::Encoder<
7134 '_,
7135 fidl::encoding::DefaultFuchsiaResourceDialect,
7136 >,
7137 offset: usize,
7138 _depth: fidl::encoding::Depth,
7139 ) -> fidl::Result<()> {
7140 encoder.debug_check_bounds::<EchoEchoTableResponse>(offset);
7141 fidl::encoding::Encode::<
7143 EchoEchoTableResponse,
7144 fidl::encoding::DefaultFuchsiaResourceDialect,
7145 >::encode(
7146 (<AllTypesTable as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7147 &mut self.value,
7148 ),),
7149 encoder,
7150 offset,
7151 _depth,
7152 )
7153 }
7154 }
7155 unsafe impl<
7156 T0: fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>,
7157 >
7158 fidl::encoding::Encode<EchoEchoTableResponse, fidl::encoding::DefaultFuchsiaResourceDialect>
7159 for (T0,)
7160 {
7161 #[inline]
7162 unsafe fn encode(
7163 self,
7164 encoder: &mut fidl::encoding::Encoder<
7165 '_,
7166 fidl::encoding::DefaultFuchsiaResourceDialect,
7167 >,
7168 offset: usize,
7169 depth: fidl::encoding::Depth,
7170 ) -> fidl::Result<()> {
7171 encoder.debug_check_bounds::<EchoEchoTableResponse>(offset);
7172 self.0.encode(encoder, offset + 0, depth)?;
7176 Ok(())
7177 }
7178 }
7179
7180 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7181 for EchoEchoTableResponse
7182 {
7183 #[inline(always)]
7184 fn new_empty() -> Self {
7185 Self {
7186 value: fidl::new_empty!(
7187 AllTypesTable,
7188 fidl::encoding::DefaultFuchsiaResourceDialect
7189 ),
7190 }
7191 }
7192
7193 #[inline]
7194 unsafe fn decode(
7195 &mut self,
7196 decoder: &mut fidl::encoding::Decoder<
7197 '_,
7198 fidl::encoding::DefaultFuchsiaResourceDialect,
7199 >,
7200 offset: usize,
7201 _depth: fidl::encoding::Depth,
7202 ) -> fidl::Result<()> {
7203 decoder.debug_check_bounds::<Self>(offset);
7204 fidl::decode!(
7206 AllTypesTable,
7207 fidl::encoding::DefaultFuchsiaResourceDialect,
7208 &mut self.value,
7209 decoder,
7210 offset + 0,
7211 _depth
7212 )?;
7213 Ok(())
7214 }
7215 }
7216
7217 impl fidl::encoding::ResourceTypeMarker for EchoEchoTableWithErrorRequest {
7218 type Borrowed<'a> = &'a mut Self;
7219 fn take_or_borrow<'a>(
7220 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7221 ) -> Self::Borrowed<'a> {
7222 value
7223 }
7224 }
7225
7226 unsafe impl fidl::encoding::TypeMarker for EchoEchoTableWithErrorRequest {
7227 type Owned = Self;
7228
7229 #[inline(always)]
7230 fn inline_align(_context: fidl::encoding::Context) -> usize {
7231 8
7232 }
7233
7234 #[inline(always)]
7235 fn inline_size(_context: fidl::encoding::Context) -> usize {
7236 48
7237 }
7238 }
7239
7240 unsafe impl
7241 fidl::encoding::Encode<
7242 EchoEchoTableWithErrorRequest,
7243 fidl::encoding::DefaultFuchsiaResourceDialect,
7244 > for &mut EchoEchoTableWithErrorRequest
7245 {
7246 #[inline]
7247 unsafe fn encode(
7248 self,
7249 encoder: &mut fidl::encoding::Encoder<
7250 '_,
7251 fidl::encoding::DefaultFuchsiaResourceDialect,
7252 >,
7253 offset: usize,
7254 _depth: fidl::encoding::Depth,
7255 ) -> fidl::Result<()> {
7256 encoder.debug_check_bounds::<EchoEchoTableWithErrorRequest>(offset);
7257 fidl::encoding::Encode::<
7259 EchoEchoTableWithErrorRequest,
7260 fidl::encoding::DefaultFuchsiaResourceDialect,
7261 >::encode(
7262 (
7263 <AllTypesTable as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7264 &mut self.value,
7265 ),
7266 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
7267 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
7268 &self.forward_to_server,
7269 ),
7270 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
7271 ),
7272 encoder,
7273 offset,
7274 _depth,
7275 )
7276 }
7277 }
7278 unsafe impl<
7279 T0: fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>,
7280 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
7281 T2: fidl::encoding::Encode<
7282 fidl::encoding::UnboundedString,
7283 fidl::encoding::DefaultFuchsiaResourceDialect,
7284 >,
7285 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
7286 >
7287 fidl::encoding::Encode<
7288 EchoEchoTableWithErrorRequest,
7289 fidl::encoding::DefaultFuchsiaResourceDialect,
7290 > for (T0, T1, T2, T3)
7291 {
7292 #[inline]
7293 unsafe fn encode(
7294 self,
7295 encoder: &mut fidl::encoding::Encoder<
7296 '_,
7297 fidl::encoding::DefaultFuchsiaResourceDialect,
7298 >,
7299 offset: usize,
7300 depth: fidl::encoding::Depth,
7301 ) -> fidl::Result<()> {
7302 encoder.debug_check_bounds::<EchoEchoTableWithErrorRequest>(offset);
7303 unsafe {
7306 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
7307 (ptr as *mut u64).write_unaligned(0);
7308 }
7309 unsafe {
7310 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
7311 (ptr as *mut u64).write_unaligned(0);
7312 }
7313 self.0.encode(encoder, offset + 0, depth)?;
7315 self.1.encode(encoder, offset + 16, depth)?;
7316 self.2.encode(encoder, offset + 24, depth)?;
7317 self.3.encode(encoder, offset + 40, depth)?;
7318 Ok(())
7319 }
7320 }
7321
7322 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7323 for EchoEchoTableWithErrorRequest
7324 {
7325 #[inline(always)]
7326 fn new_empty() -> Self {
7327 Self {
7328 value: fidl::new_empty!(
7329 AllTypesTable,
7330 fidl::encoding::DefaultFuchsiaResourceDialect
7331 ),
7332 result_err: fidl::new_empty!(
7333 DefaultEnum,
7334 fidl::encoding::DefaultFuchsiaResourceDialect
7335 ),
7336 forward_to_server: fidl::new_empty!(
7337 fidl::encoding::UnboundedString,
7338 fidl::encoding::DefaultFuchsiaResourceDialect
7339 ),
7340 result_variant: fidl::new_empty!(
7341 RespondWith,
7342 fidl::encoding::DefaultFuchsiaResourceDialect
7343 ),
7344 }
7345 }
7346
7347 #[inline]
7348 unsafe fn decode(
7349 &mut self,
7350 decoder: &mut fidl::encoding::Decoder<
7351 '_,
7352 fidl::encoding::DefaultFuchsiaResourceDialect,
7353 >,
7354 offset: usize,
7355 _depth: fidl::encoding::Depth,
7356 ) -> fidl::Result<()> {
7357 decoder.debug_check_bounds::<Self>(offset);
7358 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
7360 let padval = unsafe { (ptr as *const u64).read_unaligned() };
7361 let mask = 0xffffffff00000000u64;
7362 let maskedval = padval & mask;
7363 if maskedval != 0 {
7364 return Err(fidl::Error::NonZeroPadding {
7365 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
7366 });
7367 }
7368 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
7369 let padval = unsafe { (ptr as *const u64).read_unaligned() };
7370 let mask = 0xffffffff00000000u64;
7371 let maskedval = padval & mask;
7372 if maskedval != 0 {
7373 return Err(fidl::Error::NonZeroPadding {
7374 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
7375 });
7376 }
7377 fidl::decode!(
7378 AllTypesTable,
7379 fidl::encoding::DefaultFuchsiaResourceDialect,
7380 &mut self.value,
7381 decoder,
7382 offset + 0,
7383 _depth
7384 )?;
7385 fidl::decode!(
7386 DefaultEnum,
7387 fidl::encoding::DefaultFuchsiaResourceDialect,
7388 &mut self.result_err,
7389 decoder,
7390 offset + 16,
7391 _depth
7392 )?;
7393 fidl::decode!(
7394 fidl::encoding::UnboundedString,
7395 fidl::encoding::DefaultFuchsiaResourceDialect,
7396 &mut self.forward_to_server,
7397 decoder,
7398 offset + 24,
7399 _depth
7400 )?;
7401 fidl::decode!(
7402 RespondWith,
7403 fidl::encoding::DefaultFuchsiaResourceDialect,
7404 &mut self.result_variant,
7405 decoder,
7406 offset + 40,
7407 _depth
7408 )?;
7409 Ok(())
7410 }
7411 }
7412
7413 impl fidl::encoding::ResourceTypeMarker for EchoEchoVectorsRequest {
7414 type Borrowed<'a> = &'a mut Self;
7415 fn take_or_borrow<'a>(
7416 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7417 ) -> Self::Borrowed<'a> {
7418 value
7419 }
7420 }
7421
7422 unsafe impl fidl::encoding::TypeMarker for EchoEchoVectorsRequest {
7423 type Owned = Self;
7424
7425 #[inline(always)]
7426 fn inline_align(_context: fidl::encoding::Context) -> usize {
7427 8
7428 }
7429
7430 #[inline(always)]
7431 fn inline_size(_context: fidl::encoding::Context) -> usize {
7432 432
7433 }
7434 }
7435
7436 unsafe impl
7437 fidl::encoding::Encode<
7438 EchoEchoVectorsRequest,
7439 fidl::encoding::DefaultFuchsiaResourceDialect,
7440 > for &mut EchoEchoVectorsRequest
7441 {
7442 #[inline]
7443 unsafe fn encode(
7444 self,
7445 encoder: &mut fidl::encoding::Encoder<
7446 '_,
7447 fidl::encoding::DefaultFuchsiaResourceDialect,
7448 >,
7449 offset: usize,
7450 _depth: fidl::encoding::Depth,
7451 ) -> fidl::Result<()> {
7452 encoder.debug_check_bounds::<EchoEchoVectorsRequest>(offset);
7453 fidl::encoding::Encode::<
7455 EchoEchoVectorsRequest,
7456 fidl::encoding::DefaultFuchsiaResourceDialect,
7457 >::encode(
7458 (
7459 <VectorsStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7460 &mut self.value,
7461 ),
7462 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
7463 &self.forward_to_server,
7464 ),
7465 ),
7466 encoder,
7467 offset,
7468 _depth,
7469 )
7470 }
7471 }
7472 unsafe impl<
7473 T0: fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
7474 T1: fidl::encoding::Encode<
7475 fidl::encoding::UnboundedString,
7476 fidl::encoding::DefaultFuchsiaResourceDialect,
7477 >,
7478 >
7479 fidl::encoding::Encode<
7480 EchoEchoVectorsRequest,
7481 fidl::encoding::DefaultFuchsiaResourceDialect,
7482 > for (T0, T1)
7483 {
7484 #[inline]
7485 unsafe fn encode(
7486 self,
7487 encoder: &mut fidl::encoding::Encoder<
7488 '_,
7489 fidl::encoding::DefaultFuchsiaResourceDialect,
7490 >,
7491 offset: usize,
7492 depth: fidl::encoding::Depth,
7493 ) -> fidl::Result<()> {
7494 encoder.debug_check_bounds::<EchoEchoVectorsRequest>(offset);
7495 self.0.encode(encoder, offset + 0, depth)?;
7499 self.1.encode(encoder, offset + 416, depth)?;
7500 Ok(())
7501 }
7502 }
7503
7504 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7505 for EchoEchoVectorsRequest
7506 {
7507 #[inline(always)]
7508 fn new_empty() -> Self {
7509 Self {
7510 value: fidl::new_empty!(
7511 VectorsStruct,
7512 fidl::encoding::DefaultFuchsiaResourceDialect
7513 ),
7514 forward_to_server: fidl::new_empty!(
7515 fidl::encoding::UnboundedString,
7516 fidl::encoding::DefaultFuchsiaResourceDialect
7517 ),
7518 }
7519 }
7520
7521 #[inline]
7522 unsafe fn decode(
7523 &mut self,
7524 decoder: &mut fidl::encoding::Decoder<
7525 '_,
7526 fidl::encoding::DefaultFuchsiaResourceDialect,
7527 >,
7528 offset: usize,
7529 _depth: fidl::encoding::Depth,
7530 ) -> fidl::Result<()> {
7531 decoder.debug_check_bounds::<Self>(offset);
7532 fidl::decode!(
7534 VectorsStruct,
7535 fidl::encoding::DefaultFuchsiaResourceDialect,
7536 &mut self.value,
7537 decoder,
7538 offset + 0,
7539 _depth
7540 )?;
7541 fidl::decode!(
7542 fidl::encoding::UnboundedString,
7543 fidl::encoding::DefaultFuchsiaResourceDialect,
7544 &mut self.forward_to_server,
7545 decoder,
7546 offset + 416,
7547 _depth
7548 )?;
7549 Ok(())
7550 }
7551 }
7552
7553 impl fidl::encoding::ResourceTypeMarker for EchoEchoVectorsResponse {
7554 type Borrowed<'a> = &'a mut Self;
7555 fn take_or_borrow<'a>(
7556 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7557 ) -> Self::Borrowed<'a> {
7558 value
7559 }
7560 }
7561
7562 unsafe impl fidl::encoding::TypeMarker for EchoEchoVectorsResponse {
7563 type Owned = Self;
7564
7565 #[inline(always)]
7566 fn inline_align(_context: fidl::encoding::Context) -> usize {
7567 8
7568 }
7569
7570 #[inline(always)]
7571 fn inline_size(_context: fidl::encoding::Context) -> usize {
7572 416
7573 }
7574 }
7575
7576 unsafe impl
7577 fidl::encoding::Encode<
7578 EchoEchoVectorsResponse,
7579 fidl::encoding::DefaultFuchsiaResourceDialect,
7580 > for &mut EchoEchoVectorsResponse
7581 {
7582 #[inline]
7583 unsafe fn encode(
7584 self,
7585 encoder: &mut fidl::encoding::Encoder<
7586 '_,
7587 fidl::encoding::DefaultFuchsiaResourceDialect,
7588 >,
7589 offset: usize,
7590 _depth: fidl::encoding::Depth,
7591 ) -> fidl::Result<()> {
7592 encoder.debug_check_bounds::<EchoEchoVectorsResponse>(offset);
7593 fidl::encoding::Encode::<
7595 EchoEchoVectorsResponse,
7596 fidl::encoding::DefaultFuchsiaResourceDialect,
7597 >::encode(
7598 (<VectorsStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7599 &mut self.value,
7600 ),),
7601 encoder,
7602 offset,
7603 _depth,
7604 )
7605 }
7606 }
7607 unsafe impl<
7608 T0: fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
7609 >
7610 fidl::encoding::Encode<
7611 EchoEchoVectorsResponse,
7612 fidl::encoding::DefaultFuchsiaResourceDialect,
7613 > for (T0,)
7614 {
7615 #[inline]
7616 unsafe fn encode(
7617 self,
7618 encoder: &mut fidl::encoding::Encoder<
7619 '_,
7620 fidl::encoding::DefaultFuchsiaResourceDialect,
7621 >,
7622 offset: usize,
7623 depth: fidl::encoding::Depth,
7624 ) -> fidl::Result<()> {
7625 encoder.debug_check_bounds::<EchoEchoVectorsResponse>(offset);
7626 self.0.encode(encoder, offset + 0, depth)?;
7630 Ok(())
7631 }
7632 }
7633
7634 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7635 for EchoEchoVectorsResponse
7636 {
7637 #[inline(always)]
7638 fn new_empty() -> Self {
7639 Self {
7640 value: fidl::new_empty!(
7641 VectorsStruct,
7642 fidl::encoding::DefaultFuchsiaResourceDialect
7643 ),
7644 }
7645 }
7646
7647 #[inline]
7648 unsafe fn decode(
7649 &mut self,
7650 decoder: &mut fidl::encoding::Decoder<
7651 '_,
7652 fidl::encoding::DefaultFuchsiaResourceDialect,
7653 >,
7654 offset: usize,
7655 _depth: fidl::encoding::Depth,
7656 ) -> fidl::Result<()> {
7657 decoder.debug_check_bounds::<Self>(offset);
7658 fidl::decode!(
7660 VectorsStruct,
7661 fidl::encoding::DefaultFuchsiaResourceDialect,
7662 &mut self.value,
7663 decoder,
7664 offset + 0,
7665 _depth
7666 )?;
7667 Ok(())
7668 }
7669 }
7670
7671 impl fidl::encoding::ResourceTypeMarker for EchoEchoVectorsWithErrorRequest {
7672 type Borrowed<'a> = &'a mut Self;
7673 fn take_or_borrow<'a>(
7674 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7675 ) -> Self::Borrowed<'a> {
7676 value
7677 }
7678 }
7679
7680 unsafe impl fidl::encoding::TypeMarker for EchoEchoVectorsWithErrorRequest {
7681 type Owned = Self;
7682
7683 #[inline(always)]
7684 fn inline_align(_context: fidl::encoding::Context) -> usize {
7685 8
7686 }
7687
7688 #[inline(always)]
7689 fn inline_size(_context: fidl::encoding::Context) -> usize {
7690 448
7691 }
7692 }
7693
7694 unsafe impl
7695 fidl::encoding::Encode<
7696 EchoEchoVectorsWithErrorRequest,
7697 fidl::encoding::DefaultFuchsiaResourceDialect,
7698 > for &mut EchoEchoVectorsWithErrorRequest
7699 {
7700 #[inline]
7701 unsafe fn encode(
7702 self,
7703 encoder: &mut fidl::encoding::Encoder<
7704 '_,
7705 fidl::encoding::DefaultFuchsiaResourceDialect,
7706 >,
7707 offset: usize,
7708 _depth: fidl::encoding::Depth,
7709 ) -> fidl::Result<()> {
7710 encoder.debug_check_bounds::<EchoEchoVectorsWithErrorRequest>(offset);
7711 fidl::encoding::Encode::<
7713 EchoEchoVectorsWithErrorRequest,
7714 fidl::encoding::DefaultFuchsiaResourceDialect,
7715 >::encode(
7716 (
7717 <VectorsStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7718 &mut self.value,
7719 ),
7720 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
7721 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
7722 &self.forward_to_server,
7723 ),
7724 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
7725 ),
7726 encoder,
7727 offset,
7728 _depth,
7729 )
7730 }
7731 }
7732 unsafe impl<
7733 T0: fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
7734 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
7735 T2: fidl::encoding::Encode<
7736 fidl::encoding::UnboundedString,
7737 fidl::encoding::DefaultFuchsiaResourceDialect,
7738 >,
7739 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
7740 >
7741 fidl::encoding::Encode<
7742 EchoEchoVectorsWithErrorRequest,
7743 fidl::encoding::DefaultFuchsiaResourceDialect,
7744 > for (T0, T1, T2, T3)
7745 {
7746 #[inline]
7747 unsafe fn encode(
7748 self,
7749 encoder: &mut fidl::encoding::Encoder<
7750 '_,
7751 fidl::encoding::DefaultFuchsiaResourceDialect,
7752 >,
7753 offset: usize,
7754 depth: fidl::encoding::Depth,
7755 ) -> fidl::Result<()> {
7756 encoder.debug_check_bounds::<EchoEchoVectorsWithErrorRequest>(offset);
7757 unsafe {
7760 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(416);
7761 (ptr as *mut u64).write_unaligned(0);
7762 }
7763 unsafe {
7764 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(440);
7765 (ptr as *mut u64).write_unaligned(0);
7766 }
7767 self.0.encode(encoder, offset + 0, depth)?;
7769 self.1.encode(encoder, offset + 416, depth)?;
7770 self.2.encode(encoder, offset + 424, depth)?;
7771 self.3.encode(encoder, offset + 440, depth)?;
7772 Ok(())
7773 }
7774 }
7775
7776 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7777 for EchoEchoVectorsWithErrorRequest
7778 {
7779 #[inline(always)]
7780 fn new_empty() -> Self {
7781 Self {
7782 value: fidl::new_empty!(
7783 VectorsStruct,
7784 fidl::encoding::DefaultFuchsiaResourceDialect
7785 ),
7786 result_err: fidl::new_empty!(
7787 DefaultEnum,
7788 fidl::encoding::DefaultFuchsiaResourceDialect
7789 ),
7790 forward_to_server: fidl::new_empty!(
7791 fidl::encoding::UnboundedString,
7792 fidl::encoding::DefaultFuchsiaResourceDialect
7793 ),
7794 result_variant: fidl::new_empty!(
7795 RespondWith,
7796 fidl::encoding::DefaultFuchsiaResourceDialect
7797 ),
7798 }
7799 }
7800
7801 #[inline]
7802 unsafe fn decode(
7803 &mut self,
7804 decoder: &mut fidl::encoding::Decoder<
7805 '_,
7806 fidl::encoding::DefaultFuchsiaResourceDialect,
7807 >,
7808 offset: usize,
7809 _depth: fidl::encoding::Depth,
7810 ) -> fidl::Result<()> {
7811 decoder.debug_check_bounds::<Self>(offset);
7812 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(416) };
7814 let padval = unsafe { (ptr as *const u64).read_unaligned() };
7815 let mask = 0xffffffff00000000u64;
7816 let maskedval = padval & mask;
7817 if maskedval != 0 {
7818 return Err(fidl::Error::NonZeroPadding {
7819 padding_start: offset + 416 + ((mask as u64).trailing_zeros() / 8) as usize,
7820 });
7821 }
7822 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(440) };
7823 let padval = unsafe { (ptr as *const u64).read_unaligned() };
7824 let mask = 0xffffffff00000000u64;
7825 let maskedval = padval & mask;
7826 if maskedval != 0 {
7827 return Err(fidl::Error::NonZeroPadding {
7828 padding_start: offset + 440 + ((mask as u64).trailing_zeros() / 8) as usize,
7829 });
7830 }
7831 fidl::decode!(
7832 VectorsStruct,
7833 fidl::encoding::DefaultFuchsiaResourceDialect,
7834 &mut self.value,
7835 decoder,
7836 offset + 0,
7837 _depth
7838 )?;
7839 fidl::decode!(
7840 DefaultEnum,
7841 fidl::encoding::DefaultFuchsiaResourceDialect,
7842 &mut self.result_err,
7843 decoder,
7844 offset + 416,
7845 _depth
7846 )?;
7847 fidl::decode!(
7848 fidl::encoding::UnboundedString,
7849 fidl::encoding::DefaultFuchsiaResourceDialect,
7850 &mut self.forward_to_server,
7851 decoder,
7852 offset + 424,
7853 _depth
7854 )?;
7855 fidl::decode!(
7856 RespondWith,
7857 fidl::encoding::DefaultFuchsiaResourceDialect,
7858 &mut self.result_variant,
7859 decoder,
7860 offset + 440,
7861 _depth
7862 )?;
7863 Ok(())
7864 }
7865 }
7866
7867 impl fidl::encoding::ResourceTypeMarker for EchoEchoXunionsRequest {
7868 type Borrowed<'a> = &'a mut Self;
7869 fn take_or_borrow<'a>(
7870 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7871 ) -> Self::Borrowed<'a> {
7872 value
7873 }
7874 }
7875
7876 unsafe impl fidl::encoding::TypeMarker for EchoEchoXunionsRequest {
7877 type Owned = Self;
7878
7879 #[inline(always)]
7880 fn inline_align(_context: fidl::encoding::Context) -> usize {
7881 8
7882 }
7883
7884 #[inline(always)]
7885 fn inline_size(_context: fidl::encoding::Context) -> usize {
7886 32
7887 }
7888 }
7889
7890 unsafe impl
7891 fidl::encoding::Encode<
7892 EchoEchoXunionsRequest,
7893 fidl::encoding::DefaultFuchsiaResourceDialect,
7894 > for &mut EchoEchoXunionsRequest
7895 {
7896 #[inline]
7897 unsafe fn encode(
7898 self,
7899 encoder: &mut fidl::encoding::Encoder<
7900 '_,
7901 fidl::encoding::DefaultFuchsiaResourceDialect,
7902 >,
7903 offset: usize,
7904 _depth: fidl::encoding::Depth,
7905 ) -> fidl::Result<()> {
7906 encoder.debug_check_bounds::<EchoEchoXunionsRequest>(offset);
7907 fidl::encoding::Encode::<EchoEchoXunionsRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
7909 (
7910 <fidl::encoding::UnboundedVector<AllTypesXunion> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
7911 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(&self.forward_to_server),
7912 ),
7913 encoder, offset, _depth
7914 )
7915 }
7916 }
7917 unsafe impl<
7918 T0: fidl::encoding::Encode<
7919 fidl::encoding::UnboundedVector<AllTypesXunion>,
7920 fidl::encoding::DefaultFuchsiaResourceDialect,
7921 >,
7922 T1: fidl::encoding::Encode<
7923 fidl::encoding::UnboundedString,
7924 fidl::encoding::DefaultFuchsiaResourceDialect,
7925 >,
7926 >
7927 fidl::encoding::Encode<
7928 EchoEchoXunionsRequest,
7929 fidl::encoding::DefaultFuchsiaResourceDialect,
7930 > for (T0, T1)
7931 {
7932 #[inline]
7933 unsafe fn encode(
7934 self,
7935 encoder: &mut fidl::encoding::Encoder<
7936 '_,
7937 fidl::encoding::DefaultFuchsiaResourceDialect,
7938 >,
7939 offset: usize,
7940 depth: fidl::encoding::Depth,
7941 ) -> fidl::Result<()> {
7942 encoder.debug_check_bounds::<EchoEchoXunionsRequest>(offset);
7943 self.0.encode(encoder, offset + 0, depth)?;
7947 self.1.encode(encoder, offset + 16, depth)?;
7948 Ok(())
7949 }
7950 }
7951
7952 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7953 for EchoEchoXunionsRequest
7954 {
7955 #[inline(always)]
7956 fn new_empty() -> Self {
7957 Self {
7958 value: fidl::new_empty!(
7959 fidl::encoding::UnboundedVector<AllTypesXunion>,
7960 fidl::encoding::DefaultFuchsiaResourceDialect
7961 ),
7962 forward_to_server: fidl::new_empty!(
7963 fidl::encoding::UnboundedString,
7964 fidl::encoding::DefaultFuchsiaResourceDialect
7965 ),
7966 }
7967 }
7968
7969 #[inline]
7970 unsafe fn decode(
7971 &mut self,
7972 decoder: &mut fidl::encoding::Decoder<
7973 '_,
7974 fidl::encoding::DefaultFuchsiaResourceDialect,
7975 >,
7976 offset: usize,
7977 _depth: fidl::encoding::Depth,
7978 ) -> fidl::Result<()> {
7979 decoder.debug_check_bounds::<Self>(offset);
7980 fidl::decode!(
7982 fidl::encoding::UnboundedVector<AllTypesXunion>,
7983 fidl::encoding::DefaultFuchsiaResourceDialect,
7984 &mut self.value,
7985 decoder,
7986 offset + 0,
7987 _depth
7988 )?;
7989 fidl::decode!(
7990 fidl::encoding::UnboundedString,
7991 fidl::encoding::DefaultFuchsiaResourceDialect,
7992 &mut self.forward_to_server,
7993 decoder,
7994 offset + 16,
7995 _depth
7996 )?;
7997 Ok(())
7998 }
7999 }
8000
8001 impl fidl::encoding::ResourceTypeMarker for EchoEchoXunionsResponse {
8002 type Borrowed<'a> = &'a mut Self;
8003 fn take_or_borrow<'a>(
8004 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8005 ) -> Self::Borrowed<'a> {
8006 value
8007 }
8008 }
8009
8010 unsafe impl fidl::encoding::TypeMarker for EchoEchoXunionsResponse {
8011 type Owned = Self;
8012
8013 #[inline(always)]
8014 fn inline_align(_context: fidl::encoding::Context) -> usize {
8015 8
8016 }
8017
8018 #[inline(always)]
8019 fn inline_size(_context: fidl::encoding::Context) -> usize {
8020 16
8021 }
8022 }
8023
8024 unsafe impl
8025 fidl::encoding::Encode<
8026 EchoEchoXunionsResponse,
8027 fidl::encoding::DefaultFuchsiaResourceDialect,
8028 > for &mut EchoEchoXunionsResponse
8029 {
8030 #[inline]
8031 unsafe fn encode(
8032 self,
8033 encoder: &mut fidl::encoding::Encoder<
8034 '_,
8035 fidl::encoding::DefaultFuchsiaResourceDialect,
8036 >,
8037 offset: usize,
8038 _depth: fidl::encoding::Depth,
8039 ) -> fidl::Result<()> {
8040 encoder.debug_check_bounds::<EchoEchoXunionsResponse>(offset);
8041 fidl::encoding::Encode::<EchoEchoXunionsResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
8043 (
8044 <fidl::encoding::UnboundedVector<AllTypesXunion> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
8045 ),
8046 encoder, offset, _depth
8047 )
8048 }
8049 }
8050 unsafe impl<
8051 T0: fidl::encoding::Encode<
8052 fidl::encoding::UnboundedVector<AllTypesXunion>,
8053 fidl::encoding::DefaultFuchsiaResourceDialect,
8054 >,
8055 >
8056 fidl::encoding::Encode<
8057 EchoEchoXunionsResponse,
8058 fidl::encoding::DefaultFuchsiaResourceDialect,
8059 > for (T0,)
8060 {
8061 #[inline]
8062 unsafe fn encode(
8063 self,
8064 encoder: &mut fidl::encoding::Encoder<
8065 '_,
8066 fidl::encoding::DefaultFuchsiaResourceDialect,
8067 >,
8068 offset: usize,
8069 depth: fidl::encoding::Depth,
8070 ) -> fidl::Result<()> {
8071 encoder.debug_check_bounds::<EchoEchoXunionsResponse>(offset);
8072 self.0.encode(encoder, offset + 0, depth)?;
8076 Ok(())
8077 }
8078 }
8079
8080 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8081 for EchoEchoXunionsResponse
8082 {
8083 #[inline(always)]
8084 fn new_empty() -> Self {
8085 Self {
8086 value: fidl::new_empty!(
8087 fidl::encoding::UnboundedVector<AllTypesXunion>,
8088 fidl::encoding::DefaultFuchsiaResourceDialect
8089 ),
8090 }
8091 }
8092
8093 #[inline]
8094 unsafe fn decode(
8095 &mut self,
8096 decoder: &mut fidl::encoding::Decoder<
8097 '_,
8098 fidl::encoding::DefaultFuchsiaResourceDialect,
8099 >,
8100 offset: usize,
8101 _depth: fidl::encoding::Depth,
8102 ) -> fidl::Result<()> {
8103 decoder.debug_check_bounds::<Self>(offset);
8104 fidl::decode!(
8106 fidl::encoding::UnboundedVector<AllTypesXunion>,
8107 fidl::encoding::DefaultFuchsiaResourceDialect,
8108 &mut self.value,
8109 decoder,
8110 offset + 0,
8111 _depth
8112 )?;
8113 Ok(())
8114 }
8115 }
8116
8117 impl fidl::encoding::ResourceTypeMarker for EchoEchoXunionsWithErrorRequest {
8118 type Borrowed<'a> = &'a mut Self;
8119 fn take_or_borrow<'a>(
8120 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8121 ) -> Self::Borrowed<'a> {
8122 value
8123 }
8124 }
8125
8126 unsafe impl fidl::encoding::TypeMarker for EchoEchoXunionsWithErrorRequest {
8127 type Owned = Self;
8128
8129 #[inline(always)]
8130 fn inline_align(_context: fidl::encoding::Context) -> usize {
8131 8
8132 }
8133
8134 #[inline(always)]
8135 fn inline_size(_context: fidl::encoding::Context) -> usize {
8136 48
8137 }
8138 }
8139
8140 unsafe impl
8141 fidl::encoding::Encode<
8142 EchoEchoXunionsWithErrorRequest,
8143 fidl::encoding::DefaultFuchsiaResourceDialect,
8144 > for &mut EchoEchoXunionsWithErrorRequest
8145 {
8146 #[inline]
8147 unsafe fn encode(
8148 self,
8149 encoder: &mut fidl::encoding::Encoder<
8150 '_,
8151 fidl::encoding::DefaultFuchsiaResourceDialect,
8152 >,
8153 offset: usize,
8154 _depth: fidl::encoding::Depth,
8155 ) -> fidl::Result<()> {
8156 encoder.debug_check_bounds::<EchoEchoXunionsWithErrorRequest>(offset);
8157 fidl::encoding::Encode::<EchoEchoXunionsWithErrorRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
8159 (
8160 <fidl::encoding::UnboundedVector<AllTypesXunion> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
8161 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
8162 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(&self.forward_to_server),
8163 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
8164 ),
8165 encoder, offset, _depth
8166 )
8167 }
8168 }
8169 unsafe impl<
8170 T0: fidl::encoding::Encode<
8171 fidl::encoding::UnboundedVector<AllTypesXunion>,
8172 fidl::encoding::DefaultFuchsiaResourceDialect,
8173 >,
8174 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8175 T2: fidl::encoding::Encode<
8176 fidl::encoding::UnboundedString,
8177 fidl::encoding::DefaultFuchsiaResourceDialect,
8178 >,
8179 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
8180 >
8181 fidl::encoding::Encode<
8182 EchoEchoXunionsWithErrorRequest,
8183 fidl::encoding::DefaultFuchsiaResourceDialect,
8184 > for (T0, T1, T2, T3)
8185 {
8186 #[inline]
8187 unsafe fn encode(
8188 self,
8189 encoder: &mut fidl::encoding::Encoder<
8190 '_,
8191 fidl::encoding::DefaultFuchsiaResourceDialect,
8192 >,
8193 offset: usize,
8194 depth: fidl::encoding::Depth,
8195 ) -> fidl::Result<()> {
8196 encoder.debug_check_bounds::<EchoEchoXunionsWithErrorRequest>(offset);
8197 unsafe {
8200 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
8201 (ptr as *mut u64).write_unaligned(0);
8202 }
8203 unsafe {
8204 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
8205 (ptr as *mut u64).write_unaligned(0);
8206 }
8207 self.0.encode(encoder, offset + 0, depth)?;
8209 self.1.encode(encoder, offset + 16, depth)?;
8210 self.2.encode(encoder, offset + 24, depth)?;
8211 self.3.encode(encoder, offset + 40, depth)?;
8212 Ok(())
8213 }
8214 }
8215
8216 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8217 for EchoEchoXunionsWithErrorRequest
8218 {
8219 #[inline(always)]
8220 fn new_empty() -> Self {
8221 Self {
8222 value: fidl::new_empty!(
8223 fidl::encoding::UnboundedVector<AllTypesXunion>,
8224 fidl::encoding::DefaultFuchsiaResourceDialect
8225 ),
8226 result_err: fidl::new_empty!(
8227 DefaultEnum,
8228 fidl::encoding::DefaultFuchsiaResourceDialect
8229 ),
8230 forward_to_server: fidl::new_empty!(
8231 fidl::encoding::UnboundedString,
8232 fidl::encoding::DefaultFuchsiaResourceDialect
8233 ),
8234 result_variant: fidl::new_empty!(
8235 RespondWith,
8236 fidl::encoding::DefaultFuchsiaResourceDialect
8237 ),
8238 }
8239 }
8240
8241 #[inline]
8242 unsafe fn decode(
8243 &mut self,
8244 decoder: &mut fidl::encoding::Decoder<
8245 '_,
8246 fidl::encoding::DefaultFuchsiaResourceDialect,
8247 >,
8248 offset: usize,
8249 _depth: fidl::encoding::Depth,
8250 ) -> fidl::Result<()> {
8251 decoder.debug_check_bounds::<Self>(offset);
8252 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
8254 let padval = unsafe { (ptr as *const u64).read_unaligned() };
8255 let mask = 0xffffffff00000000u64;
8256 let maskedval = padval & mask;
8257 if maskedval != 0 {
8258 return Err(fidl::Error::NonZeroPadding {
8259 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
8260 });
8261 }
8262 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
8263 let padval = unsafe { (ptr as *const u64).read_unaligned() };
8264 let mask = 0xffffffff00000000u64;
8265 let maskedval = padval & mask;
8266 if maskedval != 0 {
8267 return Err(fidl::Error::NonZeroPadding {
8268 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
8269 });
8270 }
8271 fidl::decode!(
8272 fidl::encoding::UnboundedVector<AllTypesXunion>,
8273 fidl::encoding::DefaultFuchsiaResourceDialect,
8274 &mut self.value,
8275 decoder,
8276 offset + 0,
8277 _depth
8278 )?;
8279 fidl::decode!(
8280 DefaultEnum,
8281 fidl::encoding::DefaultFuchsiaResourceDialect,
8282 &mut self.result_err,
8283 decoder,
8284 offset + 16,
8285 _depth
8286 )?;
8287 fidl::decode!(
8288 fidl::encoding::UnboundedString,
8289 fidl::encoding::DefaultFuchsiaResourceDialect,
8290 &mut self.forward_to_server,
8291 decoder,
8292 offset + 24,
8293 _depth
8294 )?;
8295 fidl::decode!(
8296 RespondWith,
8297 fidl::encoding::DefaultFuchsiaResourceDialect,
8298 &mut self.result_variant,
8299 decoder,
8300 offset + 40,
8301 _depth
8302 )?;
8303 Ok(())
8304 }
8305 }
8306
8307 impl fidl::encoding::ResourceTypeMarker for EchoEchoArraysWithErrorResponse {
8308 type Borrowed<'a> = &'a mut Self;
8309 fn take_or_borrow<'a>(
8310 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8311 ) -> Self::Borrowed<'a> {
8312 value
8313 }
8314 }
8315
8316 unsafe impl fidl::encoding::TypeMarker for EchoEchoArraysWithErrorResponse {
8317 type Owned = Self;
8318
8319 #[inline(always)]
8320 fn inline_align(_context: fidl::encoding::Context) -> usize {
8321 8
8322 }
8323
8324 #[inline(always)]
8325 fn inline_size(_context: fidl::encoding::Context) -> usize {
8326 680
8327 }
8328 }
8329
8330 unsafe impl
8331 fidl::encoding::Encode<
8332 EchoEchoArraysWithErrorResponse,
8333 fidl::encoding::DefaultFuchsiaResourceDialect,
8334 > for &mut EchoEchoArraysWithErrorResponse
8335 {
8336 #[inline]
8337 unsafe fn encode(
8338 self,
8339 encoder: &mut fidl::encoding::Encoder<
8340 '_,
8341 fidl::encoding::DefaultFuchsiaResourceDialect,
8342 >,
8343 offset: usize,
8344 _depth: fidl::encoding::Depth,
8345 ) -> fidl::Result<()> {
8346 encoder.debug_check_bounds::<EchoEchoArraysWithErrorResponse>(offset);
8347 fidl::encoding::Encode::<
8349 EchoEchoArraysWithErrorResponse,
8350 fidl::encoding::DefaultFuchsiaResourceDialect,
8351 >::encode(
8352 (<ArraysStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8353 &mut self.value,
8354 ),),
8355 encoder,
8356 offset,
8357 _depth,
8358 )
8359 }
8360 }
8361 unsafe impl<
8362 T0: fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
8363 >
8364 fidl::encoding::Encode<
8365 EchoEchoArraysWithErrorResponse,
8366 fidl::encoding::DefaultFuchsiaResourceDialect,
8367 > for (T0,)
8368 {
8369 #[inline]
8370 unsafe fn encode(
8371 self,
8372 encoder: &mut fidl::encoding::Encoder<
8373 '_,
8374 fidl::encoding::DefaultFuchsiaResourceDialect,
8375 >,
8376 offset: usize,
8377 depth: fidl::encoding::Depth,
8378 ) -> fidl::Result<()> {
8379 encoder.debug_check_bounds::<EchoEchoArraysWithErrorResponse>(offset);
8380 self.0.encode(encoder, offset + 0, depth)?;
8384 Ok(())
8385 }
8386 }
8387
8388 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8389 for EchoEchoArraysWithErrorResponse
8390 {
8391 #[inline(always)]
8392 fn new_empty() -> Self {
8393 Self {
8394 value: fidl::new_empty!(
8395 ArraysStruct,
8396 fidl::encoding::DefaultFuchsiaResourceDialect
8397 ),
8398 }
8399 }
8400
8401 #[inline]
8402 unsafe fn decode(
8403 &mut self,
8404 decoder: &mut fidl::encoding::Decoder<
8405 '_,
8406 fidl::encoding::DefaultFuchsiaResourceDialect,
8407 >,
8408 offset: usize,
8409 _depth: fidl::encoding::Depth,
8410 ) -> fidl::Result<()> {
8411 decoder.debug_check_bounds::<Self>(offset);
8412 fidl::decode!(
8414 ArraysStruct,
8415 fidl::encoding::DefaultFuchsiaResourceDialect,
8416 &mut self.value,
8417 decoder,
8418 offset + 0,
8419 _depth
8420 )?;
8421 Ok(())
8422 }
8423 }
8424
8425 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructWithErrorResponse {
8426 type Borrowed<'a> = &'a mut Self;
8427 fn take_or_borrow<'a>(
8428 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8429 ) -> Self::Borrowed<'a> {
8430 value
8431 }
8432 }
8433
8434 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructWithErrorResponse {
8435 type Owned = Self;
8436
8437 #[inline(always)]
8438 fn inline_align(_context: fidl::encoding::Context) -> usize {
8439 8
8440 }
8441
8442 #[inline(always)]
8443 fn inline_size(_context: fidl::encoding::Context) -> usize {
8444 2912
8445 }
8446 }
8447
8448 unsafe impl
8449 fidl::encoding::Encode<
8450 EchoEchoStructWithErrorResponse,
8451 fidl::encoding::DefaultFuchsiaResourceDialect,
8452 > for &mut EchoEchoStructWithErrorResponse
8453 {
8454 #[inline]
8455 unsafe fn encode(
8456 self,
8457 encoder: &mut fidl::encoding::Encoder<
8458 '_,
8459 fidl::encoding::DefaultFuchsiaResourceDialect,
8460 >,
8461 offset: usize,
8462 _depth: fidl::encoding::Depth,
8463 ) -> fidl::Result<()> {
8464 encoder.debug_check_bounds::<EchoEchoStructWithErrorResponse>(offset);
8465 fidl::encoding::Encode::<
8467 EchoEchoStructWithErrorResponse,
8468 fidl::encoding::DefaultFuchsiaResourceDialect,
8469 >::encode(
8470 (<Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),),
8471 encoder,
8472 offset,
8473 _depth,
8474 )
8475 }
8476 }
8477 unsafe impl<T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>>
8478 fidl::encoding::Encode<
8479 EchoEchoStructWithErrorResponse,
8480 fidl::encoding::DefaultFuchsiaResourceDialect,
8481 > for (T0,)
8482 {
8483 #[inline]
8484 unsafe fn encode(
8485 self,
8486 encoder: &mut fidl::encoding::Encoder<
8487 '_,
8488 fidl::encoding::DefaultFuchsiaResourceDialect,
8489 >,
8490 offset: usize,
8491 depth: fidl::encoding::Depth,
8492 ) -> fidl::Result<()> {
8493 encoder.debug_check_bounds::<EchoEchoStructWithErrorResponse>(offset);
8494 self.0.encode(encoder, offset + 0, depth)?;
8498 Ok(())
8499 }
8500 }
8501
8502 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8503 for EchoEchoStructWithErrorResponse
8504 {
8505 #[inline(always)]
8506 fn new_empty() -> Self {
8507 Self { value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect) }
8508 }
8509
8510 #[inline]
8511 unsafe fn decode(
8512 &mut self,
8513 decoder: &mut fidl::encoding::Decoder<
8514 '_,
8515 fidl::encoding::DefaultFuchsiaResourceDialect,
8516 >,
8517 offset: usize,
8518 _depth: fidl::encoding::Depth,
8519 ) -> fidl::Result<()> {
8520 decoder.debug_check_bounds::<Self>(offset);
8521 fidl::decode!(
8523 Struct,
8524 fidl::encoding::DefaultFuchsiaResourceDialect,
8525 &mut self.value,
8526 decoder,
8527 offset + 0,
8528 _depth
8529 )?;
8530 Ok(())
8531 }
8532 }
8533
8534 impl fidl::encoding::ResourceTypeMarker for EchoEchoTableWithErrorResponse {
8535 type Borrowed<'a> = &'a mut Self;
8536 fn take_or_borrow<'a>(
8537 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8538 ) -> Self::Borrowed<'a> {
8539 value
8540 }
8541 }
8542
8543 unsafe impl fidl::encoding::TypeMarker for EchoEchoTableWithErrorResponse {
8544 type Owned = Self;
8545
8546 #[inline(always)]
8547 fn inline_align(_context: fidl::encoding::Context) -> usize {
8548 8
8549 }
8550
8551 #[inline(always)]
8552 fn inline_size(_context: fidl::encoding::Context) -> usize {
8553 16
8554 }
8555 }
8556
8557 unsafe impl
8558 fidl::encoding::Encode<
8559 EchoEchoTableWithErrorResponse,
8560 fidl::encoding::DefaultFuchsiaResourceDialect,
8561 > for &mut EchoEchoTableWithErrorResponse
8562 {
8563 #[inline]
8564 unsafe fn encode(
8565 self,
8566 encoder: &mut fidl::encoding::Encoder<
8567 '_,
8568 fidl::encoding::DefaultFuchsiaResourceDialect,
8569 >,
8570 offset: usize,
8571 _depth: fidl::encoding::Depth,
8572 ) -> fidl::Result<()> {
8573 encoder.debug_check_bounds::<EchoEchoTableWithErrorResponse>(offset);
8574 fidl::encoding::Encode::<
8576 EchoEchoTableWithErrorResponse,
8577 fidl::encoding::DefaultFuchsiaResourceDialect,
8578 >::encode(
8579 (<AllTypesTable as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8580 &mut self.value,
8581 ),),
8582 encoder,
8583 offset,
8584 _depth,
8585 )
8586 }
8587 }
8588 unsafe impl<
8589 T0: fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>,
8590 >
8591 fidl::encoding::Encode<
8592 EchoEchoTableWithErrorResponse,
8593 fidl::encoding::DefaultFuchsiaResourceDialect,
8594 > for (T0,)
8595 {
8596 #[inline]
8597 unsafe fn encode(
8598 self,
8599 encoder: &mut fidl::encoding::Encoder<
8600 '_,
8601 fidl::encoding::DefaultFuchsiaResourceDialect,
8602 >,
8603 offset: usize,
8604 depth: fidl::encoding::Depth,
8605 ) -> fidl::Result<()> {
8606 encoder.debug_check_bounds::<EchoEchoTableWithErrorResponse>(offset);
8607 self.0.encode(encoder, offset + 0, depth)?;
8611 Ok(())
8612 }
8613 }
8614
8615 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8616 for EchoEchoTableWithErrorResponse
8617 {
8618 #[inline(always)]
8619 fn new_empty() -> Self {
8620 Self {
8621 value: fidl::new_empty!(
8622 AllTypesTable,
8623 fidl::encoding::DefaultFuchsiaResourceDialect
8624 ),
8625 }
8626 }
8627
8628 #[inline]
8629 unsafe fn decode(
8630 &mut self,
8631 decoder: &mut fidl::encoding::Decoder<
8632 '_,
8633 fidl::encoding::DefaultFuchsiaResourceDialect,
8634 >,
8635 offset: usize,
8636 _depth: fidl::encoding::Depth,
8637 ) -> fidl::Result<()> {
8638 decoder.debug_check_bounds::<Self>(offset);
8639 fidl::decode!(
8641 AllTypesTable,
8642 fidl::encoding::DefaultFuchsiaResourceDialect,
8643 &mut self.value,
8644 decoder,
8645 offset + 0,
8646 _depth
8647 )?;
8648 Ok(())
8649 }
8650 }
8651
8652 impl fidl::encoding::ResourceTypeMarker for EchoEchoVectorsWithErrorResponse {
8653 type Borrowed<'a> = &'a mut Self;
8654 fn take_or_borrow<'a>(
8655 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8656 ) -> Self::Borrowed<'a> {
8657 value
8658 }
8659 }
8660
8661 unsafe impl fidl::encoding::TypeMarker for EchoEchoVectorsWithErrorResponse {
8662 type Owned = Self;
8663
8664 #[inline(always)]
8665 fn inline_align(_context: fidl::encoding::Context) -> usize {
8666 8
8667 }
8668
8669 #[inline(always)]
8670 fn inline_size(_context: fidl::encoding::Context) -> usize {
8671 416
8672 }
8673 }
8674
8675 unsafe impl
8676 fidl::encoding::Encode<
8677 EchoEchoVectorsWithErrorResponse,
8678 fidl::encoding::DefaultFuchsiaResourceDialect,
8679 > for &mut EchoEchoVectorsWithErrorResponse
8680 {
8681 #[inline]
8682 unsafe fn encode(
8683 self,
8684 encoder: &mut fidl::encoding::Encoder<
8685 '_,
8686 fidl::encoding::DefaultFuchsiaResourceDialect,
8687 >,
8688 offset: usize,
8689 _depth: fidl::encoding::Depth,
8690 ) -> fidl::Result<()> {
8691 encoder.debug_check_bounds::<EchoEchoVectorsWithErrorResponse>(offset);
8692 fidl::encoding::Encode::<
8694 EchoEchoVectorsWithErrorResponse,
8695 fidl::encoding::DefaultFuchsiaResourceDialect,
8696 >::encode(
8697 (<VectorsStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8698 &mut self.value,
8699 ),),
8700 encoder,
8701 offset,
8702 _depth,
8703 )
8704 }
8705 }
8706 unsafe impl<
8707 T0: fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
8708 >
8709 fidl::encoding::Encode<
8710 EchoEchoVectorsWithErrorResponse,
8711 fidl::encoding::DefaultFuchsiaResourceDialect,
8712 > for (T0,)
8713 {
8714 #[inline]
8715 unsafe fn encode(
8716 self,
8717 encoder: &mut fidl::encoding::Encoder<
8718 '_,
8719 fidl::encoding::DefaultFuchsiaResourceDialect,
8720 >,
8721 offset: usize,
8722 depth: fidl::encoding::Depth,
8723 ) -> fidl::Result<()> {
8724 encoder.debug_check_bounds::<EchoEchoVectorsWithErrorResponse>(offset);
8725 self.0.encode(encoder, offset + 0, depth)?;
8729 Ok(())
8730 }
8731 }
8732
8733 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8734 for EchoEchoVectorsWithErrorResponse
8735 {
8736 #[inline(always)]
8737 fn new_empty() -> Self {
8738 Self {
8739 value: fidl::new_empty!(
8740 VectorsStruct,
8741 fidl::encoding::DefaultFuchsiaResourceDialect
8742 ),
8743 }
8744 }
8745
8746 #[inline]
8747 unsafe fn decode(
8748 &mut self,
8749 decoder: &mut fidl::encoding::Decoder<
8750 '_,
8751 fidl::encoding::DefaultFuchsiaResourceDialect,
8752 >,
8753 offset: usize,
8754 _depth: fidl::encoding::Depth,
8755 ) -> fidl::Result<()> {
8756 decoder.debug_check_bounds::<Self>(offset);
8757 fidl::decode!(
8759 VectorsStruct,
8760 fidl::encoding::DefaultFuchsiaResourceDialect,
8761 &mut self.value,
8762 decoder,
8763 offset + 0,
8764 _depth
8765 )?;
8766 Ok(())
8767 }
8768 }
8769
8770 impl fidl::encoding::ResourceTypeMarker for EchoEchoXunionsWithErrorResponse {
8771 type Borrowed<'a> = &'a mut Self;
8772 fn take_or_borrow<'a>(
8773 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8774 ) -> Self::Borrowed<'a> {
8775 value
8776 }
8777 }
8778
8779 unsafe impl fidl::encoding::TypeMarker for EchoEchoXunionsWithErrorResponse {
8780 type Owned = Self;
8781
8782 #[inline(always)]
8783 fn inline_align(_context: fidl::encoding::Context) -> usize {
8784 8
8785 }
8786
8787 #[inline(always)]
8788 fn inline_size(_context: fidl::encoding::Context) -> usize {
8789 16
8790 }
8791 }
8792
8793 unsafe impl
8794 fidl::encoding::Encode<
8795 EchoEchoXunionsWithErrorResponse,
8796 fidl::encoding::DefaultFuchsiaResourceDialect,
8797 > for &mut EchoEchoXunionsWithErrorResponse
8798 {
8799 #[inline]
8800 unsafe fn encode(
8801 self,
8802 encoder: &mut fidl::encoding::Encoder<
8803 '_,
8804 fidl::encoding::DefaultFuchsiaResourceDialect,
8805 >,
8806 offset: usize,
8807 _depth: fidl::encoding::Depth,
8808 ) -> fidl::Result<()> {
8809 encoder.debug_check_bounds::<EchoEchoXunionsWithErrorResponse>(offset);
8810 fidl::encoding::Encode::<EchoEchoXunionsWithErrorResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
8812 (
8813 <fidl::encoding::UnboundedVector<AllTypesXunion> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
8814 ),
8815 encoder, offset, _depth
8816 )
8817 }
8818 }
8819 unsafe impl<
8820 T0: fidl::encoding::Encode<
8821 fidl::encoding::UnboundedVector<AllTypesXunion>,
8822 fidl::encoding::DefaultFuchsiaResourceDialect,
8823 >,
8824 >
8825 fidl::encoding::Encode<
8826 EchoEchoXunionsWithErrorResponse,
8827 fidl::encoding::DefaultFuchsiaResourceDialect,
8828 > for (T0,)
8829 {
8830 #[inline]
8831 unsafe fn encode(
8832 self,
8833 encoder: &mut fidl::encoding::Encoder<
8834 '_,
8835 fidl::encoding::DefaultFuchsiaResourceDialect,
8836 >,
8837 offset: usize,
8838 depth: fidl::encoding::Depth,
8839 ) -> fidl::Result<()> {
8840 encoder.debug_check_bounds::<EchoEchoXunionsWithErrorResponse>(offset);
8841 self.0.encode(encoder, offset + 0, depth)?;
8845 Ok(())
8846 }
8847 }
8848
8849 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8850 for EchoEchoXunionsWithErrorResponse
8851 {
8852 #[inline(always)]
8853 fn new_empty() -> Self {
8854 Self {
8855 value: fidl::new_empty!(
8856 fidl::encoding::UnboundedVector<AllTypesXunion>,
8857 fidl::encoding::DefaultFuchsiaResourceDialect
8858 ),
8859 }
8860 }
8861
8862 #[inline]
8863 unsafe fn decode(
8864 &mut self,
8865 decoder: &mut fidl::encoding::Decoder<
8866 '_,
8867 fidl::encoding::DefaultFuchsiaResourceDialect,
8868 >,
8869 offset: usize,
8870 _depth: fidl::encoding::Depth,
8871 ) -> fidl::Result<()> {
8872 decoder.debug_check_bounds::<Self>(offset);
8873 fidl::decode!(
8875 fidl::encoding::UnboundedVector<AllTypesXunion>,
8876 fidl::encoding::DefaultFuchsiaResourceDialect,
8877 &mut self.value,
8878 decoder,
8879 offset + 0,
8880 _depth
8881 )?;
8882 Ok(())
8883 }
8884 }
8885
8886 impl fidl::encoding::ResourceTypeMarker for Struct {
8887 type Borrowed<'a> = &'a mut Self;
8888 fn take_or_borrow<'a>(
8889 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8890 ) -> Self::Borrowed<'a> {
8891 value
8892 }
8893 }
8894
8895 unsafe impl fidl::encoding::TypeMarker for Struct {
8896 type Owned = Self;
8897
8898 #[inline(always)]
8899 fn inline_align(_context: fidl::encoding::Context) -> usize {
8900 8
8901 }
8902
8903 #[inline(always)]
8904 fn inline_size(_context: fidl::encoding::Context) -> usize {
8905 2912
8906 }
8907 }
8908
8909 unsafe impl fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>
8910 for &mut Struct
8911 {
8912 #[inline]
8913 unsafe fn encode(
8914 self,
8915 encoder: &mut fidl::encoding::Encoder<
8916 '_,
8917 fidl::encoding::DefaultFuchsiaResourceDialect,
8918 >,
8919 offset: usize,
8920 _depth: fidl::encoding::Depth,
8921 ) -> fidl::Result<()> {
8922 encoder.debug_check_bounds::<Struct>(offset);
8923 fidl::encoding::Encode::<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
8925 (
8926 <PrimitiveTypes as fidl::encoding::ValueTypeMarker>::borrow(
8927 &self.primitive_types,
8928 ),
8929 <DefaultValues as fidl::encoding::ValueTypeMarker>::borrow(
8930 &self.default_values,
8931 ),
8932 <Arrays as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8933 &mut self.arrays,
8934 ),
8935 <Arrays2d as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8936 &mut self.arrays_2d,
8937 ),
8938 <Vectors as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8939 &mut self.vectors,
8940 ),
8941 <Handles as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8942 &mut self.handles,
8943 ),
8944 <Strings as fidl::encoding::ValueTypeMarker>::borrow(&self.strings),
8945 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.default_enum),
8946 <I8Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_enum),
8947 <I16Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_enum),
8948 <I32Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_enum),
8949 <I64Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_enum),
8950 <U8Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_enum),
8951 <U16Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_enum),
8952 <U32Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_enum),
8953 <U64Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_enum),
8954 <DefaultBits as fidl::encoding::ValueTypeMarker>::borrow(&self.default_bits),
8955 <U8Bits as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_bits),
8956 <U16Bits as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_bits),
8957 <U32Bits as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_bits),
8958 <U64Bits as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_bits),
8959 <Structs as fidl::encoding::ValueTypeMarker>::borrow(&self.structs),
8960 <Unions as fidl::encoding::ValueTypeMarker>::borrow(&self.unions),
8961 <ThisIsATable as fidl::encoding::ValueTypeMarker>::borrow(&self.table),
8962 <ThisIsAXunion as fidl::encoding::ValueTypeMarker>::borrow(&self.xunion),
8963 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.b),
8964 ),
8965 encoder,
8966 offset,
8967 _depth,
8968 )
8969 }
8970 }
8971 unsafe impl<
8972 T0: fidl::encoding::Encode<PrimitiveTypes, fidl::encoding::DefaultFuchsiaResourceDialect>,
8973 T1: fidl::encoding::Encode<DefaultValues, fidl::encoding::DefaultFuchsiaResourceDialect>,
8974 T2: fidl::encoding::Encode<Arrays, fidl::encoding::DefaultFuchsiaResourceDialect>,
8975 T3: fidl::encoding::Encode<Arrays2d, fidl::encoding::DefaultFuchsiaResourceDialect>,
8976 T4: fidl::encoding::Encode<Vectors, fidl::encoding::DefaultFuchsiaResourceDialect>,
8977 T5: fidl::encoding::Encode<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>,
8978 T6: fidl::encoding::Encode<Strings, fidl::encoding::DefaultFuchsiaResourceDialect>,
8979 T7: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8980 T8: fidl::encoding::Encode<I8Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8981 T9: fidl::encoding::Encode<I16Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8982 T10: fidl::encoding::Encode<I32Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8983 T11: fidl::encoding::Encode<I64Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8984 T12: fidl::encoding::Encode<U8Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8985 T13: fidl::encoding::Encode<U16Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8986 T14: fidl::encoding::Encode<U32Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8987 T15: fidl::encoding::Encode<U64Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8988 T16: fidl::encoding::Encode<DefaultBits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8989 T17: fidl::encoding::Encode<U8Bits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8990 T18: fidl::encoding::Encode<U16Bits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8991 T19: fidl::encoding::Encode<U32Bits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8992 T20: fidl::encoding::Encode<U64Bits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8993 T21: fidl::encoding::Encode<Structs, fidl::encoding::DefaultFuchsiaResourceDialect>,
8994 T22: fidl::encoding::Encode<Unions, fidl::encoding::DefaultFuchsiaResourceDialect>,
8995 T23: fidl::encoding::Encode<ThisIsATable, fidl::encoding::DefaultFuchsiaResourceDialect>,
8996 T24: fidl::encoding::Encode<ThisIsAXunion, fidl::encoding::DefaultFuchsiaResourceDialect>,
8997 T25: fidl::encoding::Encode<bool, fidl::encoding::DefaultFuchsiaResourceDialect>,
8998 > fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>
8999 for (
9000 T0,
9001 T1,
9002 T2,
9003 T3,
9004 T4,
9005 T5,
9006 T6,
9007 T7,
9008 T8,
9009 T9,
9010 T10,
9011 T11,
9012 T12,
9013 T13,
9014 T14,
9015 T15,
9016 T16,
9017 T17,
9018 T18,
9019 T19,
9020 T20,
9021 T21,
9022 T22,
9023 T23,
9024 T24,
9025 T25,
9026 )
9027 {
9028 #[inline]
9029 unsafe fn encode(
9030 self,
9031 encoder: &mut fidl::encoding::Encoder<
9032 '_,
9033 fidl::encoding::DefaultFuchsiaResourceDialect,
9034 >,
9035 offset: usize,
9036 depth: fidl::encoding::Depth,
9037 ) -> fidl::Result<()> {
9038 encoder.debug_check_bounds::<Struct>(offset);
9039 unsafe {
9042 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2640);
9043 (ptr as *mut u64).write_unaligned(0);
9044 }
9045 unsafe {
9046 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2744);
9047 (ptr as *mut u64).write_unaligned(0);
9048 }
9049 unsafe {
9050 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2752);
9051 (ptr as *mut u64).write_unaligned(0);
9052 }
9053 unsafe {
9054 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2768);
9055 (ptr as *mut u64).write_unaligned(0);
9056 }
9057 unsafe {
9058 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2784);
9059 (ptr as *mut u64).write_unaligned(0);
9060 }
9061 unsafe {
9062 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2792);
9063 (ptr as *mut u64).write_unaligned(0);
9064 }
9065 unsafe {
9066 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2904);
9067 (ptr as *mut u64).write_unaligned(0);
9068 }
9069 self.0.encode(encoder, offset + 0, depth)?;
9071 self.1.encode(encoder, offset + 48, depth)?;
9072 self.2.encode(encoder, offset + 120, depth)?;
9073 self.3.encode(encoder, offset + 328, depth)?;
9074 self.4.encode(encoder, offset + 616, depth)?;
9075 self.5.encode(encoder, offset + 2536, depth)?;
9076 self.6.encode(encoder, offset + 2648, depth)?;
9077 self.7.encode(encoder, offset + 2744, depth)?;
9078 self.8.encode(encoder, offset + 2748, depth)?;
9079 self.9.encode(encoder, offset + 2750, depth)?;
9080 self.10.encode(encoder, offset + 2752, depth)?;
9081 self.11.encode(encoder, offset + 2760, depth)?;
9082 self.12.encode(encoder, offset + 2768, depth)?;
9083 self.13.encode(encoder, offset + 2770, depth)?;
9084 self.14.encode(encoder, offset + 2772, depth)?;
9085 self.15.encode(encoder, offset + 2776, depth)?;
9086 self.16.encode(encoder, offset + 2784, depth)?;
9087 self.17.encode(encoder, offset + 2788, depth)?;
9088 self.18.encode(encoder, offset + 2790, depth)?;
9089 self.19.encode(encoder, offset + 2792, depth)?;
9090 self.20.encode(encoder, offset + 2800, depth)?;
9091 self.21.encode(encoder, offset + 2808, depth)?;
9092 self.22.encode(encoder, offset + 2840, depth)?;
9093 self.23.encode(encoder, offset + 2872, depth)?;
9094 self.24.encode(encoder, offset + 2888, depth)?;
9095 self.25.encode(encoder, offset + 2904, depth)?;
9096 Ok(())
9097 }
9098 }
9099
9100 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Struct {
9101 #[inline(always)]
9102 fn new_empty() -> Self {
9103 Self {
9104 primitive_types: fidl::new_empty!(
9105 PrimitiveTypes,
9106 fidl::encoding::DefaultFuchsiaResourceDialect
9107 ),
9108 default_values: fidl::new_empty!(
9109 DefaultValues,
9110 fidl::encoding::DefaultFuchsiaResourceDialect
9111 ),
9112 arrays: fidl::new_empty!(Arrays, fidl::encoding::DefaultFuchsiaResourceDialect),
9113 arrays_2d: fidl::new_empty!(
9114 Arrays2d,
9115 fidl::encoding::DefaultFuchsiaResourceDialect
9116 ),
9117 vectors: fidl::new_empty!(Vectors, fidl::encoding::DefaultFuchsiaResourceDialect),
9118 handles: fidl::new_empty!(Handles, fidl::encoding::DefaultFuchsiaResourceDialect),
9119 strings: fidl::new_empty!(Strings, fidl::encoding::DefaultFuchsiaResourceDialect),
9120 default_enum: fidl::new_empty!(
9121 DefaultEnum,
9122 fidl::encoding::DefaultFuchsiaResourceDialect
9123 ),
9124 i8_enum: fidl::new_empty!(I8Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9125 i16_enum: fidl::new_empty!(I16Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9126 i32_enum: fidl::new_empty!(I32Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9127 i64_enum: fidl::new_empty!(I64Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9128 u8_enum: fidl::new_empty!(U8Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9129 u16_enum: fidl::new_empty!(U16Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9130 u32_enum: fidl::new_empty!(U32Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9131 u64_enum: fidl::new_empty!(U64Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9132 default_bits: fidl::new_empty!(
9133 DefaultBits,
9134 fidl::encoding::DefaultFuchsiaResourceDialect
9135 ),
9136 u8_bits: fidl::new_empty!(U8Bits, fidl::encoding::DefaultFuchsiaResourceDialect),
9137 u16_bits: fidl::new_empty!(U16Bits, fidl::encoding::DefaultFuchsiaResourceDialect),
9138 u32_bits: fidl::new_empty!(U32Bits, fidl::encoding::DefaultFuchsiaResourceDialect),
9139 u64_bits: fidl::new_empty!(U64Bits, fidl::encoding::DefaultFuchsiaResourceDialect),
9140 structs: fidl::new_empty!(Structs, fidl::encoding::DefaultFuchsiaResourceDialect),
9141 unions: fidl::new_empty!(Unions, fidl::encoding::DefaultFuchsiaResourceDialect),
9142 table: fidl::new_empty!(
9143 ThisIsATable,
9144 fidl::encoding::DefaultFuchsiaResourceDialect
9145 ),
9146 xunion: fidl::new_empty!(
9147 ThisIsAXunion,
9148 fidl::encoding::DefaultFuchsiaResourceDialect
9149 ),
9150 b: fidl::new_empty!(bool, fidl::encoding::DefaultFuchsiaResourceDialect),
9151 }
9152 }
9153
9154 #[inline]
9155 unsafe fn decode(
9156 &mut self,
9157 decoder: &mut fidl::encoding::Decoder<
9158 '_,
9159 fidl::encoding::DefaultFuchsiaResourceDialect,
9160 >,
9161 offset: usize,
9162 _depth: fidl::encoding::Depth,
9163 ) -> fidl::Result<()> {
9164 decoder.debug_check_bounds::<Self>(offset);
9165 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2640) };
9167 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9168 let mask = 0xffffffff00000000u64;
9169 let maskedval = padval & mask;
9170 if maskedval != 0 {
9171 return Err(fidl::Error::NonZeroPadding {
9172 padding_start: offset + 2640 + ((mask as u64).trailing_zeros() / 8) as usize,
9173 });
9174 }
9175 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2744) };
9176 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9177 let mask = 0xff0000000000u64;
9178 let maskedval = padval & mask;
9179 if maskedval != 0 {
9180 return Err(fidl::Error::NonZeroPadding {
9181 padding_start: offset + 2744 + ((mask as u64).trailing_zeros() / 8) as usize,
9182 });
9183 }
9184 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2752) };
9185 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9186 let mask = 0xffffffff00000000u64;
9187 let maskedval = padval & mask;
9188 if maskedval != 0 {
9189 return Err(fidl::Error::NonZeroPadding {
9190 padding_start: offset + 2752 + ((mask as u64).trailing_zeros() / 8) as usize,
9191 });
9192 }
9193 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2768) };
9194 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9195 let mask = 0xff00u64;
9196 let maskedval = padval & mask;
9197 if maskedval != 0 {
9198 return Err(fidl::Error::NonZeroPadding {
9199 padding_start: offset + 2768 + ((mask as u64).trailing_zeros() / 8) as usize,
9200 });
9201 }
9202 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2784) };
9203 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9204 let mask = 0xff0000000000u64;
9205 let maskedval = padval & mask;
9206 if maskedval != 0 {
9207 return Err(fidl::Error::NonZeroPadding {
9208 padding_start: offset + 2784 + ((mask as u64).trailing_zeros() / 8) as usize,
9209 });
9210 }
9211 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2792) };
9212 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9213 let mask = 0xffffffff00000000u64;
9214 let maskedval = padval & mask;
9215 if maskedval != 0 {
9216 return Err(fidl::Error::NonZeroPadding {
9217 padding_start: offset + 2792 + ((mask as u64).trailing_zeros() / 8) as usize,
9218 });
9219 }
9220 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2904) };
9221 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9222 let mask = 0xffffffffffffff00u64;
9223 let maskedval = padval & mask;
9224 if maskedval != 0 {
9225 return Err(fidl::Error::NonZeroPadding {
9226 padding_start: offset + 2904 + ((mask as u64).trailing_zeros() / 8) as usize,
9227 });
9228 }
9229 fidl::decode!(
9230 PrimitiveTypes,
9231 fidl::encoding::DefaultFuchsiaResourceDialect,
9232 &mut self.primitive_types,
9233 decoder,
9234 offset + 0,
9235 _depth
9236 )?;
9237 fidl::decode!(
9238 DefaultValues,
9239 fidl::encoding::DefaultFuchsiaResourceDialect,
9240 &mut self.default_values,
9241 decoder,
9242 offset + 48,
9243 _depth
9244 )?;
9245 fidl::decode!(
9246 Arrays,
9247 fidl::encoding::DefaultFuchsiaResourceDialect,
9248 &mut self.arrays,
9249 decoder,
9250 offset + 120,
9251 _depth
9252 )?;
9253 fidl::decode!(
9254 Arrays2d,
9255 fidl::encoding::DefaultFuchsiaResourceDialect,
9256 &mut self.arrays_2d,
9257 decoder,
9258 offset + 328,
9259 _depth
9260 )?;
9261 fidl::decode!(
9262 Vectors,
9263 fidl::encoding::DefaultFuchsiaResourceDialect,
9264 &mut self.vectors,
9265 decoder,
9266 offset + 616,
9267 _depth
9268 )?;
9269 fidl::decode!(
9270 Handles,
9271 fidl::encoding::DefaultFuchsiaResourceDialect,
9272 &mut self.handles,
9273 decoder,
9274 offset + 2536,
9275 _depth
9276 )?;
9277 fidl::decode!(
9278 Strings,
9279 fidl::encoding::DefaultFuchsiaResourceDialect,
9280 &mut self.strings,
9281 decoder,
9282 offset + 2648,
9283 _depth
9284 )?;
9285 fidl::decode!(
9286 DefaultEnum,
9287 fidl::encoding::DefaultFuchsiaResourceDialect,
9288 &mut self.default_enum,
9289 decoder,
9290 offset + 2744,
9291 _depth
9292 )?;
9293 fidl::decode!(
9294 I8Enum,
9295 fidl::encoding::DefaultFuchsiaResourceDialect,
9296 &mut self.i8_enum,
9297 decoder,
9298 offset + 2748,
9299 _depth
9300 )?;
9301 fidl::decode!(
9302 I16Enum,
9303 fidl::encoding::DefaultFuchsiaResourceDialect,
9304 &mut self.i16_enum,
9305 decoder,
9306 offset + 2750,
9307 _depth
9308 )?;
9309 fidl::decode!(
9310 I32Enum,
9311 fidl::encoding::DefaultFuchsiaResourceDialect,
9312 &mut self.i32_enum,
9313 decoder,
9314 offset + 2752,
9315 _depth
9316 )?;
9317 fidl::decode!(
9318 I64Enum,
9319 fidl::encoding::DefaultFuchsiaResourceDialect,
9320 &mut self.i64_enum,
9321 decoder,
9322 offset + 2760,
9323 _depth
9324 )?;
9325 fidl::decode!(
9326 U8Enum,
9327 fidl::encoding::DefaultFuchsiaResourceDialect,
9328 &mut self.u8_enum,
9329 decoder,
9330 offset + 2768,
9331 _depth
9332 )?;
9333 fidl::decode!(
9334 U16Enum,
9335 fidl::encoding::DefaultFuchsiaResourceDialect,
9336 &mut self.u16_enum,
9337 decoder,
9338 offset + 2770,
9339 _depth
9340 )?;
9341 fidl::decode!(
9342 U32Enum,
9343 fidl::encoding::DefaultFuchsiaResourceDialect,
9344 &mut self.u32_enum,
9345 decoder,
9346 offset + 2772,
9347 _depth
9348 )?;
9349 fidl::decode!(
9350 U64Enum,
9351 fidl::encoding::DefaultFuchsiaResourceDialect,
9352 &mut self.u64_enum,
9353 decoder,
9354 offset + 2776,
9355 _depth
9356 )?;
9357 fidl::decode!(
9358 DefaultBits,
9359 fidl::encoding::DefaultFuchsiaResourceDialect,
9360 &mut self.default_bits,
9361 decoder,
9362 offset + 2784,
9363 _depth
9364 )?;
9365 fidl::decode!(
9366 U8Bits,
9367 fidl::encoding::DefaultFuchsiaResourceDialect,
9368 &mut self.u8_bits,
9369 decoder,
9370 offset + 2788,
9371 _depth
9372 )?;
9373 fidl::decode!(
9374 U16Bits,
9375 fidl::encoding::DefaultFuchsiaResourceDialect,
9376 &mut self.u16_bits,
9377 decoder,
9378 offset + 2790,
9379 _depth
9380 )?;
9381 fidl::decode!(
9382 U32Bits,
9383 fidl::encoding::DefaultFuchsiaResourceDialect,
9384 &mut self.u32_bits,
9385 decoder,
9386 offset + 2792,
9387 _depth
9388 )?;
9389 fidl::decode!(
9390 U64Bits,
9391 fidl::encoding::DefaultFuchsiaResourceDialect,
9392 &mut self.u64_bits,
9393 decoder,
9394 offset + 2800,
9395 _depth
9396 )?;
9397 fidl::decode!(
9398 Structs,
9399 fidl::encoding::DefaultFuchsiaResourceDialect,
9400 &mut self.structs,
9401 decoder,
9402 offset + 2808,
9403 _depth
9404 )?;
9405 fidl::decode!(
9406 Unions,
9407 fidl::encoding::DefaultFuchsiaResourceDialect,
9408 &mut self.unions,
9409 decoder,
9410 offset + 2840,
9411 _depth
9412 )?;
9413 fidl::decode!(
9414 ThisIsATable,
9415 fidl::encoding::DefaultFuchsiaResourceDialect,
9416 &mut self.table,
9417 decoder,
9418 offset + 2872,
9419 _depth
9420 )?;
9421 fidl::decode!(
9422 ThisIsAXunion,
9423 fidl::encoding::DefaultFuchsiaResourceDialect,
9424 &mut self.xunion,
9425 decoder,
9426 offset + 2888,
9427 _depth
9428 )?;
9429 fidl::decode!(
9430 bool,
9431 fidl::encoding::DefaultFuchsiaResourceDialect,
9432 &mut self.b,
9433 decoder,
9434 offset + 2904,
9435 _depth
9436 )?;
9437 Ok(())
9438 }
9439 }
9440
9441 impl fidl::encoding::ResourceTypeMarker for VectorsStruct {
9442 type Borrowed<'a> = &'a mut Self;
9443 fn take_or_borrow<'a>(
9444 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
9445 ) -> Self::Borrowed<'a> {
9446 value
9447 }
9448 }
9449
9450 unsafe impl fidl::encoding::TypeMarker for VectorsStruct {
9451 type Owned = Self;
9452
9453 #[inline(always)]
9454 fn inline_align(_context: fidl::encoding::Context) -> usize {
9455 8
9456 }
9457
9458 #[inline(always)]
9459 fn inline_size(_context: fidl::encoding::Context) -> usize {
9460 416
9461 }
9462 }
9463
9464 unsafe impl fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
9465 for &mut VectorsStruct
9466 {
9467 #[inline]
9468 unsafe fn encode(
9469 self,
9470 encoder: &mut fidl::encoding::Encoder<
9471 '_,
9472 fidl::encoding::DefaultFuchsiaResourceDialect,
9473 >,
9474 offset: usize,
9475 _depth: fidl::encoding::Depth,
9476 ) -> fidl::Result<()> {
9477 encoder.debug_check_bounds::<VectorsStruct>(offset);
9478 fidl::encoding::Encode::<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
9480 (
9481 <fidl::encoding::Vector<bool, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.bools),
9482 <fidl::encoding::Vector<i8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int8s),
9483 <fidl::encoding::Vector<i16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int16s),
9484 <fidl::encoding::Vector<i32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int32s),
9485 <fidl::encoding::Vector<i64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int64s),
9486 <fidl::encoding::Vector<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint8s),
9487 <fidl::encoding::Vector<u16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint16s),
9488 <fidl::encoding::Vector<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint32s),
9489 <fidl::encoding::Vector<u64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint64s),
9490 <fidl::encoding::Vector<f32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.float32s),
9491 <fidl::encoding::Vector<f64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.float64s),
9492 <fidl::encoding::Vector<DefaultEnum, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.enums),
9493 <fidl::encoding::Vector<DefaultBits, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.bits),
9494 <fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handles),
9495 <fidl::encoding::Vector<fidl::encoding::Optional<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.nullable_handles),
9496 <fidl::encoding::Vector<fidl::encoding::UnboundedString, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.strings),
9497 <fidl::encoding::Vector<fidl::encoding::Optional<fidl::encoding::UnboundedString>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_strings),
9498 <fidl::encoding::Vector<ThisIsAStruct, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.structs),
9499 <fidl::encoding::Vector<fidl::encoding::Boxed<ThisIsAStruct>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_structs),
9500 <fidl::encoding::Vector<ThisIsAUnion, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.unions),
9501 <fidl::encoding::Vector<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_unions),
9502 <fidl::encoding::Vector<fidl::encoding::Array<u32, 3>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.arrays),
9503 <fidl::encoding::Vector<fidl::encoding::UnboundedVector<u32>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.vectors),
9504 <fidl::encoding::Vector<fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_vectors),
9505 <fidl::encoding::Vector<ThisIsATable, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.tables),
9506 <fidl::encoding::Vector<ThisIsAXunion, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.xunions),
9507 ),
9508 encoder, offset, _depth
9509 )
9510 }
9511 }
9512 unsafe impl<
9513 T0: fidl::encoding::Encode<
9514 fidl::encoding::Vector<bool, 3>,
9515 fidl::encoding::DefaultFuchsiaResourceDialect,
9516 >,
9517 T1: fidl::encoding::Encode<
9518 fidl::encoding::Vector<i8, 3>,
9519 fidl::encoding::DefaultFuchsiaResourceDialect,
9520 >,
9521 T2: fidl::encoding::Encode<
9522 fidl::encoding::Vector<i16, 3>,
9523 fidl::encoding::DefaultFuchsiaResourceDialect,
9524 >,
9525 T3: fidl::encoding::Encode<
9526 fidl::encoding::Vector<i32, 3>,
9527 fidl::encoding::DefaultFuchsiaResourceDialect,
9528 >,
9529 T4: fidl::encoding::Encode<
9530 fidl::encoding::Vector<i64, 3>,
9531 fidl::encoding::DefaultFuchsiaResourceDialect,
9532 >,
9533 T5: fidl::encoding::Encode<
9534 fidl::encoding::Vector<u8, 3>,
9535 fidl::encoding::DefaultFuchsiaResourceDialect,
9536 >,
9537 T6: fidl::encoding::Encode<
9538 fidl::encoding::Vector<u16, 3>,
9539 fidl::encoding::DefaultFuchsiaResourceDialect,
9540 >,
9541 T7: fidl::encoding::Encode<
9542 fidl::encoding::Vector<u32, 3>,
9543 fidl::encoding::DefaultFuchsiaResourceDialect,
9544 >,
9545 T8: fidl::encoding::Encode<
9546 fidl::encoding::Vector<u64, 3>,
9547 fidl::encoding::DefaultFuchsiaResourceDialect,
9548 >,
9549 T9: fidl::encoding::Encode<
9550 fidl::encoding::Vector<f32, 3>,
9551 fidl::encoding::DefaultFuchsiaResourceDialect,
9552 >,
9553 T10: fidl::encoding::Encode<
9554 fidl::encoding::Vector<f64, 3>,
9555 fidl::encoding::DefaultFuchsiaResourceDialect,
9556 >,
9557 T11: fidl::encoding::Encode<
9558 fidl::encoding::Vector<DefaultEnum, 3>,
9559 fidl::encoding::DefaultFuchsiaResourceDialect,
9560 >,
9561 T12: fidl::encoding::Encode<
9562 fidl::encoding::Vector<DefaultBits, 3>,
9563 fidl::encoding::DefaultFuchsiaResourceDialect,
9564 >,
9565 T13: fidl::encoding::Encode<
9566 fidl::encoding::Vector<
9567 fidl::encoding::HandleType<
9568 fidl::NullableHandle,
9569 { fidl::ObjectType::NONE.into_raw() },
9570 2147483648,
9571 >,
9572 3,
9573 >,
9574 fidl::encoding::DefaultFuchsiaResourceDialect,
9575 >,
9576 T14: fidl::encoding::Encode<
9577 fidl::encoding::Vector<
9578 fidl::encoding::Optional<
9579 fidl::encoding::HandleType<
9580 fidl::NullableHandle,
9581 { fidl::ObjectType::NONE.into_raw() },
9582 2147483648,
9583 >,
9584 >,
9585 3,
9586 >,
9587 fidl::encoding::DefaultFuchsiaResourceDialect,
9588 >,
9589 T15: fidl::encoding::Encode<
9590 fidl::encoding::Vector<fidl::encoding::UnboundedString, 3>,
9591 fidl::encoding::DefaultFuchsiaResourceDialect,
9592 >,
9593 T16: fidl::encoding::Encode<
9594 fidl::encoding::Vector<
9595 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
9596 3,
9597 >,
9598 fidl::encoding::DefaultFuchsiaResourceDialect,
9599 >,
9600 T17: fidl::encoding::Encode<
9601 fidl::encoding::Vector<ThisIsAStruct, 3>,
9602 fidl::encoding::DefaultFuchsiaResourceDialect,
9603 >,
9604 T18: fidl::encoding::Encode<
9605 fidl::encoding::Vector<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
9606 fidl::encoding::DefaultFuchsiaResourceDialect,
9607 >,
9608 T19: fidl::encoding::Encode<
9609 fidl::encoding::Vector<ThisIsAUnion, 3>,
9610 fidl::encoding::DefaultFuchsiaResourceDialect,
9611 >,
9612 T20: fidl::encoding::Encode<
9613 fidl::encoding::Vector<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
9614 fidl::encoding::DefaultFuchsiaResourceDialect,
9615 >,
9616 T21: fidl::encoding::Encode<
9617 fidl::encoding::Vector<fidl::encoding::Array<u32, 3>, 3>,
9618 fidl::encoding::DefaultFuchsiaResourceDialect,
9619 >,
9620 T22: fidl::encoding::Encode<
9621 fidl::encoding::Vector<fidl::encoding::UnboundedVector<u32>, 3>,
9622 fidl::encoding::DefaultFuchsiaResourceDialect,
9623 >,
9624 T23: fidl::encoding::Encode<
9625 fidl::encoding::Vector<
9626 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
9627 3,
9628 >,
9629 fidl::encoding::DefaultFuchsiaResourceDialect,
9630 >,
9631 T24: fidl::encoding::Encode<
9632 fidl::encoding::Vector<ThisIsATable, 3>,
9633 fidl::encoding::DefaultFuchsiaResourceDialect,
9634 >,
9635 T25: fidl::encoding::Encode<
9636 fidl::encoding::Vector<ThisIsAXunion, 3>,
9637 fidl::encoding::DefaultFuchsiaResourceDialect,
9638 >,
9639 > fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
9640 for (
9641 T0,
9642 T1,
9643 T2,
9644 T3,
9645 T4,
9646 T5,
9647 T6,
9648 T7,
9649 T8,
9650 T9,
9651 T10,
9652 T11,
9653 T12,
9654 T13,
9655 T14,
9656 T15,
9657 T16,
9658 T17,
9659 T18,
9660 T19,
9661 T20,
9662 T21,
9663 T22,
9664 T23,
9665 T24,
9666 T25,
9667 )
9668 {
9669 #[inline]
9670 unsafe fn encode(
9671 self,
9672 encoder: &mut fidl::encoding::Encoder<
9673 '_,
9674 fidl::encoding::DefaultFuchsiaResourceDialect,
9675 >,
9676 offset: usize,
9677 depth: fidl::encoding::Depth,
9678 ) -> fidl::Result<()> {
9679 encoder.debug_check_bounds::<VectorsStruct>(offset);
9680 self.0.encode(encoder, offset + 0, depth)?;
9684 self.1.encode(encoder, offset + 16, depth)?;
9685 self.2.encode(encoder, offset + 32, depth)?;
9686 self.3.encode(encoder, offset + 48, depth)?;
9687 self.4.encode(encoder, offset + 64, depth)?;
9688 self.5.encode(encoder, offset + 80, depth)?;
9689 self.6.encode(encoder, offset + 96, depth)?;
9690 self.7.encode(encoder, offset + 112, depth)?;
9691 self.8.encode(encoder, offset + 128, depth)?;
9692 self.9.encode(encoder, offset + 144, depth)?;
9693 self.10.encode(encoder, offset + 160, depth)?;
9694 self.11.encode(encoder, offset + 176, depth)?;
9695 self.12.encode(encoder, offset + 192, depth)?;
9696 self.13.encode(encoder, offset + 208, depth)?;
9697 self.14.encode(encoder, offset + 224, depth)?;
9698 self.15.encode(encoder, offset + 240, depth)?;
9699 self.16.encode(encoder, offset + 256, depth)?;
9700 self.17.encode(encoder, offset + 272, depth)?;
9701 self.18.encode(encoder, offset + 288, depth)?;
9702 self.19.encode(encoder, offset + 304, depth)?;
9703 self.20.encode(encoder, offset + 320, depth)?;
9704 self.21.encode(encoder, offset + 336, depth)?;
9705 self.22.encode(encoder, offset + 352, depth)?;
9706 self.23.encode(encoder, offset + 368, depth)?;
9707 self.24.encode(encoder, offset + 384, depth)?;
9708 self.25.encode(encoder, offset + 400, depth)?;
9709 Ok(())
9710 }
9711 }
9712
9713 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for VectorsStruct {
9714 #[inline(always)]
9715 fn new_empty() -> Self {
9716 Self {
9717 bools: fidl::new_empty!(fidl::encoding::Vector<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9718 int8s: fidl::new_empty!(fidl::encoding::Vector<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9719 int16s: fidl::new_empty!(fidl::encoding::Vector<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9720 int32s: fidl::new_empty!(fidl::encoding::Vector<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9721 int64s: fidl::new_empty!(fidl::encoding::Vector<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9722 uint8s: fidl::new_empty!(fidl::encoding::Vector<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9723 uint16s: fidl::new_empty!(fidl::encoding::Vector<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9724 uint32s: fidl::new_empty!(fidl::encoding::Vector<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9725 uint64s: fidl::new_empty!(fidl::encoding::Vector<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9726 float32s: fidl::new_empty!(fidl::encoding::Vector<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9727 float64s: fidl::new_empty!(fidl::encoding::Vector<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9728 enums: fidl::new_empty!(fidl::encoding::Vector<DefaultEnum, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9729 bits: fidl::new_empty!(fidl::encoding::Vector<DefaultBits, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9730 handles: fidl::new_empty!(
9731 fidl::encoding::Vector<
9732 fidl::encoding::HandleType<
9733 fidl::NullableHandle,
9734 { fidl::ObjectType::NONE.into_raw() },
9735 2147483648,
9736 >,
9737 3,
9738 >,
9739 fidl::encoding::DefaultFuchsiaResourceDialect
9740 ),
9741 nullable_handles: fidl::new_empty!(
9742 fidl::encoding::Vector<
9743 fidl::encoding::Optional<
9744 fidl::encoding::HandleType<
9745 fidl::NullableHandle,
9746 { fidl::ObjectType::NONE.into_raw() },
9747 2147483648,
9748 >,
9749 >,
9750 3,
9751 >,
9752 fidl::encoding::DefaultFuchsiaResourceDialect
9753 ),
9754 strings: fidl::new_empty!(fidl::encoding::Vector<fidl::encoding::UnboundedString, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9755 nullable_strings: fidl::new_empty!(
9756 fidl::encoding::Vector<
9757 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
9758 3,
9759 >,
9760 fidl::encoding::DefaultFuchsiaResourceDialect
9761 ),
9762 structs: fidl::new_empty!(fidl::encoding::Vector<ThisIsAStruct, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9763 nullable_structs: fidl::new_empty!(
9764 fidl::encoding::Vector<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
9765 fidl::encoding::DefaultFuchsiaResourceDialect
9766 ),
9767 unions: fidl::new_empty!(fidl::encoding::Vector<ThisIsAUnion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9768 nullable_unions: fidl::new_empty!(
9769 fidl::encoding::Vector<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
9770 fidl::encoding::DefaultFuchsiaResourceDialect
9771 ),
9772 arrays: fidl::new_empty!(
9773 fidl::encoding::Vector<fidl::encoding::Array<u32, 3>, 3>,
9774 fidl::encoding::DefaultFuchsiaResourceDialect
9775 ),
9776 vectors: fidl::new_empty!(
9777 fidl::encoding::Vector<fidl::encoding::UnboundedVector<u32>, 3>,
9778 fidl::encoding::DefaultFuchsiaResourceDialect
9779 ),
9780 nullable_vectors: fidl::new_empty!(
9781 fidl::encoding::Vector<
9782 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
9783 3,
9784 >,
9785 fidl::encoding::DefaultFuchsiaResourceDialect
9786 ),
9787 tables: fidl::new_empty!(fidl::encoding::Vector<ThisIsATable, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9788 xunions: fidl::new_empty!(fidl::encoding::Vector<ThisIsAXunion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9789 }
9790 }
9791
9792 #[inline]
9793 unsafe fn decode(
9794 &mut self,
9795 decoder: &mut fidl::encoding::Decoder<
9796 '_,
9797 fidl::encoding::DefaultFuchsiaResourceDialect,
9798 >,
9799 offset: usize,
9800 _depth: fidl::encoding::Depth,
9801 ) -> fidl::Result<()> {
9802 decoder.debug_check_bounds::<Self>(offset);
9803 fidl::decode!(fidl::encoding::Vector<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bools, decoder, offset + 0, _depth)?;
9805 fidl::decode!(fidl::encoding::Vector<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int8s, decoder, offset + 16, _depth)?;
9806 fidl::decode!(fidl::encoding::Vector<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int16s, decoder, offset + 32, _depth)?;
9807 fidl::decode!(fidl::encoding::Vector<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int32s, decoder, offset + 48, _depth)?;
9808 fidl::decode!(fidl::encoding::Vector<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int64s, decoder, offset + 64, _depth)?;
9809 fidl::decode!(fidl::encoding::Vector<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint8s, decoder, offset + 80, _depth)?;
9810 fidl::decode!(fidl::encoding::Vector<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint16s, decoder, offset + 96, _depth)?;
9811 fidl::decode!(fidl::encoding::Vector<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint32s, decoder, offset + 112, _depth)?;
9812 fidl::decode!(fidl::encoding::Vector<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint64s, decoder, offset + 128, _depth)?;
9813 fidl::decode!(fidl::encoding::Vector<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.float32s, decoder, offset + 144, _depth)?;
9814 fidl::decode!(fidl::encoding::Vector<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.float64s, decoder, offset + 160, _depth)?;
9815 fidl::decode!(fidl::encoding::Vector<DefaultEnum, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.enums, decoder, offset + 176, _depth)?;
9816 fidl::decode!(fidl::encoding::Vector<DefaultBits, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bits, decoder, offset + 192, _depth)?;
9817 fidl::decode!(
9818 fidl::encoding::Vector<
9819 fidl::encoding::HandleType<
9820 fidl::NullableHandle,
9821 { fidl::ObjectType::NONE.into_raw() },
9822 2147483648,
9823 >,
9824 3,
9825 >,
9826 fidl::encoding::DefaultFuchsiaResourceDialect,
9827 &mut self.handles,
9828 decoder,
9829 offset + 208,
9830 _depth
9831 )?;
9832 fidl::decode!(
9833 fidl::encoding::Vector<
9834 fidl::encoding::Optional<
9835 fidl::encoding::HandleType<
9836 fidl::NullableHandle,
9837 { fidl::ObjectType::NONE.into_raw() },
9838 2147483648,
9839 >,
9840 >,
9841 3,
9842 >,
9843 fidl::encoding::DefaultFuchsiaResourceDialect,
9844 &mut self.nullable_handles,
9845 decoder,
9846 offset + 224,
9847 _depth
9848 )?;
9849 fidl::decode!(fidl::encoding::Vector<fidl::encoding::UnboundedString, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.strings, decoder, offset + 240, _depth)?;
9850 fidl::decode!(
9851 fidl::encoding::Vector<
9852 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
9853 3,
9854 >,
9855 fidl::encoding::DefaultFuchsiaResourceDialect,
9856 &mut self.nullable_strings,
9857 decoder,
9858 offset + 256,
9859 _depth
9860 )?;
9861 fidl::decode!(fidl::encoding::Vector<ThisIsAStruct, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.structs, decoder, offset + 272, _depth)?;
9862 fidl::decode!(
9863 fidl::encoding::Vector<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
9864 fidl::encoding::DefaultFuchsiaResourceDialect,
9865 &mut self.nullable_structs,
9866 decoder,
9867 offset + 288,
9868 _depth
9869 )?;
9870 fidl::decode!(fidl::encoding::Vector<ThisIsAUnion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.unions, decoder, offset + 304, _depth)?;
9871 fidl::decode!(
9872 fidl::encoding::Vector<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
9873 fidl::encoding::DefaultFuchsiaResourceDialect,
9874 &mut self.nullable_unions,
9875 decoder,
9876 offset + 320,
9877 _depth
9878 )?;
9879 fidl::decode!(
9880 fidl::encoding::Vector<fidl::encoding::Array<u32, 3>, 3>,
9881 fidl::encoding::DefaultFuchsiaResourceDialect,
9882 &mut self.arrays,
9883 decoder,
9884 offset + 336,
9885 _depth
9886 )?;
9887 fidl::decode!(
9888 fidl::encoding::Vector<fidl::encoding::UnboundedVector<u32>, 3>,
9889 fidl::encoding::DefaultFuchsiaResourceDialect,
9890 &mut self.vectors,
9891 decoder,
9892 offset + 352,
9893 _depth
9894 )?;
9895 fidl::decode!(
9896 fidl::encoding::Vector<
9897 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
9898 3,
9899 >,
9900 fidl::encoding::DefaultFuchsiaResourceDialect,
9901 &mut self.nullable_vectors,
9902 decoder,
9903 offset + 368,
9904 _depth
9905 )?;
9906 fidl::decode!(fidl::encoding::Vector<ThisIsATable, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.tables, decoder, offset + 384, _depth)?;
9907 fidl::decode!(fidl::encoding::Vector<ThisIsAXunion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.xunions, decoder, offset + 400, _depth)?;
9908 Ok(())
9909 }
9910 }
9911
9912 impl fidl::encoding::ResourceTypeMarker for Arrays {
9913 type Borrowed<'a> = &'a mut Self;
9914 fn take_or_borrow<'a>(
9915 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
9916 ) -> Self::Borrowed<'a> {
9917 value
9918 }
9919 }
9920
9921 unsafe impl fidl::encoding::TypeMarker for Arrays {
9922 type Owned = Self;
9923
9924 #[inline(always)]
9925 fn inline_align(_context: fidl::encoding::Context) -> usize {
9926 8
9927 }
9928
9929 #[inline(always)]
9930 fn inline_size(_context: fidl::encoding::Context) -> usize {
9931 208
9932 }
9933 }
9934
9935 unsafe impl fidl::encoding::Encode<Arrays, fidl::encoding::DefaultFuchsiaResourceDialect>
9936 for &mut Arrays
9937 {
9938 #[inline]
9939 unsafe fn encode(
9940 self,
9941 encoder: &mut fidl::encoding::Encoder<
9942 '_,
9943 fidl::encoding::DefaultFuchsiaResourceDialect,
9944 >,
9945 offset: usize,
9946 _depth: fidl::encoding::Depth,
9947 ) -> fidl::Result<()> {
9948 encoder.debug_check_bounds::<Arrays>(offset);
9949 fidl::encoding::Encode::<Arrays, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
9951 (
9952 <fidl::encoding::Array<bool, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9953 &self.b_0,
9954 ),
9955 <fidl::encoding::Array<i8, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9956 &self.i8_0,
9957 ),
9958 <fidl::encoding::Array<i16, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9959 &self.i16_0,
9960 ),
9961 <fidl::encoding::Array<i32, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9962 &self.i32_0,
9963 ),
9964 <fidl::encoding::Array<i64, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9965 &self.i64_0,
9966 ),
9967 <fidl::encoding::Array<u8, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9968 &self.u8_0,
9969 ),
9970 <fidl::encoding::Array<u16, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9971 &self.u16_0,
9972 ),
9973 <fidl::encoding::Array<u32, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9974 &self.u32_0,
9975 ),
9976 <fidl::encoding::Array<u64, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9977 &self.u64_0,
9978 ),
9979 <fidl::encoding::Array<f32, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9980 &self.f32_0,
9981 ),
9982 <fidl::encoding::Array<f64, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9983 &self.f64_0,
9984 ),
9985 <fidl::encoding::Array<
9986 fidl::encoding::HandleType<
9987 fidl::NullableHandle,
9988 { fidl::ObjectType::NONE.into_raw() },
9989 2147483648,
9990 >,
9991 1,
9992 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
9993 &mut self.handle_0
9994 ),
9995 <fidl::encoding::Array<bool, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9996 &self.b_1,
9997 ),
9998 <fidl::encoding::Array<i8, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9999 &self.i8_1,
10000 ),
10001 <fidl::encoding::Array<i16, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10002 &self.i16_1,
10003 ),
10004 <fidl::encoding::Array<i32, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10005 &self.i32_1,
10006 ),
10007 <fidl::encoding::Array<i64, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10008 &self.i64_1,
10009 ),
10010 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10011 &self.u8_1,
10012 ),
10013 <fidl::encoding::Array<u16, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10014 &self.u16_1,
10015 ),
10016 <fidl::encoding::Array<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10017 &self.u32_1,
10018 ),
10019 <fidl::encoding::Array<u64, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10020 &self.u64_1,
10021 ),
10022 <fidl::encoding::Array<f32, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10023 &self.f32_1,
10024 ),
10025 <fidl::encoding::Array<f64, 3> as fidl::encoding::ValueTypeMarker>::borrow(
10026 &self.f64_1,
10027 ),
10028 <fidl::encoding::Array<
10029 fidl::encoding::HandleType<
10030 fidl::NullableHandle,
10031 { fidl::ObjectType::NONE.into_raw() },
10032 2147483648,
10033 >,
10034 3,
10035 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10036 &mut self.handle_1
10037 ),
10038 ),
10039 encoder,
10040 offset,
10041 _depth,
10042 )
10043 }
10044 }
10045 unsafe impl<
10046 T0: fidl::encoding::Encode<
10047 fidl::encoding::Array<bool, 1>,
10048 fidl::encoding::DefaultFuchsiaResourceDialect,
10049 >,
10050 T1: fidl::encoding::Encode<
10051 fidl::encoding::Array<i8, 1>,
10052 fidl::encoding::DefaultFuchsiaResourceDialect,
10053 >,
10054 T2: fidl::encoding::Encode<
10055 fidl::encoding::Array<i16, 1>,
10056 fidl::encoding::DefaultFuchsiaResourceDialect,
10057 >,
10058 T3: fidl::encoding::Encode<
10059 fidl::encoding::Array<i32, 1>,
10060 fidl::encoding::DefaultFuchsiaResourceDialect,
10061 >,
10062 T4: fidl::encoding::Encode<
10063 fidl::encoding::Array<i64, 1>,
10064 fidl::encoding::DefaultFuchsiaResourceDialect,
10065 >,
10066 T5: fidl::encoding::Encode<
10067 fidl::encoding::Array<u8, 1>,
10068 fidl::encoding::DefaultFuchsiaResourceDialect,
10069 >,
10070 T6: fidl::encoding::Encode<
10071 fidl::encoding::Array<u16, 1>,
10072 fidl::encoding::DefaultFuchsiaResourceDialect,
10073 >,
10074 T7: fidl::encoding::Encode<
10075 fidl::encoding::Array<u32, 1>,
10076 fidl::encoding::DefaultFuchsiaResourceDialect,
10077 >,
10078 T8: fidl::encoding::Encode<
10079 fidl::encoding::Array<u64, 1>,
10080 fidl::encoding::DefaultFuchsiaResourceDialect,
10081 >,
10082 T9: fidl::encoding::Encode<
10083 fidl::encoding::Array<f32, 1>,
10084 fidl::encoding::DefaultFuchsiaResourceDialect,
10085 >,
10086 T10: fidl::encoding::Encode<
10087 fidl::encoding::Array<f64, 1>,
10088 fidl::encoding::DefaultFuchsiaResourceDialect,
10089 >,
10090 T11: fidl::encoding::Encode<
10091 fidl::encoding::Array<
10092 fidl::encoding::HandleType<
10093 fidl::NullableHandle,
10094 { fidl::ObjectType::NONE.into_raw() },
10095 2147483648,
10096 >,
10097 1,
10098 >,
10099 fidl::encoding::DefaultFuchsiaResourceDialect,
10100 >,
10101 T12: fidl::encoding::Encode<
10102 fidl::encoding::Array<bool, 3>,
10103 fidl::encoding::DefaultFuchsiaResourceDialect,
10104 >,
10105 T13: fidl::encoding::Encode<
10106 fidl::encoding::Array<i8, 3>,
10107 fidl::encoding::DefaultFuchsiaResourceDialect,
10108 >,
10109 T14: fidl::encoding::Encode<
10110 fidl::encoding::Array<i16, 3>,
10111 fidl::encoding::DefaultFuchsiaResourceDialect,
10112 >,
10113 T15: fidl::encoding::Encode<
10114 fidl::encoding::Array<i32, 3>,
10115 fidl::encoding::DefaultFuchsiaResourceDialect,
10116 >,
10117 T16: fidl::encoding::Encode<
10118 fidl::encoding::Array<i64, 3>,
10119 fidl::encoding::DefaultFuchsiaResourceDialect,
10120 >,
10121 T17: fidl::encoding::Encode<
10122 fidl::encoding::Array<u8, 3>,
10123 fidl::encoding::DefaultFuchsiaResourceDialect,
10124 >,
10125 T18: fidl::encoding::Encode<
10126 fidl::encoding::Array<u16, 3>,
10127 fidl::encoding::DefaultFuchsiaResourceDialect,
10128 >,
10129 T19: fidl::encoding::Encode<
10130 fidl::encoding::Array<u32, 3>,
10131 fidl::encoding::DefaultFuchsiaResourceDialect,
10132 >,
10133 T20: fidl::encoding::Encode<
10134 fidl::encoding::Array<u64, 3>,
10135 fidl::encoding::DefaultFuchsiaResourceDialect,
10136 >,
10137 T21: fidl::encoding::Encode<
10138 fidl::encoding::Array<f32, 3>,
10139 fidl::encoding::DefaultFuchsiaResourceDialect,
10140 >,
10141 T22: fidl::encoding::Encode<
10142 fidl::encoding::Array<f64, 3>,
10143 fidl::encoding::DefaultFuchsiaResourceDialect,
10144 >,
10145 T23: fidl::encoding::Encode<
10146 fidl::encoding::Array<
10147 fidl::encoding::HandleType<
10148 fidl::NullableHandle,
10149 { fidl::ObjectType::NONE.into_raw() },
10150 2147483648,
10151 >,
10152 3,
10153 >,
10154 fidl::encoding::DefaultFuchsiaResourceDialect,
10155 >,
10156 > fidl::encoding::Encode<Arrays, fidl::encoding::DefaultFuchsiaResourceDialect>
10157 for (
10158 T0,
10159 T1,
10160 T2,
10161 T3,
10162 T4,
10163 T5,
10164 T6,
10165 T7,
10166 T8,
10167 T9,
10168 T10,
10169 T11,
10170 T12,
10171 T13,
10172 T14,
10173 T15,
10174 T16,
10175 T17,
10176 T18,
10177 T19,
10178 T20,
10179 T21,
10180 T22,
10181 T23,
10182 )
10183 {
10184 #[inline]
10185 unsafe fn encode(
10186 self,
10187 encoder: &mut fidl::encoding::Encoder<
10188 '_,
10189 fidl::encoding::DefaultFuchsiaResourceDialect,
10190 >,
10191 offset: usize,
10192 depth: fidl::encoding::Depth,
10193 ) -> fidl::Result<()> {
10194 encoder.debug_check_bounds::<Arrays>(offset);
10195 unsafe {
10198 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
10199 (ptr as *mut u64).write_unaligned(0);
10200 }
10201 unsafe {
10202 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
10203 (ptr as *mut u64).write_unaligned(0);
10204 }
10205 unsafe {
10206 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(72);
10207 (ptr as *mut u64).write_unaligned(0);
10208 }
10209 unsafe {
10210 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(104);
10211 (ptr as *mut u64).write_unaligned(0);
10212 }
10213 unsafe {
10214 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(112);
10215 (ptr as *mut u64).write_unaligned(0);
10216 }
10217 unsafe {
10218 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(160);
10219 (ptr as *mut u64).write_unaligned(0);
10220 }
10221 unsafe {
10222 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(200);
10223 (ptr as *mut u64).write_unaligned(0);
10224 }
10225 self.0.encode(encoder, offset + 0, depth)?;
10227 self.1.encode(encoder, offset + 1, depth)?;
10228 self.2.encode(encoder, offset + 2, depth)?;
10229 self.3.encode(encoder, offset + 4, depth)?;
10230 self.4.encode(encoder, offset + 8, depth)?;
10231 self.5.encode(encoder, offset + 16, depth)?;
10232 self.6.encode(encoder, offset + 18, depth)?;
10233 self.7.encode(encoder, offset + 20, depth)?;
10234 self.8.encode(encoder, offset + 24, depth)?;
10235 self.9.encode(encoder, offset + 32, depth)?;
10236 self.10.encode(encoder, offset + 40, depth)?;
10237 self.11.encode(encoder, offset + 48, depth)?;
10238 self.12.encode(encoder, offset + 52, depth)?;
10239 self.13.encode(encoder, offset + 55, depth)?;
10240 self.14.encode(encoder, offset + 58, depth)?;
10241 self.15.encode(encoder, offset + 64, depth)?;
10242 self.16.encode(encoder, offset + 80, depth)?;
10243 self.17.encode(encoder, offset + 104, depth)?;
10244 self.18.encode(encoder, offset + 108, depth)?;
10245 self.19.encode(encoder, offset + 116, depth)?;
10246 self.20.encode(encoder, offset + 128, depth)?;
10247 self.21.encode(encoder, offset + 152, depth)?;
10248 self.22.encode(encoder, offset + 168, depth)?;
10249 self.23.encode(encoder, offset + 192, depth)?;
10250 Ok(())
10251 }
10252 }
10253
10254 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Arrays {
10255 #[inline(always)]
10256 fn new_empty() -> Self {
10257 Self {
10258 b_0: fidl::new_empty!(fidl::encoding::Array<bool, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10259 i8_0: fidl::new_empty!(fidl::encoding::Array<i8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10260 i16_0: fidl::new_empty!(fidl::encoding::Array<i16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10261 i32_0: fidl::new_empty!(fidl::encoding::Array<i32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10262 i64_0: fidl::new_empty!(fidl::encoding::Array<i64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10263 u8_0: fidl::new_empty!(fidl::encoding::Array<u8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10264 u16_0: fidl::new_empty!(fidl::encoding::Array<u16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10265 u32_0: fidl::new_empty!(fidl::encoding::Array<u32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10266 u64_0: fidl::new_empty!(fidl::encoding::Array<u64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10267 f32_0: fidl::new_empty!(fidl::encoding::Array<f32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10268 f64_0: fidl::new_empty!(fidl::encoding::Array<f64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10269 handle_0: fidl::new_empty!(
10270 fidl::encoding::Array<
10271 fidl::encoding::HandleType<
10272 fidl::NullableHandle,
10273 { fidl::ObjectType::NONE.into_raw() },
10274 2147483648,
10275 >,
10276 1,
10277 >,
10278 fidl::encoding::DefaultFuchsiaResourceDialect
10279 ),
10280 b_1: fidl::new_empty!(fidl::encoding::Array<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10281 i8_1: fidl::new_empty!(fidl::encoding::Array<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10282 i16_1: fidl::new_empty!(fidl::encoding::Array<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10283 i32_1: fidl::new_empty!(fidl::encoding::Array<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10284 i64_1: fidl::new_empty!(fidl::encoding::Array<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10285 u8_1: fidl::new_empty!(fidl::encoding::Array<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10286 u16_1: fidl::new_empty!(fidl::encoding::Array<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10287 u32_1: fidl::new_empty!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10288 u64_1: fidl::new_empty!(fidl::encoding::Array<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10289 f32_1: fidl::new_empty!(fidl::encoding::Array<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10290 f64_1: fidl::new_empty!(fidl::encoding::Array<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10291 handle_1: fidl::new_empty!(
10292 fidl::encoding::Array<
10293 fidl::encoding::HandleType<
10294 fidl::NullableHandle,
10295 { fidl::ObjectType::NONE.into_raw() },
10296 2147483648,
10297 >,
10298 3,
10299 >,
10300 fidl::encoding::DefaultFuchsiaResourceDialect
10301 ),
10302 }
10303 }
10304
10305 #[inline]
10306 unsafe fn decode(
10307 &mut self,
10308 decoder: &mut fidl::encoding::Decoder<
10309 '_,
10310 fidl::encoding::DefaultFuchsiaResourceDialect,
10311 >,
10312 offset: usize,
10313 _depth: fidl::encoding::Depth,
10314 ) -> fidl::Result<()> {
10315 decoder.debug_check_bounds::<Self>(offset);
10316 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
10318 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10319 let mask = 0xff00u64;
10320 let maskedval = padval & mask;
10321 if maskedval != 0 {
10322 return Err(fidl::Error::NonZeroPadding {
10323 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
10324 });
10325 }
10326 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
10327 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10328 let mask = 0xffffffff00000000u64;
10329 let maskedval = padval & mask;
10330 if maskedval != 0 {
10331 return Err(fidl::Error::NonZeroPadding {
10332 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
10333 });
10334 }
10335 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(72) };
10336 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10337 let mask = 0xffffffff00000000u64;
10338 let maskedval = padval & mask;
10339 if maskedval != 0 {
10340 return Err(fidl::Error::NonZeroPadding {
10341 padding_start: offset + 72 + ((mask as u64).trailing_zeros() / 8) as usize,
10342 });
10343 }
10344 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(104) };
10345 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10346 let mask = 0xff000000u64;
10347 let maskedval = padval & mask;
10348 if maskedval != 0 {
10349 return Err(fidl::Error::NonZeroPadding {
10350 padding_start: offset + 104 + ((mask as u64).trailing_zeros() / 8) as usize,
10351 });
10352 }
10353 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(112) };
10354 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10355 let mask = 0xffff0000u64;
10356 let maskedval = padval & mask;
10357 if maskedval != 0 {
10358 return Err(fidl::Error::NonZeroPadding {
10359 padding_start: offset + 112 + ((mask as u64).trailing_zeros() / 8) as usize,
10360 });
10361 }
10362 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(160) };
10363 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10364 let mask = 0xffffffff00000000u64;
10365 let maskedval = padval & mask;
10366 if maskedval != 0 {
10367 return Err(fidl::Error::NonZeroPadding {
10368 padding_start: offset + 160 + ((mask as u64).trailing_zeros() / 8) as usize,
10369 });
10370 }
10371 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(200) };
10372 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10373 let mask = 0xffffffff00000000u64;
10374 let maskedval = padval & mask;
10375 if maskedval != 0 {
10376 return Err(fidl::Error::NonZeroPadding {
10377 padding_start: offset + 200 + ((mask as u64).trailing_zeros() / 8) as usize,
10378 });
10379 }
10380 fidl::decode!(fidl::encoding::Array<bool, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.b_0, decoder, offset + 0, _depth)?;
10381 fidl::decode!(fidl::encoding::Array<i8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i8_0, decoder, offset + 1, _depth)?;
10382 fidl::decode!(fidl::encoding::Array<i16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i16_0, decoder, offset + 2, _depth)?;
10383 fidl::decode!(fidl::encoding::Array<i32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i32_0, decoder, offset + 4, _depth)?;
10384 fidl::decode!(fidl::encoding::Array<i64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i64_0, decoder, offset + 8, _depth)?;
10385 fidl::decode!(fidl::encoding::Array<u8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u8_0, decoder, offset + 16, _depth)?;
10386 fidl::decode!(fidl::encoding::Array<u16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u16_0, decoder, offset + 18, _depth)?;
10387 fidl::decode!(fidl::encoding::Array<u32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u32_0, decoder, offset + 20, _depth)?;
10388 fidl::decode!(fidl::encoding::Array<u64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u64_0, decoder, offset + 24, _depth)?;
10389 fidl::decode!(fidl::encoding::Array<f32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f32_0, decoder, offset + 32, _depth)?;
10390 fidl::decode!(fidl::encoding::Array<f64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f64_0, decoder, offset + 40, _depth)?;
10391 fidl::decode!(
10392 fidl::encoding::Array<
10393 fidl::encoding::HandleType<
10394 fidl::NullableHandle,
10395 { fidl::ObjectType::NONE.into_raw() },
10396 2147483648,
10397 >,
10398 1,
10399 >,
10400 fidl::encoding::DefaultFuchsiaResourceDialect,
10401 &mut self.handle_0,
10402 decoder,
10403 offset + 48,
10404 _depth
10405 )?;
10406 fidl::decode!(fidl::encoding::Array<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.b_1, decoder, offset + 52, _depth)?;
10407 fidl::decode!(fidl::encoding::Array<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i8_1, decoder, offset + 55, _depth)?;
10408 fidl::decode!(fidl::encoding::Array<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i16_1, decoder, offset + 58, _depth)?;
10409 fidl::decode!(fidl::encoding::Array<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i32_1, decoder, offset + 64, _depth)?;
10410 fidl::decode!(fidl::encoding::Array<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i64_1, decoder, offset + 80, _depth)?;
10411 fidl::decode!(fidl::encoding::Array<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u8_1, decoder, offset + 104, _depth)?;
10412 fidl::decode!(fidl::encoding::Array<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u16_1, decoder, offset + 108, _depth)?;
10413 fidl::decode!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u32_1, decoder, offset + 116, _depth)?;
10414 fidl::decode!(fidl::encoding::Array<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u64_1, decoder, offset + 128, _depth)?;
10415 fidl::decode!(fidl::encoding::Array<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f32_1, decoder, offset + 152, _depth)?;
10416 fidl::decode!(fidl::encoding::Array<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f64_1, decoder, offset + 168, _depth)?;
10417 fidl::decode!(
10418 fidl::encoding::Array<
10419 fidl::encoding::HandleType<
10420 fidl::NullableHandle,
10421 { fidl::ObjectType::NONE.into_raw() },
10422 2147483648,
10423 >,
10424 3,
10425 >,
10426 fidl::encoding::DefaultFuchsiaResourceDialect,
10427 &mut self.handle_1,
10428 decoder,
10429 offset + 192,
10430 _depth
10431 )?;
10432 Ok(())
10433 }
10434 }
10435
10436 impl fidl::encoding::ResourceTypeMarker for Arrays2d {
10437 type Borrowed<'a> = &'a mut Self;
10438 fn take_or_borrow<'a>(
10439 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
10440 ) -> Self::Borrowed<'a> {
10441 value
10442 }
10443 }
10444
10445 unsafe impl fidl::encoding::TypeMarker for Arrays2d {
10446 type Owned = Self;
10447
10448 #[inline(always)]
10449 fn inline_align(_context: fidl::encoding::Context) -> usize {
10450 8
10451 }
10452
10453 #[inline(always)]
10454 fn inline_size(_context: fidl::encoding::Context) -> usize {
10455 288
10456 }
10457 }
10458
10459 unsafe impl fidl::encoding::Encode<Arrays2d, fidl::encoding::DefaultFuchsiaResourceDialect>
10460 for &mut Arrays2d
10461 {
10462 #[inline]
10463 unsafe fn encode(
10464 self,
10465 encoder: &mut fidl::encoding::Encoder<
10466 '_,
10467 fidl::encoding::DefaultFuchsiaResourceDialect,
10468 >,
10469 offset: usize,
10470 _depth: fidl::encoding::Depth,
10471 ) -> fidl::Result<()> {
10472 encoder.debug_check_bounds::<Arrays2d>(offset);
10473 fidl::encoding::Encode::<Arrays2d, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
10475 (
10476 <fidl::encoding::Array<fidl::encoding::Array<bool, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.b),
10477 <fidl::encoding::Array<fidl::encoding::Array<i8, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8),
10478 <fidl::encoding::Array<fidl::encoding::Array<i16, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16),
10479 <fidl::encoding::Array<fidl::encoding::Array<i32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32),
10480 <fidl::encoding::Array<fidl::encoding::Array<i64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64),
10481 <fidl::encoding::Array<fidl::encoding::Array<u8, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8),
10482 <fidl::encoding::Array<fidl::encoding::Array<u16, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16),
10483 <fidl::encoding::Array<fidl::encoding::Array<u32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32),
10484 <fidl::encoding::Array<fidl::encoding::Array<u64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64),
10485 <fidl::encoding::Array<fidl::encoding::Array<f32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32),
10486 <fidl::encoding::Array<fidl::encoding::Array<f64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64),
10487 <fidl::encoding::Array<fidl::encoding::Array<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_handle),
10488 ),
10489 encoder, offset, _depth
10490 )
10491 }
10492 }
10493 unsafe impl<
10494 T0: fidl::encoding::Encode<
10495 fidl::encoding::Array<fidl::encoding::Array<bool, 2>, 3>,
10496 fidl::encoding::DefaultFuchsiaResourceDialect,
10497 >,
10498 T1: fidl::encoding::Encode<
10499 fidl::encoding::Array<fidl::encoding::Array<i8, 2>, 3>,
10500 fidl::encoding::DefaultFuchsiaResourceDialect,
10501 >,
10502 T2: fidl::encoding::Encode<
10503 fidl::encoding::Array<fidl::encoding::Array<i16, 2>, 3>,
10504 fidl::encoding::DefaultFuchsiaResourceDialect,
10505 >,
10506 T3: fidl::encoding::Encode<
10507 fidl::encoding::Array<fidl::encoding::Array<i32, 2>, 3>,
10508 fidl::encoding::DefaultFuchsiaResourceDialect,
10509 >,
10510 T4: fidl::encoding::Encode<
10511 fidl::encoding::Array<fidl::encoding::Array<i64, 2>, 3>,
10512 fidl::encoding::DefaultFuchsiaResourceDialect,
10513 >,
10514 T5: fidl::encoding::Encode<
10515 fidl::encoding::Array<fidl::encoding::Array<u8, 2>, 3>,
10516 fidl::encoding::DefaultFuchsiaResourceDialect,
10517 >,
10518 T6: fidl::encoding::Encode<
10519 fidl::encoding::Array<fidl::encoding::Array<u16, 2>, 3>,
10520 fidl::encoding::DefaultFuchsiaResourceDialect,
10521 >,
10522 T7: fidl::encoding::Encode<
10523 fidl::encoding::Array<fidl::encoding::Array<u32, 2>, 3>,
10524 fidl::encoding::DefaultFuchsiaResourceDialect,
10525 >,
10526 T8: fidl::encoding::Encode<
10527 fidl::encoding::Array<fidl::encoding::Array<u64, 2>, 3>,
10528 fidl::encoding::DefaultFuchsiaResourceDialect,
10529 >,
10530 T9: fidl::encoding::Encode<
10531 fidl::encoding::Array<fidl::encoding::Array<f32, 2>, 3>,
10532 fidl::encoding::DefaultFuchsiaResourceDialect,
10533 >,
10534 T10: fidl::encoding::Encode<
10535 fidl::encoding::Array<fidl::encoding::Array<f64, 2>, 3>,
10536 fidl::encoding::DefaultFuchsiaResourceDialect,
10537 >,
10538 T11: fidl::encoding::Encode<
10539 fidl::encoding::Array<
10540 fidl::encoding::Array<
10541 fidl::encoding::HandleType<
10542 fidl::NullableHandle,
10543 { fidl::ObjectType::NONE.into_raw() },
10544 2147483648,
10545 >,
10546 2,
10547 >,
10548 3,
10549 >,
10550 fidl::encoding::DefaultFuchsiaResourceDialect,
10551 >,
10552 > fidl::encoding::Encode<Arrays2d, fidl::encoding::DefaultFuchsiaResourceDialect>
10553 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
10554 {
10555 #[inline]
10556 unsafe fn encode(
10557 self,
10558 encoder: &mut fidl::encoding::Encoder<
10559 '_,
10560 fidl::encoding::DefaultFuchsiaResourceDialect,
10561 >,
10562 offset: usize,
10563 depth: fidl::encoding::Depth,
10564 ) -> fidl::Result<()> {
10565 encoder.debug_check_bounds::<Arrays2d>(offset);
10566 unsafe {
10569 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(112);
10570 (ptr as *mut u64).write_unaligned(0);
10571 }
10572 unsafe {
10573 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(136);
10574 (ptr as *mut u64).write_unaligned(0);
10575 }
10576 self.0.encode(encoder, offset + 0, depth)?;
10578 self.1.encode(encoder, offset + 6, depth)?;
10579 self.2.encode(encoder, offset + 12, depth)?;
10580 self.3.encode(encoder, offset + 24, depth)?;
10581 self.4.encode(encoder, offset + 48, depth)?;
10582 self.5.encode(encoder, offset + 96, depth)?;
10583 self.6.encode(encoder, offset + 102, depth)?;
10584 self.7.encode(encoder, offset + 116, depth)?;
10585 self.8.encode(encoder, offset + 144, depth)?;
10586 self.9.encode(encoder, offset + 192, depth)?;
10587 self.10.encode(encoder, offset + 216, depth)?;
10588 self.11.encode(encoder, offset + 264, depth)?;
10589 Ok(())
10590 }
10591 }
10592
10593 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Arrays2d {
10594 #[inline(always)]
10595 fn new_empty() -> Self {
10596 Self {
10597 b: fidl::new_empty!(
10598 fidl::encoding::Array<fidl::encoding::Array<bool, 2>, 3>,
10599 fidl::encoding::DefaultFuchsiaResourceDialect
10600 ),
10601 i8: fidl::new_empty!(
10602 fidl::encoding::Array<fidl::encoding::Array<i8, 2>, 3>,
10603 fidl::encoding::DefaultFuchsiaResourceDialect
10604 ),
10605 i16: fidl::new_empty!(
10606 fidl::encoding::Array<fidl::encoding::Array<i16, 2>, 3>,
10607 fidl::encoding::DefaultFuchsiaResourceDialect
10608 ),
10609 i32: fidl::new_empty!(
10610 fidl::encoding::Array<fidl::encoding::Array<i32, 2>, 3>,
10611 fidl::encoding::DefaultFuchsiaResourceDialect
10612 ),
10613 i64: fidl::new_empty!(
10614 fidl::encoding::Array<fidl::encoding::Array<i64, 2>, 3>,
10615 fidl::encoding::DefaultFuchsiaResourceDialect
10616 ),
10617 u8: fidl::new_empty!(
10618 fidl::encoding::Array<fidl::encoding::Array<u8, 2>, 3>,
10619 fidl::encoding::DefaultFuchsiaResourceDialect
10620 ),
10621 u16: fidl::new_empty!(
10622 fidl::encoding::Array<fidl::encoding::Array<u16, 2>, 3>,
10623 fidl::encoding::DefaultFuchsiaResourceDialect
10624 ),
10625 u32: fidl::new_empty!(
10626 fidl::encoding::Array<fidl::encoding::Array<u32, 2>, 3>,
10627 fidl::encoding::DefaultFuchsiaResourceDialect
10628 ),
10629 u64: fidl::new_empty!(
10630 fidl::encoding::Array<fidl::encoding::Array<u64, 2>, 3>,
10631 fidl::encoding::DefaultFuchsiaResourceDialect
10632 ),
10633 f32: fidl::new_empty!(
10634 fidl::encoding::Array<fidl::encoding::Array<f32, 2>, 3>,
10635 fidl::encoding::DefaultFuchsiaResourceDialect
10636 ),
10637 f64: fidl::new_empty!(
10638 fidl::encoding::Array<fidl::encoding::Array<f64, 2>, 3>,
10639 fidl::encoding::DefaultFuchsiaResourceDialect
10640 ),
10641 handle_handle: fidl::new_empty!(
10642 fidl::encoding::Array<
10643 fidl::encoding::Array<
10644 fidl::encoding::HandleType<
10645 fidl::NullableHandle,
10646 { fidl::ObjectType::NONE.into_raw() },
10647 2147483648,
10648 >,
10649 2,
10650 >,
10651 3,
10652 >,
10653 fidl::encoding::DefaultFuchsiaResourceDialect
10654 ),
10655 }
10656 }
10657
10658 #[inline]
10659 unsafe fn decode(
10660 &mut self,
10661 decoder: &mut fidl::encoding::Decoder<
10662 '_,
10663 fidl::encoding::DefaultFuchsiaResourceDialect,
10664 >,
10665 offset: usize,
10666 _depth: fidl::encoding::Depth,
10667 ) -> fidl::Result<()> {
10668 decoder.debug_check_bounds::<Self>(offset);
10669 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(112) };
10671 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10672 let mask = 0xffff0000u64;
10673 let maskedval = padval & mask;
10674 if maskedval != 0 {
10675 return Err(fidl::Error::NonZeroPadding {
10676 padding_start: offset + 112 + ((mask as u64).trailing_zeros() / 8) as usize,
10677 });
10678 }
10679 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(136) };
10680 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10681 let mask = 0xffffffff00000000u64;
10682 let maskedval = padval & mask;
10683 if maskedval != 0 {
10684 return Err(fidl::Error::NonZeroPadding {
10685 padding_start: offset + 136 + ((mask as u64).trailing_zeros() / 8) as usize,
10686 });
10687 }
10688 fidl::decode!(
10689 fidl::encoding::Array<fidl::encoding::Array<bool, 2>, 3>,
10690 fidl::encoding::DefaultFuchsiaResourceDialect,
10691 &mut self.b,
10692 decoder,
10693 offset + 0,
10694 _depth
10695 )?;
10696 fidl::decode!(
10697 fidl::encoding::Array<fidl::encoding::Array<i8, 2>, 3>,
10698 fidl::encoding::DefaultFuchsiaResourceDialect,
10699 &mut self.i8,
10700 decoder,
10701 offset + 6,
10702 _depth
10703 )?;
10704 fidl::decode!(
10705 fidl::encoding::Array<fidl::encoding::Array<i16, 2>, 3>,
10706 fidl::encoding::DefaultFuchsiaResourceDialect,
10707 &mut self.i16,
10708 decoder,
10709 offset + 12,
10710 _depth
10711 )?;
10712 fidl::decode!(
10713 fidl::encoding::Array<fidl::encoding::Array<i32, 2>, 3>,
10714 fidl::encoding::DefaultFuchsiaResourceDialect,
10715 &mut self.i32,
10716 decoder,
10717 offset + 24,
10718 _depth
10719 )?;
10720 fidl::decode!(
10721 fidl::encoding::Array<fidl::encoding::Array<i64, 2>, 3>,
10722 fidl::encoding::DefaultFuchsiaResourceDialect,
10723 &mut self.i64,
10724 decoder,
10725 offset + 48,
10726 _depth
10727 )?;
10728 fidl::decode!(
10729 fidl::encoding::Array<fidl::encoding::Array<u8, 2>, 3>,
10730 fidl::encoding::DefaultFuchsiaResourceDialect,
10731 &mut self.u8,
10732 decoder,
10733 offset + 96,
10734 _depth
10735 )?;
10736 fidl::decode!(
10737 fidl::encoding::Array<fidl::encoding::Array<u16, 2>, 3>,
10738 fidl::encoding::DefaultFuchsiaResourceDialect,
10739 &mut self.u16,
10740 decoder,
10741 offset + 102,
10742 _depth
10743 )?;
10744 fidl::decode!(
10745 fidl::encoding::Array<fidl::encoding::Array<u32, 2>, 3>,
10746 fidl::encoding::DefaultFuchsiaResourceDialect,
10747 &mut self.u32,
10748 decoder,
10749 offset + 116,
10750 _depth
10751 )?;
10752 fidl::decode!(
10753 fidl::encoding::Array<fidl::encoding::Array<u64, 2>, 3>,
10754 fidl::encoding::DefaultFuchsiaResourceDialect,
10755 &mut self.u64,
10756 decoder,
10757 offset + 144,
10758 _depth
10759 )?;
10760 fidl::decode!(
10761 fidl::encoding::Array<fidl::encoding::Array<f32, 2>, 3>,
10762 fidl::encoding::DefaultFuchsiaResourceDialect,
10763 &mut self.f32,
10764 decoder,
10765 offset + 192,
10766 _depth
10767 )?;
10768 fidl::decode!(
10769 fidl::encoding::Array<fidl::encoding::Array<f64, 2>, 3>,
10770 fidl::encoding::DefaultFuchsiaResourceDialect,
10771 &mut self.f64,
10772 decoder,
10773 offset + 216,
10774 _depth
10775 )?;
10776 fidl::decode!(
10777 fidl::encoding::Array<
10778 fidl::encoding::Array<
10779 fidl::encoding::HandleType<
10780 fidl::NullableHandle,
10781 { fidl::ObjectType::NONE.into_raw() },
10782 2147483648,
10783 >,
10784 2,
10785 >,
10786 3,
10787 >,
10788 fidl::encoding::DefaultFuchsiaResourceDialect,
10789 &mut self.handle_handle,
10790 decoder,
10791 offset + 264,
10792 _depth
10793 )?;
10794 Ok(())
10795 }
10796 }
10797
10798 impl fidl::encoding::ResourceTypeMarker for Handles {
10799 type Borrowed<'a> = &'a mut Self;
10800 fn take_or_borrow<'a>(
10801 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
10802 ) -> Self::Borrowed<'a> {
10803 value
10804 }
10805 }
10806
10807 unsafe impl fidl::encoding::TypeMarker for Handles {
10808 type Owned = Self;
10809
10810 #[inline(always)]
10811 fn inline_align(_context: fidl::encoding::Context) -> usize {
10812 4
10813 }
10814
10815 #[inline(always)]
10816 fn inline_size(_context: fidl::encoding::Context) -> usize {
10817 108
10818 }
10819 }
10820
10821 unsafe impl fidl::encoding::Encode<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>
10822 for &mut Handles
10823 {
10824 #[inline]
10825 unsafe fn encode(
10826 self,
10827 encoder: &mut fidl::encoding::Encoder<
10828 '_,
10829 fidl::encoding::DefaultFuchsiaResourceDialect,
10830 >,
10831 offset: usize,
10832 _depth: fidl::encoding::Depth,
10833 ) -> fidl::Result<()> {
10834 encoder.debug_check_bounds::<Handles>(offset);
10835 fidl::encoding::Encode::<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
10837 (
10838 <fidl::encoding::HandleType<
10839 fidl::NullableHandle,
10840 { fidl::ObjectType::NONE.into_raw() },
10841 2147483648,
10842 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10843 &mut self.handle_handle,
10844 ),
10845 <fidl::encoding::HandleType<
10846 fidl::Process,
10847 { fidl::ObjectType::PROCESS.into_raw() },
10848 2147483648,
10849 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10850 &mut self.process_handle,
10851 ),
10852 <fidl::encoding::HandleType<
10853 fidl::Thread,
10854 { fidl::ObjectType::THREAD.into_raw() },
10855 2147483648,
10856 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10857 &mut self.thread_handle,
10858 ),
10859 <fidl::encoding::HandleType<
10860 fidl::Vmo,
10861 { fidl::ObjectType::VMO.into_raw() },
10862 2147483648,
10863 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10864 &mut self.vmo_handle
10865 ),
10866 <fidl::encoding::HandleType<
10867 fidl::Event,
10868 { fidl::ObjectType::EVENT.into_raw() },
10869 2147483648,
10870 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10871 &mut self.event_handle,
10872 ),
10873 <fidl::encoding::HandleType<
10874 fidl::Port,
10875 { fidl::ObjectType::PORT.into_raw() },
10876 2147483648,
10877 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10878 &mut self.port_handle
10879 ),
10880 <fidl::encoding::HandleType<
10881 fidl::Socket,
10882 { fidl::ObjectType::SOCKET.into_raw() },
10883 2147483648,
10884 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10885 &mut self.socket_handle,
10886 ),
10887 <fidl::encoding::HandleType<
10888 fidl::EventPair,
10889 { fidl::ObjectType::EVENTPAIR.into_raw() },
10890 2147483648,
10891 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10892 &mut self.eventpair_handle,
10893 ),
10894 <fidl::encoding::HandleType<
10895 fidl::Job,
10896 { fidl::ObjectType::JOB.into_raw() },
10897 2147483648,
10898 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10899 &mut self.job_handle
10900 ),
10901 <fidl::encoding::HandleType<
10902 fidl::Vmar,
10903 { fidl::ObjectType::VMAR.into_raw() },
10904 2147483648,
10905 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10906 &mut self.vmar_handle
10907 ),
10908 <fidl::encoding::HandleType<
10909 fidl::Fifo,
10910 { fidl::ObjectType::FIFO.into_raw() },
10911 2147483648,
10912 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10913 &mut self.fifo_handle
10914 ),
10915 <fidl::encoding::HandleType<
10916 fidl::Timer,
10917 { fidl::ObjectType::TIMER.into_raw() },
10918 2147483648,
10919 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10920 &mut self.timer_handle,
10921 ),
10922 <fidl::encoding::Optional<
10923 fidl::encoding::HandleType<
10924 fidl::NullableHandle,
10925 { fidl::ObjectType::NONE.into_raw() },
10926 2147483648,
10927 >,
10928 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10929 &mut self.nullable_handle_handle,
10930 ),
10931 <fidl::encoding::Optional<
10932 fidl::encoding::HandleType<
10933 fidl::Process,
10934 { fidl::ObjectType::PROCESS.into_raw() },
10935 2147483648,
10936 >,
10937 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10938 &mut self.nullable_process_handle,
10939 ),
10940 <fidl::encoding::Optional<
10941 fidl::encoding::HandleType<
10942 fidl::Thread,
10943 { fidl::ObjectType::THREAD.into_raw() },
10944 2147483648,
10945 >,
10946 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10947 &mut self.nullable_thread_handle,
10948 ),
10949 <fidl::encoding::Optional<
10950 fidl::encoding::HandleType<
10951 fidl::Vmo,
10952 { fidl::ObjectType::VMO.into_raw() },
10953 2147483648,
10954 >,
10955 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10956 &mut self.nullable_vmo_handle,
10957 ),
10958 <fidl::encoding::Optional<
10959 fidl::encoding::HandleType<
10960 fidl::Channel,
10961 { fidl::ObjectType::CHANNEL.into_raw() },
10962 2147483648,
10963 >,
10964 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10965 &mut self.nullable_channel_handle,
10966 ),
10967 <fidl::encoding::Optional<
10968 fidl::encoding::HandleType<
10969 fidl::Event,
10970 { fidl::ObjectType::EVENT.into_raw() },
10971 2147483648,
10972 >,
10973 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10974 &mut self.nullable_event_handle,
10975 ),
10976 <fidl::encoding::Optional<
10977 fidl::encoding::HandleType<
10978 fidl::Port,
10979 { fidl::ObjectType::PORT.into_raw() },
10980 2147483648,
10981 >,
10982 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10983 &mut self.nullable_port_handle,
10984 ),
10985 <fidl::encoding::Optional<
10986 fidl::encoding::HandleType<
10987 fidl::Interrupt,
10988 { fidl::ObjectType::INTERRUPT.into_raw() },
10989 2147483648,
10990 >,
10991 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10992 &mut self.nullable_interrupt_handle,
10993 ),
10994 <fidl::encoding::Optional<
10995 fidl::encoding::HandleType<
10996 fidl::DebugLog,
10997 { fidl::ObjectType::DEBUGLOG.into_raw() },
10998 2147483648,
10999 >,
11000 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11001 &mut self.nullable_log_handle,
11002 ),
11003 <fidl::encoding::Optional<
11004 fidl::encoding::HandleType<
11005 fidl::Socket,
11006 { fidl::ObjectType::SOCKET.into_raw() },
11007 2147483648,
11008 >,
11009 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11010 &mut self.nullable_socket_handle,
11011 ),
11012 <fidl::encoding::Optional<
11013 fidl::encoding::HandleType<
11014 fidl::EventPair,
11015 { fidl::ObjectType::EVENTPAIR.into_raw() },
11016 2147483648,
11017 >,
11018 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11019 &mut self.nullable_eventpair_handle,
11020 ),
11021 <fidl::encoding::Optional<
11022 fidl::encoding::HandleType<
11023 fidl::Job,
11024 { fidl::ObjectType::JOB.into_raw() },
11025 2147483648,
11026 >,
11027 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11028 &mut self.nullable_job_handle,
11029 ),
11030 <fidl::encoding::Optional<
11031 fidl::encoding::HandleType<
11032 fidl::Vmar,
11033 { fidl::ObjectType::VMAR.into_raw() },
11034 2147483648,
11035 >,
11036 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11037 &mut self.nullable_vmar_handle,
11038 ),
11039 <fidl::encoding::Optional<
11040 fidl::encoding::HandleType<
11041 fidl::Fifo,
11042 { fidl::ObjectType::FIFO.into_raw() },
11043 2147483648,
11044 >,
11045 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11046 &mut self.nullable_fifo_handle,
11047 ),
11048 <fidl::encoding::Optional<
11049 fidl::encoding::HandleType<
11050 fidl::Timer,
11051 { fidl::ObjectType::TIMER.into_raw() },
11052 2147483648,
11053 >,
11054 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11055 &mut self.nullable_timer_handle,
11056 ),
11057 ),
11058 encoder,
11059 offset,
11060 _depth,
11061 )
11062 }
11063 }
11064 unsafe impl<
11065 T0: fidl::encoding::Encode<
11066 fidl::encoding::HandleType<
11067 fidl::NullableHandle,
11068 { fidl::ObjectType::NONE.into_raw() },
11069 2147483648,
11070 >,
11071 fidl::encoding::DefaultFuchsiaResourceDialect,
11072 >,
11073 T1: fidl::encoding::Encode<
11074 fidl::encoding::HandleType<
11075 fidl::Process,
11076 { fidl::ObjectType::PROCESS.into_raw() },
11077 2147483648,
11078 >,
11079 fidl::encoding::DefaultFuchsiaResourceDialect,
11080 >,
11081 T2: fidl::encoding::Encode<
11082 fidl::encoding::HandleType<
11083 fidl::Thread,
11084 { fidl::ObjectType::THREAD.into_raw() },
11085 2147483648,
11086 >,
11087 fidl::encoding::DefaultFuchsiaResourceDialect,
11088 >,
11089 T3: fidl::encoding::Encode<
11090 fidl::encoding::HandleType<
11091 fidl::Vmo,
11092 { fidl::ObjectType::VMO.into_raw() },
11093 2147483648,
11094 >,
11095 fidl::encoding::DefaultFuchsiaResourceDialect,
11096 >,
11097 T4: fidl::encoding::Encode<
11098 fidl::encoding::HandleType<
11099 fidl::Event,
11100 { fidl::ObjectType::EVENT.into_raw() },
11101 2147483648,
11102 >,
11103 fidl::encoding::DefaultFuchsiaResourceDialect,
11104 >,
11105 T5: fidl::encoding::Encode<
11106 fidl::encoding::HandleType<
11107 fidl::Port,
11108 { fidl::ObjectType::PORT.into_raw() },
11109 2147483648,
11110 >,
11111 fidl::encoding::DefaultFuchsiaResourceDialect,
11112 >,
11113 T6: fidl::encoding::Encode<
11114 fidl::encoding::HandleType<
11115 fidl::Socket,
11116 { fidl::ObjectType::SOCKET.into_raw() },
11117 2147483648,
11118 >,
11119 fidl::encoding::DefaultFuchsiaResourceDialect,
11120 >,
11121 T7: fidl::encoding::Encode<
11122 fidl::encoding::HandleType<
11123 fidl::EventPair,
11124 { fidl::ObjectType::EVENTPAIR.into_raw() },
11125 2147483648,
11126 >,
11127 fidl::encoding::DefaultFuchsiaResourceDialect,
11128 >,
11129 T8: fidl::encoding::Encode<
11130 fidl::encoding::HandleType<
11131 fidl::Job,
11132 { fidl::ObjectType::JOB.into_raw() },
11133 2147483648,
11134 >,
11135 fidl::encoding::DefaultFuchsiaResourceDialect,
11136 >,
11137 T9: fidl::encoding::Encode<
11138 fidl::encoding::HandleType<
11139 fidl::Vmar,
11140 { fidl::ObjectType::VMAR.into_raw() },
11141 2147483648,
11142 >,
11143 fidl::encoding::DefaultFuchsiaResourceDialect,
11144 >,
11145 T10: fidl::encoding::Encode<
11146 fidl::encoding::HandleType<
11147 fidl::Fifo,
11148 { fidl::ObjectType::FIFO.into_raw() },
11149 2147483648,
11150 >,
11151 fidl::encoding::DefaultFuchsiaResourceDialect,
11152 >,
11153 T11: fidl::encoding::Encode<
11154 fidl::encoding::HandleType<
11155 fidl::Timer,
11156 { fidl::ObjectType::TIMER.into_raw() },
11157 2147483648,
11158 >,
11159 fidl::encoding::DefaultFuchsiaResourceDialect,
11160 >,
11161 T12: fidl::encoding::Encode<
11162 fidl::encoding::Optional<
11163 fidl::encoding::HandleType<
11164 fidl::NullableHandle,
11165 { fidl::ObjectType::NONE.into_raw() },
11166 2147483648,
11167 >,
11168 >,
11169 fidl::encoding::DefaultFuchsiaResourceDialect,
11170 >,
11171 T13: fidl::encoding::Encode<
11172 fidl::encoding::Optional<
11173 fidl::encoding::HandleType<
11174 fidl::Process,
11175 { fidl::ObjectType::PROCESS.into_raw() },
11176 2147483648,
11177 >,
11178 >,
11179 fidl::encoding::DefaultFuchsiaResourceDialect,
11180 >,
11181 T14: fidl::encoding::Encode<
11182 fidl::encoding::Optional<
11183 fidl::encoding::HandleType<
11184 fidl::Thread,
11185 { fidl::ObjectType::THREAD.into_raw() },
11186 2147483648,
11187 >,
11188 >,
11189 fidl::encoding::DefaultFuchsiaResourceDialect,
11190 >,
11191 T15: fidl::encoding::Encode<
11192 fidl::encoding::Optional<
11193 fidl::encoding::HandleType<
11194 fidl::Vmo,
11195 { fidl::ObjectType::VMO.into_raw() },
11196 2147483648,
11197 >,
11198 >,
11199 fidl::encoding::DefaultFuchsiaResourceDialect,
11200 >,
11201 T16: fidl::encoding::Encode<
11202 fidl::encoding::Optional<
11203 fidl::encoding::HandleType<
11204 fidl::Channel,
11205 { fidl::ObjectType::CHANNEL.into_raw() },
11206 2147483648,
11207 >,
11208 >,
11209 fidl::encoding::DefaultFuchsiaResourceDialect,
11210 >,
11211 T17: fidl::encoding::Encode<
11212 fidl::encoding::Optional<
11213 fidl::encoding::HandleType<
11214 fidl::Event,
11215 { fidl::ObjectType::EVENT.into_raw() },
11216 2147483648,
11217 >,
11218 >,
11219 fidl::encoding::DefaultFuchsiaResourceDialect,
11220 >,
11221 T18: fidl::encoding::Encode<
11222 fidl::encoding::Optional<
11223 fidl::encoding::HandleType<
11224 fidl::Port,
11225 { fidl::ObjectType::PORT.into_raw() },
11226 2147483648,
11227 >,
11228 >,
11229 fidl::encoding::DefaultFuchsiaResourceDialect,
11230 >,
11231 T19: fidl::encoding::Encode<
11232 fidl::encoding::Optional<
11233 fidl::encoding::HandleType<
11234 fidl::Interrupt,
11235 { fidl::ObjectType::INTERRUPT.into_raw() },
11236 2147483648,
11237 >,
11238 >,
11239 fidl::encoding::DefaultFuchsiaResourceDialect,
11240 >,
11241 T20: fidl::encoding::Encode<
11242 fidl::encoding::Optional<
11243 fidl::encoding::HandleType<
11244 fidl::DebugLog,
11245 { fidl::ObjectType::DEBUGLOG.into_raw() },
11246 2147483648,
11247 >,
11248 >,
11249 fidl::encoding::DefaultFuchsiaResourceDialect,
11250 >,
11251 T21: fidl::encoding::Encode<
11252 fidl::encoding::Optional<
11253 fidl::encoding::HandleType<
11254 fidl::Socket,
11255 { fidl::ObjectType::SOCKET.into_raw() },
11256 2147483648,
11257 >,
11258 >,
11259 fidl::encoding::DefaultFuchsiaResourceDialect,
11260 >,
11261 T22: fidl::encoding::Encode<
11262 fidl::encoding::Optional<
11263 fidl::encoding::HandleType<
11264 fidl::EventPair,
11265 { fidl::ObjectType::EVENTPAIR.into_raw() },
11266 2147483648,
11267 >,
11268 >,
11269 fidl::encoding::DefaultFuchsiaResourceDialect,
11270 >,
11271 T23: fidl::encoding::Encode<
11272 fidl::encoding::Optional<
11273 fidl::encoding::HandleType<
11274 fidl::Job,
11275 { fidl::ObjectType::JOB.into_raw() },
11276 2147483648,
11277 >,
11278 >,
11279 fidl::encoding::DefaultFuchsiaResourceDialect,
11280 >,
11281 T24: fidl::encoding::Encode<
11282 fidl::encoding::Optional<
11283 fidl::encoding::HandleType<
11284 fidl::Vmar,
11285 { fidl::ObjectType::VMAR.into_raw() },
11286 2147483648,
11287 >,
11288 >,
11289 fidl::encoding::DefaultFuchsiaResourceDialect,
11290 >,
11291 T25: fidl::encoding::Encode<
11292 fidl::encoding::Optional<
11293 fidl::encoding::HandleType<
11294 fidl::Fifo,
11295 { fidl::ObjectType::FIFO.into_raw() },
11296 2147483648,
11297 >,
11298 >,
11299 fidl::encoding::DefaultFuchsiaResourceDialect,
11300 >,
11301 T26: fidl::encoding::Encode<
11302 fidl::encoding::Optional<
11303 fidl::encoding::HandleType<
11304 fidl::Timer,
11305 { fidl::ObjectType::TIMER.into_raw() },
11306 2147483648,
11307 >,
11308 >,
11309 fidl::encoding::DefaultFuchsiaResourceDialect,
11310 >,
11311 > fidl::encoding::Encode<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>
11312 for (
11313 T0,
11314 T1,
11315 T2,
11316 T3,
11317 T4,
11318 T5,
11319 T6,
11320 T7,
11321 T8,
11322 T9,
11323 T10,
11324 T11,
11325 T12,
11326 T13,
11327 T14,
11328 T15,
11329 T16,
11330 T17,
11331 T18,
11332 T19,
11333 T20,
11334 T21,
11335 T22,
11336 T23,
11337 T24,
11338 T25,
11339 T26,
11340 )
11341 {
11342 #[inline]
11343 unsafe fn encode(
11344 self,
11345 encoder: &mut fidl::encoding::Encoder<
11346 '_,
11347 fidl::encoding::DefaultFuchsiaResourceDialect,
11348 >,
11349 offset: usize,
11350 depth: fidl::encoding::Depth,
11351 ) -> fidl::Result<()> {
11352 encoder.debug_check_bounds::<Handles>(offset);
11353 self.0.encode(encoder, offset + 0, depth)?;
11357 self.1.encode(encoder, offset + 4, depth)?;
11358 self.2.encode(encoder, offset + 8, depth)?;
11359 self.3.encode(encoder, offset + 12, depth)?;
11360 self.4.encode(encoder, offset + 16, depth)?;
11361 self.5.encode(encoder, offset + 20, depth)?;
11362 self.6.encode(encoder, offset + 24, depth)?;
11363 self.7.encode(encoder, offset + 28, depth)?;
11364 self.8.encode(encoder, offset + 32, depth)?;
11365 self.9.encode(encoder, offset + 36, depth)?;
11366 self.10.encode(encoder, offset + 40, depth)?;
11367 self.11.encode(encoder, offset + 44, depth)?;
11368 self.12.encode(encoder, offset + 48, depth)?;
11369 self.13.encode(encoder, offset + 52, depth)?;
11370 self.14.encode(encoder, offset + 56, depth)?;
11371 self.15.encode(encoder, offset + 60, depth)?;
11372 self.16.encode(encoder, offset + 64, depth)?;
11373 self.17.encode(encoder, offset + 68, depth)?;
11374 self.18.encode(encoder, offset + 72, depth)?;
11375 self.19.encode(encoder, offset + 76, depth)?;
11376 self.20.encode(encoder, offset + 80, depth)?;
11377 self.21.encode(encoder, offset + 84, depth)?;
11378 self.22.encode(encoder, offset + 88, depth)?;
11379 self.23.encode(encoder, offset + 92, depth)?;
11380 self.24.encode(encoder, offset + 96, depth)?;
11381 self.25.encode(encoder, offset + 100, depth)?;
11382 self.26.encode(encoder, offset + 104, depth)?;
11383 Ok(())
11384 }
11385 }
11386
11387 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Handles {
11388 #[inline(always)]
11389 fn new_empty() -> Self {
11390 Self {
11391 handle_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11392 process_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Process, { fidl::ObjectType::PROCESS.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11393 thread_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Thread, { fidl::ObjectType::THREAD.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11394 vmo_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11395 event_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Event, { fidl::ObjectType::EVENT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11396 port_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Port, { fidl::ObjectType::PORT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11397 socket_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Socket, { fidl::ObjectType::SOCKET.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11398 eventpair_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11399 job_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Job, { fidl::ObjectType::JOB.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11400 vmar_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmar, { fidl::ObjectType::VMAR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11401 fifo_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Fifo, { fidl::ObjectType::FIFO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11402 timer_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Timer, { fidl::ObjectType::TIMER.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11403 nullable_handle_handle: fidl::new_empty!(
11404 fidl::encoding::Optional<
11405 fidl::encoding::HandleType<
11406 fidl::NullableHandle,
11407 { fidl::ObjectType::NONE.into_raw() },
11408 2147483648,
11409 >,
11410 >,
11411 fidl::encoding::DefaultFuchsiaResourceDialect
11412 ),
11413 nullable_process_handle: fidl::new_empty!(
11414 fidl::encoding::Optional<
11415 fidl::encoding::HandleType<
11416 fidl::Process,
11417 { fidl::ObjectType::PROCESS.into_raw() },
11418 2147483648,
11419 >,
11420 >,
11421 fidl::encoding::DefaultFuchsiaResourceDialect
11422 ),
11423 nullable_thread_handle: fidl::new_empty!(
11424 fidl::encoding::Optional<
11425 fidl::encoding::HandleType<
11426 fidl::Thread,
11427 { fidl::ObjectType::THREAD.into_raw() },
11428 2147483648,
11429 >,
11430 >,
11431 fidl::encoding::DefaultFuchsiaResourceDialect
11432 ),
11433 nullable_vmo_handle: fidl::new_empty!(
11434 fidl::encoding::Optional<
11435 fidl::encoding::HandleType<
11436 fidl::Vmo,
11437 { fidl::ObjectType::VMO.into_raw() },
11438 2147483648,
11439 >,
11440 >,
11441 fidl::encoding::DefaultFuchsiaResourceDialect
11442 ),
11443 nullable_channel_handle: fidl::new_empty!(
11444 fidl::encoding::Optional<
11445 fidl::encoding::HandleType<
11446 fidl::Channel,
11447 { fidl::ObjectType::CHANNEL.into_raw() },
11448 2147483648,
11449 >,
11450 >,
11451 fidl::encoding::DefaultFuchsiaResourceDialect
11452 ),
11453 nullable_event_handle: fidl::new_empty!(
11454 fidl::encoding::Optional<
11455 fidl::encoding::HandleType<
11456 fidl::Event,
11457 { fidl::ObjectType::EVENT.into_raw() },
11458 2147483648,
11459 >,
11460 >,
11461 fidl::encoding::DefaultFuchsiaResourceDialect
11462 ),
11463 nullable_port_handle: fidl::new_empty!(
11464 fidl::encoding::Optional<
11465 fidl::encoding::HandleType<
11466 fidl::Port,
11467 { fidl::ObjectType::PORT.into_raw() },
11468 2147483648,
11469 >,
11470 >,
11471 fidl::encoding::DefaultFuchsiaResourceDialect
11472 ),
11473 nullable_interrupt_handle: fidl::new_empty!(
11474 fidl::encoding::Optional<
11475 fidl::encoding::HandleType<
11476 fidl::Interrupt,
11477 { fidl::ObjectType::INTERRUPT.into_raw() },
11478 2147483648,
11479 >,
11480 >,
11481 fidl::encoding::DefaultFuchsiaResourceDialect
11482 ),
11483 nullable_log_handle: fidl::new_empty!(
11484 fidl::encoding::Optional<
11485 fidl::encoding::HandleType<
11486 fidl::DebugLog,
11487 { fidl::ObjectType::DEBUGLOG.into_raw() },
11488 2147483648,
11489 >,
11490 >,
11491 fidl::encoding::DefaultFuchsiaResourceDialect
11492 ),
11493 nullable_socket_handle: fidl::new_empty!(
11494 fidl::encoding::Optional<
11495 fidl::encoding::HandleType<
11496 fidl::Socket,
11497 { fidl::ObjectType::SOCKET.into_raw() },
11498 2147483648,
11499 >,
11500 >,
11501 fidl::encoding::DefaultFuchsiaResourceDialect
11502 ),
11503 nullable_eventpair_handle: fidl::new_empty!(
11504 fidl::encoding::Optional<
11505 fidl::encoding::HandleType<
11506 fidl::EventPair,
11507 { fidl::ObjectType::EVENTPAIR.into_raw() },
11508 2147483648,
11509 >,
11510 >,
11511 fidl::encoding::DefaultFuchsiaResourceDialect
11512 ),
11513 nullable_job_handle: fidl::new_empty!(
11514 fidl::encoding::Optional<
11515 fidl::encoding::HandleType<
11516 fidl::Job,
11517 { fidl::ObjectType::JOB.into_raw() },
11518 2147483648,
11519 >,
11520 >,
11521 fidl::encoding::DefaultFuchsiaResourceDialect
11522 ),
11523 nullable_vmar_handle: fidl::new_empty!(
11524 fidl::encoding::Optional<
11525 fidl::encoding::HandleType<
11526 fidl::Vmar,
11527 { fidl::ObjectType::VMAR.into_raw() },
11528 2147483648,
11529 >,
11530 >,
11531 fidl::encoding::DefaultFuchsiaResourceDialect
11532 ),
11533 nullable_fifo_handle: fidl::new_empty!(
11534 fidl::encoding::Optional<
11535 fidl::encoding::HandleType<
11536 fidl::Fifo,
11537 { fidl::ObjectType::FIFO.into_raw() },
11538 2147483648,
11539 >,
11540 >,
11541 fidl::encoding::DefaultFuchsiaResourceDialect
11542 ),
11543 nullable_timer_handle: fidl::new_empty!(
11544 fidl::encoding::Optional<
11545 fidl::encoding::HandleType<
11546 fidl::Timer,
11547 { fidl::ObjectType::TIMER.into_raw() },
11548 2147483648,
11549 >,
11550 >,
11551 fidl::encoding::DefaultFuchsiaResourceDialect
11552 ),
11553 }
11554 }
11555
11556 #[inline]
11557 unsafe fn decode(
11558 &mut self,
11559 decoder: &mut fidl::encoding::Decoder<
11560 '_,
11561 fidl::encoding::DefaultFuchsiaResourceDialect,
11562 >,
11563 offset: usize,
11564 _depth: fidl::encoding::Depth,
11565 ) -> fidl::Result<()> {
11566 decoder.debug_check_bounds::<Self>(offset);
11567 fidl::decode!(fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle_handle, decoder, offset + 0, _depth)?;
11569 fidl::decode!(fidl::encoding::HandleType<fidl::Process, { fidl::ObjectType::PROCESS.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.process_handle, decoder, offset + 4, _depth)?;
11570 fidl::decode!(fidl::encoding::HandleType<fidl::Thread, { fidl::ObjectType::THREAD.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.thread_handle, decoder, offset + 8, _depth)?;
11571 fidl::decode!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.vmo_handle, decoder, offset + 12, _depth)?;
11572 fidl::decode!(fidl::encoding::HandleType<fidl::Event, { fidl::ObjectType::EVENT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.event_handle, decoder, offset + 16, _depth)?;
11573 fidl::decode!(fidl::encoding::HandleType<fidl::Port, { fidl::ObjectType::PORT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.port_handle, decoder, offset + 20, _depth)?;
11574 fidl::decode!(fidl::encoding::HandleType<fidl::Socket, { fidl::ObjectType::SOCKET.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.socket_handle, decoder, offset + 24, _depth)?;
11575 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.eventpair_handle, decoder, offset + 28, _depth)?;
11576 fidl::decode!(fidl::encoding::HandleType<fidl::Job, { fidl::ObjectType::JOB.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.job_handle, decoder, offset + 32, _depth)?;
11577 fidl::decode!(fidl::encoding::HandleType<fidl::Vmar, { fidl::ObjectType::VMAR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.vmar_handle, decoder, offset + 36, _depth)?;
11578 fidl::decode!(fidl::encoding::HandleType<fidl::Fifo, { fidl::ObjectType::FIFO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.fifo_handle, decoder, offset + 40, _depth)?;
11579 fidl::decode!(fidl::encoding::HandleType<fidl::Timer, { fidl::ObjectType::TIMER.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.timer_handle, decoder, offset + 44, _depth)?;
11580 fidl::decode!(
11581 fidl::encoding::Optional<
11582 fidl::encoding::HandleType<
11583 fidl::NullableHandle,
11584 { fidl::ObjectType::NONE.into_raw() },
11585 2147483648,
11586 >,
11587 >,
11588 fidl::encoding::DefaultFuchsiaResourceDialect,
11589 &mut self.nullable_handle_handle,
11590 decoder,
11591 offset + 48,
11592 _depth
11593 )?;
11594 fidl::decode!(
11595 fidl::encoding::Optional<
11596 fidl::encoding::HandleType<
11597 fidl::Process,
11598 { fidl::ObjectType::PROCESS.into_raw() },
11599 2147483648,
11600 >,
11601 >,
11602 fidl::encoding::DefaultFuchsiaResourceDialect,
11603 &mut self.nullable_process_handle,
11604 decoder,
11605 offset + 52,
11606 _depth
11607 )?;
11608 fidl::decode!(
11609 fidl::encoding::Optional<
11610 fidl::encoding::HandleType<
11611 fidl::Thread,
11612 { fidl::ObjectType::THREAD.into_raw() },
11613 2147483648,
11614 >,
11615 >,
11616 fidl::encoding::DefaultFuchsiaResourceDialect,
11617 &mut self.nullable_thread_handle,
11618 decoder,
11619 offset + 56,
11620 _depth
11621 )?;
11622 fidl::decode!(
11623 fidl::encoding::Optional<
11624 fidl::encoding::HandleType<
11625 fidl::Vmo,
11626 { fidl::ObjectType::VMO.into_raw() },
11627 2147483648,
11628 >,
11629 >,
11630 fidl::encoding::DefaultFuchsiaResourceDialect,
11631 &mut self.nullable_vmo_handle,
11632 decoder,
11633 offset + 60,
11634 _depth
11635 )?;
11636 fidl::decode!(
11637 fidl::encoding::Optional<
11638 fidl::encoding::HandleType<
11639 fidl::Channel,
11640 { fidl::ObjectType::CHANNEL.into_raw() },
11641 2147483648,
11642 >,
11643 >,
11644 fidl::encoding::DefaultFuchsiaResourceDialect,
11645 &mut self.nullable_channel_handle,
11646 decoder,
11647 offset + 64,
11648 _depth
11649 )?;
11650 fidl::decode!(
11651 fidl::encoding::Optional<
11652 fidl::encoding::HandleType<
11653 fidl::Event,
11654 { fidl::ObjectType::EVENT.into_raw() },
11655 2147483648,
11656 >,
11657 >,
11658 fidl::encoding::DefaultFuchsiaResourceDialect,
11659 &mut self.nullable_event_handle,
11660 decoder,
11661 offset + 68,
11662 _depth
11663 )?;
11664 fidl::decode!(
11665 fidl::encoding::Optional<
11666 fidl::encoding::HandleType<
11667 fidl::Port,
11668 { fidl::ObjectType::PORT.into_raw() },
11669 2147483648,
11670 >,
11671 >,
11672 fidl::encoding::DefaultFuchsiaResourceDialect,
11673 &mut self.nullable_port_handle,
11674 decoder,
11675 offset + 72,
11676 _depth
11677 )?;
11678 fidl::decode!(
11679 fidl::encoding::Optional<
11680 fidl::encoding::HandleType<
11681 fidl::Interrupt,
11682 { fidl::ObjectType::INTERRUPT.into_raw() },
11683 2147483648,
11684 >,
11685 >,
11686 fidl::encoding::DefaultFuchsiaResourceDialect,
11687 &mut self.nullable_interrupt_handle,
11688 decoder,
11689 offset + 76,
11690 _depth
11691 )?;
11692 fidl::decode!(
11693 fidl::encoding::Optional<
11694 fidl::encoding::HandleType<
11695 fidl::DebugLog,
11696 { fidl::ObjectType::DEBUGLOG.into_raw() },
11697 2147483648,
11698 >,
11699 >,
11700 fidl::encoding::DefaultFuchsiaResourceDialect,
11701 &mut self.nullable_log_handle,
11702 decoder,
11703 offset + 80,
11704 _depth
11705 )?;
11706 fidl::decode!(
11707 fidl::encoding::Optional<
11708 fidl::encoding::HandleType<
11709 fidl::Socket,
11710 { fidl::ObjectType::SOCKET.into_raw() },
11711 2147483648,
11712 >,
11713 >,
11714 fidl::encoding::DefaultFuchsiaResourceDialect,
11715 &mut self.nullable_socket_handle,
11716 decoder,
11717 offset + 84,
11718 _depth
11719 )?;
11720 fidl::decode!(
11721 fidl::encoding::Optional<
11722 fidl::encoding::HandleType<
11723 fidl::EventPair,
11724 { fidl::ObjectType::EVENTPAIR.into_raw() },
11725 2147483648,
11726 >,
11727 >,
11728 fidl::encoding::DefaultFuchsiaResourceDialect,
11729 &mut self.nullable_eventpair_handle,
11730 decoder,
11731 offset + 88,
11732 _depth
11733 )?;
11734 fidl::decode!(
11735 fidl::encoding::Optional<
11736 fidl::encoding::HandleType<
11737 fidl::Job,
11738 { fidl::ObjectType::JOB.into_raw() },
11739 2147483648,
11740 >,
11741 >,
11742 fidl::encoding::DefaultFuchsiaResourceDialect,
11743 &mut self.nullable_job_handle,
11744 decoder,
11745 offset + 92,
11746 _depth
11747 )?;
11748 fidl::decode!(
11749 fidl::encoding::Optional<
11750 fidl::encoding::HandleType<
11751 fidl::Vmar,
11752 { fidl::ObjectType::VMAR.into_raw() },
11753 2147483648,
11754 >,
11755 >,
11756 fidl::encoding::DefaultFuchsiaResourceDialect,
11757 &mut self.nullable_vmar_handle,
11758 decoder,
11759 offset + 96,
11760 _depth
11761 )?;
11762 fidl::decode!(
11763 fidl::encoding::Optional<
11764 fidl::encoding::HandleType<
11765 fidl::Fifo,
11766 { fidl::ObjectType::FIFO.into_raw() },
11767 2147483648,
11768 >,
11769 >,
11770 fidl::encoding::DefaultFuchsiaResourceDialect,
11771 &mut self.nullable_fifo_handle,
11772 decoder,
11773 offset + 100,
11774 _depth
11775 )?;
11776 fidl::decode!(
11777 fidl::encoding::Optional<
11778 fidl::encoding::HandleType<
11779 fidl::Timer,
11780 { fidl::ObjectType::TIMER.into_raw() },
11781 2147483648,
11782 >,
11783 >,
11784 fidl::encoding::DefaultFuchsiaResourceDialect,
11785 &mut self.nullable_timer_handle,
11786 decoder,
11787 offset + 104,
11788 _depth
11789 )?;
11790 Ok(())
11791 }
11792 }
11793
11794 impl fidl::encoding::ResourceTypeMarker for Vectors {
11795 type Borrowed<'a> = &'a mut Self;
11796 fn take_or_borrow<'a>(
11797 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
11798 ) -> Self::Borrowed<'a> {
11799 value
11800 }
11801 }
11802
11803 unsafe impl fidl::encoding::TypeMarker for Vectors {
11804 type Owned = Self;
11805
11806 #[inline(always)]
11807 fn inline_align(_context: fidl::encoding::Context) -> usize {
11808 8
11809 }
11810
11811 #[inline(always)]
11812 fn inline_size(_context: fidl::encoding::Context) -> usize {
11813 1920
11814 }
11815 }
11816
11817 unsafe impl fidl::encoding::Encode<Vectors, fidl::encoding::DefaultFuchsiaResourceDialect>
11818 for &mut Vectors
11819 {
11820 #[inline]
11821 unsafe fn encode(
11822 self,
11823 encoder: &mut fidl::encoding::Encoder<
11824 '_,
11825 fidl::encoding::DefaultFuchsiaResourceDialect,
11826 >,
11827 offset: usize,
11828 _depth: fidl::encoding::Depth,
11829 ) -> fidl::Result<()> {
11830 encoder.debug_check_bounds::<Vectors>(offset);
11831 fidl::encoding::Encode::<Vectors, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
11833 (
11834 <fidl::encoding::UnboundedVector<bool> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_0),
11835 <fidl::encoding::UnboundedVector<i8> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_0),
11836 <fidl::encoding::UnboundedVector<i16> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_0),
11837 <fidl::encoding::UnboundedVector<i32> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_0),
11838 <fidl::encoding::UnboundedVector<i64> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_0),
11839 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_0),
11840 <fidl::encoding::UnboundedVector<u16> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_0),
11841 <fidl::encoding::UnboundedVector<u32> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_0),
11842 <fidl::encoding::UnboundedVector<u64> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_0),
11843 <fidl::encoding::UnboundedVector<f32> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_0),
11844 <fidl::encoding::UnboundedVector<f64> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_0),
11845 <fidl::encoding::UnboundedVector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_0),
11846 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_1),
11847 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_1),
11848 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_1),
11849 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_1),
11850 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_1),
11851 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_1),
11852 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_1),
11853 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_1),
11854 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_1),
11855 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_1),
11856 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_1),
11857 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_1),
11858 <fidl::encoding::Vector<bool, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_sized_0),
11859 <fidl::encoding::Vector<i8, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_sized_0),
11860 <fidl::encoding::Vector<i16, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_sized_0),
11861 <fidl::encoding::Vector<i32, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_sized_0),
11862 <fidl::encoding::Vector<i64, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_sized_0),
11863 <fidl::encoding::Vector<u8, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_sized_0),
11864 <fidl::encoding::Vector<u16, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_sized_0),
11865 <fidl::encoding::Vector<u32, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_sized_0),
11866 <fidl::encoding::Vector<u64, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_sized_0),
11867 <fidl::encoding::Vector<f32, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_sized_0),
11868 <fidl::encoding::Vector<f64, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_sized_0),
11869 <fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 1> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_sized_0),
11870 <fidl::encoding::Vector<bool, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_sized_1),
11871 <fidl::encoding::Vector<i8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_sized_1),
11872 <fidl::encoding::Vector<i16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_sized_1),
11873 <fidl::encoding::Vector<i32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_sized_1),
11874 <fidl::encoding::Vector<i64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_sized_1),
11875 <fidl::encoding::Vector<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_sized_1),
11876 <fidl::encoding::Vector<u16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_sized_1),
11877 <fidl::encoding::Vector<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_sized_1),
11878 <fidl::encoding::Vector<u64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_sized_1),
11879 <fidl::encoding::Vector<f32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_sized_1),
11880 <fidl::encoding::Vector<f64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_sized_1),
11881 <fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_sized_1),
11882 <fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_sized_2),
11883 <fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_sized_2),
11884 <fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_sized_2),
11885 <fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_sized_2),
11886 <fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_sized_2),
11887 <fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_sized_2),
11888 <fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_sized_2),
11889 <fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_sized_2),
11890 <fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_sized_2),
11891 <fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_sized_2),
11892 <fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_sized_2),
11893 <fidl::encoding::Vector<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_sized_2),
11894 <fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_0),
11895 <fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_0),
11896 <fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_0),
11897 <fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_0),
11898 <fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_0),
11899 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_0),
11900 <fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_0),
11901 <fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_0),
11902 <fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_0),
11903 <fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_0),
11904 <fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_0),
11905 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 1>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_0),
11906 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_1),
11907 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_1),
11908 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_1),
11909 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_1),
11910 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_1),
11911 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_1),
11912 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_1),
11913 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_1),
11914 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_1),
11915 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_1),
11916 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_1),
11917 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_1),
11918 <fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_sized_0),
11919 <fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_sized_0),
11920 <fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_sized_0),
11921 <fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_sized_0),
11922 <fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_sized_0),
11923 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_sized_0),
11924 <fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_sized_0),
11925 <fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_sized_0),
11926 <fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_sized_0),
11927 <fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_sized_0),
11928 <fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_sized_0),
11929 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 1>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_sized_0),
11930 <fidl::encoding::Optional<fidl::encoding::Vector<bool, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_sized_1),
11931 <fidl::encoding::Optional<fidl::encoding::Vector<i8, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_sized_1),
11932 <fidl::encoding::Optional<fidl::encoding::Vector<i16, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_sized_1),
11933 <fidl::encoding::Optional<fidl::encoding::Vector<i32, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_sized_1),
11934 <fidl::encoding::Optional<fidl::encoding::Vector<i64, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_sized_1),
11935 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_sized_1),
11936 <fidl::encoding::Optional<fidl::encoding::Vector<u16, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_sized_1),
11937 <fidl::encoding::Optional<fidl::encoding::Vector<u32, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_sized_1),
11938 <fidl::encoding::Optional<fidl::encoding::Vector<u64, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_sized_1),
11939 <fidl::encoding::Optional<fidl::encoding::Vector<f32, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_sized_1),
11940 <fidl::encoding::Optional<fidl::encoding::Vector<f64, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_sized_1),
11941 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 3>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_sized_1),
11942 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_sized_2),
11943 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_sized_2),
11944 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_sized_2),
11945 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_sized_2),
11946 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_sized_2),
11947 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_sized_2),
11948 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_sized_2),
11949 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_sized_2),
11950 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_sized_2),
11951 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_sized_2),
11952 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_sized_2),
11953 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>, 3>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_sized_2),
11954 ),
11955 encoder, offset, _depth
11956 )
11957 }
11958 }
11959 unsafe impl<
11960 T0: fidl::encoding::Encode<
11961 fidl::encoding::UnboundedVector<bool>,
11962 fidl::encoding::DefaultFuchsiaResourceDialect,
11963 >,
11964 T1: fidl::encoding::Encode<
11965 fidl::encoding::UnboundedVector<i8>,
11966 fidl::encoding::DefaultFuchsiaResourceDialect,
11967 >,
11968 T2: fidl::encoding::Encode<
11969 fidl::encoding::UnboundedVector<i16>,
11970 fidl::encoding::DefaultFuchsiaResourceDialect,
11971 >,
11972 T3: fidl::encoding::Encode<
11973 fidl::encoding::UnboundedVector<i32>,
11974 fidl::encoding::DefaultFuchsiaResourceDialect,
11975 >,
11976 T4: fidl::encoding::Encode<
11977 fidl::encoding::UnboundedVector<i64>,
11978 fidl::encoding::DefaultFuchsiaResourceDialect,
11979 >,
11980 T5: fidl::encoding::Encode<
11981 fidl::encoding::UnboundedVector<u8>,
11982 fidl::encoding::DefaultFuchsiaResourceDialect,
11983 >,
11984 T6: fidl::encoding::Encode<
11985 fidl::encoding::UnboundedVector<u16>,
11986 fidl::encoding::DefaultFuchsiaResourceDialect,
11987 >,
11988 T7: fidl::encoding::Encode<
11989 fidl::encoding::UnboundedVector<u32>,
11990 fidl::encoding::DefaultFuchsiaResourceDialect,
11991 >,
11992 T8: fidl::encoding::Encode<
11993 fidl::encoding::UnboundedVector<u64>,
11994 fidl::encoding::DefaultFuchsiaResourceDialect,
11995 >,
11996 T9: fidl::encoding::Encode<
11997 fidl::encoding::UnboundedVector<f32>,
11998 fidl::encoding::DefaultFuchsiaResourceDialect,
11999 >,
12000 T10: fidl::encoding::Encode<
12001 fidl::encoding::UnboundedVector<f64>,
12002 fidl::encoding::DefaultFuchsiaResourceDialect,
12003 >,
12004 T11: fidl::encoding::Encode<
12005 fidl::encoding::UnboundedVector<
12006 fidl::encoding::HandleType<
12007 fidl::NullableHandle,
12008 { fidl::ObjectType::NONE.into_raw() },
12009 2147483648,
12010 >,
12011 >,
12012 fidl::encoding::DefaultFuchsiaResourceDialect,
12013 >,
12014 T12: fidl::encoding::Encode<
12015 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
12016 fidl::encoding::DefaultFuchsiaResourceDialect,
12017 >,
12018 T13: fidl::encoding::Encode<
12019 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
12020 fidl::encoding::DefaultFuchsiaResourceDialect,
12021 >,
12022 T14: fidl::encoding::Encode<
12023 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
12024 fidl::encoding::DefaultFuchsiaResourceDialect,
12025 >,
12026 T15: fidl::encoding::Encode<
12027 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
12028 fidl::encoding::DefaultFuchsiaResourceDialect,
12029 >,
12030 T16: fidl::encoding::Encode<
12031 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
12032 fidl::encoding::DefaultFuchsiaResourceDialect,
12033 >,
12034 T17: fidl::encoding::Encode<
12035 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
12036 fidl::encoding::DefaultFuchsiaResourceDialect,
12037 >,
12038 T18: fidl::encoding::Encode<
12039 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
12040 fidl::encoding::DefaultFuchsiaResourceDialect,
12041 >,
12042 T19: fidl::encoding::Encode<
12043 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
12044 fidl::encoding::DefaultFuchsiaResourceDialect,
12045 >,
12046 T20: fidl::encoding::Encode<
12047 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
12048 fidl::encoding::DefaultFuchsiaResourceDialect,
12049 >,
12050 T21: fidl::encoding::Encode<
12051 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
12052 fidl::encoding::DefaultFuchsiaResourceDialect,
12053 >,
12054 T22: fidl::encoding::Encode<
12055 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
12056 fidl::encoding::DefaultFuchsiaResourceDialect,
12057 >,
12058 T23: fidl::encoding::Encode<
12059 fidl::encoding::UnboundedVector<
12060 fidl::encoding::Vector<
12061 fidl::encoding::HandleType<
12062 fidl::NullableHandle,
12063 { fidl::ObjectType::NONE.into_raw() },
12064 2147483648,
12065 >,
12066 2,
12067 >,
12068 >,
12069 fidl::encoding::DefaultFuchsiaResourceDialect,
12070 >,
12071 T24: fidl::encoding::Encode<
12072 fidl::encoding::Vector<bool, 1>,
12073 fidl::encoding::DefaultFuchsiaResourceDialect,
12074 >,
12075 T25: fidl::encoding::Encode<
12076 fidl::encoding::Vector<i8, 1>,
12077 fidl::encoding::DefaultFuchsiaResourceDialect,
12078 >,
12079 T26: fidl::encoding::Encode<
12080 fidl::encoding::Vector<i16, 1>,
12081 fidl::encoding::DefaultFuchsiaResourceDialect,
12082 >,
12083 T27: fidl::encoding::Encode<
12084 fidl::encoding::Vector<i32, 1>,
12085 fidl::encoding::DefaultFuchsiaResourceDialect,
12086 >,
12087 T28: fidl::encoding::Encode<
12088 fidl::encoding::Vector<i64, 1>,
12089 fidl::encoding::DefaultFuchsiaResourceDialect,
12090 >,
12091 T29: fidl::encoding::Encode<
12092 fidl::encoding::Vector<u8, 1>,
12093 fidl::encoding::DefaultFuchsiaResourceDialect,
12094 >,
12095 T30: fidl::encoding::Encode<
12096 fidl::encoding::Vector<u16, 1>,
12097 fidl::encoding::DefaultFuchsiaResourceDialect,
12098 >,
12099 T31: fidl::encoding::Encode<
12100 fidl::encoding::Vector<u32, 1>,
12101 fidl::encoding::DefaultFuchsiaResourceDialect,
12102 >,
12103 T32: fidl::encoding::Encode<
12104 fidl::encoding::Vector<u64, 1>,
12105 fidl::encoding::DefaultFuchsiaResourceDialect,
12106 >,
12107 T33: fidl::encoding::Encode<
12108 fidl::encoding::Vector<f32, 1>,
12109 fidl::encoding::DefaultFuchsiaResourceDialect,
12110 >,
12111 T34: fidl::encoding::Encode<
12112 fidl::encoding::Vector<f64, 1>,
12113 fidl::encoding::DefaultFuchsiaResourceDialect,
12114 >,
12115 T35: fidl::encoding::Encode<
12116 fidl::encoding::Vector<
12117 fidl::encoding::HandleType<
12118 fidl::NullableHandle,
12119 { fidl::ObjectType::NONE.into_raw() },
12120 2147483648,
12121 >,
12122 1,
12123 >,
12124 fidl::encoding::DefaultFuchsiaResourceDialect,
12125 >,
12126 T36: fidl::encoding::Encode<
12127 fidl::encoding::Vector<bool, 3>,
12128 fidl::encoding::DefaultFuchsiaResourceDialect,
12129 >,
12130 T37: fidl::encoding::Encode<
12131 fidl::encoding::Vector<i8, 3>,
12132 fidl::encoding::DefaultFuchsiaResourceDialect,
12133 >,
12134 T38: fidl::encoding::Encode<
12135 fidl::encoding::Vector<i16, 3>,
12136 fidl::encoding::DefaultFuchsiaResourceDialect,
12137 >,
12138 T39: fidl::encoding::Encode<
12139 fidl::encoding::Vector<i32, 3>,
12140 fidl::encoding::DefaultFuchsiaResourceDialect,
12141 >,
12142 T40: fidl::encoding::Encode<
12143 fidl::encoding::Vector<i64, 3>,
12144 fidl::encoding::DefaultFuchsiaResourceDialect,
12145 >,
12146 T41: fidl::encoding::Encode<
12147 fidl::encoding::Vector<u8, 3>,
12148 fidl::encoding::DefaultFuchsiaResourceDialect,
12149 >,
12150 T42: fidl::encoding::Encode<
12151 fidl::encoding::Vector<u16, 3>,
12152 fidl::encoding::DefaultFuchsiaResourceDialect,
12153 >,
12154 T43: fidl::encoding::Encode<
12155 fidl::encoding::Vector<u32, 3>,
12156 fidl::encoding::DefaultFuchsiaResourceDialect,
12157 >,
12158 T44: fidl::encoding::Encode<
12159 fidl::encoding::Vector<u64, 3>,
12160 fidl::encoding::DefaultFuchsiaResourceDialect,
12161 >,
12162 T45: fidl::encoding::Encode<
12163 fidl::encoding::Vector<f32, 3>,
12164 fidl::encoding::DefaultFuchsiaResourceDialect,
12165 >,
12166 T46: fidl::encoding::Encode<
12167 fidl::encoding::Vector<f64, 3>,
12168 fidl::encoding::DefaultFuchsiaResourceDialect,
12169 >,
12170 T47: fidl::encoding::Encode<
12171 fidl::encoding::Vector<
12172 fidl::encoding::HandleType<
12173 fidl::NullableHandle,
12174 { fidl::ObjectType::NONE.into_raw() },
12175 2147483648,
12176 >,
12177 3,
12178 >,
12179 fidl::encoding::DefaultFuchsiaResourceDialect,
12180 >,
12181 T48: fidl::encoding::Encode<
12182 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
12183 fidl::encoding::DefaultFuchsiaResourceDialect,
12184 >,
12185 T49: fidl::encoding::Encode<
12186 fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>,
12187 fidl::encoding::DefaultFuchsiaResourceDialect,
12188 >,
12189 T50: fidl::encoding::Encode<
12190 fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>,
12191 fidl::encoding::DefaultFuchsiaResourceDialect,
12192 >,
12193 T51: fidl::encoding::Encode<
12194 fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>,
12195 fidl::encoding::DefaultFuchsiaResourceDialect,
12196 >,
12197 T52: fidl::encoding::Encode<
12198 fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>,
12199 fidl::encoding::DefaultFuchsiaResourceDialect,
12200 >,
12201 T53: fidl::encoding::Encode<
12202 fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>,
12203 fidl::encoding::DefaultFuchsiaResourceDialect,
12204 >,
12205 T54: fidl::encoding::Encode<
12206 fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>,
12207 fidl::encoding::DefaultFuchsiaResourceDialect,
12208 >,
12209 T55: fidl::encoding::Encode<
12210 fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>,
12211 fidl::encoding::DefaultFuchsiaResourceDialect,
12212 >,
12213 T56: fidl::encoding::Encode<
12214 fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>,
12215 fidl::encoding::DefaultFuchsiaResourceDialect,
12216 >,
12217 T57: fidl::encoding::Encode<
12218 fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>,
12219 fidl::encoding::DefaultFuchsiaResourceDialect,
12220 >,
12221 T58: fidl::encoding::Encode<
12222 fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>,
12223 fidl::encoding::DefaultFuchsiaResourceDialect,
12224 >,
12225 T59: fidl::encoding::Encode<
12226 fidl::encoding::Vector<
12227 fidl::encoding::Vector<
12228 fidl::encoding::HandleType<
12229 fidl::NullableHandle,
12230 { fidl::ObjectType::NONE.into_raw() },
12231 2147483648,
12232 >,
12233 2,
12234 >,
12235 3,
12236 >,
12237 fidl::encoding::DefaultFuchsiaResourceDialect,
12238 >,
12239 T60: fidl::encoding::Encode<
12240 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
12241 fidl::encoding::DefaultFuchsiaResourceDialect,
12242 >,
12243 T61: fidl::encoding::Encode<
12244 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
12245 fidl::encoding::DefaultFuchsiaResourceDialect,
12246 >,
12247 T62: fidl::encoding::Encode<
12248 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
12249 fidl::encoding::DefaultFuchsiaResourceDialect,
12250 >,
12251 T63: fidl::encoding::Encode<
12252 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
12253 fidl::encoding::DefaultFuchsiaResourceDialect,
12254 >,
12255 T64: fidl::encoding::Encode<
12256 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
12257 fidl::encoding::DefaultFuchsiaResourceDialect,
12258 >,
12259 T65: fidl::encoding::Encode<
12260 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
12261 fidl::encoding::DefaultFuchsiaResourceDialect,
12262 >,
12263 T66: fidl::encoding::Encode<
12264 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
12265 fidl::encoding::DefaultFuchsiaResourceDialect,
12266 >,
12267 T67: fidl::encoding::Encode<
12268 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
12269 fidl::encoding::DefaultFuchsiaResourceDialect,
12270 >,
12271 T68: fidl::encoding::Encode<
12272 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
12273 fidl::encoding::DefaultFuchsiaResourceDialect,
12274 >,
12275 T69: fidl::encoding::Encode<
12276 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
12277 fidl::encoding::DefaultFuchsiaResourceDialect,
12278 >,
12279 T70: fidl::encoding::Encode<
12280 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
12281 fidl::encoding::DefaultFuchsiaResourceDialect,
12282 >,
12283 T71: fidl::encoding::Encode<
12284 fidl::encoding::Optional<
12285 fidl::encoding::Vector<
12286 fidl::encoding::HandleType<
12287 fidl::NullableHandle,
12288 { fidl::ObjectType::NONE.into_raw() },
12289 2147483648,
12290 >,
12291 1,
12292 >,
12293 >,
12294 fidl::encoding::DefaultFuchsiaResourceDialect,
12295 >,
12296 T72: fidl::encoding::Encode<
12297 fidl::encoding::Optional<
12298 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
12299 >,
12300 fidl::encoding::DefaultFuchsiaResourceDialect,
12301 >,
12302 T73: fidl::encoding::Encode<
12303 fidl::encoding::Optional<
12304 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
12305 >,
12306 fidl::encoding::DefaultFuchsiaResourceDialect,
12307 >,
12308 T74: fidl::encoding::Encode<
12309 fidl::encoding::Optional<
12310 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
12311 >,
12312 fidl::encoding::DefaultFuchsiaResourceDialect,
12313 >,
12314 T75: fidl::encoding::Encode<
12315 fidl::encoding::Optional<
12316 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
12317 >,
12318 fidl::encoding::DefaultFuchsiaResourceDialect,
12319 >,
12320 T76: fidl::encoding::Encode<
12321 fidl::encoding::Optional<
12322 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
12323 >,
12324 fidl::encoding::DefaultFuchsiaResourceDialect,
12325 >,
12326 T77: fidl::encoding::Encode<
12327 fidl::encoding::Optional<
12328 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
12329 >,
12330 fidl::encoding::DefaultFuchsiaResourceDialect,
12331 >,
12332 T78: fidl::encoding::Encode<
12333 fidl::encoding::Optional<
12334 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
12335 >,
12336 fidl::encoding::DefaultFuchsiaResourceDialect,
12337 >,
12338 T79: fidl::encoding::Encode<
12339 fidl::encoding::Optional<
12340 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
12341 >,
12342 fidl::encoding::DefaultFuchsiaResourceDialect,
12343 >,
12344 T80: fidl::encoding::Encode<
12345 fidl::encoding::Optional<
12346 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
12347 >,
12348 fidl::encoding::DefaultFuchsiaResourceDialect,
12349 >,
12350 T81: fidl::encoding::Encode<
12351 fidl::encoding::Optional<
12352 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
12353 >,
12354 fidl::encoding::DefaultFuchsiaResourceDialect,
12355 >,
12356 T82: fidl::encoding::Encode<
12357 fidl::encoding::Optional<
12358 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
12359 >,
12360 fidl::encoding::DefaultFuchsiaResourceDialect,
12361 >,
12362 T83: fidl::encoding::Encode<
12363 fidl::encoding::Optional<
12364 fidl::encoding::UnboundedVector<
12365 fidl::encoding::Vector<
12366 fidl::encoding::HandleType<
12367 fidl::NullableHandle,
12368 { fidl::ObjectType::NONE.into_raw() },
12369 2147483648,
12370 >,
12371 2,
12372 >,
12373 >,
12374 >,
12375 fidl::encoding::DefaultFuchsiaResourceDialect,
12376 >,
12377 T84: fidl::encoding::Encode<
12378 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
12379 fidl::encoding::DefaultFuchsiaResourceDialect,
12380 >,
12381 T85: fidl::encoding::Encode<
12382 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
12383 fidl::encoding::DefaultFuchsiaResourceDialect,
12384 >,
12385 T86: fidl::encoding::Encode<
12386 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
12387 fidl::encoding::DefaultFuchsiaResourceDialect,
12388 >,
12389 T87: fidl::encoding::Encode<
12390 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
12391 fidl::encoding::DefaultFuchsiaResourceDialect,
12392 >,
12393 T88: fidl::encoding::Encode<
12394 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
12395 fidl::encoding::DefaultFuchsiaResourceDialect,
12396 >,
12397 T89: fidl::encoding::Encode<
12398 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
12399 fidl::encoding::DefaultFuchsiaResourceDialect,
12400 >,
12401 T90: fidl::encoding::Encode<
12402 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
12403 fidl::encoding::DefaultFuchsiaResourceDialect,
12404 >,
12405 T91: fidl::encoding::Encode<
12406 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
12407 fidl::encoding::DefaultFuchsiaResourceDialect,
12408 >,
12409 T92: fidl::encoding::Encode<
12410 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
12411 fidl::encoding::DefaultFuchsiaResourceDialect,
12412 >,
12413 T93: fidl::encoding::Encode<
12414 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
12415 fidl::encoding::DefaultFuchsiaResourceDialect,
12416 >,
12417 T94: fidl::encoding::Encode<
12418 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
12419 fidl::encoding::DefaultFuchsiaResourceDialect,
12420 >,
12421 T95: fidl::encoding::Encode<
12422 fidl::encoding::Optional<
12423 fidl::encoding::Vector<
12424 fidl::encoding::HandleType<
12425 fidl::NullableHandle,
12426 { fidl::ObjectType::NONE.into_raw() },
12427 2147483648,
12428 >,
12429 1,
12430 >,
12431 >,
12432 fidl::encoding::DefaultFuchsiaResourceDialect,
12433 >,
12434 T96: fidl::encoding::Encode<
12435 fidl::encoding::Optional<fidl::encoding::Vector<bool, 3>>,
12436 fidl::encoding::DefaultFuchsiaResourceDialect,
12437 >,
12438 T97: fidl::encoding::Encode<
12439 fidl::encoding::Optional<fidl::encoding::Vector<i8, 3>>,
12440 fidl::encoding::DefaultFuchsiaResourceDialect,
12441 >,
12442 T98: fidl::encoding::Encode<
12443 fidl::encoding::Optional<fidl::encoding::Vector<i16, 3>>,
12444 fidl::encoding::DefaultFuchsiaResourceDialect,
12445 >,
12446 T99: fidl::encoding::Encode<
12447 fidl::encoding::Optional<fidl::encoding::Vector<i32, 3>>,
12448 fidl::encoding::DefaultFuchsiaResourceDialect,
12449 >,
12450 T100: fidl::encoding::Encode<
12451 fidl::encoding::Optional<fidl::encoding::Vector<i64, 3>>,
12452 fidl::encoding::DefaultFuchsiaResourceDialect,
12453 >,
12454 T101: fidl::encoding::Encode<
12455 fidl::encoding::Optional<fidl::encoding::Vector<u8, 3>>,
12456 fidl::encoding::DefaultFuchsiaResourceDialect,
12457 >,
12458 T102: fidl::encoding::Encode<
12459 fidl::encoding::Optional<fidl::encoding::Vector<u16, 3>>,
12460 fidl::encoding::DefaultFuchsiaResourceDialect,
12461 >,
12462 T103: fidl::encoding::Encode<
12463 fidl::encoding::Optional<fidl::encoding::Vector<u32, 3>>,
12464 fidl::encoding::DefaultFuchsiaResourceDialect,
12465 >,
12466 T104: fidl::encoding::Encode<
12467 fidl::encoding::Optional<fidl::encoding::Vector<u64, 3>>,
12468 fidl::encoding::DefaultFuchsiaResourceDialect,
12469 >,
12470 T105: fidl::encoding::Encode<
12471 fidl::encoding::Optional<fidl::encoding::Vector<f32, 3>>,
12472 fidl::encoding::DefaultFuchsiaResourceDialect,
12473 >,
12474 T106: fidl::encoding::Encode<
12475 fidl::encoding::Optional<fidl::encoding::Vector<f64, 3>>,
12476 fidl::encoding::DefaultFuchsiaResourceDialect,
12477 >,
12478 T107: fidl::encoding::Encode<
12479 fidl::encoding::Optional<
12480 fidl::encoding::Vector<
12481 fidl::encoding::HandleType<
12482 fidl::NullableHandle,
12483 { fidl::ObjectType::NONE.into_raw() },
12484 2147483648,
12485 >,
12486 3,
12487 >,
12488 >,
12489 fidl::encoding::DefaultFuchsiaResourceDialect,
12490 >,
12491 T108: fidl::encoding::Encode<
12492 fidl::encoding::Optional<
12493 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
12494 >,
12495 fidl::encoding::DefaultFuchsiaResourceDialect,
12496 >,
12497 T109: fidl::encoding::Encode<
12498 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>>,
12499 fidl::encoding::DefaultFuchsiaResourceDialect,
12500 >,
12501 T110: fidl::encoding::Encode<
12502 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>>,
12503 fidl::encoding::DefaultFuchsiaResourceDialect,
12504 >,
12505 T111: fidl::encoding::Encode<
12506 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>>,
12507 fidl::encoding::DefaultFuchsiaResourceDialect,
12508 >,
12509 T112: fidl::encoding::Encode<
12510 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>>,
12511 fidl::encoding::DefaultFuchsiaResourceDialect,
12512 >,
12513 T113: fidl::encoding::Encode<
12514 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>>,
12515 fidl::encoding::DefaultFuchsiaResourceDialect,
12516 >,
12517 T114: fidl::encoding::Encode<
12518 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>>,
12519 fidl::encoding::DefaultFuchsiaResourceDialect,
12520 >,
12521 T115: fidl::encoding::Encode<
12522 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>>,
12523 fidl::encoding::DefaultFuchsiaResourceDialect,
12524 >,
12525 T116: fidl::encoding::Encode<
12526 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>>,
12527 fidl::encoding::DefaultFuchsiaResourceDialect,
12528 >,
12529 T117: fidl::encoding::Encode<
12530 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>>,
12531 fidl::encoding::DefaultFuchsiaResourceDialect,
12532 >,
12533 T118: fidl::encoding::Encode<
12534 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>>,
12535 fidl::encoding::DefaultFuchsiaResourceDialect,
12536 >,
12537 T119: fidl::encoding::Encode<
12538 fidl::encoding::Optional<
12539 fidl::encoding::Vector<
12540 fidl::encoding::Vector<
12541 fidl::encoding::HandleType<
12542 fidl::NullableHandle,
12543 { fidl::ObjectType::NONE.into_raw() },
12544 2147483648,
12545 >,
12546 2,
12547 >,
12548 3,
12549 >,
12550 >,
12551 fidl::encoding::DefaultFuchsiaResourceDialect,
12552 >,
12553 > fidl::encoding::Encode<Vectors, fidl::encoding::DefaultFuchsiaResourceDialect>
12554 for (
12555 T0,
12556 T1,
12557 T2,
12558 T3,
12559 T4,
12560 T5,
12561 T6,
12562 T7,
12563 T8,
12564 T9,
12565 T10,
12566 T11,
12567 T12,
12568 T13,
12569 T14,
12570 T15,
12571 T16,
12572 T17,
12573 T18,
12574 T19,
12575 T20,
12576 T21,
12577 T22,
12578 T23,
12579 T24,
12580 T25,
12581 T26,
12582 T27,
12583 T28,
12584 T29,
12585 T30,
12586 T31,
12587 T32,
12588 T33,
12589 T34,
12590 T35,
12591 T36,
12592 T37,
12593 T38,
12594 T39,
12595 T40,
12596 T41,
12597 T42,
12598 T43,
12599 T44,
12600 T45,
12601 T46,
12602 T47,
12603 T48,
12604 T49,
12605 T50,
12606 T51,
12607 T52,
12608 T53,
12609 T54,
12610 T55,
12611 T56,
12612 T57,
12613 T58,
12614 T59,
12615 T60,
12616 T61,
12617 T62,
12618 T63,
12619 T64,
12620 T65,
12621 T66,
12622 T67,
12623 T68,
12624 T69,
12625 T70,
12626 T71,
12627 T72,
12628 T73,
12629 T74,
12630 T75,
12631 T76,
12632 T77,
12633 T78,
12634 T79,
12635 T80,
12636 T81,
12637 T82,
12638 T83,
12639 T84,
12640 T85,
12641 T86,
12642 T87,
12643 T88,
12644 T89,
12645 T90,
12646 T91,
12647 T92,
12648 T93,
12649 T94,
12650 T95,
12651 T96,
12652 T97,
12653 T98,
12654 T99,
12655 T100,
12656 T101,
12657 T102,
12658 T103,
12659 T104,
12660 T105,
12661 T106,
12662 T107,
12663 T108,
12664 T109,
12665 T110,
12666 T111,
12667 T112,
12668 T113,
12669 T114,
12670 T115,
12671 T116,
12672 T117,
12673 T118,
12674 T119,
12675 )
12676 {
12677 #[inline]
12678 unsafe fn encode(
12679 self,
12680 encoder: &mut fidl::encoding::Encoder<
12681 '_,
12682 fidl::encoding::DefaultFuchsiaResourceDialect,
12683 >,
12684 offset: usize,
12685 depth: fidl::encoding::Depth,
12686 ) -> fidl::Result<()> {
12687 encoder.debug_check_bounds::<Vectors>(offset);
12688 self.0.encode(encoder, offset + 0, depth)?;
12692 self.1.encode(encoder, offset + 16, depth)?;
12693 self.2.encode(encoder, offset + 32, depth)?;
12694 self.3.encode(encoder, offset + 48, depth)?;
12695 self.4.encode(encoder, offset + 64, depth)?;
12696 self.5.encode(encoder, offset + 80, depth)?;
12697 self.6.encode(encoder, offset + 96, depth)?;
12698 self.7.encode(encoder, offset + 112, depth)?;
12699 self.8.encode(encoder, offset + 128, depth)?;
12700 self.9.encode(encoder, offset + 144, depth)?;
12701 self.10.encode(encoder, offset + 160, depth)?;
12702 self.11.encode(encoder, offset + 176, depth)?;
12703 self.12.encode(encoder, offset + 192, depth)?;
12704 self.13.encode(encoder, offset + 208, depth)?;
12705 self.14.encode(encoder, offset + 224, depth)?;
12706 self.15.encode(encoder, offset + 240, depth)?;
12707 self.16.encode(encoder, offset + 256, depth)?;
12708 self.17.encode(encoder, offset + 272, depth)?;
12709 self.18.encode(encoder, offset + 288, depth)?;
12710 self.19.encode(encoder, offset + 304, depth)?;
12711 self.20.encode(encoder, offset + 320, depth)?;
12712 self.21.encode(encoder, offset + 336, depth)?;
12713 self.22.encode(encoder, offset + 352, depth)?;
12714 self.23.encode(encoder, offset + 368, depth)?;
12715 self.24.encode(encoder, offset + 384, depth)?;
12716 self.25.encode(encoder, offset + 400, depth)?;
12717 self.26.encode(encoder, offset + 416, depth)?;
12718 self.27.encode(encoder, offset + 432, depth)?;
12719 self.28.encode(encoder, offset + 448, depth)?;
12720 self.29.encode(encoder, offset + 464, depth)?;
12721 self.30.encode(encoder, offset + 480, depth)?;
12722 self.31.encode(encoder, offset + 496, depth)?;
12723 self.32.encode(encoder, offset + 512, depth)?;
12724 self.33.encode(encoder, offset + 528, depth)?;
12725 self.34.encode(encoder, offset + 544, depth)?;
12726 self.35.encode(encoder, offset + 560, depth)?;
12727 self.36.encode(encoder, offset + 576, depth)?;
12728 self.37.encode(encoder, offset + 592, depth)?;
12729 self.38.encode(encoder, offset + 608, depth)?;
12730 self.39.encode(encoder, offset + 624, depth)?;
12731 self.40.encode(encoder, offset + 640, depth)?;
12732 self.41.encode(encoder, offset + 656, depth)?;
12733 self.42.encode(encoder, offset + 672, depth)?;
12734 self.43.encode(encoder, offset + 688, depth)?;
12735 self.44.encode(encoder, offset + 704, depth)?;
12736 self.45.encode(encoder, offset + 720, depth)?;
12737 self.46.encode(encoder, offset + 736, depth)?;
12738 self.47.encode(encoder, offset + 752, depth)?;
12739 self.48.encode(encoder, offset + 768, depth)?;
12740 self.49.encode(encoder, offset + 784, depth)?;
12741 self.50.encode(encoder, offset + 800, depth)?;
12742 self.51.encode(encoder, offset + 816, depth)?;
12743 self.52.encode(encoder, offset + 832, depth)?;
12744 self.53.encode(encoder, offset + 848, depth)?;
12745 self.54.encode(encoder, offset + 864, depth)?;
12746 self.55.encode(encoder, offset + 880, depth)?;
12747 self.56.encode(encoder, offset + 896, depth)?;
12748 self.57.encode(encoder, offset + 912, depth)?;
12749 self.58.encode(encoder, offset + 928, depth)?;
12750 self.59.encode(encoder, offset + 944, depth)?;
12751 self.60.encode(encoder, offset + 960, depth)?;
12752 self.61.encode(encoder, offset + 976, depth)?;
12753 self.62.encode(encoder, offset + 992, depth)?;
12754 self.63.encode(encoder, offset + 1008, depth)?;
12755 self.64.encode(encoder, offset + 1024, depth)?;
12756 self.65.encode(encoder, offset + 1040, depth)?;
12757 self.66.encode(encoder, offset + 1056, depth)?;
12758 self.67.encode(encoder, offset + 1072, depth)?;
12759 self.68.encode(encoder, offset + 1088, depth)?;
12760 self.69.encode(encoder, offset + 1104, depth)?;
12761 self.70.encode(encoder, offset + 1120, depth)?;
12762 self.71.encode(encoder, offset + 1136, depth)?;
12763 self.72.encode(encoder, offset + 1152, depth)?;
12764 self.73.encode(encoder, offset + 1168, depth)?;
12765 self.74.encode(encoder, offset + 1184, depth)?;
12766 self.75.encode(encoder, offset + 1200, depth)?;
12767 self.76.encode(encoder, offset + 1216, depth)?;
12768 self.77.encode(encoder, offset + 1232, depth)?;
12769 self.78.encode(encoder, offset + 1248, depth)?;
12770 self.79.encode(encoder, offset + 1264, depth)?;
12771 self.80.encode(encoder, offset + 1280, depth)?;
12772 self.81.encode(encoder, offset + 1296, depth)?;
12773 self.82.encode(encoder, offset + 1312, depth)?;
12774 self.83.encode(encoder, offset + 1328, depth)?;
12775 self.84.encode(encoder, offset + 1344, depth)?;
12776 self.85.encode(encoder, offset + 1360, depth)?;
12777 self.86.encode(encoder, offset + 1376, depth)?;
12778 self.87.encode(encoder, offset + 1392, depth)?;
12779 self.88.encode(encoder, offset + 1408, depth)?;
12780 self.89.encode(encoder, offset + 1424, depth)?;
12781 self.90.encode(encoder, offset + 1440, depth)?;
12782 self.91.encode(encoder, offset + 1456, depth)?;
12783 self.92.encode(encoder, offset + 1472, depth)?;
12784 self.93.encode(encoder, offset + 1488, depth)?;
12785 self.94.encode(encoder, offset + 1504, depth)?;
12786 self.95.encode(encoder, offset + 1520, depth)?;
12787 self.96.encode(encoder, offset + 1536, depth)?;
12788 self.97.encode(encoder, offset + 1552, depth)?;
12789 self.98.encode(encoder, offset + 1568, depth)?;
12790 self.99.encode(encoder, offset + 1584, depth)?;
12791 self.100.encode(encoder, offset + 1600, depth)?;
12792 self.101.encode(encoder, offset + 1616, depth)?;
12793 self.102.encode(encoder, offset + 1632, depth)?;
12794 self.103.encode(encoder, offset + 1648, depth)?;
12795 self.104.encode(encoder, offset + 1664, depth)?;
12796 self.105.encode(encoder, offset + 1680, depth)?;
12797 self.106.encode(encoder, offset + 1696, depth)?;
12798 self.107.encode(encoder, offset + 1712, depth)?;
12799 self.108.encode(encoder, offset + 1728, depth)?;
12800 self.109.encode(encoder, offset + 1744, depth)?;
12801 self.110.encode(encoder, offset + 1760, depth)?;
12802 self.111.encode(encoder, offset + 1776, depth)?;
12803 self.112.encode(encoder, offset + 1792, depth)?;
12804 self.113.encode(encoder, offset + 1808, depth)?;
12805 self.114.encode(encoder, offset + 1824, depth)?;
12806 self.115.encode(encoder, offset + 1840, depth)?;
12807 self.116.encode(encoder, offset + 1856, depth)?;
12808 self.117.encode(encoder, offset + 1872, depth)?;
12809 self.118.encode(encoder, offset + 1888, depth)?;
12810 self.119.encode(encoder, offset + 1904, depth)?;
12811 Ok(())
12812 }
12813 }
12814
12815 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Vectors {
12816 #[inline(always)]
12817 fn new_empty() -> Self {
12818 Self {
12819 b_0: fidl::new_empty!(
12820 fidl::encoding::UnboundedVector<bool>,
12821 fidl::encoding::DefaultFuchsiaResourceDialect
12822 ),
12823 i8_0: fidl::new_empty!(
12824 fidl::encoding::UnboundedVector<i8>,
12825 fidl::encoding::DefaultFuchsiaResourceDialect
12826 ),
12827 i16_0: fidl::new_empty!(
12828 fidl::encoding::UnboundedVector<i16>,
12829 fidl::encoding::DefaultFuchsiaResourceDialect
12830 ),
12831 i32_0: fidl::new_empty!(
12832 fidl::encoding::UnboundedVector<i32>,
12833 fidl::encoding::DefaultFuchsiaResourceDialect
12834 ),
12835 i64_0: fidl::new_empty!(
12836 fidl::encoding::UnboundedVector<i64>,
12837 fidl::encoding::DefaultFuchsiaResourceDialect
12838 ),
12839 u8_0: fidl::new_empty!(
12840 fidl::encoding::UnboundedVector<u8>,
12841 fidl::encoding::DefaultFuchsiaResourceDialect
12842 ),
12843 u16_0: fidl::new_empty!(
12844 fidl::encoding::UnboundedVector<u16>,
12845 fidl::encoding::DefaultFuchsiaResourceDialect
12846 ),
12847 u32_0: fidl::new_empty!(
12848 fidl::encoding::UnboundedVector<u32>,
12849 fidl::encoding::DefaultFuchsiaResourceDialect
12850 ),
12851 u64_0: fidl::new_empty!(
12852 fidl::encoding::UnboundedVector<u64>,
12853 fidl::encoding::DefaultFuchsiaResourceDialect
12854 ),
12855 f32_0: fidl::new_empty!(
12856 fidl::encoding::UnboundedVector<f32>,
12857 fidl::encoding::DefaultFuchsiaResourceDialect
12858 ),
12859 f64_0: fidl::new_empty!(
12860 fidl::encoding::UnboundedVector<f64>,
12861 fidl::encoding::DefaultFuchsiaResourceDialect
12862 ),
12863 handle_0: fidl::new_empty!(
12864 fidl::encoding::UnboundedVector<
12865 fidl::encoding::HandleType<
12866 fidl::NullableHandle,
12867 { fidl::ObjectType::NONE.into_raw() },
12868 2147483648,
12869 >,
12870 >,
12871 fidl::encoding::DefaultFuchsiaResourceDialect
12872 ),
12873 b_1: fidl::new_empty!(
12874 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
12875 fidl::encoding::DefaultFuchsiaResourceDialect
12876 ),
12877 i8_1: fidl::new_empty!(
12878 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
12879 fidl::encoding::DefaultFuchsiaResourceDialect
12880 ),
12881 i16_1: fidl::new_empty!(
12882 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
12883 fidl::encoding::DefaultFuchsiaResourceDialect
12884 ),
12885 i32_1: fidl::new_empty!(
12886 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
12887 fidl::encoding::DefaultFuchsiaResourceDialect
12888 ),
12889 i64_1: fidl::new_empty!(
12890 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
12891 fidl::encoding::DefaultFuchsiaResourceDialect
12892 ),
12893 u8_1: fidl::new_empty!(
12894 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
12895 fidl::encoding::DefaultFuchsiaResourceDialect
12896 ),
12897 u16_1: fidl::new_empty!(
12898 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
12899 fidl::encoding::DefaultFuchsiaResourceDialect
12900 ),
12901 u32_1: fidl::new_empty!(
12902 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
12903 fidl::encoding::DefaultFuchsiaResourceDialect
12904 ),
12905 u64_1: fidl::new_empty!(
12906 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
12907 fidl::encoding::DefaultFuchsiaResourceDialect
12908 ),
12909 f32_1: fidl::new_empty!(
12910 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
12911 fidl::encoding::DefaultFuchsiaResourceDialect
12912 ),
12913 f64_1: fidl::new_empty!(
12914 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
12915 fidl::encoding::DefaultFuchsiaResourceDialect
12916 ),
12917 handle_1: fidl::new_empty!(
12918 fidl::encoding::UnboundedVector<
12919 fidl::encoding::Vector<
12920 fidl::encoding::HandleType<
12921 fidl::NullableHandle,
12922 { fidl::ObjectType::NONE.into_raw() },
12923 2147483648,
12924 >,
12925 2,
12926 >,
12927 >,
12928 fidl::encoding::DefaultFuchsiaResourceDialect
12929 ),
12930 b_sized_0: fidl::new_empty!(fidl::encoding::Vector<bool, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12931 i8_sized_0: fidl::new_empty!(fidl::encoding::Vector<i8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12932 i16_sized_0: fidl::new_empty!(fidl::encoding::Vector<i16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12933 i32_sized_0: fidl::new_empty!(fidl::encoding::Vector<i32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12934 i64_sized_0: fidl::new_empty!(fidl::encoding::Vector<i64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12935 u8_sized_0: fidl::new_empty!(fidl::encoding::Vector<u8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12936 u16_sized_0: fidl::new_empty!(fidl::encoding::Vector<u16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12937 u32_sized_0: fidl::new_empty!(fidl::encoding::Vector<u32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12938 u64_sized_0: fidl::new_empty!(fidl::encoding::Vector<u64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12939 f32_sized_0: fidl::new_empty!(fidl::encoding::Vector<f32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12940 f64_sized_0: fidl::new_empty!(fidl::encoding::Vector<f64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12941 handle_sized_0: fidl::new_empty!(
12942 fidl::encoding::Vector<
12943 fidl::encoding::HandleType<
12944 fidl::NullableHandle,
12945 { fidl::ObjectType::NONE.into_raw() },
12946 2147483648,
12947 >,
12948 1,
12949 >,
12950 fidl::encoding::DefaultFuchsiaResourceDialect
12951 ),
12952 b_sized_1: fidl::new_empty!(fidl::encoding::Vector<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12953 i8_sized_1: fidl::new_empty!(fidl::encoding::Vector<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12954 i16_sized_1: fidl::new_empty!(fidl::encoding::Vector<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12955 i32_sized_1: fidl::new_empty!(fidl::encoding::Vector<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12956 i64_sized_1: fidl::new_empty!(fidl::encoding::Vector<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12957 u8_sized_1: fidl::new_empty!(fidl::encoding::Vector<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12958 u16_sized_1: fidl::new_empty!(fidl::encoding::Vector<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12959 u32_sized_1: fidl::new_empty!(fidl::encoding::Vector<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12960 u64_sized_1: fidl::new_empty!(fidl::encoding::Vector<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12961 f32_sized_1: fidl::new_empty!(fidl::encoding::Vector<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12962 f64_sized_1: fidl::new_empty!(fidl::encoding::Vector<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12963 handle_sized_1: fidl::new_empty!(
12964 fidl::encoding::Vector<
12965 fidl::encoding::HandleType<
12966 fidl::NullableHandle,
12967 { fidl::ObjectType::NONE.into_raw() },
12968 2147483648,
12969 >,
12970 3,
12971 >,
12972 fidl::encoding::DefaultFuchsiaResourceDialect
12973 ),
12974 b_sized_2: fidl::new_empty!(
12975 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
12976 fidl::encoding::DefaultFuchsiaResourceDialect
12977 ),
12978 i8_sized_2: fidl::new_empty!(
12979 fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>,
12980 fidl::encoding::DefaultFuchsiaResourceDialect
12981 ),
12982 i16_sized_2: fidl::new_empty!(
12983 fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>,
12984 fidl::encoding::DefaultFuchsiaResourceDialect
12985 ),
12986 i32_sized_2: fidl::new_empty!(
12987 fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>,
12988 fidl::encoding::DefaultFuchsiaResourceDialect
12989 ),
12990 i64_sized_2: fidl::new_empty!(
12991 fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>,
12992 fidl::encoding::DefaultFuchsiaResourceDialect
12993 ),
12994 u8_sized_2: fidl::new_empty!(
12995 fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>,
12996 fidl::encoding::DefaultFuchsiaResourceDialect
12997 ),
12998 u16_sized_2: fidl::new_empty!(
12999 fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>,
13000 fidl::encoding::DefaultFuchsiaResourceDialect
13001 ),
13002 u32_sized_2: fidl::new_empty!(
13003 fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>,
13004 fidl::encoding::DefaultFuchsiaResourceDialect
13005 ),
13006 u64_sized_2: fidl::new_empty!(
13007 fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>,
13008 fidl::encoding::DefaultFuchsiaResourceDialect
13009 ),
13010 f32_sized_2: fidl::new_empty!(
13011 fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>,
13012 fidl::encoding::DefaultFuchsiaResourceDialect
13013 ),
13014 f64_sized_2: fidl::new_empty!(
13015 fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>,
13016 fidl::encoding::DefaultFuchsiaResourceDialect
13017 ),
13018 handle_sized_2: fidl::new_empty!(
13019 fidl::encoding::Vector<
13020 fidl::encoding::Vector<
13021 fidl::encoding::HandleType<
13022 fidl::NullableHandle,
13023 { fidl::ObjectType::NONE.into_raw() },
13024 2147483648,
13025 >,
13026 2,
13027 >,
13028 3,
13029 >,
13030 fidl::encoding::DefaultFuchsiaResourceDialect
13031 ),
13032 b_nullable_0: fidl::new_empty!(
13033 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
13034 fidl::encoding::DefaultFuchsiaResourceDialect
13035 ),
13036 i8_nullable_0: fidl::new_empty!(
13037 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
13038 fidl::encoding::DefaultFuchsiaResourceDialect
13039 ),
13040 i16_nullable_0: fidl::new_empty!(
13041 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
13042 fidl::encoding::DefaultFuchsiaResourceDialect
13043 ),
13044 i32_nullable_0: fidl::new_empty!(
13045 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
13046 fidl::encoding::DefaultFuchsiaResourceDialect
13047 ),
13048 i64_nullable_0: fidl::new_empty!(
13049 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
13050 fidl::encoding::DefaultFuchsiaResourceDialect
13051 ),
13052 u8_nullable_0: fidl::new_empty!(
13053 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
13054 fidl::encoding::DefaultFuchsiaResourceDialect
13055 ),
13056 u16_nullable_0: fidl::new_empty!(
13057 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
13058 fidl::encoding::DefaultFuchsiaResourceDialect
13059 ),
13060 u32_nullable_0: fidl::new_empty!(
13061 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
13062 fidl::encoding::DefaultFuchsiaResourceDialect
13063 ),
13064 u64_nullable_0: fidl::new_empty!(
13065 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
13066 fidl::encoding::DefaultFuchsiaResourceDialect
13067 ),
13068 f32_nullable_0: fidl::new_empty!(
13069 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
13070 fidl::encoding::DefaultFuchsiaResourceDialect
13071 ),
13072 f64_nullable_0: fidl::new_empty!(
13073 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
13074 fidl::encoding::DefaultFuchsiaResourceDialect
13075 ),
13076 handle_nullable_0: fidl::new_empty!(
13077 fidl::encoding::Optional<
13078 fidl::encoding::Vector<
13079 fidl::encoding::HandleType<
13080 fidl::NullableHandle,
13081 { fidl::ObjectType::NONE.into_raw() },
13082 2147483648,
13083 >,
13084 1,
13085 >,
13086 >,
13087 fidl::encoding::DefaultFuchsiaResourceDialect
13088 ),
13089 b_nullable_1: fidl::new_empty!(
13090 fidl::encoding::Optional<
13091 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
13092 >,
13093 fidl::encoding::DefaultFuchsiaResourceDialect
13094 ),
13095 i8_nullable_1: fidl::new_empty!(
13096 fidl::encoding::Optional<
13097 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
13098 >,
13099 fidl::encoding::DefaultFuchsiaResourceDialect
13100 ),
13101 i16_nullable_1: fidl::new_empty!(
13102 fidl::encoding::Optional<
13103 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
13104 >,
13105 fidl::encoding::DefaultFuchsiaResourceDialect
13106 ),
13107 i32_nullable_1: fidl::new_empty!(
13108 fidl::encoding::Optional<
13109 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
13110 >,
13111 fidl::encoding::DefaultFuchsiaResourceDialect
13112 ),
13113 i64_nullable_1: fidl::new_empty!(
13114 fidl::encoding::Optional<
13115 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
13116 >,
13117 fidl::encoding::DefaultFuchsiaResourceDialect
13118 ),
13119 u8_nullable_1: fidl::new_empty!(
13120 fidl::encoding::Optional<
13121 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
13122 >,
13123 fidl::encoding::DefaultFuchsiaResourceDialect
13124 ),
13125 u16_nullable_1: fidl::new_empty!(
13126 fidl::encoding::Optional<
13127 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
13128 >,
13129 fidl::encoding::DefaultFuchsiaResourceDialect
13130 ),
13131 u32_nullable_1: fidl::new_empty!(
13132 fidl::encoding::Optional<
13133 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
13134 >,
13135 fidl::encoding::DefaultFuchsiaResourceDialect
13136 ),
13137 u64_nullable_1: fidl::new_empty!(
13138 fidl::encoding::Optional<
13139 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
13140 >,
13141 fidl::encoding::DefaultFuchsiaResourceDialect
13142 ),
13143 f32_nullable_1: fidl::new_empty!(
13144 fidl::encoding::Optional<
13145 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
13146 >,
13147 fidl::encoding::DefaultFuchsiaResourceDialect
13148 ),
13149 f64_nullable_1: fidl::new_empty!(
13150 fidl::encoding::Optional<
13151 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
13152 >,
13153 fidl::encoding::DefaultFuchsiaResourceDialect
13154 ),
13155 handle_nullable_1: fidl::new_empty!(
13156 fidl::encoding::Optional<
13157 fidl::encoding::UnboundedVector<
13158 fidl::encoding::Vector<
13159 fidl::encoding::HandleType<
13160 fidl::NullableHandle,
13161 { fidl::ObjectType::NONE.into_raw() },
13162 2147483648,
13163 >,
13164 2,
13165 >,
13166 >,
13167 >,
13168 fidl::encoding::DefaultFuchsiaResourceDialect
13169 ),
13170 b_nullable_sized_0: fidl::new_empty!(
13171 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
13172 fidl::encoding::DefaultFuchsiaResourceDialect
13173 ),
13174 i8_nullable_sized_0: fidl::new_empty!(
13175 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
13176 fidl::encoding::DefaultFuchsiaResourceDialect
13177 ),
13178 i16_nullable_sized_0: fidl::new_empty!(
13179 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
13180 fidl::encoding::DefaultFuchsiaResourceDialect
13181 ),
13182 i32_nullable_sized_0: fidl::new_empty!(
13183 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
13184 fidl::encoding::DefaultFuchsiaResourceDialect
13185 ),
13186 i64_nullable_sized_0: fidl::new_empty!(
13187 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
13188 fidl::encoding::DefaultFuchsiaResourceDialect
13189 ),
13190 u8_nullable_sized_0: fidl::new_empty!(
13191 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
13192 fidl::encoding::DefaultFuchsiaResourceDialect
13193 ),
13194 u16_nullable_sized_0: fidl::new_empty!(
13195 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
13196 fidl::encoding::DefaultFuchsiaResourceDialect
13197 ),
13198 u32_nullable_sized_0: fidl::new_empty!(
13199 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
13200 fidl::encoding::DefaultFuchsiaResourceDialect
13201 ),
13202 u64_nullable_sized_0: fidl::new_empty!(
13203 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
13204 fidl::encoding::DefaultFuchsiaResourceDialect
13205 ),
13206 f32_nullable_sized_0: fidl::new_empty!(
13207 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
13208 fidl::encoding::DefaultFuchsiaResourceDialect
13209 ),
13210 f64_nullable_sized_0: fidl::new_empty!(
13211 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
13212 fidl::encoding::DefaultFuchsiaResourceDialect
13213 ),
13214 handle_nullable_sized_0: fidl::new_empty!(
13215 fidl::encoding::Optional<
13216 fidl::encoding::Vector<
13217 fidl::encoding::HandleType<
13218 fidl::NullableHandle,
13219 { fidl::ObjectType::NONE.into_raw() },
13220 2147483648,
13221 >,
13222 1,
13223 >,
13224 >,
13225 fidl::encoding::DefaultFuchsiaResourceDialect
13226 ),
13227 b_nullable_sized_1: fidl::new_empty!(
13228 fidl::encoding::Optional<fidl::encoding::Vector<bool, 3>>,
13229 fidl::encoding::DefaultFuchsiaResourceDialect
13230 ),
13231 i8_nullable_sized_1: fidl::new_empty!(
13232 fidl::encoding::Optional<fidl::encoding::Vector<i8, 3>>,
13233 fidl::encoding::DefaultFuchsiaResourceDialect
13234 ),
13235 i16_nullable_sized_1: fidl::new_empty!(
13236 fidl::encoding::Optional<fidl::encoding::Vector<i16, 3>>,
13237 fidl::encoding::DefaultFuchsiaResourceDialect
13238 ),
13239 i32_nullable_sized_1: fidl::new_empty!(
13240 fidl::encoding::Optional<fidl::encoding::Vector<i32, 3>>,
13241 fidl::encoding::DefaultFuchsiaResourceDialect
13242 ),
13243 i64_nullable_sized_1: fidl::new_empty!(
13244 fidl::encoding::Optional<fidl::encoding::Vector<i64, 3>>,
13245 fidl::encoding::DefaultFuchsiaResourceDialect
13246 ),
13247 u8_nullable_sized_1: fidl::new_empty!(
13248 fidl::encoding::Optional<fidl::encoding::Vector<u8, 3>>,
13249 fidl::encoding::DefaultFuchsiaResourceDialect
13250 ),
13251 u16_nullable_sized_1: fidl::new_empty!(
13252 fidl::encoding::Optional<fidl::encoding::Vector<u16, 3>>,
13253 fidl::encoding::DefaultFuchsiaResourceDialect
13254 ),
13255 u32_nullable_sized_1: fidl::new_empty!(
13256 fidl::encoding::Optional<fidl::encoding::Vector<u32, 3>>,
13257 fidl::encoding::DefaultFuchsiaResourceDialect
13258 ),
13259 u64_nullable_sized_1: fidl::new_empty!(
13260 fidl::encoding::Optional<fidl::encoding::Vector<u64, 3>>,
13261 fidl::encoding::DefaultFuchsiaResourceDialect
13262 ),
13263 f32_nullable_sized_1: fidl::new_empty!(
13264 fidl::encoding::Optional<fidl::encoding::Vector<f32, 3>>,
13265 fidl::encoding::DefaultFuchsiaResourceDialect
13266 ),
13267 f64_nullable_sized_1: fidl::new_empty!(
13268 fidl::encoding::Optional<fidl::encoding::Vector<f64, 3>>,
13269 fidl::encoding::DefaultFuchsiaResourceDialect
13270 ),
13271 handle_nullable_sized_1: fidl::new_empty!(
13272 fidl::encoding::Optional<
13273 fidl::encoding::Vector<
13274 fidl::encoding::HandleType<
13275 fidl::NullableHandle,
13276 { fidl::ObjectType::NONE.into_raw() },
13277 2147483648,
13278 >,
13279 3,
13280 >,
13281 >,
13282 fidl::encoding::DefaultFuchsiaResourceDialect
13283 ),
13284 b_nullable_sized_2: fidl::new_empty!(
13285 fidl::encoding::Optional<
13286 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
13287 >,
13288 fidl::encoding::DefaultFuchsiaResourceDialect
13289 ),
13290 i8_nullable_sized_2: fidl::new_empty!(
13291 fidl::encoding::Optional<
13292 fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>,
13293 >,
13294 fidl::encoding::DefaultFuchsiaResourceDialect
13295 ),
13296 i16_nullable_sized_2: fidl::new_empty!(
13297 fidl::encoding::Optional<
13298 fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>,
13299 >,
13300 fidl::encoding::DefaultFuchsiaResourceDialect
13301 ),
13302 i32_nullable_sized_2: fidl::new_empty!(
13303 fidl::encoding::Optional<
13304 fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>,
13305 >,
13306 fidl::encoding::DefaultFuchsiaResourceDialect
13307 ),
13308 i64_nullable_sized_2: fidl::new_empty!(
13309 fidl::encoding::Optional<
13310 fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>,
13311 >,
13312 fidl::encoding::DefaultFuchsiaResourceDialect
13313 ),
13314 u8_nullable_sized_2: fidl::new_empty!(
13315 fidl::encoding::Optional<
13316 fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>,
13317 >,
13318 fidl::encoding::DefaultFuchsiaResourceDialect
13319 ),
13320 u16_nullable_sized_2: fidl::new_empty!(
13321 fidl::encoding::Optional<
13322 fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>,
13323 >,
13324 fidl::encoding::DefaultFuchsiaResourceDialect
13325 ),
13326 u32_nullable_sized_2: fidl::new_empty!(
13327 fidl::encoding::Optional<
13328 fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>,
13329 >,
13330 fidl::encoding::DefaultFuchsiaResourceDialect
13331 ),
13332 u64_nullable_sized_2: fidl::new_empty!(
13333 fidl::encoding::Optional<
13334 fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>,
13335 >,
13336 fidl::encoding::DefaultFuchsiaResourceDialect
13337 ),
13338 f32_nullable_sized_2: fidl::new_empty!(
13339 fidl::encoding::Optional<
13340 fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>,
13341 >,
13342 fidl::encoding::DefaultFuchsiaResourceDialect
13343 ),
13344 f64_nullable_sized_2: fidl::new_empty!(
13345 fidl::encoding::Optional<
13346 fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>,
13347 >,
13348 fidl::encoding::DefaultFuchsiaResourceDialect
13349 ),
13350 handle_nullable_sized_2: fidl::new_empty!(
13351 fidl::encoding::Optional<
13352 fidl::encoding::Vector<
13353 fidl::encoding::Vector<
13354 fidl::encoding::HandleType<
13355 fidl::NullableHandle,
13356 { fidl::ObjectType::NONE.into_raw() },
13357 2147483648,
13358 >,
13359 2,
13360 >,
13361 3,
13362 >,
13363 >,
13364 fidl::encoding::DefaultFuchsiaResourceDialect
13365 ),
13366 }
13367 }
13368
13369 #[inline]
13370 unsafe fn decode(
13371 &mut self,
13372 decoder: &mut fidl::encoding::Decoder<
13373 '_,
13374 fidl::encoding::DefaultFuchsiaResourceDialect,
13375 >,
13376 offset: usize,
13377 _depth: fidl::encoding::Depth,
13378 ) -> fidl::Result<()> {
13379 decoder.debug_check_bounds::<Self>(offset);
13380 fidl::decode!(
13382 fidl::encoding::UnboundedVector<bool>,
13383 fidl::encoding::DefaultFuchsiaResourceDialect,
13384 &mut self.b_0,
13385 decoder,
13386 offset + 0,
13387 _depth
13388 )?;
13389 fidl::decode!(
13390 fidl::encoding::UnboundedVector<i8>,
13391 fidl::encoding::DefaultFuchsiaResourceDialect,
13392 &mut self.i8_0,
13393 decoder,
13394 offset + 16,
13395 _depth
13396 )?;
13397 fidl::decode!(
13398 fidl::encoding::UnboundedVector<i16>,
13399 fidl::encoding::DefaultFuchsiaResourceDialect,
13400 &mut self.i16_0,
13401 decoder,
13402 offset + 32,
13403 _depth
13404 )?;
13405 fidl::decode!(
13406 fidl::encoding::UnboundedVector<i32>,
13407 fidl::encoding::DefaultFuchsiaResourceDialect,
13408 &mut self.i32_0,
13409 decoder,
13410 offset + 48,
13411 _depth
13412 )?;
13413 fidl::decode!(
13414 fidl::encoding::UnboundedVector<i64>,
13415 fidl::encoding::DefaultFuchsiaResourceDialect,
13416 &mut self.i64_0,
13417 decoder,
13418 offset + 64,
13419 _depth
13420 )?;
13421 fidl::decode!(
13422 fidl::encoding::UnboundedVector<u8>,
13423 fidl::encoding::DefaultFuchsiaResourceDialect,
13424 &mut self.u8_0,
13425 decoder,
13426 offset + 80,
13427 _depth
13428 )?;
13429 fidl::decode!(
13430 fidl::encoding::UnboundedVector<u16>,
13431 fidl::encoding::DefaultFuchsiaResourceDialect,
13432 &mut self.u16_0,
13433 decoder,
13434 offset + 96,
13435 _depth
13436 )?;
13437 fidl::decode!(
13438 fidl::encoding::UnboundedVector<u32>,
13439 fidl::encoding::DefaultFuchsiaResourceDialect,
13440 &mut self.u32_0,
13441 decoder,
13442 offset + 112,
13443 _depth
13444 )?;
13445 fidl::decode!(
13446 fidl::encoding::UnboundedVector<u64>,
13447 fidl::encoding::DefaultFuchsiaResourceDialect,
13448 &mut self.u64_0,
13449 decoder,
13450 offset + 128,
13451 _depth
13452 )?;
13453 fidl::decode!(
13454 fidl::encoding::UnboundedVector<f32>,
13455 fidl::encoding::DefaultFuchsiaResourceDialect,
13456 &mut self.f32_0,
13457 decoder,
13458 offset + 144,
13459 _depth
13460 )?;
13461 fidl::decode!(
13462 fidl::encoding::UnboundedVector<f64>,
13463 fidl::encoding::DefaultFuchsiaResourceDialect,
13464 &mut self.f64_0,
13465 decoder,
13466 offset + 160,
13467 _depth
13468 )?;
13469 fidl::decode!(
13470 fidl::encoding::UnboundedVector<
13471 fidl::encoding::HandleType<
13472 fidl::NullableHandle,
13473 { fidl::ObjectType::NONE.into_raw() },
13474 2147483648,
13475 >,
13476 >,
13477 fidl::encoding::DefaultFuchsiaResourceDialect,
13478 &mut self.handle_0,
13479 decoder,
13480 offset + 176,
13481 _depth
13482 )?;
13483 fidl::decode!(
13484 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
13485 fidl::encoding::DefaultFuchsiaResourceDialect,
13486 &mut self.b_1,
13487 decoder,
13488 offset + 192,
13489 _depth
13490 )?;
13491 fidl::decode!(
13492 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
13493 fidl::encoding::DefaultFuchsiaResourceDialect,
13494 &mut self.i8_1,
13495 decoder,
13496 offset + 208,
13497 _depth
13498 )?;
13499 fidl::decode!(
13500 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
13501 fidl::encoding::DefaultFuchsiaResourceDialect,
13502 &mut self.i16_1,
13503 decoder,
13504 offset + 224,
13505 _depth
13506 )?;
13507 fidl::decode!(
13508 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
13509 fidl::encoding::DefaultFuchsiaResourceDialect,
13510 &mut self.i32_1,
13511 decoder,
13512 offset + 240,
13513 _depth
13514 )?;
13515 fidl::decode!(
13516 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
13517 fidl::encoding::DefaultFuchsiaResourceDialect,
13518 &mut self.i64_1,
13519 decoder,
13520 offset + 256,
13521 _depth
13522 )?;
13523 fidl::decode!(
13524 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
13525 fidl::encoding::DefaultFuchsiaResourceDialect,
13526 &mut self.u8_1,
13527 decoder,
13528 offset + 272,
13529 _depth
13530 )?;
13531 fidl::decode!(
13532 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
13533 fidl::encoding::DefaultFuchsiaResourceDialect,
13534 &mut self.u16_1,
13535 decoder,
13536 offset + 288,
13537 _depth
13538 )?;
13539 fidl::decode!(
13540 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
13541 fidl::encoding::DefaultFuchsiaResourceDialect,
13542 &mut self.u32_1,
13543 decoder,
13544 offset + 304,
13545 _depth
13546 )?;
13547 fidl::decode!(
13548 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
13549 fidl::encoding::DefaultFuchsiaResourceDialect,
13550 &mut self.u64_1,
13551 decoder,
13552 offset + 320,
13553 _depth
13554 )?;
13555 fidl::decode!(
13556 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
13557 fidl::encoding::DefaultFuchsiaResourceDialect,
13558 &mut self.f32_1,
13559 decoder,
13560 offset + 336,
13561 _depth
13562 )?;
13563 fidl::decode!(
13564 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
13565 fidl::encoding::DefaultFuchsiaResourceDialect,
13566 &mut self.f64_1,
13567 decoder,
13568 offset + 352,
13569 _depth
13570 )?;
13571 fidl::decode!(
13572 fidl::encoding::UnboundedVector<
13573 fidl::encoding::Vector<
13574 fidl::encoding::HandleType<
13575 fidl::NullableHandle,
13576 { fidl::ObjectType::NONE.into_raw() },
13577 2147483648,
13578 >,
13579 2,
13580 >,
13581 >,
13582 fidl::encoding::DefaultFuchsiaResourceDialect,
13583 &mut self.handle_1,
13584 decoder,
13585 offset + 368,
13586 _depth
13587 )?;
13588 fidl::decode!(fidl::encoding::Vector<bool, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.b_sized_0, decoder, offset + 384, _depth)?;
13589 fidl::decode!(fidl::encoding::Vector<i8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i8_sized_0, decoder, offset + 400, _depth)?;
13590 fidl::decode!(fidl::encoding::Vector<i16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i16_sized_0, decoder, offset + 416, _depth)?;
13591 fidl::decode!(fidl::encoding::Vector<i32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i32_sized_0, decoder, offset + 432, _depth)?;
13592 fidl::decode!(fidl::encoding::Vector<i64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i64_sized_0, decoder, offset + 448, _depth)?;
13593 fidl::decode!(fidl::encoding::Vector<u8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u8_sized_0, decoder, offset + 464, _depth)?;
13594 fidl::decode!(fidl::encoding::Vector<u16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u16_sized_0, decoder, offset + 480, _depth)?;
13595 fidl::decode!(fidl::encoding::Vector<u32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u32_sized_0, decoder, offset + 496, _depth)?;
13596 fidl::decode!(fidl::encoding::Vector<u64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u64_sized_0, decoder, offset + 512, _depth)?;
13597 fidl::decode!(fidl::encoding::Vector<f32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f32_sized_0, decoder, offset + 528, _depth)?;
13598 fidl::decode!(fidl::encoding::Vector<f64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f64_sized_0, decoder, offset + 544, _depth)?;
13599 fidl::decode!(
13600 fidl::encoding::Vector<
13601 fidl::encoding::HandleType<
13602 fidl::NullableHandle,
13603 { fidl::ObjectType::NONE.into_raw() },
13604 2147483648,
13605 >,
13606 1,
13607 >,
13608 fidl::encoding::DefaultFuchsiaResourceDialect,
13609 &mut self.handle_sized_0,
13610 decoder,
13611 offset + 560,
13612 _depth
13613 )?;
13614 fidl::decode!(fidl::encoding::Vector<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.b_sized_1, decoder, offset + 576, _depth)?;
13615 fidl::decode!(fidl::encoding::Vector<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i8_sized_1, decoder, offset + 592, _depth)?;
13616 fidl::decode!(fidl::encoding::Vector<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i16_sized_1, decoder, offset + 608, _depth)?;
13617 fidl::decode!(fidl::encoding::Vector<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i32_sized_1, decoder, offset + 624, _depth)?;
13618 fidl::decode!(fidl::encoding::Vector<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i64_sized_1, decoder, offset + 640, _depth)?;
13619 fidl::decode!(fidl::encoding::Vector<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u8_sized_1, decoder, offset + 656, _depth)?;
13620 fidl::decode!(fidl::encoding::Vector<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u16_sized_1, decoder, offset + 672, _depth)?;
13621 fidl::decode!(fidl::encoding::Vector<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u32_sized_1, decoder, offset + 688, _depth)?;
13622 fidl::decode!(fidl::encoding::Vector<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u64_sized_1, decoder, offset + 704, _depth)?;
13623 fidl::decode!(fidl::encoding::Vector<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f32_sized_1, decoder, offset + 720, _depth)?;
13624 fidl::decode!(fidl::encoding::Vector<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f64_sized_1, decoder, offset + 736, _depth)?;
13625 fidl::decode!(
13626 fidl::encoding::Vector<
13627 fidl::encoding::HandleType<
13628 fidl::NullableHandle,
13629 { fidl::ObjectType::NONE.into_raw() },
13630 2147483648,
13631 >,
13632 3,
13633 >,
13634 fidl::encoding::DefaultFuchsiaResourceDialect,
13635 &mut self.handle_sized_1,
13636 decoder,
13637 offset + 752,
13638 _depth
13639 )?;
13640 fidl::decode!(
13641 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
13642 fidl::encoding::DefaultFuchsiaResourceDialect,
13643 &mut self.b_sized_2,
13644 decoder,
13645 offset + 768,
13646 _depth
13647 )?;
13648 fidl::decode!(
13649 fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>,
13650 fidl::encoding::DefaultFuchsiaResourceDialect,
13651 &mut self.i8_sized_2,
13652 decoder,
13653 offset + 784,
13654 _depth
13655 )?;
13656 fidl::decode!(
13657 fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>,
13658 fidl::encoding::DefaultFuchsiaResourceDialect,
13659 &mut self.i16_sized_2,
13660 decoder,
13661 offset + 800,
13662 _depth
13663 )?;
13664 fidl::decode!(
13665 fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>,
13666 fidl::encoding::DefaultFuchsiaResourceDialect,
13667 &mut self.i32_sized_2,
13668 decoder,
13669 offset + 816,
13670 _depth
13671 )?;
13672 fidl::decode!(
13673 fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>,
13674 fidl::encoding::DefaultFuchsiaResourceDialect,
13675 &mut self.i64_sized_2,
13676 decoder,
13677 offset + 832,
13678 _depth
13679 )?;
13680 fidl::decode!(
13681 fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>,
13682 fidl::encoding::DefaultFuchsiaResourceDialect,
13683 &mut self.u8_sized_2,
13684 decoder,
13685 offset + 848,
13686 _depth
13687 )?;
13688 fidl::decode!(
13689 fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>,
13690 fidl::encoding::DefaultFuchsiaResourceDialect,
13691 &mut self.u16_sized_2,
13692 decoder,
13693 offset + 864,
13694 _depth
13695 )?;
13696 fidl::decode!(
13697 fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>,
13698 fidl::encoding::DefaultFuchsiaResourceDialect,
13699 &mut self.u32_sized_2,
13700 decoder,
13701 offset + 880,
13702 _depth
13703 )?;
13704 fidl::decode!(
13705 fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>,
13706 fidl::encoding::DefaultFuchsiaResourceDialect,
13707 &mut self.u64_sized_2,
13708 decoder,
13709 offset + 896,
13710 _depth
13711 )?;
13712 fidl::decode!(
13713 fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>,
13714 fidl::encoding::DefaultFuchsiaResourceDialect,
13715 &mut self.f32_sized_2,
13716 decoder,
13717 offset + 912,
13718 _depth
13719 )?;
13720 fidl::decode!(
13721 fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>,
13722 fidl::encoding::DefaultFuchsiaResourceDialect,
13723 &mut self.f64_sized_2,
13724 decoder,
13725 offset + 928,
13726 _depth
13727 )?;
13728 fidl::decode!(
13729 fidl::encoding::Vector<
13730 fidl::encoding::Vector<
13731 fidl::encoding::HandleType<
13732 fidl::NullableHandle,
13733 { fidl::ObjectType::NONE.into_raw() },
13734 2147483648,
13735 >,
13736 2,
13737 >,
13738 3,
13739 >,
13740 fidl::encoding::DefaultFuchsiaResourceDialect,
13741 &mut self.handle_sized_2,
13742 decoder,
13743 offset + 944,
13744 _depth
13745 )?;
13746 fidl::decode!(
13747 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
13748 fidl::encoding::DefaultFuchsiaResourceDialect,
13749 &mut self.b_nullable_0,
13750 decoder,
13751 offset + 960,
13752 _depth
13753 )?;
13754 fidl::decode!(
13755 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
13756 fidl::encoding::DefaultFuchsiaResourceDialect,
13757 &mut self.i8_nullable_0,
13758 decoder,
13759 offset + 976,
13760 _depth
13761 )?;
13762 fidl::decode!(
13763 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
13764 fidl::encoding::DefaultFuchsiaResourceDialect,
13765 &mut self.i16_nullable_0,
13766 decoder,
13767 offset + 992,
13768 _depth
13769 )?;
13770 fidl::decode!(
13771 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
13772 fidl::encoding::DefaultFuchsiaResourceDialect,
13773 &mut self.i32_nullable_0,
13774 decoder,
13775 offset + 1008,
13776 _depth
13777 )?;
13778 fidl::decode!(
13779 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
13780 fidl::encoding::DefaultFuchsiaResourceDialect,
13781 &mut self.i64_nullable_0,
13782 decoder,
13783 offset + 1024,
13784 _depth
13785 )?;
13786 fidl::decode!(
13787 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
13788 fidl::encoding::DefaultFuchsiaResourceDialect,
13789 &mut self.u8_nullable_0,
13790 decoder,
13791 offset + 1040,
13792 _depth
13793 )?;
13794 fidl::decode!(
13795 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
13796 fidl::encoding::DefaultFuchsiaResourceDialect,
13797 &mut self.u16_nullable_0,
13798 decoder,
13799 offset + 1056,
13800 _depth
13801 )?;
13802 fidl::decode!(
13803 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
13804 fidl::encoding::DefaultFuchsiaResourceDialect,
13805 &mut self.u32_nullable_0,
13806 decoder,
13807 offset + 1072,
13808 _depth
13809 )?;
13810 fidl::decode!(
13811 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
13812 fidl::encoding::DefaultFuchsiaResourceDialect,
13813 &mut self.u64_nullable_0,
13814 decoder,
13815 offset + 1088,
13816 _depth
13817 )?;
13818 fidl::decode!(
13819 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
13820 fidl::encoding::DefaultFuchsiaResourceDialect,
13821 &mut self.f32_nullable_0,
13822 decoder,
13823 offset + 1104,
13824 _depth
13825 )?;
13826 fidl::decode!(
13827 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
13828 fidl::encoding::DefaultFuchsiaResourceDialect,
13829 &mut self.f64_nullable_0,
13830 decoder,
13831 offset + 1120,
13832 _depth
13833 )?;
13834 fidl::decode!(
13835 fidl::encoding::Optional<
13836 fidl::encoding::Vector<
13837 fidl::encoding::HandleType<
13838 fidl::NullableHandle,
13839 { fidl::ObjectType::NONE.into_raw() },
13840 2147483648,
13841 >,
13842 1,
13843 >,
13844 >,
13845 fidl::encoding::DefaultFuchsiaResourceDialect,
13846 &mut self.handle_nullable_0,
13847 decoder,
13848 offset + 1136,
13849 _depth
13850 )?;
13851 fidl::decode!(
13852 fidl::encoding::Optional<
13853 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
13854 >,
13855 fidl::encoding::DefaultFuchsiaResourceDialect,
13856 &mut self.b_nullable_1,
13857 decoder,
13858 offset + 1152,
13859 _depth
13860 )?;
13861 fidl::decode!(
13862 fidl::encoding::Optional<
13863 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
13864 >,
13865 fidl::encoding::DefaultFuchsiaResourceDialect,
13866 &mut self.i8_nullable_1,
13867 decoder,
13868 offset + 1168,
13869 _depth
13870 )?;
13871 fidl::decode!(
13872 fidl::encoding::Optional<
13873 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
13874 >,
13875 fidl::encoding::DefaultFuchsiaResourceDialect,
13876 &mut self.i16_nullable_1,
13877 decoder,
13878 offset + 1184,
13879 _depth
13880 )?;
13881 fidl::decode!(
13882 fidl::encoding::Optional<
13883 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
13884 >,
13885 fidl::encoding::DefaultFuchsiaResourceDialect,
13886 &mut self.i32_nullable_1,
13887 decoder,
13888 offset + 1200,
13889 _depth
13890 )?;
13891 fidl::decode!(
13892 fidl::encoding::Optional<
13893 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
13894 >,
13895 fidl::encoding::DefaultFuchsiaResourceDialect,
13896 &mut self.i64_nullable_1,
13897 decoder,
13898 offset + 1216,
13899 _depth
13900 )?;
13901 fidl::decode!(
13902 fidl::encoding::Optional<
13903 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
13904 >,
13905 fidl::encoding::DefaultFuchsiaResourceDialect,
13906 &mut self.u8_nullable_1,
13907 decoder,
13908 offset + 1232,
13909 _depth
13910 )?;
13911 fidl::decode!(
13912 fidl::encoding::Optional<
13913 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
13914 >,
13915 fidl::encoding::DefaultFuchsiaResourceDialect,
13916 &mut self.u16_nullable_1,
13917 decoder,
13918 offset + 1248,
13919 _depth
13920 )?;
13921 fidl::decode!(
13922 fidl::encoding::Optional<
13923 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
13924 >,
13925 fidl::encoding::DefaultFuchsiaResourceDialect,
13926 &mut self.u32_nullable_1,
13927 decoder,
13928 offset + 1264,
13929 _depth
13930 )?;
13931 fidl::decode!(
13932 fidl::encoding::Optional<
13933 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
13934 >,
13935 fidl::encoding::DefaultFuchsiaResourceDialect,
13936 &mut self.u64_nullable_1,
13937 decoder,
13938 offset + 1280,
13939 _depth
13940 )?;
13941 fidl::decode!(
13942 fidl::encoding::Optional<
13943 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
13944 >,
13945 fidl::encoding::DefaultFuchsiaResourceDialect,
13946 &mut self.f32_nullable_1,
13947 decoder,
13948 offset + 1296,
13949 _depth
13950 )?;
13951 fidl::decode!(
13952 fidl::encoding::Optional<
13953 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
13954 >,
13955 fidl::encoding::DefaultFuchsiaResourceDialect,
13956 &mut self.f64_nullable_1,
13957 decoder,
13958 offset + 1312,
13959 _depth
13960 )?;
13961 fidl::decode!(
13962 fidl::encoding::Optional<
13963 fidl::encoding::UnboundedVector<
13964 fidl::encoding::Vector<
13965 fidl::encoding::HandleType<
13966 fidl::NullableHandle,
13967 { fidl::ObjectType::NONE.into_raw() },
13968 2147483648,
13969 >,
13970 2,
13971 >,
13972 >,
13973 >,
13974 fidl::encoding::DefaultFuchsiaResourceDialect,
13975 &mut self.handle_nullable_1,
13976 decoder,
13977 offset + 1328,
13978 _depth
13979 )?;
13980 fidl::decode!(
13981 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
13982 fidl::encoding::DefaultFuchsiaResourceDialect,
13983 &mut self.b_nullable_sized_0,
13984 decoder,
13985 offset + 1344,
13986 _depth
13987 )?;
13988 fidl::decode!(
13989 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
13990 fidl::encoding::DefaultFuchsiaResourceDialect,
13991 &mut self.i8_nullable_sized_0,
13992 decoder,
13993 offset + 1360,
13994 _depth
13995 )?;
13996 fidl::decode!(
13997 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
13998 fidl::encoding::DefaultFuchsiaResourceDialect,
13999 &mut self.i16_nullable_sized_0,
14000 decoder,
14001 offset + 1376,
14002 _depth
14003 )?;
14004 fidl::decode!(
14005 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
14006 fidl::encoding::DefaultFuchsiaResourceDialect,
14007 &mut self.i32_nullable_sized_0,
14008 decoder,
14009 offset + 1392,
14010 _depth
14011 )?;
14012 fidl::decode!(
14013 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
14014 fidl::encoding::DefaultFuchsiaResourceDialect,
14015 &mut self.i64_nullable_sized_0,
14016 decoder,
14017 offset + 1408,
14018 _depth
14019 )?;
14020 fidl::decode!(
14021 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
14022 fidl::encoding::DefaultFuchsiaResourceDialect,
14023 &mut self.u8_nullable_sized_0,
14024 decoder,
14025 offset + 1424,
14026 _depth
14027 )?;
14028 fidl::decode!(
14029 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
14030 fidl::encoding::DefaultFuchsiaResourceDialect,
14031 &mut self.u16_nullable_sized_0,
14032 decoder,
14033 offset + 1440,
14034 _depth
14035 )?;
14036 fidl::decode!(
14037 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
14038 fidl::encoding::DefaultFuchsiaResourceDialect,
14039 &mut self.u32_nullable_sized_0,
14040 decoder,
14041 offset + 1456,
14042 _depth
14043 )?;
14044 fidl::decode!(
14045 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
14046 fidl::encoding::DefaultFuchsiaResourceDialect,
14047 &mut self.u64_nullable_sized_0,
14048 decoder,
14049 offset + 1472,
14050 _depth
14051 )?;
14052 fidl::decode!(
14053 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
14054 fidl::encoding::DefaultFuchsiaResourceDialect,
14055 &mut self.f32_nullable_sized_0,
14056 decoder,
14057 offset + 1488,
14058 _depth
14059 )?;
14060 fidl::decode!(
14061 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
14062 fidl::encoding::DefaultFuchsiaResourceDialect,
14063 &mut self.f64_nullable_sized_0,
14064 decoder,
14065 offset + 1504,
14066 _depth
14067 )?;
14068 fidl::decode!(
14069 fidl::encoding::Optional<
14070 fidl::encoding::Vector<
14071 fidl::encoding::HandleType<
14072 fidl::NullableHandle,
14073 { fidl::ObjectType::NONE.into_raw() },
14074 2147483648,
14075 >,
14076 1,
14077 >,
14078 >,
14079 fidl::encoding::DefaultFuchsiaResourceDialect,
14080 &mut self.handle_nullable_sized_0,
14081 decoder,
14082 offset + 1520,
14083 _depth
14084 )?;
14085 fidl::decode!(
14086 fidl::encoding::Optional<fidl::encoding::Vector<bool, 3>>,
14087 fidl::encoding::DefaultFuchsiaResourceDialect,
14088 &mut self.b_nullable_sized_1,
14089 decoder,
14090 offset + 1536,
14091 _depth
14092 )?;
14093 fidl::decode!(
14094 fidl::encoding::Optional<fidl::encoding::Vector<i8, 3>>,
14095 fidl::encoding::DefaultFuchsiaResourceDialect,
14096 &mut self.i8_nullable_sized_1,
14097 decoder,
14098 offset + 1552,
14099 _depth
14100 )?;
14101 fidl::decode!(
14102 fidl::encoding::Optional<fidl::encoding::Vector<i16, 3>>,
14103 fidl::encoding::DefaultFuchsiaResourceDialect,
14104 &mut self.i16_nullable_sized_1,
14105 decoder,
14106 offset + 1568,
14107 _depth
14108 )?;
14109 fidl::decode!(
14110 fidl::encoding::Optional<fidl::encoding::Vector<i32, 3>>,
14111 fidl::encoding::DefaultFuchsiaResourceDialect,
14112 &mut self.i32_nullable_sized_1,
14113 decoder,
14114 offset + 1584,
14115 _depth
14116 )?;
14117 fidl::decode!(
14118 fidl::encoding::Optional<fidl::encoding::Vector<i64, 3>>,
14119 fidl::encoding::DefaultFuchsiaResourceDialect,
14120 &mut self.i64_nullable_sized_1,
14121 decoder,
14122 offset + 1600,
14123 _depth
14124 )?;
14125 fidl::decode!(
14126 fidl::encoding::Optional<fidl::encoding::Vector<u8, 3>>,
14127 fidl::encoding::DefaultFuchsiaResourceDialect,
14128 &mut self.u8_nullable_sized_1,
14129 decoder,
14130 offset + 1616,
14131 _depth
14132 )?;
14133 fidl::decode!(
14134 fidl::encoding::Optional<fidl::encoding::Vector<u16, 3>>,
14135 fidl::encoding::DefaultFuchsiaResourceDialect,
14136 &mut self.u16_nullable_sized_1,
14137 decoder,
14138 offset + 1632,
14139 _depth
14140 )?;
14141 fidl::decode!(
14142 fidl::encoding::Optional<fidl::encoding::Vector<u32, 3>>,
14143 fidl::encoding::DefaultFuchsiaResourceDialect,
14144 &mut self.u32_nullable_sized_1,
14145 decoder,
14146 offset + 1648,
14147 _depth
14148 )?;
14149 fidl::decode!(
14150 fidl::encoding::Optional<fidl::encoding::Vector<u64, 3>>,
14151 fidl::encoding::DefaultFuchsiaResourceDialect,
14152 &mut self.u64_nullable_sized_1,
14153 decoder,
14154 offset + 1664,
14155 _depth
14156 )?;
14157 fidl::decode!(
14158 fidl::encoding::Optional<fidl::encoding::Vector<f32, 3>>,
14159 fidl::encoding::DefaultFuchsiaResourceDialect,
14160 &mut self.f32_nullable_sized_1,
14161 decoder,
14162 offset + 1680,
14163 _depth
14164 )?;
14165 fidl::decode!(
14166 fidl::encoding::Optional<fidl::encoding::Vector<f64, 3>>,
14167 fidl::encoding::DefaultFuchsiaResourceDialect,
14168 &mut self.f64_nullable_sized_1,
14169 decoder,
14170 offset + 1696,
14171 _depth
14172 )?;
14173 fidl::decode!(
14174 fidl::encoding::Optional<
14175 fidl::encoding::Vector<
14176 fidl::encoding::HandleType<
14177 fidl::NullableHandle,
14178 { fidl::ObjectType::NONE.into_raw() },
14179 2147483648,
14180 >,
14181 3,
14182 >,
14183 >,
14184 fidl::encoding::DefaultFuchsiaResourceDialect,
14185 &mut self.handle_nullable_sized_1,
14186 decoder,
14187 offset + 1712,
14188 _depth
14189 )?;
14190 fidl::decode!(
14191 fidl::encoding::Optional<
14192 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
14193 >,
14194 fidl::encoding::DefaultFuchsiaResourceDialect,
14195 &mut self.b_nullable_sized_2,
14196 decoder,
14197 offset + 1728,
14198 _depth
14199 )?;
14200 fidl::decode!(
14201 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>>,
14202 fidl::encoding::DefaultFuchsiaResourceDialect,
14203 &mut self.i8_nullable_sized_2,
14204 decoder,
14205 offset + 1744,
14206 _depth
14207 )?;
14208 fidl::decode!(
14209 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>>,
14210 fidl::encoding::DefaultFuchsiaResourceDialect,
14211 &mut self.i16_nullable_sized_2,
14212 decoder,
14213 offset + 1760,
14214 _depth
14215 )?;
14216 fidl::decode!(
14217 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>>,
14218 fidl::encoding::DefaultFuchsiaResourceDialect,
14219 &mut self.i32_nullable_sized_2,
14220 decoder,
14221 offset + 1776,
14222 _depth
14223 )?;
14224 fidl::decode!(
14225 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>>,
14226 fidl::encoding::DefaultFuchsiaResourceDialect,
14227 &mut self.i64_nullable_sized_2,
14228 decoder,
14229 offset + 1792,
14230 _depth
14231 )?;
14232 fidl::decode!(
14233 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>>,
14234 fidl::encoding::DefaultFuchsiaResourceDialect,
14235 &mut self.u8_nullable_sized_2,
14236 decoder,
14237 offset + 1808,
14238 _depth
14239 )?;
14240 fidl::decode!(
14241 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>>,
14242 fidl::encoding::DefaultFuchsiaResourceDialect,
14243 &mut self.u16_nullable_sized_2,
14244 decoder,
14245 offset + 1824,
14246 _depth
14247 )?;
14248 fidl::decode!(
14249 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>>,
14250 fidl::encoding::DefaultFuchsiaResourceDialect,
14251 &mut self.u32_nullable_sized_2,
14252 decoder,
14253 offset + 1840,
14254 _depth
14255 )?;
14256 fidl::decode!(
14257 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>>,
14258 fidl::encoding::DefaultFuchsiaResourceDialect,
14259 &mut self.u64_nullable_sized_2,
14260 decoder,
14261 offset + 1856,
14262 _depth
14263 )?;
14264 fidl::decode!(
14265 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>>,
14266 fidl::encoding::DefaultFuchsiaResourceDialect,
14267 &mut self.f32_nullable_sized_2,
14268 decoder,
14269 offset + 1872,
14270 _depth
14271 )?;
14272 fidl::decode!(
14273 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>>,
14274 fidl::encoding::DefaultFuchsiaResourceDialect,
14275 &mut self.f64_nullable_sized_2,
14276 decoder,
14277 offset + 1888,
14278 _depth
14279 )?;
14280 fidl::decode!(
14281 fidl::encoding::Optional<
14282 fidl::encoding::Vector<
14283 fidl::encoding::Vector<
14284 fidl::encoding::HandleType<
14285 fidl::NullableHandle,
14286 { fidl::ObjectType::NONE.into_raw() },
14287 2147483648,
14288 >,
14289 2,
14290 >,
14291 3,
14292 >,
14293 >,
14294 fidl::encoding::DefaultFuchsiaResourceDialect,
14295 &mut self.handle_nullable_sized_2,
14296 decoder,
14297 offset + 1904,
14298 _depth
14299 )?;
14300 Ok(())
14301 }
14302 }
14303
14304 impl AllTypesTable {
14305 #[inline(always)]
14306 fn max_ordinal_present(&self) -> u64 {
14307 if let Some(_) = self.xunion_member {
14308 return 21;
14309 }
14310 if let Some(_) = self.table_member {
14311 return 20;
14312 }
14313 if let Some(_) = self.vector_member {
14314 return 19;
14315 }
14316 if let Some(_) = self.array_member {
14317 return 18;
14318 }
14319 if let Some(_) = self.union_member {
14320 return 17;
14321 }
14322 if let Some(_) = self.struct_member {
14323 return 16;
14324 }
14325 if let Some(_) = self.string_member {
14326 return 15;
14327 }
14328 if let Some(_) = self.handle_member {
14329 return 14;
14330 }
14331 if let Some(_) = self.bits_member {
14332 return 13;
14333 }
14334 if let Some(_) = self.enum_member {
14335 return 12;
14336 }
14337 if let Some(_) = self.float64_member {
14338 return 11;
14339 }
14340 if let Some(_) = self.float32_member {
14341 return 10;
14342 }
14343 if let Some(_) = self.uint64_member {
14344 return 9;
14345 }
14346 if let Some(_) = self.uint32_member {
14347 return 8;
14348 }
14349 if let Some(_) = self.uint16_member {
14350 return 7;
14351 }
14352 if let Some(_) = self.uint8_member {
14353 return 6;
14354 }
14355 if let Some(_) = self.int64_member {
14356 return 5;
14357 }
14358 if let Some(_) = self.int32_member {
14359 return 4;
14360 }
14361 if let Some(_) = self.int16_member {
14362 return 3;
14363 }
14364 if let Some(_) = self.int8_member {
14365 return 2;
14366 }
14367 if let Some(_) = self.bool_member {
14368 return 1;
14369 }
14370 0
14371 }
14372 }
14373
14374 impl fidl::encoding::ResourceTypeMarker for AllTypesTable {
14375 type Borrowed<'a> = &'a mut Self;
14376 fn take_or_borrow<'a>(
14377 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
14378 ) -> Self::Borrowed<'a> {
14379 value
14380 }
14381 }
14382
14383 unsafe impl fidl::encoding::TypeMarker for AllTypesTable {
14384 type Owned = Self;
14385
14386 #[inline(always)]
14387 fn inline_align(_context: fidl::encoding::Context) -> usize {
14388 8
14389 }
14390
14391 #[inline(always)]
14392 fn inline_size(_context: fidl::encoding::Context) -> usize {
14393 16
14394 }
14395 }
14396
14397 unsafe impl fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>
14398 for &mut AllTypesTable
14399 {
14400 unsafe fn encode(
14401 self,
14402 encoder: &mut fidl::encoding::Encoder<
14403 '_,
14404 fidl::encoding::DefaultFuchsiaResourceDialect,
14405 >,
14406 offset: usize,
14407 mut depth: fidl::encoding::Depth,
14408 ) -> fidl::Result<()> {
14409 encoder.debug_check_bounds::<AllTypesTable>(offset);
14410 let max_ordinal: u64 = self.max_ordinal_present();
14412 encoder.write_num(max_ordinal, offset);
14413 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
14414 if max_ordinal == 0 {
14416 return Ok(());
14417 }
14418 depth.increment()?;
14419 let envelope_size = 8;
14420 let bytes_len = max_ordinal as usize * envelope_size;
14421 #[allow(unused_variables)]
14422 let offset = encoder.out_of_line_offset(bytes_len);
14423 let mut _prev_end_offset: usize = 0;
14424 if 1 > max_ordinal {
14425 return Ok(());
14426 }
14427
14428 let cur_offset: usize = (1 - 1) * envelope_size;
14431
14432 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14434
14435 fidl::encoding::encode_in_envelope_optional::<
14440 bool,
14441 fidl::encoding::DefaultFuchsiaResourceDialect,
14442 >(
14443 self.bool_member.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
14444 encoder,
14445 offset + cur_offset,
14446 depth,
14447 )?;
14448
14449 _prev_end_offset = cur_offset + envelope_size;
14450 if 2 > max_ordinal {
14451 return Ok(());
14452 }
14453
14454 let cur_offset: usize = (2 - 1) * envelope_size;
14457
14458 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14460
14461 fidl::encoding::encode_in_envelope_optional::<
14466 i8,
14467 fidl::encoding::DefaultFuchsiaResourceDialect,
14468 >(
14469 self.int8_member.as_ref().map(<i8 as fidl::encoding::ValueTypeMarker>::borrow),
14470 encoder,
14471 offset + cur_offset,
14472 depth,
14473 )?;
14474
14475 _prev_end_offset = cur_offset + envelope_size;
14476 if 3 > max_ordinal {
14477 return Ok(());
14478 }
14479
14480 let cur_offset: usize = (3 - 1) * envelope_size;
14483
14484 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14486
14487 fidl::encoding::encode_in_envelope_optional::<
14492 i16,
14493 fidl::encoding::DefaultFuchsiaResourceDialect,
14494 >(
14495 self.int16_member.as_ref().map(<i16 as fidl::encoding::ValueTypeMarker>::borrow),
14496 encoder,
14497 offset + cur_offset,
14498 depth,
14499 )?;
14500
14501 _prev_end_offset = cur_offset + envelope_size;
14502 if 4 > max_ordinal {
14503 return Ok(());
14504 }
14505
14506 let cur_offset: usize = (4 - 1) * envelope_size;
14509
14510 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14512
14513 fidl::encoding::encode_in_envelope_optional::<
14518 i32,
14519 fidl::encoding::DefaultFuchsiaResourceDialect,
14520 >(
14521 self.int32_member.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
14522 encoder,
14523 offset + cur_offset,
14524 depth,
14525 )?;
14526
14527 _prev_end_offset = cur_offset + envelope_size;
14528 if 5 > max_ordinal {
14529 return Ok(());
14530 }
14531
14532 let cur_offset: usize = (5 - 1) * envelope_size;
14535
14536 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14538
14539 fidl::encoding::encode_in_envelope_optional::<
14544 i64,
14545 fidl::encoding::DefaultFuchsiaResourceDialect,
14546 >(
14547 self.int64_member.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
14548 encoder,
14549 offset + cur_offset,
14550 depth,
14551 )?;
14552
14553 _prev_end_offset = cur_offset + envelope_size;
14554 if 6 > max_ordinal {
14555 return Ok(());
14556 }
14557
14558 let cur_offset: usize = (6 - 1) * envelope_size;
14561
14562 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14564
14565 fidl::encoding::encode_in_envelope_optional::<
14570 u8,
14571 fidl::encoding::DefaultFuchsiaResourceDialect,
14572 >(
14573 self.uint8_member.as_ref().map(<u8 as fidl::encoding::ValueTypeMarker>::borrow),
14574 encoder,
14575 offset + cur_offset,
14576 depth,
14577 )?;
14578
14579 _prev_end_offset = cur_offset + envelope_size;
14580 if 7 > max_ordinal {
14581 return Ok(());
14582 }
14583
14584 let cur_offset: usize = (7 - 1) * envelope_size;
14587
14588 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14590
14591 fidl::encoding::encode_in_envelope_optional::<
14596 u16,
14597 fidl::encoding::DefaultFuchsiaResourceDialect,
14598 >(
14599 self.uint16_member.as_ref().map(<u16 as fidl::encoding::ValueTypeMarker>::borrow),
14600 encoder,
14601 offset + cur_offset,
14602 depth,
14603 )?;
14604
14605 _prev_end_offset = cur_offset + envelope_size;
14606 if 8 > max_ordinal {
14607 return Ok(());
14608 }
14609
14610 let cur_offset: usize = (8 - 1) * envelope_size;
14613
14614 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14616
14617 fidl::encoding::encode_in_envelope_optional::<
14622 u32,
14623 fidl::encoding::DefaultFuchsiaResourceDialect,
14624 >(
14625 self.uint32_member.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
14626 encoder,
14627 offset + cur_offset,
14628 depth,
14629 )?;
14630
14631 _prev_end_offset = cur_offset + envelope_size;
14632 if 9 > max_ordinal {
14633 return Ok(());
14634 }
14635
14636 let cur_offset: usize = (9 - 1) * envelope_size;
14639
14640 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14642
14643 fidl::encoding::encode_in_envelope_optional::<
14648 u64,
14649 fidl::encoding::DefaultFuchsiaResourceDialect,
14650 >(
14651 self.uint64_member.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
14652 encoder,
14653 offset + cur_offset,
14654 depth,
14655 )?;
14656
14657 _prev_end_offset = cur_offset + envelope_size;
14658 if 10 > max_ordinal {
14659 return Ok(());
14660 }
14661
14662 let cur_offset: usize = (10 - 1) * envelope_size;
14665
14666 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14668
14669 fidl::encoding::encode_in_envelope_optional::<
14674 f32,
14675 fidl::encoding::DefaultFuchsiaResourceDialect,
14676 >(
14677 self.float32_member.as_ref().map(<f32 as fidl::encoding::ValueTypeMarker>::borrow),
14678 encoder,
14679 offset + cur_offset,
14680 depth,
14681 )?;
14682
14683 _prev_end_offset = cur_offset + envelope_size;
14684 if 11 > max_ordinal {
14685 return Ok(());
14686 }
14687
14688 let cur_offset: usize = (11 - 1) * envelope_size;
14691
14692 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14694
14695 fidl::encoding::encode_in_envelope_optional::<
14700 f64,
14701 fidl::encoding::DefaultFuchsiaResourceDialect,
14702 >(
14703 self.float64_member.as_ref().map(<f64 as fidl::encoding::ValueTypeMarker>::borrow),
14704 encoder,
14705 offset + cur_offset,
14706 depth,
14707 )?;
14708
14709 _prev_end_offset = cur_offset + envelope_size;
14710 if 12 > max_ordinal {
14711 return Ok(());
14712 }
14713
14714 let cur_offset: usize = (12 - 1) * envelope_size;
14717
14718 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14720
14721 fidl::encoding::encode_in_envelope_optional::<
14726 DefaultEnum,
14727 fidl::encoding::DefaultFuchsiaResourceDialect,
14728 >(
14729 self.enum_member
14730 .as_ref()
14731 .map(<DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow),
14732 encoder,
14733 offset + cur_offset,
14734 depth,
14735 )?;
14736
14737 _prev_end_offset = cur_offset + envelope_size;
14738 if 13 > max_ordinal {
14739 return Ok(());
14740 }
14741
14742 let cur_offset: usize = (13 - 1) * envelope_size;
14745
14746 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14748
14749 fidl::encoding::encode_in_envelope_optional::<
14754 DefaultBits,
14755 fidl::encoding::DefaultFuchsiaResourceDialect,
14756 >(
14757 self.bits_member
14758 .as_ref()
14759 .map(<DefaultBits as fidl::encoding::ValueTypeMarker>::borrow),
14760 encoder,
14761 offset + cur_offset,
14762 depth,
14763 )?;
14764
14765 _prev_end_offset = cur_offset + envelope_size;
14766 if 14 > max_ordinal {
14767 return Ok(());
14768 }
14769
14770 let cur_offset: usize = (14 - 1) * envelope_size;
14773
14774 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14776
14777 fidl::encoding::encode_in_envelope_optional::<
14782 fidl::encoding::HandleType<
14783 fidl::NullableHandle,
14784 { fidl::ObjectType::NONE.into_raw() },
14785 2147483648,
14786 >,
14787 fidl::encoding::DefaultFuchsiaResourceDialect,
14788 >(
14789 self.handle_member.as_mut().map(
14790 <fidl::encoding::HandleType<
14791 fidl::NullableHandle,
14792 { fidl::ObjectType::NONE.into_raw() },
14793 2147483648,
14794 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
14795 ),
14796 encoder,
14797 offset + cur_offset,
14798 depth,
14799 )?;
14800
14801 _prev_end_offset = cur_offset + envelope_size;
14802 if 15 > max_ordinal {
14803 return Ok(());
14804 }
14805
14806 let cur_offset: usize = (15 - 1) * envelope_size;
14809
14810 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14812
14813 fidl::encoding::encode_in_envelope_optional::<
14818 fidl::encoding::UnboundedString,
14819 fidl::encoding::DefaultFuchsiaResourceDialect,
14820 >(
14821 self.string_member.as_ref().map(
14822 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow,
14823 ),
14824 encoder,
14825 offset + cur_offset,
14826 depth,
14827 )?;
14828
14829 _prev_end_offset = cur_offset + envelope_size;
14830 if 16 > max_ordinal {
14831 return Ok(());
14832 }
14833
14834 let cur_offset: usize = (16 - 1) * envelope_size;
14837
14838 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14840
14841 fidl::encoding::encode_in_envelope_optional::<
14846 ThisIsAStruct,
14847 fidl::encoding::DefaultFuchsiaResourceDialect,
14848 >(
14849 self.struct_member
14850 .as_ref()
14851 .map(<ThisIsAStruct as fidl::encoding::ValueTypeMarker>::borrow),
14852 encoder,
14853 offset + cur_offset,
14854 depth,
14855 )?;
14856
14857 _prev_end_offset = cur_offset + envelope_size;
14858 if 17 > max_ordinal {
14859 return Ok(());
14860 }
14861
14862 let cur_offset: usize = (17 - 1) * envelope_size;
14865
14866 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14868
14869 fidl::encoding::encode_in_envelope_optional::<
14874 ThisIsAUnion,
14875 fidl::encoding::DefaultFuchsiaResourceDialect,
14876 >(
14877 self.union_member
14878 .as_ref()
14879 .map(<ThisIsAUnion as fidl::encoding::ValueTypeMarker>::borrow),
14880 encoder,
14881 offset + cur_offset,
14882 depth,
14883 )?;
14884
14885 _prev_end_offset = cur_offset + envelope_size;
14886 if 18 > max_ordinal {
14887 return Ok(());
14888 }
14889
14890 let cur_offset: usize = (18 - 1) * envelope_size;
14893
14894 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14896
14897 fidl::encoding::encode_in_envelope_optional::<
14902 fidl::encoding::Array<u32, 3>,
14903 fidl::encoding::DefaultFuchsiaResourceDialect,
14904 >(
14905 self.array_member.as_ref().map(
14906 <fidl::encoding::Array<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow,
14907 ),
14908 encoder,
14909 offset + cur_offset,
14910 depth,
14911 )?;
14912
14913 _prev_end_offset = cur_offset + envelope_size;
14914 if 19 > max_ordinal {
14915 return Ok(());
14916 }
14917
14918 let cur_offset: usize = (19 - 1) * envelope_size;
14921
14922 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14924
14925 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u32>, fidl::encoding::DefaultFuchsiaResourceDialect>(
14930 self.vector_member.as_ref().map(<fidl::encoding::UnboundedVector<u32> as fidl::encoding::ValueTypeMarker>::borrow),
14931 encoder, offset + cur_offset, depth
14932 )?;
14933
14934 _prev_end_offset = cur_offset + envelope_size;
14935 if 20 > max_ordinal {
14936 return Ok(());
14937 }
14938
14939 let cur_offset: usize = (20 - 1) * envelope_size;
14942
14943 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14945
14946 fidl::encoding::encode_in_envelope_optional::<
14951 ThisIsATable,
14952 fidl::encoding::DefaultFuchsiaResourceDialect,
14953 >(
14954 self.table_member
14955 .as_ref()
14956 .map(<ThisIsATable as fidl::encoding::ValueTypeMarker>::borrow),
14957 encoder,
14958 offset + cur_offset,
14959 depth,
14960 )?;
14961
14962 _prev_end_offset = cur_offset + envelope_size;
14963 if 21 > max_ordinal {
14964 return Ok(());
14965 }
14966
14967 let cur_offset: usize = (21 - 1) * envelope_size;
14970
14971 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14973
14974 fidl::encoding::encode_in_envelope_optional::<
14979 ThisIsAXunion,
14980 fidl::encoding::DefaultFuchsiaResourceDialect,
14981 >(
14982 self.xunion_member
14983 .as_ref()
14984 .map(<ThisIsAXunion as fidl::encoding::ValueTypeMarker>::borrow),
14985 encoder,
14986 offset + cur_offset,
14987 depth,
14988 )?;
14989
14990 _prev_end_offset = cur_offset + envelope_size;
14991
14992 Ok(())
14993 }
14994 }
14995
14996 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for AllTypesTable {
14997 #[inline(always)]
14998 fn new_empty() -> Self {
14999 Self::default()
15000 }
15001
15002 unsafe fn decode(
15003 &mut self,
15004 decoder: &mut fidl::encoding::Decoder<
15005 '_,
15006 fidl::encoding::DefaultFuchsiaResourceDialect,
15007 >,
15008 offset: usize,
15009 mut depth: fidl::encoding::Depth,
15010 ) -> fidl::Result<()> {
15011 decoder.debug_check_bounds::<Self>(offset);
15012 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
15013 None => return Err(fidl::Error::NotNullable),
15014 Some(len) => len,
15015 };
15016 if len == 0 {
15018 return Ok(());
15019 };
15020 depth.increment()?;
15021 let envelope_size = 8;
15022 let bytes_len = len * envelope_size;
15023 let offset = decoder.out_of_line_offset(bytes_len)?;
15024 let mut _next_ordinal_to_read = 0;
15026 let mut next_offset = offset;
15027 let end_offset = offset + bytes_len;
15028 _next_ordinal_to_read += 1;
15029 if next_offset >= end_offset {
15030 return Ok(());
15031 }
15032
15033 while _next_ordinal_to_read < 1 {
15035 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15036 _next_ordinal_to_read += 1;
15037 next_offset += envelope_size;
15038 }
15039
15040 let next_out_of_line = decoder.next_out_of_line();
15041 let handles_before = decoder.remaining_handles();
15042 if let Some((inlined, num_bytes, num_handles)) =
15043 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15044 {
15045 let member_inline_size =
15046 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15047 if inlined != (member_inline_size <= 4) {
15048 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15049 }
15050 let inner_offset;
15051 let mut inner_depth = depth.clone();
15052 if inlined {
15053 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15054 inner_offset = next_offset;
15055 } else {
15056 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15057 inner_depth.increment()?;
15058 }
15059 let val_ref = self.bool_member.get_or_insert_with(|| {
15060 fidl::new_empty!(bool, fidl::encoding::DefaultFuchsiaResourceDialect)
15061 });
15062 fidl::decode!(
15063 bool,
15064 fidl::encoding::DefaultFuchsiaResourceDialect,
15065 val_ref,
15066 decoder,
15067 inner_offset,
15068 inner_depth
15069 )?;
15070 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15071 {
15072 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15073 }
15074 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15075 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15076 }
15077 }
15078
15079 next_offset += envelope_size;
15080 _next_ordinal_to_read += 1;
15081 if next_offset >= end_offset {
15082 return Ok(());
15083 }
15084
15085 while _next_ordinal_to_read < 2 {
15087 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15088 _next_ordinal_to_read += 1;
15089 next_offset += envelope_size;
15090 }
15091
15092 let next_out_of_line = decoder.next_out_of_line();
15093 let handles_before = decoder.remaining_handles();
15094 if let Some((inlined, num_bytes, num_handles)) =
15095 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15096 {
15097 let member_inline_size =
15098 <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15099 if inlined != (member_inline_size <= 4) {
15100 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15101 }
15102 let inner_offset;
15103 let mut inner_depth = depth.clone();
15104 if inlined {
15105 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15106 inner_offset = next_offset;
15107 } else {
15108 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15109 inner_depth.increment()?;
15110 }
15111 let val_ref = self.int8_member.get_or_insert_with(|| {
15112 fidl::new_empty!(i8, fidl::encoding::DefaultFuchsiaResourceDialect)
15113 });
15114 fidl::decode!(
15115 i8,
15116 fidl::encoding::DefaultFuchsiaResourceDialect,
15117 val_ref,
15118 decoder,
15119 inner_offset,
15120 inner_depth
15121 )?;
15122 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15123 {
15124 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15125 }
15126 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15127 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15128 }
15129 }
15130
15131 next_offset += envelope_size;
15132 _next_ordinal_to_read += 1;
15133 if next_offset >= end_offset {
15134 return Ok(());
15135 }
15136
15137 while _next_ordinal_to_read < 3 {
15139 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15140 _next_ordinal_to_read += 1;
15141 next_offset += envelope_size;
15142 }
15143
15144 let next_out_of_line = decoder.next_out_of_line();
15145 let handles_before = decoder.remaining_handles();
15146 if let Some((inlined, num_bytes, num_handles)) =
15147 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15148 {
15149 let member_inline_size =
15150 <i16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15151 if inlined != (member_inline_size <= 4) {
15152 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15153 }
15154 let inner_offset;
15155 let mut inner_depth = depth.clone();
15156 if inlined {
15157 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15158 inner_offset = next_offset;
15159 } else {
15160 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15161 inner_depth.increment()?;
15162 }
15163 let val_ref = self.int16_member.get_or_insert_with(|| {
15164 fidl::new_empty!(i16, fidl::encoding::DefaultFuchsiaResourceDialect)
15165 });
15166 fidl::decode!(
15167 i16,
15168 fidl::encoding::DefaultFuchsiaResourceDialect,
15169 val_ref,
15170 decoder,
15171 inner_offset,
15172 inner_depth
15173 )?;
15174 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15175 {
15176 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15177 }
15178 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15179 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15180 }
15181 }
15182
15183 next_offset += envelope_size;
15184 _next_ordinal_to_read += 1;
15185 if next_offset >= end_offset {
15186 return Ok(());
15187 }
15188
15189 while _next_ordinal_to_read < 4 {
15191 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15192 _next_ordinal_to_read += 1;
15193 next_offset += envelope_size;
15194 }
15195
15196 let next_out_of_line = decoder.next_out_of_line();
15197 let handles_before = decoder.remaining_handles();
15198 if let Some((inlined, num_bytes, num_handles)) =
15199 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15200 {
15201 let member_inline_size =
15202 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15203 if inlined != (member_inline_size <= 4) {
15204 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15205 }
15206 let inner_offset;
15207 let mut inner_depth = depth.clone();
15208 if inlined {
15209 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15210 inner_offset = next_offset;
15211 } else {
15212 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15213 inner_depth.increment()?;
15214 }
15215 let val_ref = self.int32_member.get_or_insert_with(|| {
15216 fidl::new_empty!(i32, fidl::encoding::DefaultFuchsiaResourceDialect)
15217 });
15218 fidl::decode!(
15219 i32,
15220 fidl::encoding::DefaultFuchsiaResourceDialect,
15221 val_ref,
15222 decoder,
15223 inner_offset,
15224 inner_depth
15225 )?;
15226 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15227 {
15228 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15229 }
15230 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15231 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15232 }
15233 }
15234
15235 next_offset += envelope_size;
15236 _next_ordinal_to_read += 1;
15237 if next_offset >= end_offset {
15238 return Ok(());
15239 }
15240
15241 while _next_ordinal_to_read < 5 {
15243 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15244 _next_ordinal_to_read += 1;
15245 next_offset += envelope_size;
15246 }
15247
15248 let next_out_of_line = decoder.next_out_of_line();
15249 let handles_before = decoder.remaining_handles();
15250 if let Some((inlined, num_bytes, num_handles)) =
15251 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15252 {
15253 let member_inline_size =
15254 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15255 if inlined != (member_inline_size <= 4) {
15256 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15257 }
15258 let inner_offset;
15259 let mut inner_depth = depth.clone();
15260 if inlined {
15261 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15262 inner_offset = next_offset;
15263 } else {
15264 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15265 inner_depth.increment()?;
15266 }
15267 let val_ref = self.int64_member.get_or_insert_with(|| {
15268 fidl::new_empty!(i64, fidl::encoding::DefaultFuchsiaResourceDialect)
15269 });
15270 fidl::decode!(
15271 i64,
15272 fidl::encoding::DefaultFuchsiaResourceDialect,
15273 val_ref,
15274 decoder,
15275 inner_offset,
15276 inner_depth
15277 )?;
15278 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15279 {
15280 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15281 }
15282 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15283 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15284 }
15285 }
15286
15287 next_offset += envelope_size;
15288 _next_ordinal_to_read += 1;
15289 if next_offset >= end_offset {
15290 return Ok(());
15291 }
15292
15293 while _next_ordinal_to_read < 6 {
15295 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15296 _next_ordinal_to_read += 1;
15297 next_offset += envelope_size;
15298 }
15299
15300 let next_out_of_line = decoder.next_out_of_line();
15301 let handles_before = decoder.remaining_handles();
15302 if let Some((inlined, num_bytes, num_handles)) =
15303 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15304 {
15305 let member_inline_size =
15306 <u8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15307 if inlined != (member_inline_size <= 4) {
15308 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15309 }
15310 let inner_offset;
15311 let mut inner_depth = depth.clone();
15312 if inlined {
15313 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15314 inner_offset = next_offset;
15315 } else {
15316 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15317 inner_depth.increment()?;
15318 }
15319 let val_ref = self.uint8_member.get_or_insert_with(|| {
15320 fidl::new_empty!(u8, fidl::encoding::DefaultFuchsiaResourceDialect)
15321 });
15322 fidl::decode!(
15323 u8,
15324 fidl::encoding::DefaultFuchsiaResourceDialect,
15325 val_ref,
15326 decoder,
15327 inner_offset,
15328 inner_depth
15329 )?;
15330 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15331 {
15332 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15333 }
15334 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15335 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15336 }
15337 }
15338
15339 next_offset += envelope_size;
15340 _next_ordinal_to_read += 1;
15341 if next_offset >= end_offset {
15342 return Ok(());
15343 }
15344
15345 while _next_ordinal_to_read < 7 {
15347 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15348 _next_ordinal_to_read += 1;
15349 next_offset += envelope_size;
15350 }
15351
15352 let next_out_of_line = decoder.next_out_of_line();
15353 let handles_before = decoder.remaining_handles();
15354 if let Some((inlined, num_bytes, num_handles)) =
15355 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15356 {
15357 let member_inline_size =
15358 <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15359 if inlined != (member_inline_size <= 4) {
15360 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15361 }
15362 let inner_offset;
15363 let mut inner_depth = depth.clone();
15364 if inlined {
15365 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15366 inner_offset = next_offset;
15367 } else {
15368 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15369 inner_depth.increment()?;
15370 }
15371 let val_ref = self.uint16_member.get_or_insert_with(|| {
15372 fidl::new_empty!(u16, fidl::encoding::DefaultFuchsiaResourceDialect)
15373 });
15374 fidl::decode!(
15375 u16,
15376 fidl::encoding::DefaultFuchsiaResourceDialect,
15377 val_ref,
15378 decoder,
15379 inner_offset,
15380 inner_depth
15381 )?;
15382 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15383 {
15384 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15385 }
15386 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15387 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15388 }
15389 }
15390
15391 next_offset += envelope_size;
15392 _next_ordinal_to_read += 1;
15393 if next_offset >= end_offset {
15394 return Ok(());
15395 }
15396
15397 while _next_ordinal_to_read < 8 {
15399 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15400 _next_ordinal_to_read += 1;
15401 next_offset += envelope_size;
15402 }
15403
15404 let next_out_of_line = decoder.next_out_of_line();
15405 let handles_before = decoder.remaining_handles();
15406 if let Some((inlined, num_bytes, num_handles)) =
15407 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15408 {
15409 let member_inline_size =
15410 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15411 if inlined != (member_inline_size <= 4) {
15412 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15413 }
15414 let inner_offset;
15415 let mut inner_depth = depth.clone();
15416 if inlined {
15417 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15418 inner_offset = next_offset;
15419 } else {
15420 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15421 inner_depth.increment()?;
15422 }
15423 let val_ref = self.uint32_member.get_or_insert_with(|| {
15424 fidl::new_empty!(u32, fidl::encoding::DefaultFuchsiaResourceDialect)
15425 });
15426 fidl::decode!(
15427 u32,
15428 fidl::encoding::DefaultFuchsiaResourceDialect,
15429 val_ref,
15430 decoder,
15431 inner_offset,
15432 inner_depth
15433 )?;
15434 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15435 {
15436 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15437 }
15438 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15439 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15440 }
15441 }
15442
15443 next_offset += envelope_size;
15444 _next_ordinal_to_read += 1;
15445 if next_offset >= end_offset {
15446 return Ok(());
15447 }
15448
15449 while _next_ordinal_to_read < 9 {
15451 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15452 _next_ordinal_to_read += 1;
15453 next_offset += envelope_size;
15454 }
15455
15456 let next_out_of_line = decoder.next_out_of_line();
15457 let handles_before = decoder.remaining_handles();
15458 if let Some((inlined, num_bytes, num_handles)) =
15459 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15460 {
15461 let member_inline_size =
15462 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15463 if inlined != (member_inline_size <= 4) {
15464 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15465 }
15466 let inner_offset;
15467 let mut inner_depth = depth.clone();
15468 if inlined {
15469 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15470 inner_offset = next_offset;
15471 } else {
15472 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15473 inner_depth.increment()?;
15474 }
15475 let val_ref = self.uint64_member.get_or_insert_with(|| {
15476 fidl::new_empty!(u64, fidl::encoding::DefaultFuchsiaResourceDialect)
15477 });
15478 fidl::decode!(
15479 u64,
15480 fidl::encoding::DefaultFuchsiaResourceDialect,
15481 val_ref,
15482 decoder,
15483 inner_offset,
15484 inner_depth
15485 )?;
15486 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15487 {
15488 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15489 }
15490 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15491 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15492 }
15493 }
15494
15495 next_offset += envelope_size;
15496 _next_ordinal_to_read += 1;
15497 if next_offset >= end_offset {
15498 return Ok(());
15499 }
15500
15501 while _next_ordinal_to_read < 10 {
15503 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15504 _next_ordinal_to_read += 1;
15505 next_offset += envelope_size;
15506 }
15507
15508 let next_out_of_line = decoder.next_out_of_line();
15509 let handles_before = decoder.remaining_handles();
15510 if let Some((inlined, num_bytes, num_handles)) =
15511 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15512 {
15513 let member_inline_size =
15514 <f32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15515 if inlined != (member_inline_size <= 4) {
15516 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15517 }
15518 let inner_offset;
15519 let mut inner_depth = depth.clone();
15520 if inlined {
15521 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15522 inner_offset = next_offset;
15523 } else {
15524 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15525 inner_depth.increment()?;
15526 }
15527 let val_ref = self.float32_member.get_or_insert_with(|| {
15528 fidl::new_empty!(f32, fidl::encoding::DefaultFuchsiaResourceDialect)
15529 });
15530 fidl::decode!(
15531 f32,
15532 fidl::encoding::DefaultFuchsiaResourceDialect,
15533 val_ref,
15534 decoder,
15535 inner_offset,
15536 inner_depth
15537 )?;
15538 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15539 {
15540 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15541 }
15542 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15543 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15544 }
15545 }
15546
15547 next_offset += envelope_size;
15548 _next_ordinal_to_read += 1;
15549 if next_offset >= end_offset {
15550 return Ok(());
15551 }
15552
15553 while _next_ordinal_to_read < 11 {
15555 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15556 _next_ordinal_to_read += 1;
15557 next_offset += envelope_size;
15558 }
15559
15560 let next_out_of_line = decoder.next_out_of_line();
15561 let handles_before = decoder.remaining_handles();
15562 if let Some((inlined, num_bytes, num_handles)) =
15563 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15564 {
15565 let member_inline_size =
15566 <f64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15567 if inlined != (member_inline_size <= 4) {
15568 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15569 }
15570 let inner_offset;
15571 let mut inner_depth = depth.clone();
15572 if inlined {
15573 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15574 inner_offset = next_offset;
15575 } else {
15576 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15577 inner_depth.increment()?;
15578 }
15579 let val_ref = self.float64_member.get_or_insert_with(|| {
15580 fidl::new_empty!(f64, fidl::encoding::DefaultFuchsiaResourceDialect)
15581 });
15582 fidl::decode!(
15583 f64,
15584 fidl::encoding::DefaultFuchsiaResourceDialect,
15585 val_ref,
15586 decoder,
15587 inner_offset,
15588 inner_depth
15589 )?;
15590 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15591 {
15592 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15593 }
15594 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15595 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15596 }
15597 }
15598
15599 next_offset += envelope_size;
15600 _next_ordinal_to_read += 1;
15601 if next_offset >= end_offset {
15602 return Ok(());
15603 }
15604
15605 while _next_ordinal_to_read < 12 {
15607 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15608 _next_ordinal_to_read += 1;
15609 next_offset += envelope_size;
15610 }
15611
15612 let next_out_of_line = decoder.next_out_of_line();
15613 let handles_before = decoder.remaining_handles();
15614 if let Some((inlined, num_bytes, num_handles)) =
15615 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15616 {
15617 let member_inline_size =
15618 <DefaultEnum as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15619 if inlined != (member_inline_size <= 4) {
15620 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15621 }
15622 let inner_offset;
15623 let mut inner_depth = depth.clone();
15624 if inlined {
15625 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15626 inner_offset = next_offset;
15627 } else {
15628 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15629 inner_depth.increment()?;
15630 }
15631 let val_ref = self.enum_member.get_or_insert_with(|| {
15632 fidl::new_empty!(DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect)
15633 });
15634 fidl::decode!(
15635 DefaultEnum,
15636 fidl::encoding::DefaultFuchsiaResourceDialect,
15637 val_ref,
15638 decoder,
15639 inner_offset,
15640 inner_depth
15641 )?;
15642 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15643 {
15644 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15645 }
15646 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15647 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15648 }
15649 }
15650
15651 next_offset += envelope_size;
15652 _next_ordinal_to_read += 1;
15653 if next_offset >= end_offset {
15654 return Ok(());
15655 }
15656
15657 while _next_ordinal_to_read < 13 {
15659 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15660 _next_ordinal_to_read += 1;
15661 next_offset += envelope_size;
15662 }
15663
15664 let next_out_of_line = decoder.next_out_of_line();
15665 let handles_before = decoder.remaining_handles();
15666 if let Some((inlined, num_bytes, num_handles)) =
15667 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15668 {
15669 let member_inline_size =
15670 <DefaultBits as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15671 if inlined != (member_inline_size <= 4) {
15672 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15673 }
15674 let inner_offset;
15675 let mut inner_depth = depth.clone();
15676 if inlined {
15677 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15678 inner_offset = next_offset;
15679 } else {
15680 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15681 inner_depth.increment()?;
15682 }
15683 let val_ref = self.bits_member.get_or_insert_with(|| {
15684 fidl::new_empty!(DefaultBits, fidl::encoding::DefaultFuchsiaResourceDialect)
15685 });
15686 fidl::decode!(
15687 DefaultBits,
15688 fidl::encoding::DefaultFuchsiaResourceDialect,
15689 val_ref,
15690 decoder,
15691 inner_offset,
15692 inner_depth
15693 )?;
15694 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15695 {
15696 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15697 }
15698 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15699 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15700 }
15701 }
15702
15703 next_offset += envelope_size;
15704 _next_ordinal_to_read += 1;
15705 if next_offset >= end_offset {
15706 return Ok(());
15707 }
15708
15709 while _next_ordinal_to_read < 14 {
15711 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15712 _next_ordinal_to_read += 1;
15713 next_offset += envelope_size;
15714 }
15715
15716 let next_out_of_line = decoder.next_out_of_line();
15717 let handles_before = decoder.remaining_handles();
15718 if let Some((inlined, num_bytes, num_handles)) =
15719 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15720 {
15721 let member_inline_size = <fidl::encoding::HandleType<
15722 fidl::NullableHandle,
15723 { fidl::ObjectType::NONE.into_raw() },
15724 2147483648,
15725 > as fidl::encoding::TypeMarker>::inline_size(
15726 decoder.context
15727 );
15728 if inlined != (member_inline_size <= 4) {
15729 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15730 }
15731 let inner_offset;
15732 let mut inner_depth = depth.clone();
15733 if inlined {
15734 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15735 inner_offset = next_offset;
15736 } else {
15737 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15738 inner_depth.increment()?;
15739 }
15740 let val_ref =
15741 self.handle_member.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
15742 fidl::decode!(fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
15743 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15744 {
15745 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15746 }
15747 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15748 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15749 }
15750 }
15751
15752 next_offset += envelope_size;
15753 _next_ordinal_to_read += 1;
15754 if next_offset >= end_offset {
15755 return Ok(());
15756 }
15757
15758 while _next_ordinal_to_read < 15 {
15760 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15761 _next_ordinal_to_read += 1;
15762 next_offset += envelope_size;
15763 }
15764
15765 let next_out_of_line = decoder.next_out_of_line();
15766 let handles_before = decoder.remaining_handles();
15767 if let Some((inlined, num_bytes, num_handles)) =
15768 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15769 {
15770 let member_inline_size =
15771 <fidl::encoding::UnboundedString as fidl::encoding::TypeMarker>::inline_size(
15772 decoder.context,
15773 );
15774 if inlined != (member_inline_size <= 4) {
15775 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15776 }
15777 let inner_offset;
15778 let mut inner_depth = depth.clone();
15779 if inlined {
15780 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15781 inner_offset = next_offset;
15782 } else {
15783 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15784 inner_depth.increment()?;
15785 }
15786 let val_ref = self.string_member.get_or_insert_with(|| {
15787 fidl::new_empty!(
15788 fidl::encoding::UnboundedString,
15789 fidl::encoding::DefaultFuchsiaResourceDialect
15790 )
15791 });
15792 fidl::decode!(
15793 fidl::encoding::UnboundedString,
15794 fidl::encoding::DefaultFuchsiaResourceDialect,
15795 val_ref,
15796 decoder,
15797 inner_offset,
15798 inner_depth
15799 )?;
15800 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15801 {
15802 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15803 }
15804 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15805 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15806 }
15807 }
15808
15809 next_offset += envelope_size;
15810 _next_ordinal_to_read += 1;
15811 if next_offset >= end_offset {
15812 return Ok(());
15813 }
15814
15815 while _next_ordinal_to_read < 16 {
15817 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15818 _next_ordinal_to_read += 1;
15819 next_offset += envelope_size;
15820 }
15821
15822 let next_out_of_line = decoder.next_out_of_line();
15823 let handles_before = decoder.remaining_handles();
15824 if let Some((inlined, num_bytes, num_handles)) =
15825 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15826 {
15827 let member_inline_size =
15828 <ThisIsAStruct as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15829 if inlined != (member_inline_size <= 4) {
15830 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15831 }
15832 let inner_offset;
15833 let mut inner_depth = depth.clone();
15834 if inlined {
15835 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15836 inner_offset = next_offset;
15837 } else {
15838 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15839 inner_depth.increment()?;
15840 }
15841 let val_ref = self.struct_member.get_or_insert_with(|| {
15842 fidl::new_empty!(ThisIsAStruct, fidl::encoding::DefaultFuchsiaResourceDialect)
15843 });
15844 fidl::decode!(
15845 ThisIsAStruct,
15846 fidl::encoding::DefaultFuchsiaResourceDialect,
15847 val_ref,
15848 decoder,
15849 inner_offset,
15850 inner_depth
15851 )?;
15852 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15853 {
15854 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15855 }
15856 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15857 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15858 }
15859 }
15860
15861 next_offset += envelope_size;
15862 _next_ordinal_to_read += 1;
15863 if next_offset >= end_offset {
15864 return Ok(());
15865 }
15866
15867 while _next_ordinal_to_read < 17 {
15869 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15870 _next_ordinal_to_read += 1;
15871 next_offset += envelope_size;
15872 }
15873
15874 let next_out_of_line = decoder.next_out_of_line();
15875 let handles_before = decoder.remaining_handles();
15876 if let Some((inlined, num_bytes, num_handles)) =
15877 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15878 {
15879 let member_inline_size =
15880 <ThisIsAUnion as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15881 if inlined != (member_inline_size <= 4) {
15882 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15883 }
15884 let inner_offset;
15885 let mut inner_depth = depth.clone();
15886 if inlined {
15887 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15888 inner_offset = next_offset;
15889 } else {
15890 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15891 inner_depth.increment()?;
15892 }
15893 let val_ref = self.union_member.get_or_insert_with(|| {
15894 fidl::new_empty!(ThisIsAUnion, fidl::encoding::DefaultFuchsiaResourceDialect)
15895 });
15896 fidl::decode!(
15897 ThisIsAUnion,
15898 fidl::encoding::DefaultFuchsiaResourceDialect,
15899 val_ref,
15900 decoder,
15901 inner_offset,
15902 inner_depth
15903 )?;
15904 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15905 {
15906 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15907 }
15908 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15909 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15910 }
15911 }
15912
15913 next_offset += envelope_size;
15914 _next_ordinal_to_read += 1;
15915 if next_offset >= end_offset {
15916 return Ok(());
15917 }
15918
15919 while _next_ordinal_to_read < 18 {
15921 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15922 _next_ordinal_to_read += 1;
15923 next_offset += envelope_size;
15924 }
15925
15926 let next_out_of_line = decoder.next_out_of_line();
15927 let handles_before = decoder.remaining_handles();
15928 if let Some((inlined, num_bytes, num_handles)) =
15929 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15930 {
15931 let member_inline_size =
15932 <fidl::encoding::Array<u32, 3> as fidl::encoding::TypeMarker>::inline_size(
15933 decoder.context,
15934 );
15935 if inlined != (member_inline_size <= 4) {
15936 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15937 }
15938 let inner_offset;
15939 let mut inner_depth = depth.clone();
15940 if inlined {
15941 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15942 inner_offset = next_offset;
15943 } else {
15944 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15945 inner_depth.increment()?;
15946 }
15947 let val_ref =
15948 self.array_member.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect));
15949 fidl::decode!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
15950 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15951 {
15952 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15953 }
15954 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15955 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15956 }
15957 }
15958
15959 next_offset += envelope_size;
15960 _next_ordinal_to_read += 1;
15961 if next_offset >= end_offset {
15962 return Ok(());
15963 }
15964
15965 while _next_ordinal_to_read < 19 {
15967 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15968 _next_ordinal_to_read += 1;
15969 next_offset += envelope_size;
15970 }
15971
15972 let next_out_of_line = decoder.next_out_of_line();
15973 let handles_before = decoder.remaining_handles();
15974 if let Some((inlined, num_bytes, num_handles)) =
15975 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15976 {
15977 let member_inline_size = <fidl::encoding::UnboundedVector<u32> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15978 if inlined != (member_inline_size <= 4) {
15979 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15980 }
15981 let inner_offset;
15982 let mut inner_depth = depth.clone();
15983 if inlined {
15984 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15985 inner_offset = next_offset;
15986 } else {
15987 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15988 inner_depth.increment()?;
15989 }
15990 let val_ref = self.vector_member.get_or_insert_with(|| {
15991 fidl::new_empty!(
15992 fidl::encoding::UnboundedVector<u32>,
15993 fidl::encoding::DefaultFuchsiaResourceDialect
15994 )
15995 });
15996 fidl::decode!(
15997 fidl::encoding::UnboundedVector<u32>,
15998 fidl::encoding::DefaultFuchsiaResourceDialect,
15999 val_ref,
16000 decoder,
16001 inner_offset,
16002 inner_depth
16003 )?;
16004 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
16005 {
16006 return Err(fidl::Error::InvalidNumBytesInEnvelope);
16007 }
16008 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
16009 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
16010 }
16011 }
16012
16013 next_offset += envelope_size;
16014 _next_ordinal_to_read += 1;
16015 if next_offset >= end_offset {
16016 return Ok(());
16017 }
16018
16019 while _next_ordinal_to_read < 20 {
16021 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
16022 _next_ordinal_to_read += 1;
16023 next_offset += envelope_size;
16024 }
16025
16026 let next_out_of_line = decoder.next_out_of_line();
16027 let handles_before = decoder.remaining_handles();
16028 if let Some((inlined, num_bytes, num_handles)) =
16029 fidl::encoding::decode_envelope_header(decoder, next_offset)?
16030 {
16031 let member_inline_size =
16032 <ThisIsATable as fidl::encoding::TypeMarker>::inline_size(decoder.context);
16033 if inlined != (member_inline_size <= 4) {
16034 return Err(fidl::Error::InvalidInlineBitInEnvelope);
16035 }
16036 let inner_offset;
16037 let mut inner_depth = depth.clone();
16038 if inlined {
16039 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
16040 inner_offset = next_offset;
16041 } else {
16042 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
16043 inner_depth.increment()?;
16044 }
16045 let val_ref = self.table_member.get_or_insert_with(|| {
16046 fidl::new_empty!(ThisIsATable, fidl::encoding::DefaultFuchsiaResourceDialect)
16047 });
16048 fidl::decode!(
16049 ThisIsATable,
16050 fidl::encoding::DefaultFuchsiaResourceDialect,
16051 val_ref,
16052 decoder,
16053 inner_offset,
16054 inner_depth
16055 )?;
16056 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
16057 {
16058 return Err(fidl::Error::InvalidNumBytesInEnvelope);
16059 }
16060 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
16061 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
16062 }
16063 }
16064
16065 next_offset += envelope_size;
16066 _next_ordinal_to_read += 1;
16067 if next_offset >= end_offset {
16068 return Ok(());
16069 }
16070
16071 while _next_ordinal_to_read < 21 {
16073 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
16074 _next_ordinal_to_read += 1;
16075 next_offset += envelope_size;
16076 }
16077
16078 let next_out_of_line = decoder.next_out_of_line();
16079 let handles_before = decoder.remaining_handles();
16080 if let Some((inlined, num_bytes, num_handles)) =
16081 fidl::encoding::decode_envelope_header(decoder, next_offset)?
16082 {
16083 let member_inline_size =
16084 <ThisIsAXunion as fidl::encoding::TypeMarker>::inline_size(decoder.context);
16085 if inlined != (member_inline_size <= 4) {
16086 return Err(fidl::Error::InvalidInlineBitInEnvelope);
16087 }
16088 let inner_offset;
16089 let mut inner_depth = depth.clone();
16090 if inlined {
16091 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
16092 inner_offset = next_offset;
16093 } else {
16094 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
16095 inner_depth.increment()?;
16096 }
16097 let val_ref = self.xunion_member.get_or_insert_with(|| {
16098 fidl::new_empty!(ThisIsAXunion, fidl::encoding::DefaultFuchsiaResourceDialect)
16099 });
16100 fidl::decode!(
16101 ThisIsAXunion,
16102 fidl::encoding::DefaultFuchsiaResourceDialect,
16103 val_ref,
16104 decoder,
16105 inner_offset,
16106 inner_depth
16107 )?;
16108 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
16109 {
16110 return Err(fidl::Error::InvalidNumBytesInEnvelope);
16111 }
16112 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
16113 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
16114 }
16115 }
16116
16117 next_offset += envelope_size;
16118
16119 while next_offset < end_offset {
16121 _next_ordinal_to_read += 1;
16122 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
16123 next_offset += envelope_size;
16124 }
16125
16126 Ok(())
16127 }
16128 }
16129
16130 impl fidl::encoding::ResourceTypeMarker for AllTypesXunion {
16131 type Borrowed<'a> = &'a mut Self;
16132 fn take_or_borrow<'a>(
16133 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16134 ) -> Self::Borrowed<'a> {
16135 value
16136 }
16137 }
16138
16139 unsafe impl fidl::encoding::TypeMarker for AllTypesXunion {
16140 type Owned = Self;
16141
16142 #[inline(always)]
16143 fn inline_align(_context: fidl::encoding::Context) -> usize {
16144 8
16145 }
16146
16147 #[inline(always)]
16148 fn inline_size(_context: fidl::encoding::Context) -> usize {
16149 16
16150 }
16151 }
16152
16153 unsafe impl
16154 fidl::encoding::Encode<AllTypesXunion, fidl::encoding::DefaultFuchsiaResourceDialect>
16155 for &mut AllTypesXunion
16156 {
16157 #[inline]
16158 unsafe fn encode(
16159 self,
16160 encoder: &mut fidl::encoding::Encoder<
16161 '_,
16162 fidl::encoding::DefaultFuchsiaResourceDialect,
16163 >,
16164 offset: usize,
16165 _depth: fidl::encoding::Depth,
16166 ) -> fidl::Result<()> {
16167 encoder.debug_check_bounds::<AllTypesXunion>(offset);
16168 encoder.write_num::<u64>(self.ordinal(), offset);
16169 match self {
16170 AllTypesXunion::BoolMember(ref val) => {
16171 fidl::encoding::encode_in_envelope::<bool, fidl::encoding::DefaultFuchsiaResourceDialect>(
16172 <bool as fidl::encoding::ValueTypeMarker>::borrow(val),
16173 encoder, offset + 8, _depth
16174 )
16175 }
16176 AllTypesXunion::Int8Member(ref val) => {
16177 fidl::encoding::encode_in_envelope::<i8, fidl::encoding::DefaultFuchsiaResourceDialect>(
16178 <i8 as fidl::encoding::ValueTypeMarker>::borrow(val),
16179 encoder, offset + 8, _depth
16180 )
16181 }
16182 AllTypesXunion::Int16Member(ref val) => {
16183 fidl::encoding::encode_in_envelope::<i16, fidl::encoding::DefaultFuchsiaResourceDialect>(
16184 <i16 as fidl::encoding::ValueTypeMarker>::borrow(val),
16185 encoder, offset + 8, _depth
16186 )
16187 }
16188 AllTypesXunion::Int32Member(ref val) => {
16189 fidl::encoding::encode_in_envelope::<i32, fidl::encoding::DefaultFuchsiaResourceDialect>(
16190 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
16191 encoder, offset + 8, _depth
16192 )
16193 }
16194 AllTypesXunion::Int64Member(ref val) => {
16195 fidl::encoding::encode_in_envelope::<i64, fidl::encoding::DefaultFuchsiaResourceDialect>(
16196 <i64 as fidl::encoding::ValueTypeMarker>::borrow(val),
16197 encoder, offset + 8, _depth
16198 )
16199 }
16200 AllTypesXunion::Uint8Member(ref val) => {
16201 fidl::encoding::encode_in_envelope::<u8, fidl::encoding::DefaultFuchsiaResourceDialect>(
16202 <u8 as fidl::encoding::ValueTypeMarker>::borrow(val),
16203 encoder, offset + 8, _depth
16204 )
16205 }
16206 AllTypesXunion::Uint16Member(ref val) => {
16207 fidl::encoding::encode_in_envelope::<u16, fidl::encoding::DefaultFuchsiaResourceDialect>(
16208 <u16 as fidl::encoding::ValueTypeMarker>::borrow(val),
16209 encoder, offset + 8, _depth
16210 )
16211 }
16212 AllTypesXunion::Uint32Member(ref val) => {
16213 fidl::encoding::encode_in_envelope::<u32, fidl::encoding::DefaultFuchsiaResourceDialect>(
16214 <u32 as fidl::encoding::ValueTypeMarker>::borrow(val),
16215 encoder, offset + 8, _depth
16216 )
16217 }
16218 AllTypesXunion::Uint64Member(ref val) => {
16219 fidl::encoding::encode_in_envelope::<u64, fidl::encoding::DefaultFuchsiaResourceDialect>(
16220 <u64 as fidl::encoding::ValueTypeMarker>::borrow(val),
16221 encoder, offset + 8, _depth
16222 )
16223 }
16224 AllTypesXunion::Float32Member(ref val) => {
16225 fidl::encoding::encode_in_envelope::<f32, fidl::encoding::DefaultFuchsiaResourceDialect>(
16226 <f32 as fidl::encoding::ValueTypeMarker>::borrow(val),
16227 encoder, offset + 8, _depth
16228 )
16229 }
16230 AllTypesXunion::Float64Member(ref val) => {
16231 fidl::encoding::encode_in_envelope::<f64, fidl::encoding::DefaultFuchsiaResourceDialect>(
16232 <f64 as fidl::encoding::ValueTypeMarker>::borrow(val),
16233 encoder, offset + 8, _depth
16234 )
16235 }
16236 AllTypesXunion::EnumMember(ref val) => {
16237 fidl::encoding::encode_in_envelope::<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>(
16238 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(val),
16239 encoder, offset + 8, _depth
16240 )
16241 }
16242 AllTypesXunion::BitsMember(ref val) => {
16243 fidl::encoding::encode_in_envelope::<DefaultBits, fidl::encoding::DefaultFuchsiaResourceDialect>(
16244 <DefaultBits as fidl::encoding::ValueTypeMarker>::borrow(val),
16245 encoder, offset + 8, _depth
16246 )
16247 }
16248 AllTypesXunion::HandleMember(ref mut val) => {
16249 fidl::encoding::encode_in_envelope::<fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect>(
16250 <fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
16251 encoder, offset + 8, _depth
16252 )
16253 }
16254 AllTypesXunion::StringMember(ref val) => {
16255 fidl::encoding::encode_in_envelope::<fidl::encoding::UnboundedString, fidl::encoding::DefaultFuchsiaResourceDialect>(
16256 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(val),
16257 encoder, offset + 8, _depth
16258 )
16259 }
16260 AllTypesXunion::StructMember(ref val) => {
16261 fidl::encoding::encode_in_envelope::<ThisIsAStruct, fidl::encoding::DefaultFuchsiaResourceDialect>(
16262 <ThisIsAStruct as fidl::encoding::ValueTypeMarker>::borrow(val),
16263 encoder, offset + 8, _depth
16264 )
16265 }
16266 AllTypesXunion::UnionMember(ref val) => {
16267 fidl::encoding::encode_in_envelope::<ThisIsAUnion, fidl::encoding::DefaultFuchsiaResourceDialect>(
16268 <ThisIsAUnion as fidl::encoding::ValueTypeMarker>::borrow(val),
16269 encoder, offset + 8, _depth
16270 )
16271 }
16272 AllTypesXunion::ArrayMember(ref val) => {
16273 fidl::encoding::encode_in_envelope::<fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect>(
16274 <fidl::encoding::Array<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(val),
16275 encoder, offset + 8, _depth
16276 )
16277 }
16278 AllTypesXunion::VectorMember(ref val) => {
16279 fidl::encoding::encode_in_envelope::<fidl::encoding::UnboundedVector<u32>, fidl::encoding::DefaultFuchsiaResourceDialect>(
16280 <fidl::encoding::UnboundedVector<u32> as fidl::encoding::ValueTypeMarker>::borrow(val),
16281 encoder, offset + 8, _depth
16282 )
16283 }
16284 AllTypesXunion::TableMember(ref val) => {
16285 fidl::encoding::encode_in_envelope::<ThisIsATable, fidl::encoding::DefaultFuchsiaResourceDialect>(
16286 <ThisIsATable as fidl::encoding::ValueTypeMarker>::borrow(val),
16287 encoder, offset + 8, _depth
16288 )
16289 }
16290 AllTypesXunion::XunionMember(ref val) => {
16291 fidl::encoding::encode_in_envelope::<ThisIsAXunion, fidl::encoding::DefaultFuchsiaResourceDialect>(
16292 <ThisIsAXunion as fidl::encoding::ValueTypeMarker>::borrow(val),
16293 encoder, offset + 8, _depth
16294 )
16295 }
16296 AllTypesXunion::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
16297 }
16298 }
16299 }
16300
16301 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16302 for AllTypesXunion
16303 {
16304 #[inline(always)]
16305 fn new_empty() -> Self {
16306 Self::__SourceBreaking { unknown_ordinal: 0 }
16307 }
16308
16309 #[inline]
16310 unsafe fn decode(
16311 &mut self,
16312 decoder: &mut fidl::encoding::Decoder<
16313 '_,
16314 fidl::encoding::DefaultFuchsiaResourceDialect,
16315 >,
16316 offset: usize,
16317 mut depth: fidl::encoding::Depth,
16318 ) -> fidl::Result<()> {
16319 decoder.debug_check_bounds::<Self>(offset);
16320 #[allow(unused_variables)]
16321 let next_out_of_line = decoder.next_out_of_line();
16322 let handles_before = decoder.remaining_handles();
16323 let (ordinal, inlined, num_bytes, num_handles) =
16324 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
16325
16326 let member_inline_size = match ordinal {
16327 1 => <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16328 2 => <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16329 3 => <i16 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16330 4 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16331 5 => <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16332 6 => <u8 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16333 7 => <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16334 8 => <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16335 9 => <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16336 10 => <f32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16337 11 => <f64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16338 12 => <DefaultEnum as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16339 13 => <DefaultBits as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16340 14 => <fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16341 15 => <fidl::encoding::UnboundedString as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16342 16 => <ThisIsAStruct as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16343 17 => <ThisIsAUnion as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16344 18 => <fidl::encoding::Array<u32, 3> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16345 19 => <fidl::encoding::UnboundedVector<u32> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16346 20 => <ThisIsATable as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16347 21 => <ThisIsAXunion as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16348 0 => return Err(fidl::Error::UnknownUnionTag),
16349 _ => num_bytes as usize,
16350 };
16351
16352 if inlined != (member_inline_size <= 4) {
16353 return Err(fidl::Error::InvalidInlineBitInEnvelope);
16354 }
16355 let _inner_offset;
16356 if inlined {
16357 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
16358 _inner_offset = offset + 8;
16359 } else {
16360 depth.increment()?;
16361 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
16362 }
16363 match ordinal {
16364 1 => {
16365 #[allow(irrefutable_let_patterns)]
16366 if let AllTypesXunion::BoolMember(_) = self {
16367 } else {
16369 *self = AllTypesXunion::BoolMember(fidl::new_empty!(
16371 bool,
16372 fidl::encoding::DefaultFuchsiaResourceDialect
16373 ));
16374 }
16375 #[allow(irrefutable_let_patterns)]
16376 if let AllTypesXunion::BoolMember(ref mut val) = self {
16377 fidl::decode!(
16378 bool,
16379 fidl::encoding::DefaultFuchsiaResourceDialect,
16380 val,
16381 decoder,
16382 _inner_offset,
16383 depth
16384 )?;
16385 } else {
16386 unreachable!()
16387 }
16388 }
16389 2 => {
16390 #[allow(irrefutable_let_patterns)]
16391 if let AllTypesXunion::Int8Member(_) = self {
16392 } else {
16394 *self = AllTypesXunion::Int8Member(fidl::new_empty!(
16396 i8,
16397 fidl::encoding::DefaultFuchsiaResourceDialect
16398 ));
16399 }
16400 #[allow(irrefutable_let_patterns)]
16401 if let AllTypesXunion::Int8Member(ref mut val) = self {
16402 fidl::decode!(
16403 i8,
16404 fidl::encoding::DefaultFuchsiaResourceDialect,
16405 val,
16406 decoder,
16407 _inner_offset,
16408 depth
16409 )?;
16410 } else {
16411 unreachable!()
16412 }
16413 }
16414 3 => {
16415 #[allow(irrefutable_let_patterns)]
16416 if let AllTypesXunion::Int16Member(_) = self {
16417 } else {
16419 *self = AllTypesXunion::Int16Member(fidl::new_empty!(
16421 i16,
16422 fidl::encoding::DefaultFuchsiaResourceDialect
16423 ));
16424 }
16425 #[allow(irrefutable_let_patterns)]
16426 if let AllTypesXunion::Int16Member(ref mut val) = self {
16427 fidl::decode!(
16428 i16,
16429 fidl::encoding::DefaultFuchsiaResourceDialect,
16430 val,
16431 decoder,
16432 _inner_offset,
16433 depth
16434 )?;
16435 } else {
16436 unreachable!()
16437 }
16438 }
16439 4 => {
16440 #[allow(irrefutable_let_patterns)]
16441 if let AllTypesXunion::Int32Member(_) = self {
16442 } else {
16444 *self = AllTypesXunion::Int32Member(fidl::new_empty!(
16446 i32,
16447 fidl::encoding::DefaultFuchsiaResourceDialect
16448 ));
16449 }
16450 #[allow(irrefutable_let_patterns)]
16451 if let AllTypesXunion::Int32Member(ref mut val) = self {
16452 fidl::decode!(
16453 i32,
16454 fidl::encoding::DefaultFuchsiaResourceDialect,
16455 val,
16456 decoder,
16457 _inner_offset,
16458 depth
16459 )?;
16460 } else {
16461 unreachable!()
16462 }
16463 }
16464 5 => {
16465 #[allow(irrefutable_let_patterns)]
16466 if let AllTypesXunion::Int64Member(_) = self {
16467 } else {
16469 *self = AllTypesXunion::Int64Member(fidl::new_empty!(
16471 i64,
16472 fidl::encoding::DefaultFuchsiaResourceDialect
16473 ));
16474 }
16475 #[allow(irrefutable_let_patterns)]
16476 if let AllTypesXunion::Int64Member(ref mut val) = self {
16477 fidl::decode!(
16478 i64,
16479 fidl::encoding::DefaultFuchsiaResourceDialect,
16480 val,
16481 decoder,
16482 _inner_offset,
16483 depth
16484 )?;
16485 } else {
16486 unreachable!()
16487 }
16488 }
16489 6 => {
16490 #[allow(irrefutable_let_patterns)]
16491 if let AllTypesXunion::Uint8Member(_) = self {
16492 } else {
16494 *self = AllTypesXunion::Uint8Member(fidl::new_empty!(
16496 u8,
16497 fidl::encoding::DefaultFuchsiaResourceDialect
16498 ));
16499 }
16500 #[allow(irrefutable_let_patterns)]
16501 if let AllTypesXunion::Uint8Member(ref mut val) = self {
16502 fidl::decode!(
16503 u8,
16504 fidl::encoding::DefaultFuchsiaResourceDialect,
16505 val,
16506 decoder,
16507 _inner_offset,
16508 depth
16509 )?;
16510 } else {
16511 unreachable!()
16512 }
16513 }
16514 7 => {
16515 #[allow(irrefutable_let_patterns)]
16516 if let AllTypesXunion::Uint16Member(_) = self {
16517 } else {
16519 *self = AllTypesXunion::Uint16Member(fidl::new_empty!(
16521 u16,
16522 fidl::encoding::DefaultFuchsiaResourceDialect
16523 ));
16524 }
16525 #[allow(irrefutable_let_patterns)]
16526 if let AllTypesXunion::Uint16Member(ref mut val) = self {
16527 fidl::decode!(
16528 u16,
16529 fidl::encoding::DefaultFuchsiaResourceDialect,
16530 val,
16531 decoder,
16532 _inner_offset,
16533 depth
16534 )?;
16535 } else {
16536 unreachable!()
16537 }
16538 }
16539 8 => {
16540 #[allow(irrefutable_let_patterns)]
16541 if let AllTypesXunion::Uint32Member(_) = self {
16542 } else {
16544 *self = AllTypesXunion::Uint32Member(fidl::new_empty!(
16546 u32,
16547 fidl::encoding::DefaultFuchsiaResourceDialect
16548 ));
16549 }
16550 #[allow(irrefutable_let_patterns)]
16551 if let AllTypesXunion::Uint32Member(ref mut val) = self {
16552 fidl::decode!(
16553 u32,
16554 fidl::encoding::DefaultFuchsiaResourceDialect,
16555 val,
16556 decoder,
16557 _inner_offset,
16558 depth
16559 )?;
16560 } else {
16561 unreachable!()
16562 }
16563 }
16564 9 => {
16565 #[allow(irrefutable_let_patterns)]
16566 if let AllTypesXunion::Uint64Member(_) = self {
16567 } else {
16569 *self = AllTypesXunion::Uint64Member(fidl::new_empty!(
16571 u64,
16572 fidl::encoding::DefaultFuchsiaResourceDialect
16573 ));
16574 }
16575 #[allow(irrefutable_let_patterns)]
16576 if let AllTypesXunion::Uint64Member(ref mut val) = self {
16577 fidl::decode!(
16578 u64,
16579 fidl::encoding::DefaultFuchsiaResourceDialect,
16580 val,
16581 decoder,
16582 _inner_offset,
16583 depth
16584 )?;
16585 } else {
16586 unreachable!()
16587 }
16588 }
16589 10 => {
16590 #[allow(irrefutable_let_patterns)]
16591 if let AllTypesXunion::Float32Member(_) = self {
16592 } else {
16594 *self = AllTypesXunion::Float32Member(fidl::new_empty!(
16596 f32,
16597 fidl::encoding::DefaultFuchsiaResourceDialect
16598 ));
16599 }
16600 #[allow(irrefutable_let_patterns)]
16601 if let AllTypesXunion::Float32Member(ref mut val) = self {
16602 fidl::decode!(
16603 f32,
16604 fidl::encoding::DefaultFuchsiaResourceDialect,
16605 val,
16606 decoder,
16607 _inner_offset,
16608 depth
16609 )?;
16610 } else {
16611 unreachable!()
16612 }
16613 }
16614 11 => {
16615 #[allow(irrefutable_let_patterns)]
16616 if let AllTypesXunion::Float64Member(_) = self {
16617 } else {
16619 *self = AllTypesXunion::Float64Member(fidl::new_empty!(
16621 f64,
16622 fidl::encoding::DefaultFuchsiaResourceDialect
16623 ));
16624 }
16625 #[allow(irrefutable_let_patterns)]
16626 if let AllTypesXunion::Float64Member(ref mut val) = self {
16627 fidl::decode!(
16628 f64,
16629 fidl::encoding::DefaultFuchsiaResourceDialect,
16630 val,
16631 decoder,
16632 _inner_offset,
16633 depth
16634 )?;
16635 } else {
16636 unreachable!()
16637 }
16638 }
16639 12 => {
16640 #[allow(irrefutable_let_patterns)]
16641 if let AllTypesXunion::EnumMember(_) = self {
16642 } else {
16644 *self = AllTypesXunion::EnumMember(fidl::new_empty!(
16646 DefaultEnum,
16647 fidl::encoding::DefaultFuchsiaResourceDialect
16648 ));
16649 }
16650 #[allow(irrefutable_let_patterns)]
16651 if let AllTypesXunion::EnumMember(ref mut val) = self {
16652 fidl::decode!(
16653 DefaultEnum,
16654 fidl::encoding::DefaultFuchsiaResourceDialect,
16655 val,
16656 decoder,
16657 _inner_offset,
16658 depth
16659 )?;
16660 } else {
16661 unreachable!()
16662 }
16663 }
16664 13 => {
16665 #[allow(irrefutable_let_patterns)]
16666 if let AllTypesXunion::BitsMember(_) = self {
16667 } else {
16669 *self = AllTypesXunion::BitsMember(fidl::new_empty!(
16671 DefaultBits,
16672 fidl::encoding::DefaultFuchsiaResourceDialect
16673 ));
16674 }
16675 #[allow(irrefutable_let_patterns)]
16676 if let AllTypesXunion::BitsMember(ref mut val) = self {
16677 fidl::decode!(
16678 DefaultBits,
16679 fidl::encoding::DefaultFuchsiaResourceDialect,
16680 val,
16681 decoder,
16682 _inner_offset,
16683 depth
16684 )?;
16685 } else {
16686 unreachable!()
16687 }
16688 }
16689 14 => {
16690 #[allow(irrefutable_let_patterns)]
16691 if let AllTypesXunion::HandleMember(_) = self {
16692 } else {
16694 *self = AllTypesXunion::HandleMember(
16696 fidl::new_empty!(fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16697 );
16698 }
16699 #[allow(irrefutable_let_patterns)]
16700 if let AllTypesXunion::HandleMember(ref mut val) = self {
16701 fidl::decode!(fidl::encoding::HandleType<fidl::NullableHandle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val, decoder, _inner_offset, depth)?;
16702 } else {
16703 unreachable!()
16704 }
16705 }
16706 15 => {
16707 #[allow(irrefutable_let_patterns)]
16708 if let AllTypesXunion::StringMember(_) = self {
16709 } else {
16711 *self = AllTypesXunion::StringMember(fidl::new_empty!(
16713 fidl::encoding::UnboundedString,
16714 fidl::encoding::DefaultFuchsiaResourceDialect
16715 ));
16716 }
16717 #[allow(irrefutable_let_patterns)]
16718 if let AllTypesXunion::StringMember(ref mut val) = self {
16719 fidl::decode!(
16720 fidl::encoding::UnboundedString,
16721 fidl::encoding::DefaultFuchsiaResourceDialect,
16722 val,
16723 decoder,
16724 _inner_offset,
16725 depth
16726 )?;
16727 } else {
16728 unreachable!()
16729 }
16730 }
16731 16 => {
16732 #[allow(irrefutable_let_patterns)]
16733 if let AllTypesXunion::StructMember(_) = self {
16734 } else {
16736 *self = AllTypesXunion::StructMember(fidl::new_empty!(
16738 ThisIsAStruct,
16739 fidl::encoding::DefaultFuchsiaResourceDialect
16740 ));
16741 }
16742 #[allow(irrefutable_let_patterns)]
16743 if let AllTypesXunion::StructMember(ref mut val) = self {
16744 fidl::decode!(
16745 ThisIsAStruct,
16746 fidl::encoding::DefaultFuchsiaResourceDialect,
16747 val,
16748 decoder,
16749 _inner_offset,
16750 depth
16751 )?;
16752 } else {
16753 unreachable!()
16754 }
16755 }
16756 17 => {
16757 #[allow(irrefutable_let_patterns)]
16758 if let AllTypesXunion::UnionMember(_) = self {
16759 } else {
16761 *self = AllTypesXunion::UnionMember(fidl::new_empty!(
16763 ThisIsAUnion,
16764 fidl::encoding::DefaultFuchsiaResourceDialect
16765 ));
16766 }
16767 #[allow(irrefutable_let_patterns)]
16768 if let AllTypesXunion::UnionMember(ref mut val) = self {
16769 fidl::decode!(
16770 ThisIsAUnion,
16771 fidl::encoding::DefaultFuchsiaResourceDialect,
16772 val,
16773 decoder,
16774 _inner_offset,
16775 depth
16776 )?;
16777 } else {
16778 unreachable!()
16779 }
16780 }
16781 18 => {
16782 #[allow(irrefutable_let_patterns)]
16783 if let AllTypesXunion::ArrayMember(_) = self {
16784 } else {
16786 *self = AllTypesXunion::ArrayMember(
16788 fidl::new_empty!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
16789 );
16790 }
16791 #[allow(irrefutable_let_patterns)]
16792 if let AllTypesXunion::ArrayMember(ref mut val) = self {
16793 fidl::decode!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, val, decoder, _inner_offset, depth)?;
16794 } else {
16795 unreachable!()
16796 }
16797 }
16798 19 => {
16799 #[allow(irrefutable_let_patterns)]
16800 if let AllTypesXunion::VectorMember(_) = self {
16801 } else {
16803 *self = AllTypesXunion::VectorMember(fidl::new_empty!(
16805 fidl::encoding::UnboundedVector<u32>,
16806 fidl::encoding::DefaultFuchsiaResourceDialect
16807 ));
16808 }
16809 #[allow(irrefutable_let_patterns)]
16810 if let AllTypesXunion::VectorMember(ref mut val) = self {
16811 fidl::decode!(
16812 fidl::encoding::UnboundedVector<u32>,
16813 fidl::encoding::DefaultFuchsiaResourceDialect,
16814 val,
16815 decoder,
16816 _inner_offset,
16817 depth
16818 )?;
16819 } else {
16820 unreachable!()
16821 }
16822 }
16823 20 => {
16824 #[allow(irrefutable_let_patterns)]
16825 if let AllTypesXunion::TableMember(_) = self {
16826 } else {
16828 *self = AllTypesXunion::TableMember(fidl::new_empty!(
16830 ThisIsATable,
16831 fidl::encoding::DefaultFuchsiaResourceDialect
16832 ));
16833 }
16834 #[allow(irrefutable_let_patterns)]
16835 if let AllTypesXunion::TableMember(ref mut val) = self {
16836 fidl::decode!(
16837 ThisIsATable,
16838 fidl::encoding::DefaultFuchsiaResourceDialect,
16839 val,
16840 decoder,
16841 _inner_offset,
16842 depth
16843 )?;
16844 } else {
16845 unreachable!()
16846 }
16847 }
16848 21 => {
16849 #[allow(irrefutable_let_patterns)]
16850 if let AllTypesXunion::XunionMember(_) = self {
16851 } else {
16853 *self = AllTypesXunion::XunionMember(fidl::new_empty!(
16855 ThisIsAXunion,
16856 fidl::encoding::DefaultFuchsiaResourceDialect
16857 ));
16858 }
16859 #[allow(irrefutable_let_patterns)]
16860 if let AllTypesXunion::XunionMember(ref mut val) = self {
16861 fidl::decode!(
16862 ThisIsAXunion,
16863 fidl::encoding::DefaultFuchsiaResourceDialect,
16864 val,
16865 decoder,
16866 _inner_offset,
16867 depth
16868 )?;
16869 } else {
16870 unreachable!()
16871 }
16872 }
16873 #[allow(deprecated)]
16874 ordinal => {
16875 for _ in 0..num_handles {
16876 decoder.drop_next_handle()?;
16877 }
16878 *self = AllTypesXunion::__SourceBreaking { unknown_ordinal: ordinal };
16879 }
16880 }
16881 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
16882 return Err(fidl::Error::InvalidNumBytesInEnvelope);
16883 }
16884 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
16885 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
16886 }
16887 Ok(())
16888 }
16889 }
16890}