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::Handle; 3],
30 pub nullable_handles: [Option<fidl::Handle>; 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::Handle>,
302 pub nullable_handles: Vec<Option<fidl::Handle>>,
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::Handle; 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::Handle; 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::Handle; 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::Handle,
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::Handle>,
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::Handle>,
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::Handle>>,
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::Handle>,
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::Handle>,
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::Handle>>,
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::Handle>>,
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::Handle>>>,
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::Handle>>,
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::Handle>>,
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::Handle>>>,
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::Handle>,
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::Handle),
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 let protocol_name = <ConfigMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
711 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
712 }
713
714 pub fn into_channel(self) -> fidl::Channel {
715 self.client.into_channel()
716 }
717
718 pub fn wait_for_event(
721 &self,
722 deadline: zx::MonotonicInstant,
723 ) -> Result<ConfigEvent, fidl::Error> {
724 ConfigEvent::decode(self.client.wait_for_event(deadline)?)
725 }
726
727 pub fn r#get_impls(
728 &self,
729 ___deadline: zx::MonotonicInstant,
730 ) -> Result<Vec<String>, fidl::Error> {
731 let _response =
732 self.client.send_query::<fidl::encoding::EmptyPayload, ConfigGetImplsResponse>(
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::Handle {
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 fidl::endpoints::ControlHandle for ConfigControlHandle {
1009 fn shutdown(&self) {
1010 self.inner.shutdown()
1011 }
1012 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
1013 self.inner.shutdown_with_epitaph(status)
1014 }
1015
1016 fn is_closed(&self) -> bool {
1017 self.inner.channel().is_closed()
1018 }
1019 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
1020 self.inner.channel().on_closed()
1021 }
1022
1023 #[cfg(target_os = "fuchsia")]
1024 fn signal_peer(
1025 &self,
1026 clear_mask: zx::Signals,
1027 set_mask: zx::Signals,
1028 ) -> Result<(), zx_status::Status> {
1029 use fidl::Peered;
1030 self.inner.channel().signal_peer(clear_mask, set_mask)
1031 }
1032}
1033
1034impl ConfigControlHandle {}
1035
1036#[must_use = "FIDL methods require a response to be sent"]
1037#[derive(Debug)]
1038pub struct ConfigGetImplsResponder {
1039 control_handle: std::mem::ManuallyDrop<ConfigControlHandle>,
1040 tx_id: u32,
1041}
1042
1043impl std::ops::Drop for ConfigGetImplsResponder {
1047 fn drop(&mut self) {
1048 self.control_handle.shutdown();
1049 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
1051 }
1052}
1053
1054impl fidl::endpoints::Responder for ConfigGetImplsResponder {
1055 type ControlHandle = ConfigControlHandle;
1056
1057 fn control_handle(&self) -> &ConfigControlHandle {
1058 &self.control_handle
1059 }
1060
1061 fn drop_without_shutdown(mut self) {
1062 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
1064 std::mem::forget(self);
1066 }
1067}
1068
1069impl ConfigGetImplsResponder {
1070 pub fn send(self, mut impls: &[String]) -> Result<(), fidl::Error> {
1074 let _result = self.send_raw(impls);
1075 if _result.is_err() {
1076 self.control_handle.shutdown();
1077 }
1078 self.drop_without_shutdown();
1079 _result
1080 }
1081
1082 pub fn send_no_shutdown_on_err(self, mut impls: &[String]) -> Result<(), fidl::Error> {
1084 let _result = self.send_raw(impls);
1085 self.drop_without_shutdown();
1086 _result
1087 }
1088
1089 fn send_raw(&self, mut impls: &[String]) -> Result<(), fidl::Error> {
1090 self.control_handle.inner.send::<ConfigGetImplsResponse>(
1091 (impls,),
1092 self.tx_id,
1093 0x3b360c86a6dbdfe0,
1094 fidl::encoding::DynamicFlags::empty(),
1095 )
1096 }
1097}
1098
1099#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1100pub struct EchoMarker;
1101
1102impl fidl::endpoints::ProtocolMarker for EchoMarker {
1103 type Proxy = EchoProxy;
1104 type RequestStream = EchoRequestStream;
1105 #[cfg(target_os = "fuchsia")]
1106 type SynchronousProxy = EchoSynchronousProxy;
1107
1108 const DEBUG_NAME: &'static str = "fidl.test.compatibility.Echo";
1109}
1110impl fidl::endpoints::DiscoverableProtocolMarker for EchoMarker {}
1111pub type EchoEchoMinimalWithErrorResult = Result<(), u32>;
1112pub type EchoEchoStructWithErrorResult = Result<Struct, DefaultEnum>;
1113pub type EchoEchoArraysWithErrorResult = Result<ArraysStruct, DefaultEnum>;
1114pub type EchoEchoVectorsWithErrorResult = Result<VectorsStruct, DefaultEnum>;
1115pub type EchoEchoTableWithErrorResult = Result<AllTypesTable, DefaultEnum>;
1116pub type EchoEchoXunionsWithErrorResult = Result<Vec<AllTypesXunion>, DefaultEnum>;
1117pub type EchoEchoNamedStructWithErrorResult = Result<fidl_fidl_test_imported::SimpleStruct, u32>;
1118pub type EchoEchoTablePayloadWithErrorResult = Result<ResponseTable, DefaultEnum>;
1119pub type EchoEchoUnionPayloadWithErrorResult = Result<ResponseUnion, DefaultEnum>;
1120
1121pub trait EchoProxyInterface: Send + Sync {
1122 type EchoTableRequestComposedResponseFut: std::future::Future<Output = Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error>>
1123 + Send;
1124 fn r#echo_table_request_composed(
1125 &self,
1126 payload: &fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
1127 ) -> Self::EchoTableRequestComposedResponseFut;
1128 type EchoUnionResponseWithErrorComposedResponseFut: std::future::Future<
1129 Output = Result<
1130 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
1131 fidl::Error,
1132 >,
1133 > + Send;
1134 fn r#echo_union_response_with_error_composed(
1135 &self,
1136 value: i64,
1137 want_absolute_value: bool,
1138 forward_to_server: &str,
1139 result_err: u32,
1140 result_variant: fidl_fidl_test_imported::WantResponse,
1141 ) -> Self::EchoUnionResponseWithErrorComposedResponseFut;
1142 type EchoMinimalResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
1143 fn r#echo_minimal(&self, forward_to_server: &str) -> Self::EchoMinimalResponseFut;
1144 type EchoMinimalWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoMinimalWithErrorResult, fidl::Error>>
1145 + Send;
1146 fn r#echo_minimal_with_error(
1147 &self,
1148 forward_to_server: &str,
1149 result_variant: RespondWith,
1150 ) -> Self::EchoMinimalWithErrorResponseFut;
1151 fn r#echo_minimal_no_ret_val(&self, forward_to_server: &str) -> Result<(), fidl::Error>;
1152 type EchoStructResponseFut: std::future::Future<Output = Result<Struct, fidl::Error>> + Send;
1153 fn r#echo_struct(&self, value: Struct, forward_to_server: &str) -> Self::EchoStructResponseFut;
1154 type EchoStructWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoStructWithErrorResult, fidl::Error>>
1155 + Send;
1156 fn r#echo_struct_with_error(
1157 &self,
1158 value: Struct,
1159 result_err: DefaultEnum,
1160 forward_to_server: &str,
1161 result_variant: RespondWith,
1162 ) -> Self::EchoStructWithErrorResponseFut;
1163 fn r#echo_struct_no_ret_val(
1164 &self,
1165 value: Struct,
1166 forward_to_server: &str,
1167 ) -> Result<(), fidl::Error>;
1168 type EchoArraysResponseFut: std::future::Future<Output = Result<ArraysStruct, fidl::Error>>
1169 + Send;
1170 fn r#echo_arrays(
1171 &self,
1172 value: ArraysStruct,
1173 forward_to_server: &str,
1174 ) -> Self::EchoArraysResponseFut;
1175 type EchoArraysWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoArraysWithErrorResult, fidl::Error>>
1176 + Send;
1177 fn r#echo_arrays_with_error(
1178 &self,
1179 value: ArraysStruct,
1180 result_err: DefaultEnum,
1181 forward_to_server: &str,
1182 result_variant: RespondWith,
1183 ) -> Self::EchoArraysWithErrorResponseFut;
1184 type EchoVectorsResponseFut: std::future::Future<Output = Result<VectorsStruct, fidl::Error>>
1185 + Send;
1186 fn r#echo_vectors(
1187 &self,
1188 value: VectorsStruct,
1189 forward_to_server: &str,
1190 ) -> Self::EchoVectorsResponseFut;
1191 type EchoVectorsWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoVectorsWithErrorResult, fidl::Error>>
1192 + Send;
1193 fn r#echo_vectors_with_error(
1194 &self,
1195 value: VectorsStruct,
1196 result_err: DefaultEnum,
1197 forward_to_server: &str,
1198 result_variant: RespondWith,
1199 ) -> Self::EchoVectorsWithErrorResponseFut;
1200 type EchoTableResponseFut: std::future::Future<Output = Result<AllTypesTable, fidl::Error>>
1201 + Send;
1202 fn r#echo_table(
1203 &self,
1204 value: AllTypesTable,
1205 forward_to_server: &str,
1206 ) -> Self::EchoTableResponseFut;
1207 type EchoTableWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoTableWithErrorResult, fidl::Error>>
1208 + Send;
1209 fn r#echo_table_with_error(
1210 &self,
1211 value: AllTypesTable,
1212 result_err: DefaultEnum,
1213 forward_to_server: &str,
1214 result_variant: RespondWith,
1215 ) -> Self::EchoTableWithErrorResponseFut;
1216 type EchoXunionsResponseFut: std::future::Future<Output = Result<Vec<AllTypesXunion>, fidl::Error>>
1217 + Send;
1218 fn r#echo_xunions(
1219 &self,
1220 value: Vec<AllTypesXunion>,
1221 forward_to_server: &str,
1222 ) -> Self::EchoXunionsResponseFut;
1223 type EchoXunionsWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoXunionsWithErrorResult, fidl::Error>>
1224 + Send;
1225 fn r#echo_xunions_with_error(
1226 &self,
1227 value: Vec<AllTypesXunion>,
1228 result_err: DefaultEnum,
1229 forward_to_server: &str,
1230 result_variant: RespondWith,
1231 ) -> Self::EchoXunionsWithErrorResponseFut;
1232 type EchoNamedStructResponseFut: std::future::Future<Output = Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error>>
1233 + Send;
1234 fn r#echo_named_struct(
1235 &self,
1236 value: &fidl_fidl_test_imported::SimpleStruct,
1237 forward_to_server: &str,
1238 ) -> Self::EchoNamedStructResponseFut;
1239 type EchoNamedStructWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoNamedStructWithErrorResult, fidl::Error>>
1240 + Send;
1241 fn r#echo_named_struct_with_error(
1242 &self,
1243 value: &fidl_fidl_test_imported::SimpleStruct,
1244 result_err: u32,
1245 forward_to_server: &str,
1246 result_variant: fidl_fidl_test_imported::WantResponse,
1247 ) -> Self::EchoNamedStructWithErrorResponseFut;
1248 fn r#echo_named_struct_no_ret_val(
1249 &self,
1250 value: &fidl_fidl_test_imported::SimpleStruct,
1251 forward_to_server: &str,
1252 ) -> Result<(), fidl::Error>;
1253 type EchoTablePayloadResponseFut: std::future::Future<Output = Result<ResponseTable, fidl::Error>>
1254 + Send;
1255 fn r#echo_table_payload(&self, payload: &RequestTable) -> Self::EchoTablePayloadResponseFut;
1256 type EchoTablePayloadWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoTablePayloadWithErrorResult, fidl::Error>>
1257 + Send;
1258 fn r#echo_table_payload_with_error(
1259 &self,
1260 payload: &EchoEchoTablePayloadWithErrorRequest,
1261 ) -> Self::EchoTablePayloadWithErrorResponseFut;
1262 fn r#echo_table_payload_no_ret_val(&self, payload: &RequestTable) -> Result<(), fidl::Error>;
1263 type EchoUnionPayloadResponseFut: std::future::Future<Output = Result<ResponseUnion, fidl::Error>>
1264 + Send;
1265 fn r#echo_union_payload(&self, payload: &RequestUnion) -> Self::EchoUnionPayloadResponseFut;
1266 type EchoUnionPayloadWithErrorResponseFut: std::future::Future<Output = Result<EchoEchoUnionPayloadWithErrorResult, fidl::Error>>
1267 + Send;
1268 fn r#echo_union_payload_with_error(
1269 &self,
1270 payload: &EchoEchoUnionPayloadWithErrorRequest,
1271 ) -> Self::EchoUnionPayloadWithErrorResponseFut;
1272 fn r#echo_union_payload_no_ret_val(&self, payload: &RequestUnion) -> Result<(), fidl::Error>;
1273}
1274#[derive(Debug)]
1275#[cfg(target_os = "fuchsia")]
1276pub struct EchoSynchronousProxy {
1277 client: fidl::client::sync::Client,
1278}
1279
1280#[cfg(target_os = "fuchsia")]
1281impl fidl::endpoints::SynchronousProxy for EchoSynchronousProxy {
1282 type Proxy = EchoProxy;
1283 type Protocol = EchoMarker;
1284
1285 fn from_channel(inner: fidl::Channel) -> Self {
1286 Self::new(inner)
1287 }
1288
1289 fn into_channel(self) -> fidl::Channel {
1290 self.client.into_channel()
1291 }
1292
1293 fn as_channel(&self) -> &fidl::Channel {
1294 self.client.as_channel()
1295 }
1296}
1297
1298#[cfg(target_os = "fuchsia")]
1299impl EchoSynchronousProxy {
1300 pub fn new(channel: fidl::Channel) -> Self {
1301 let protocol_name = <EchoMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
1302 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
1303 }
1304
1305 pub fn into_channel(self) -> fidl::Channel {
1306 self.client.into_channel()
1307 }
1308
1309 pub fn wait_for_event(&self, deadline: zx::MonotonicInstant) -> Result<EchoEvent, fidl::Error> {
1312 EchoEvent::decode(self.client.wait_for_event(deadline)?)
1313 }
1314
1315 pub fn r#echo_table_request_composed(
1316 &self,
1317 mut payload: &fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
1318 ___deadline: zx::MonotonicInstant,
1319 ) -> Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error> {
1320 let _response = self.client.send_query::<
1321 fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
1322 fidl_fidl_test_imported::ResponseStruct,
1323 >(
1324 payload,
1325 0x1d545c738c7a8ee,
1326 fidl::encoding::DynamicFlags::empty(),
1327 ___deadline,
1328 )?;
1329 Ok(_response.value)
1330 }
1331
1332 pub fn r#echo_union_response_with_error_composed(
1333 &self,
1334 mut value: i64,
1335 mut want_absolute_value: bool,
1336 mut forward_to_server: &str,
1337 mut result_err: u32,
1338 mut result_variant: fidl_fidl_test_imported::WantResponse,
1339 ___deadline: zx::MonotonicInstant,
1340 ) -> Result<
1341 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
1342 fidl::Error,
1343 > {
1344 let _response = self.client.send_query::<
1345 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedRequest,
1346 fidl::encoding::ResultType<fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse, u32>,
1347 >(
1348 (value, want_absolute_value, forward_to_server, result_err, result_variant,),
1349 0x38a67e88d6106443,
1350 fidl::encoding::DynamicFlags::empty(),
1351 ___deadline,
1352 )?;
1353 Ok(_response.map(|x| x))
1354 }
1355
1356 pub fn r#echo_minimal(
1357 &self,
1358 mut forward_to_server: &str,
1359 ___deadline: zx::MonotonicInstant,
1360 ) -> Result<(), fidl::Error> {
1361 let _response =
1362 self.client.send_query::<EchoEchoMinimalRequest, fidl::encoding::EmptyPayload>(
1363 (forward_to_server,),
1364 0x39edd68c837482ec,
1365 fidl::encoding::DynamicFlags::empty(),
1366 ___deadline,
1367 )?;
1368 Ok(_response)
1369 }
1370
1371 pub fn r#echo_minimal_with_error(
1372 &self,
1373 mut forward_to_server: &str,
1374 mut result_variant: RespondWith,
1375 ___deadline: zx::MonotonicInstant,
1376 ) -> Result<EchoEchoMinimalWithErrorResult, fidl::Error> {
1377 let _response = self.client.send_query::<
1378 EchoEchoMinimalWithErrorRequest,
1379 fidl::encoding::ResultType<fidl::encoding::EmptyStruct, u32>,
1380 >(
1381 (forward_to_server, result_variant,),
1382 0x36f4695996e35acc,
1383 fidl::encoding::DynamicFlags::empty(),
1384 ___deadline,
1385 )?;
1386 Ok(_response.map(|x| x))
1387 }
1388
1389 pub fn r#echo_minimal_no_ret_val(
1390 &self,
1391 mut forward_to_server: &str,
1392 ) -> Result<(), fidl::Error> {
1393 self.client.send::<EchoEchoMinimalNoRetValRequest>(
1394 (forward_to_server,),
1395 0x42693c143e2c3694,
1396 fidl::encoding::DynamicFlags::empty(),
1397 )
1398 }
1399
1400 pub fn r#echo_struct(
1401 &self,
1402 mut value: Struct,
1403 mut forward_to_server: &str,
1404 ___deadline: zx::MonotonicInstant,
1405 ) -> Result<Struct, fidl::Error> {
1406 let _response = self.client.send_query::<EchoEchoStructRequest, EchoEchoStructResponse>(
1407 (&mut value, forward_to_server),
1408 0x4c2f85818cc53f37,
1409 fidl::encoding::DynamicFlags::empty(),
1410 ___deadline,
1411 )?;
1412 Ok(_response.value)
1413 }
1414
1415 pub fn r#echo_struct_with_error(
1416 &self,
1417 mut value: Struct,
1418 mut result_err: DefaultEnum,
1419 mut forward_to_server: &str,
1420 mut result_variant: RespondWith,
1421 ___deadline: zx::MonotonicInstant,
1422 ) -> Result<EchoEchoStructWithErrorResult, fidl::Error> {
1423 let _response = self.client.send_query::<
1424 EchoEchoStructWithErrorRequest,
1425 fidl::encoding::ResultType<EchoEchoStructWithErrorResponse, DefaultEnum>,
1426 >(
1427 (&mut value, result_err, forward_to_server, result_variant,),
1428 0x46cb32652c4c0899,
1429 fidl::encoding::DynamicFlags::empty(),
1430 ___deadline,
1431 )?;
1432 Ok(_response.map(|x| x.value))
1433 }
1434
1435 pub fn r#echo_struct_no_ret_val(
1436 &self,
1437 mut value: Struct,
1438 mut forward_to_server: &str,
1439 ) -> Result<(), fidl::Error> {
1440 self.client.send::<EchoEchoStructNoRetValRequest>(
1441 (&mut value, forward_to_server),
1442 0x1f763e602cf5892a,
1443 fidl::encoding::DynamicFlags::empty(),
1444 )
1445 }
1446
1447 pub fn r#echo_arrays(
1448 &self,
1449 mut value: ArraysStruct,
1450 mut forward_to_server: &str,
1451 ___deadline: zx::MonotonicInstant,
1452 ) -> Result<ArraysStruct, fidl::Error> {
1453 let _response = self.client.send_query::<EchoEchoArraysRequest, EchoEchoArraysResponse>(
1454 (&mut value, forward_to_server),
1455 0x1b6019d5611f2470,
1456 fidl::encoding::DynamicFlags::empty(),
1457 ___deadline,
1458 )?;
1459 Ok(_response.value)
1460 }
1461
1462 pub fn r#echo_arrays_with_error(
1463 &self,
1464 mut value: ArraysStruct,
1465 mut result_err: DefaultEnum,
1466 mut forward_to_server: &str,
1467 mut result_variant: RespondWith,
1468 ___deadline: zx::MonotonicInstant,
1469 ) -> Result<EchoEchoArraysWithErrorResult, fidl::Error> {
1470 let _response = self.client.send_query::<
1471 EchoEchoArraysWithErrorRequest,
1472 fidl::encoding::ResultType<EchoEchoArraysWithErrorResponse, DefaultEnum>,
1473 >(
1474 (&mut value, result_err, forward_to_server, result_variant,),
1475 0x6dbf26e67e253afa,
1476 fidl::encoding::DynamicFlags::empty(),
1477 ___deadline,
1478 )?;
1479 Ok(_response.map(|x| x.value))
1480 }
1481
1482 pub fn r#echo_vectors(
1483 &self,
1484 mut value: VectorsStruct,
1485 mut forward_to_server: &str,
1486 ___deadline: zx::MonotonicInstant,
1487 ) -> Result<VectorsStruct, fidl::Error> {
1488 let _response = self.client.send_query::<EchoEchoVectorsRequest, EchoEchoVectorsResponse>(
1489 (&mut value, forward_to_server),
1490 0x1582623f0d9f6e5e,
1491 fidl::encoding::DynamicFlags::empty(),
1492 ___deadline,
1493 )?;
1494 Ok(_response.value)
1495 }
1496
1497 pub fn r#echo_vectors_with_error(
1498 &self,
1499 mut value: VectorsStruct,
1500 mut result_err: DefaultEnum,
1501 mut forward_to_server: &str,
1502 mut result_variant: RespondWith,
1503 ___deadline: zx::MonotonicInstant,
1504 ) -> Result<EchoEchoVectorsWithErrorResult, fidl::Error> {
1505 let _response = self.client.send_query::<
1506 EchoEchoVectorsWithErrorRequest,
1507 fidl::encoding::ResultType<EchoEchoVectorsWithErrorResponse, DefaultEnum>,
1508 >(
1509 (&mut value, result_err, forward_to_server, result_variant,),
1510 0x730f163401e2b3e5,
1511 fidl::encoding::DynamicFlags::empty(),
1512 ___deadline,
1513 )?;
1514 Ok(_response.map(|x| x.value))
1515 }
1516
1517 pub fn r#echo_table(
1518 &self,
1519 mut value: AllTypesTable,
1520 mut forward_to_server: &str,
1521 ___deadline: zx::MonotonicInstant,
1522 ) -> Result<AllTypesTable, fidl::Error> {
1523 let _response = self.client.send_query::<EchoEchoTableRequest, EchoEchoTableResponse>(
1524 (&mut value, forward_to_server),
1525 0x4f1fb0a512f47c4b,
1526 fidl::encoding::DynamicFlags::empty(),
1527 ___deadline,
1528 )?;
1529 Ok(_response.value)
1530 }
1531
1532 pub fn r#echo_table_with_error(
1533 &self,
1534 mut value: AllTypesTable,
1535 mut result_err: DefaultEnum,
1536 mut forward_to_server: &str,
1537 mut result_variant: RespondWith,
1538 ___deadline: zx::MonotonicInstant,
1539 ) -> Result<EchoEchoTableWithErrorResult, fidl::Error> {
1540 let _response = self.client.send_query::<
1541 EchoEchoTableWithErrorRequest,
1542 fidl::encoding::ResultType<EchoEchoTableWithErrorResponse, DefaultEnum>,
1543 >(
1544 (&mut value, result_err, forward_to_server, result_variant,),
1545 0x44e835cb1eb9a931,
1546 fidl::encoding::DynamicFlags::empty(),
1547 ___deadline,
1548 )?;
1549 Ok(_response.map(|x| x.value))
1550 }
1551
1552 pub fn r#echo_xunions(
1553 &self,
1554 mut value: Vec<AllTypesXunion>,
1555 mut forward_to_server: &str,
1556 ___deadline: zx::MonotonicInstant,
1557 ) -> Result<Vec<AllTypesXunion>, fidl::Error> {
1558 let _response = self.client.send_query::<EchoEchoXunionsRequest, EchoEchoXunionsResponse>(
1559 (value.as_mut(), forward_to_server),
1560 0x3dc181909041a583,
1561 fidl::encoding::DynamicFlags::empty(),
1562 ___deadline,
1563 )?;
1564 Ok(_response.value)
1565 }
1566
1567 pub fn r#echo_xunions_with_error(
1568 &self,
1569 mut value: Vec<AllTypesXunion>,
1570 mut result_err: DefaultEnum,
1571 mut forward_to_server: &str,
1572 mut result_variant: RespondWith,
1573 ___deadline: zx::MonotonicInstant,
1574 ) -> Result<EchoEchoXunionsWithErrorResult, fidl::Error> {
1575 let _response = self.client.send_query::<
1576 EchoEchoXunionsWithErrorRequest,
1577 fidl::encoding::ResultType<EchoEchoXunionsWithErrorResponse, DefaultEnum>,
1578 >(
1579 (value.as_mut(), result_err, forward_to_server, result_variant,),
1580 0x75184102667fa766,
1581 fidl::encoding::DynamicFlags::empty(),
1582 ___deadline,
1583 )?;
1584 Ok(_response.map(|x| x.value))
1585 }
1586
1587 pub fn r#echo_named_struct(
1588 &self,
1589 mut value: &fidl_fidl_test_imported::SimpleStruct,
1590 mut forward_to_server: &str,
1591 ___deadline: zx::MonotonicInstant,
1592 ) -> Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error> {
1593 let _response = self.client.send_query::<
1594 fidl_fidl_test_imported::RequestStruct,
1595 fidl_fidl_test_imported::ResponseStruct,
1596 >(
1597 (value, forward_to_server,),
1598 0xf2d4aa9e65f7111,
1599 fidl::encoding::DynamicFlags::empty(),
1600 ___deadline,
1601 )?;
1602 Ok(_response.value)
1603 }
1604
1605 pub fn r#echo_named_struct_with_error(
1606 &self,
1607 mut value: &fidl_fidl_test_imported::SimpleStruct,
1608 mut result_err: u32,
1609 mut forward_to_server: &str,
1610 mut result_variant: fidl_fidl_test_imported::WantResponse,
1611 ___deadline: zx::MonotonicInstant,
1612 ) -> Result<EchoEchoNamedStructWithErrorResult, fidl::Error> {
1613 let _response = self.client.send_query::<
1614 fidl_fidl_test_imported::ErrorableRequestStruct,
1615 fidl::encoding::ResultType<fidl_fidl_test_imported::ResponseStruct, u32>,
1616 >(
1617 (value, result_err, forward_to_server, result_variant,),
1618 0x5766fee9e74442e8,
1619 fidl::encoding::DynamicFlags::empty(),
1620 ___deadline,
1621 )?;
1622 Ok(_response.map(|x| x.value))
1623 }
1624
1625 pub fn r#echo_named_struct_no_ret_val(
1626 &self,
1627 mut value: &fidl_fidl_test_imported::SimpleStruct,
1628 mut forward_to_server: &str,
1629 ) -> Result<(), fidl::Error> {
1630 self.client.send::<fidl_fidl_test_imported::EventTriggeringRequestStruct>(
1631 (value, forward_to_server),
1632 0x3a50bbf7d2113ad7,
1633 fidl::encoding::DynamicFlags::empty(),
1634 )
1635 }
1636
1637 pub fn r#echo_table_payload(
1638 &self,
1639 mut payload: &RequestTable,
1640 ___deadline: zx::MonotonicInstant,
1641 ) -> Result<ResponseTable, fidl::Error> {
1642 let _response = self.client.send_query::<RequestTable, ResponseTable>(
1643 payload,
1644 0x641d98087378c003,
1645 fidl::encoding::DynamicFlags::empty(),
1646 ___deadline,
1647 )?;
1648 Ok(_response)
1649 }
1650
1651 pub fn r#echo_table_payload_with_error(
1652 &self,
1653 mut payload: &EchoEchoTablePayloadWithErrorRequest,
1654 ___deadline: zx::MonotonicInstant,
1655 ) -> Result<EchoEchoTablePayloadWithErrorResult, fidl::Error> {
1656 let _response = self.client.send_query::<
1657 EchoEchoTablePayloadWithErrorRequest,
1658 fidl::encoding::ResultType<ResponseTable, DefaultEnum>,
1659 >(
1660 payload,
1661 0x636ed243761ab66d,
1662 fidl::encoding::DynamicFlags::empty(),
1663 ___deadline,
1664 )?;
1665 Ok(_response.map(|x| x))
1666 }
1667
1668 pub fn r#echo_table_payload_no_ret_val(
1669 &self,
1670 mut payload: &RequestTable,
1671 ) -> Result<(), fidl::Error> {
1672 self.client.send::<RequestTable>(
1673 payload,
1674 0x32961f7d718569f8,
1675 fidl::encoding::DynamicFlags::empty(),
1676 )
1677 }
1678
1679 pub fn r#echo_union_payload(
1680 &self,
1681 mut payload: &RequestUnion,
1682 ___deadline: zx::MonotonicInstant,
1683 ) -> Result<ResponseUnion, fidl::Error> {
1684 let _response = self.client.send_query::<RequestUnion, ResponseUnion>(
1685 payload,
1686 0x66def9e793f10c55,
1687 fidl::encoding::DynamicFlags::empty(),
1688 ___deadline,
1689 )?;
1690 Ok(_response)
1691 }
1692
1693 pub fn r#echo_union_payload_with_error(
1694 &self,
1695 mut payload: &EchoEchoUnionPayloadWithErrorRequest,
1696 ___deadline: zx::MonotonicInstant,
1697 ) -> Result<EchoEchoUnionPayloadWithErrorResult, fidl::Error> {
1698 let _response = self.client.send_query::<
1699 EchoEchoUnionPayloadWithErrorRequest,
1700 fidl::encoding::ResultType<ResponseUnion, DefaultEnum>,
1701 >(
1702 payload,
1703 0x1be890d6e68ef063,
1704 fidl::encoding::DynamicFlags::empty(),
1705 ___deadline,
1706 )?;
1707 Ok(_response.map(|x| x))
1708 }
1709
1710 pub fn r#echo_union_payload_no_ret_val(
1711 &self,
1712 mut payload: &RequestUnion,
1713 ) -> Result<(), fidl::Error> {
1714 self.client.send::<RequestUnion>(
1715 payload,
1716 0x11518bf346430040,
1717 fidl::encoding::DynamicFlags::empty(),
1718 )
1719 }
1720}
1721
1722#[cfg(target_os = "fuchsia")]
1723impl From<EchoSynchronousProxy> for zx::Handle {
1724 fn from(value: EchoSynchronousProxy) -> Self {
1725 value.into_channel().into()
1726 }
1727}
1728
1729#[cfg(target_os = "fuchsia")]
1730impl From<fidl::Channel> for EchoSynchronousProxy {
1731 fn from(value: fidl::Channel) -> Self {
1732 Self::new(value)
1733 }
1734}
1735
1736#[cfg(target_os = "fuchsia")]
1737impl fidl::endpoints::FromClient for EchoSynchronousProxy {
1738 type Protocol = EchoMarker;
1739
1740 fn from_client(value: fidl::endpoints::ClientEnd<EchoMarker>) -> Self {
1741 Self::new(value.into_channel())
1742 }
1743}
1744
1745#[derive(Debug, Clone)]
1746pub struct EchoProxy {
1747 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
1748}
1749
1750impl fidl::endpoints::Proxy for EchoProxy {
1751 type Protocol = EchoMarker;
1752
1753 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
1754 Self::new(inner)
1755 }
1756
1757 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
1758 self.client.into_channel().map_err(|client| Self { client })
1759 }
1760
1761 fn as_channel(&self) -> &::fidl::AsyncChannel {
1762 self.client.as_channel()
1763 }
1764}
1765
1766impl EchoProxy {
1767 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
1769 let protocol_name = <EchoMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
1770 Self { client: fidl::client::Client::new(channel, protocol_name) }
1771 }
1772
1773 pub fn take_event_stream(&self) -> EchoEventStream {
1779 EchoEventStream { event_receiver: self.client.take_event_receiver() }
1780 }
1781
1782 pub fn r#echo_table_request_composed(
1783 &self,
1784 mut payload: &fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
1785 ) -> fidl::client::QueryResponseFut<
1786 fidl_fidl_test_imported::SimpleStruct,
1787 fidl::encoding::DefaultFuchsiaResourceDialect,
1788 > {
1789 EchoProxyInterface::r#echo_table_request_composed(self, payload)
1790 }
1791
1792 pub fn r#echo_union_response_with_error_composed(
1793 &self,
1794 mut value: i64,
1795 mut want_absolute_value: bool,
1796 mut forward_to_server: &str,
1797 mut result_err: u32,
1798 mut result_variant: fidl_fidl_test_imported::WantResponse,
1799 ) -> fidl::client::QueryResponseFut<
1800 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
1801 fidl::encoding::DefaultFuchsiaResourceDialect,
1802 > {
1803 EchoProxyInterface::r#echo_union_response_with_error_composed(
1804 self,
1805 value,
1806 want_absolute_value,
1807 forward_to_server,
1808 result_err,
1809 result_variant,
1810 )
1811 }
1812
1813 pub fn r#echo_minimal(
1814 &self,
1815 mut forward_to_server: &str,
1816 ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1817 EchoProxyInterface::r#echo_minimal(self, forward_to_server)
1818 }
1819
1820 pub fn r#echo_minimal_with_error(
1821 &self,
1822 mut forward_to_server: &str,
1823 mut result_variant: RespondWith,
1824 ) -> fidl::client::QueryResponseFut<
1825 EchoEchoMinimalWithErrorResult,
1826 fidl::encoding::DefaultFuchsiaResourceDialect,
1827 > {
1828 EchoProxyInterface::r#echo_minimal_with_error(self, forward_to_server, result_variant)
1829 }
1830
1831 pub fn r#echo_minimal_no_ret_val(
1832 &self,
1833 mut forward_to_server: &str,
1834 ) -> Result<(), fidl::Error> {
1835 EchoProxyInterface::r#echo_minimal_no_ret_val(self, forward_to_server)
1836 }
1837
1838 pub fn r#echo_struct(
1839 &self,
1840 mut value: Struct,
1841 mut forward_to_server: &str,
1842 ) -> fidl::client::QueryResponseFut<Struct, fidl::encoding::DefaultFuchsiaResourceDialect> {
1843 EchoProxyInterface::r#echo_struct(self, value, forward_to_server)
1844 }
1845
1846 pub fn r#echo_struct_with_error(
1847 &self,
1848 mut value: Struct,
1849 mut result_err: DefaultEnum,
1850 mut forward_to_server: &str,
1851 mut result_variant: RespondWith,
1852 ) -> fidl::client::QueryResponseFut<
1853 EchoEchoStructWithErrorResult,
1854 fidl::encoding::DefaultFuchsiaResourceDialect,
1855 > {
1856 EchoProxyInterface::r#echo_struct_with_error(
1857 self,
1858 value,
1859 result_err,
1860 forward_to_server,
1861 result_variant,
1862 )
1863 }
1864
1865 pub fn r#echo_struct_no_ret_val(
1866 &self,
1867 mut value: Struct,
1868 mut forward_to_server: &str,
1869 ) -> Result<(), fidl::Error> {
1870 EchoProxyInterface::r#echo_struct_no_ret_val(self, value, forward_to_server)
1871 }
1872
1873 pub fn r#echo_arrays(
1874 &self,
1875 mut value: ArraysStruct,
1876 mut forward_to_server: &str,
1877 ) -> fidl::client::QueryResponseFut<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
1878 {
1879 EchoProxyInterface::r#echo_arrays(self, value, forward_to_server)
1880 }
1881
1882 pub fn r#echo_arrays_with_error(
1883 &self,
1884 mut value: ArraysStruct,
1885 mut result_err: DefaultEnum,
1886 mut forward_to_server: &str,
1887 mut result_variant: RespondWith,
1888 ) -> fidl::client::QueryResponseFut<
1889 EchoEchoArraysWithErrorResult,
1890 fidl::encoding::DefaultFuchsiaResourceDialect,
1891 > {
1892 EchoProxyInterface::r#echo_arrays_with_error(
1893 self,
1894 value,
1895 result_err,
1896 forward_to_server,
1897 result_variant,
1898 )
1899 }
1900
1901 pub fn r#echo_vectors(
1902 &self,
1903 mut value: VectorsStruct,
1904 mut forward_to_server: &str,
1905 ) -> fidl::client::QueryResponseFut<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
1906 {
1907 EchoProxyInterface::r#echo_vectors(self, value, forward_to_server)
1908 }
1909
1910 pub fn r#echo_vectors_with_error(
1911 &self,
1912 mut value: VectorsStruct,
1913 mut result_err: DefaultEnum,
1914 mut forward_to_server: &str,
1915 mut result_variant: RespondWith,
1916 ) -> fidl::client::QueryResponseFut<
1917 EchoEchoVectorsWithErrorResult,
1918 fidl::encoding::DefaultFuchsiaResourceDialect,
1919 > {
1920 EchoProxyInterface::r#echo_vectors_with_error(
1921 self,
1922 value,
1923 result_err,
1924 forward_to_server,
1925 result_variant,
1926 )
1927 }
1928
1929 pub fn r#echo_table(
1930 &self,
1931 mut value: AllTypesTable,
1932 mut forward_to_server: &str,
1933 ) -> fidl::client::QueryResponseFut<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>
1934 {
1935 EchoProxyInterface::r#echo_table(self, value, forward_to_server)
1936 }
1937
1938 pub fn r#echo_table_with_error(
1939 &self,
1940 mut value: AllTypesTable,
1941 mut result_err: DefaultEnum,
1942 mut forward_to_server: &str,
1943 mut result_variant: RespondWith,
1944 ) -> fidl::client::QueryResponseFut<
1945 EchoEchoTableWithErrorResult,
1946 fidl::encoding::DefaultFuchsiaResourceDialect,
1947 > {
1948 EchoProxyInterface::r#echo_table_with_error(
1949 self,
1950 value,
1951 result_err,
1952 forward_to_server,
1953 result_variant,
1954 )
1955 }
1956
1957 pub fn r#echo_xunions(
1958 &self,
1959 mut value: Vec<AllTypesXunion>,
1960 mut forward_to_server: &str,
1961 ) -> fidl::client::QueryResponseFut<
1962 Vec<AllTypesXunion>,
1963 fidl::encoding::DefaultFuchsiaResourceDialect,
1964 > {
1965 EchoProxyInterface::r#echo_xunions(self, value, forward_to_server)
1966 }
1967
1968 pub fn r#echo_xunions_with_error(
1969 &self,
1970 mut value: Vec<AllTypesXunion>,
1971 mut result_err: DefaultEnum,
1972 mut forward_to_server: &str,
1973 mut result_variant: RespondWith,
1974 ) -> fidl::client::QueryResponseFut<
1975 EchoEchoXunionsWithErrorResult,
1976 fidl::encoding::DefaultFuchsiaResourceDialect,
1977 > {
1978 EchoProxyInterface::r#echo_xunions_with_error(
1979 self,
1980 value,
1981 result_err,
1982 forward_to_server,
1983 result_variant,
1984 )
1985 }
1986
1987 pub fn r#echo_named_struct(
1988 &self,
1989 mut value: &fidl_fidl_test_imported::SimpleStruct,
1990 mut forward_to_server: &str,
1991 ) -> fidl::client::QueryResponseFut<
1992 fidl_fidl_test_imported::SimpleStruct,
1993 fidl::encoding::DefaultFuchsiaResourceDialect,
1994 > {
1995 EchoProxyInterface::r#echo_named_struct(self, value, forward_to_server)
1996 }
1997
1998 pub fn r#echo_named_struct_with_error(
1999 &self,
2000 mut value: &fidl_fidl_test_imported::SimpleStruct,
2001 mut result_err: u32,
2002 mut forward_to_server: &str,
2003 mut result_variant: fidl_fidl_test_imported::WantResponse,
2004 ) -> fidl::client::QueryResponseFut<
2005 EchoEchoNamedStructWithErrorResult,
2006 fidl::encoding::DefaultFuchsiaResourceDialect,
2007 > {
2008 EchoProxyInterface::r#echo_named_struct_with_error(
2009 self,
2010 value,
2011 result_err,
2012 forward_to_server,
2013 result_variant,
2014 )
2015 }
2016
2017 pub fn r#echo_named_struct_no_ret_val(
2018 &self,
2019 mut value: &fidl_fidl_test_imported::SimpleStruct,
2020 mut forward_to_server: &str,
2021 ) -> Result<(), fidl::Error> {
2022 EchoProxyInterface::r#echo_named_struct_no_ret_val(self, value, forward_to_server)
2023 }
2024
2025 pub fn r#echo_table_payload(
2026 &self,
2027 mut payload: &RequestTable,
2028 ) -> fidl::client::QueryResponseFut<ResponseTable, fidl::encoding::DefaultFuchsiaResourceDialect>
2029 {
2030 EchoProxyInterface::r#echo_table_payload(self, payload)
2031 }
2032
2033 pub fn r#echo_table_payload_with_error(
2034 &self,
2035 mut payload: &EchoEchoTablePayloadWithErrorRequest,
2036 ) -> fidl::client::QueryResponseFut<
2037 EchoEchoTablePayloadWithErrorResult,
2038 fidl::encoding::DefaultFuchsiaResourceDialect,
2039 > {
2040 EchoProxyInterface::r#echo_table_payload_with_error(self, payload)
2041 }
2042
2043 pub fn r#echo_table_payload_no_ret_val(
2044 &self,
2045 mut payload: &RequestTable,
2046 ) -> Result<(), fidl::Error> {
2047 EchoProxyInterface::r#echo_table_payload_no_ret_val(self, payload)
2048 }
2049
2050 pub fn r#echo_union_payload(
2051 &self,
2052 mut payload: &RequestUnion,
2053 ) -> fidl::client::QueryResponseFut<ResponseUnion, fidl::encoding::DefaultFuchsiaResourceDialect>
2054 {
2055 EchoProxyInterface::r#echo_union_payload(self, payload)
2056 }
2057
2058 pub fn r#echo_union_payload_with_error(
2059 &self,
2060 mut payload: &EchoEchoUnionPayloadWithErrorRequest,
2061 ) -> fidl::client::QueryResponseFut<
2062 EchoEchoUnionPayloadWithErrorResult,
2063 fidl::encoding::DefaultFuchsiaResourceDialect,
2064 > {
2065 EchoProxyInterface::r#echo_union_payload_with_error(self, payload)
2066 }
2067
2068 pub fn r#echo_union_payload_no_ret_val(
2069 &self,
2070 mut payload: &RequestUnion,
2071 ) -> Result<(), fidl::Error> {
2072 EchoProxyInterface::r#echo_union_payload_no_ret_val(self, payload)
2073 }
2074}
2075
2076impl EchoProxyInterface for EchoProxy {
2077 type EchoTableRequestComposedResponseFut = fidl::client::QueryResponseFut<
2078 fidl_fidl_test_imported::SimpleStruct,
2079 fidl::encoding::DefaultFuchsiaResourceDialect,
2080 >;
2081 fn r#echo_table_request_composed(
2082 &self,
2083 mut payload: &fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
2084 ) -> Self::EchoTableRequestComposedResponseFut {
2085 fn _decode(
2086 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2087 ) -> Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error> {
2088 let _response = fidl::client::decode_transaction_body::<
2089 fidl_fidl_test_imported::ResponseStruct,
2090 fidl::encoding::DefaultFuchsiaResourceDialect,
2091 0x1d545c738c7a8ee,
2092 >(_buf?)?;
2093 Ok(_response.value)
2094 }
2095 self.client.send_query_and_decode::<
2096 fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
2097 fidl_fidl_test_imported::SimpleStruct,
2098 >(
2099 payload,
2100 0x1d545c738c7a8ee,
2101 fidl::encoding::DynamicFlags::empty(),
2102 _decode,
2103 )
2104 }
2105
2106 type EchoUnionResponseWithErrorComposedResponseFut = fidl::client::QueryResponseFut<
2107 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
2108 fidl::encoding::DefaultFuchsiaResourceDialect,
2109 >;
2110 fn r#echo_union_response_with_error_composed(
2111 &self,
2112 mut value: i64,
2113 mut want_absolute_value: bool,
2114 mut forward_to_server: &str,
2115 mut result_err: u32,
2116 mut result_variant: fidl_fidl_test_imported::WantResponse,
2117 ) -> Self::EchoUnionResponseWithErrorComposedResponseFut {
2118 fn _decode(
2119 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2120 ) -> Result<
2121 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
2122 fidl::Error,
2123 > {
2124 let _response = fidl::client::decode_transaction_body::<
2125 fidl::encoding::ResultType<
2126 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
2127 u32,
2128 >,
2129 fidl::encoding::DefaultFuchsiaResourceDialect,
2130 0x38a67e88d6106443,
2131 >(_buf?)?;
2132 Ok(_response.map(|x| x))
2133 }
2134 self.client.send_query_and_decode::<
2135 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedRequest,
2136 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResult,
2137 >(
2138 (value, want_absolute_value, forward_to_server, result_err, result_variant,),
2139 0x38a67e88d6106443,
2140 fidl::encoding::DynamicFlags::empty(),
2141 _decode,
2142 )
2143 }
2144
2145 type EchoMinimalResponseFut =
2146 fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
2147 fn r#echo_minimal(&self, mut forward_to_server: &str) -> Self::EchoMinimalResponseFut {
2148 fn _decode(
2149 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2150 ) -> Result<(), fidl::Error> {
2151 let _response = fidl::client::decode_transaction_body::<
2152 fidl::encoding::EmptyPayload,
2153 fidl::encoding::DefaultFuchsiaResourceDialect,
2154 0x39edd68c837482ec,
2155 >(_buf?)?;
2156 Ok(_response)
2157 }
2158 self.client.send_query_and_decode::<EchoEchoMinimalRequest, ()>(
2159 (forward_to_server,),
2160 0x39edd68c837482ec,
2161 fidl::encoding::DynamicFlags::empty(),
2162 _decode,
2163 )
2164 }
2165
2166 type EchoMinimalWithErrorResponseFut = fidl::client::QueryResponseFut<
2167 EchoEchoMinimalWithErrorResult,
2168 fidl::encoding::DefaultFuchsiaResourceDialect,
2169 >;
2170 fn r#echo_minimal_with_error(
2171 &self,
2172 mut forward_to_server: &str,
2173 mut result_variant: RespondWith,
2174 ) -> Self::EchoMinimalWithErrorResponseFut {
2175 fn _decode(
2176 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2177 ) -> Result<EchoEchoMinimalWithErrorResult, fidl::Error> {
2178 let _response = fidl::client::decode_transaction_body::<
2179 fidl::encoding::ResultType<fidl::encoding::EmptyStruct, u32>,
2180 fidl::encoding::DefaultFuchsiaResourceDialect,
2181 0x36f4695996e35acc,
2182 >(_buf?)?;
2183 Ok(_response.map(|x| x))
2184 }
2185 self.client.send_query_and_decode::<
2186 EchoEchoMinimalWithErrorRequest,
2187 EchoEchoMinimalWithErrorResult,
2188 >(
2189 (forward_to_server, result_variant,),
2190 0x36f4695996e35acc,
2191 fidl::encoding::DynamicFlags::empty(),
2192 _decode,
2193 )
2194 }
2195
2196 fn r#echo_minimal_no_ret_val(&self, mut forward_to_server: &str) -> Result<(), fidl::Error> {
2197 self.client.send::<EchoEchoMinimalNoRetValRequest>(
2198 (forward_to_server,),
2199 0x42693c143e2c3694,
2200 fidl::encoding::DynamicFlags::empty(),
2201 )
2202 }
2203
2204 type EchoStructResponseFut =
2205 fidl::client::QueryResponseFut<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>;
2206 fn r#echo_struct(
2207 &self,
2208 mut value: Struct,
2209 mut forward_to_server: &str,
2210 ) -> Self::EchoStructResponseFut {
2211 fn _decode(
2212 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2213 ) -> Result<Struct, fidl::Error> {
2214 let _response = fidl::client::decode_transaction_body::<
2215 EchoEchoStructResponse,
2216 fidl::encoding::DefaultFuchsiaResourceDialect,
2217 0x4c2f85818cc53f37,
2218 >(_buf?)?;
2219 Ok(_response.value)
2220 }
2221 self.client.send_query_and_decode::<EchoEchoStructRequest, Struct>(
2222 (&mut value, forward_to_server),
2223 0x4c2f85818cc53f37,
2224 fidl::encoding::DynamicFlags::empty(),
2225 _decode,
2226 )
2227 }
2228
2229 type EchoStructWithErrorResponseFut = fidl::client::QueryResponseFut<
2230 EchoEchoStructWithErrorResult,
2231 fidl::encoding::DefaultFuchsiaResourceDialect,
2232 >;
2233 fn r#echo_struct_with_error(
2234 &self,
2235 mut value: Struct,
2236 mut result_err: DefaultEnum,
2237 mut forward_to_server: &str,
2238 mut result_variant: RespondWith,
2239 ) -> Self::EchoStructWithErrorResponseFut {
2240 fn _decode(
2241 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2242 ) -> Result<EchoEchoStructWithErrorResult, fidl::Error> {
2243 let _response = fidl::client::decode_transaction_body::<
2244 fidl::encoding::ResultType<EchoEchoStructWithErrorResponse, DefaultEnum>,
2245 fidl::encoding::DefaultFuchsiaResourceDialect,
2246 0x46cb32652c4c0899,
2247 >(_buf?)?;
2248 Ok(_response.map(|x| x.value))
2249 }
2250 self.client
2251 .send_query_and_decode::<EchoEchoStructWithErrorRequest, EchoEchoStructWithErrorResult>(
2252 (&mut value, result_err, forward_to_server, result_variant),
2253 0x46cb32652c4c0899,
2254 fidl::encoding::DynamicFlags::empty(),
2255 _decode,
2256 )
2257 }
2258
2259 fn r#echo_struct_no_ret_val(
2260 &self,
2261 mut value: Struct,
2262 mut forward_to_server: &str,
2263 ) -> Result<(), fidl::Error> {
2264 self.client.send::<EchoEchoStructNoRetValRequest>(
2265 (&mut value, forward_to_server),
2266 0x1f763e602cf5892a,
2267 fidl::encoding::DynamicFlags::empty(),
2268 )
2269 }
2270
2271 type EchoArraysResponseFut =
2272 fidl::client::QueryResponseFut<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>;
2273 fn r#echo_arrays(
2274 &self,
2275 mut value: ArraysStruct,
2276 mut forward_to_server: &str,
2277 ) -> Self::EchoArraysResponseFut {
2278 fn _decode(
2279 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2280 ) -> Result<ArraysStruct, fidl::Error> {
2281 let _response = fidl::client::decode_transaction_body::<
2282 EchoEchoArraysResponse,
2283 fidl::encoding::DefaultFuchsiaResourceDialect,
2284 0x1b6019d5611f2470,
2285 >(_buf?)?;
2286 Ok(_response.value)
2287 }
2288 self.client.send_query_and_decode::<EchoEchoArraysRequest, ArraysStruct>(
2289 (&mut value, forward_to_server),
2290 0x1b6019d5611f2470,
2291 fidl::encoding::DynamicFlags::empty(),
2292 _decode,
2293 )
2294 }
2295
2296 type EchoArraysWithErrorResponseFut = fidl::client::QueryResponseFut<
2297 EchoEchoArraysWithErrorResult,
2298 fidl::encoding::DefaultFuchsiaResourceDialect,
2299 >;
2300 fn r#echo_arrays_with_error(
2301 &self,
2302 mut value: ArraysStruct,
2303 mut result_err: DefaultEnum,
2304 mut forward_to_server: &str,
2305 mut result_variant: RespondWith,
2306 ) -> Self::EchoArraysWithErrorResponseFut {
2307 fn _decode(
2308 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2309 ) -> Result<EchoEchoArraysWithErrorResult, fidl::Error> {
2310 let _response = fidl::client::decode_transaction_body::<
2311 fidl::encoding::ResultType<EchoEchoArraysWithErrorResponse, DefaultEnum>,
2312 fidl::encoding::DefaultFuchsiaResourceDialect,
2313 0x6dbf26e67e253afa,
2314 >(_buf?)?;
2315 Ok(_response.map(|x| x.value))
2316 }
2317 self.client
2318 .send_query_and_decode::<EchoEchoArraysWithErrorRequest, EchoEchoArraysWithErrorResult>(
2319 (&mut value, result_err, forward_to_server, result_variant),
2320 0x6dbf26e67e253afa,
2321 fidl::encoding::DynamicFlags::empty(),
2322 _decode,
2323 )
2324 }
2325
2326 type EchoVectorsResponseFut = fidl::client::QueryResponseFut<
2327 VectorsStruct,
2328 fidl::encoding::DefaultFuchsiaResourceDialect,
2329 >;
2330 fn r#echo_vectors(
2331 &self,
2332 mut value: VectorsStruct,
2333 mut forward_to_server: &str,
2334 ) -> Self::EchoVectorsResponseFut {
2335 fn _decode(
2336 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2337 ) -> Result<VectorsStruct, fidl::Error> {
2338 let _response = fidl::client::decode_transaction_body::<
2339 EchoEchoVectorsResponse,
2340 fidl::encoding::DefaultFuchsiaResourceDialect,
2341 0x1582623f0d9f6e5e,
2342 >(_buf?)?;
2343 Ok(_response.value)
2344 }
2345 self.client.send_query_and_decode::<EchoEchoVectorsRequest, VectorsStruct>(
2346 (&mut value, forward_to_server),
2347 0x1582623f0d9f6e5e,
2348 fidl::encoding::DynamicFlags::empty(),
2349 _decode,
2350 )
2351 }
2352
2353 type EchoVectorsWithErrorResponseFut = fidl::client::QueryResponseFut<
2354 EchoEchoVectorsWithErrorResult,
2355 fidl::encoding::DefaultFuchsiaResourceDialect,
2356 >;
2357 fn r#echo_vectors_with_error(
2358 &self,
2359 mut value: VectorsStruct,
2360 mut result_err: DefaultEnum,
2361 mut forward_to_server: &str,
2362 mut result_variant: RespondWith,
2363 ) -> Self::EchoVectorsWithErrorResponseFut {
2364 fn _decode(
2365 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2366 ) -> Result<EchoEchoVectorsWithErrorResult, fidl::Error> {
2367 let _response = fidl::client::decode_transaction_body::<
2368 fidl::encoding::ResultType<EchoEchoVectorsWithErrorResponse, DefaultEnum>,
2369 fidl::encoding::DefaultFuchsiaResourceDialect,
2370 0x730f163401e2b3e5,
2371 >(_buf?)?;
2372 Ok(_response.map(|x| x.value))
2373 }
2374 self.client.send_query_and_decode::<
2375 EchoEchoVectorsWithErrorRequest,
2376 EchoEchoVectorsWithErrorResult,
2377 >(
2378 (&mut value, result_err, forward_to_server, result_variant,),
2379 0x730f163401e2b3e5,
2380 fidl::encoding::DynamicFlags::empty(),
2381 _decode,
2382 )
2383 }
2384
2385 type EchoTableResponseFut = fidl::client::QueryResponseFut<
2386 AllTypesTable,
2387 fidl::encoding::DefaultFuchsiaResourceDialect,
2388 >;
2389 fn r#echo_table(
2390 &self,
2391 mut value: AllTypesTable,
2392 mut forward_to_server: &str,
2393 ) -> Self::EchoTableResponseFut {
2394 fn _decode(
2395 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2396 ) -> Result<AllTypesTable, fidl::Error> {
2397 let _response = fidl::client::decode_transaction_body::<
2398 EchoEchoTableResponse,
2399 fidl::encoding::DefaultFuchsiaResourceDialect,
2400 0x4f1fb0a512f47c4b,
2401 >(_buf?)?;
2402 Ok(_response.value)
2403 }
2404 self.client.send_query_and_decode::<EchoEchoTableRequest, AllTypesTable>(
2405 (&mut value, forward_to_server),
2406 0x4f1fb0a512f47c4b,
2407 fidl::encoding::DynamicFlags::empty(),
2408 _decode,
2409 )
2410 }
2411
2412 type EchoTableWithErrorResponseFut = fidl::client::QueryResponseFut<
2413 EchoEchoTableWithErrorResult,
2414 fidl::encoding::DefaultFuchsiaResourceDialect,
2415 >;
2416 fn r#echo_table_with_error(
2417 &self,
2418 mut value: AllTypesTable,
2419 mut result_err: DefaultEnum,
2420 mut forward_to_server: &str,
2421 mut result_variant: RespondWith,
2422 ) -> Self::EchoTableWithErrorResponseFut {
2423 fn _decode(
2424 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2425 ) -> Result<EchoEchoTableWithErrorResult, fidl::Error> {
2426 let _response = fidl::client::decode_transaction_body::<
2427 fidl::encoding::ResultType<EchoEchoTableWithErrorResponse, DefaultEnum>,
2428 fidl::encoding::DefaultFuchsiaResourceDialect,
2429 0x44e835cb1eb9a931,
2430 >(_buf?)?;
2431 Ok(_response.map(|x| x.value))
2432 }
2433 self.client
2434 .send_query_and_decode::<EchoEchoTableWithErrorRequest, EchoEchoTableWithErrorResult>(
2435 (&mut value, result_err, forward_to_server, result_variant),
2436 0x44e835cb1eb9a931,
2437 fidl::encoding::DynamicFlags::empty(),
2438 _decode,
2439 )
2440 }
2441
2442 type EchoXunionsResponseFut = fidl::client::QueryResponseFut<
2443 Vec<AllTypesXunion>,
2444 fidl::encoding::DefaultFuchsiaResourceDialect,
2445 >;
2446 fn r#echo_xunions(
2447 &self,
2448 mut value: Vec<AllTypesXunion>,
2449 mut forward_to_server: &str,
2450 ) -> Self::EchoXunionsResponseFut {
2451 fn _decode(
2452 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2453 ) -> Result<Vec<AllTypesXunion>, fidl::Error> {
2454 let _response = fidl::client::decode_transaction_body::<
2455 EchoEchoXunionsResponse,
2456 fidl::encoding::DefaultFuchsiaResourceDialect,
2457 0x3dc181909041a583,
2458 >(_buf?)?;
2459 Ok(_response.value)
2460 }
2461 self.client.send_query_and_decode::<EchoEchoXunionsRequest, Vec<AllTypesXunion>>(
2462 (value.as_mut(), forward_to_server),
2463 0x3dc181909041a583,
2464 fidl::encoding::DynamicFlags::empty(),
2465 _decode,
2466 )
2467 }
2468
2469 type EchoXunionsWithErrorResponseFut = fidl::client::QueryResponseFut<
2470 EchoEchoXunionsWithErrorResult,
2471 fidl::encoding::DefaultFuchsiaResourceDialect,
2472 >;
2473 fn r#echo_xunions_with_error(
2474 &self,
2475 mut value: Vec<AllTypesXunion>,
2476 mut result_err: DefaultEnum,
2477 mut forward_to_server: &str,
2478 mut result_variant: RespondWith,
2479 ) -> Self::EchoXunionsWithErrorResponseFut {
2480 fn _decode(
2481 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2482 ) -> Result<EchoEchoXunionsWithErrorResult, fidl::Error> {
2483 let _response = fidl::client::decode_transaction_body::<
2484 fidl::encoding::ResultType<EchoEchoXunionsWithErrorResponse, DefaultEnum>,
2485 fidl::encoding::DefaultFuchsiaResourceDialect,
2486 0x75184102667fa766,
2487 >(_buf?)?;
2488 Ok(_response.map(|x| x.value))
2489 }
2490 self.client.send_query_and_decode::<
2491 EchoEchoXunionsWithErrorRequest,
2492 EchoEchoXunionsWithErrorResult,
2493 >(
2494 (value.as_mut(), result_err, forward_to_server, result_variant,),
2495 0x75184102667fa766,
2496 fidl::encoding::DynamicFlags::empty(),
2497 _decode,
2498 )
2499 }
2500
2501 type EchoNamedStructResponseFut = fidl::client::QueryResponseFut<
2502 fidl_fidl_test_imported::SimpleStruct,
2503 fidl::encoding::DefaultFuchsiaResourceDialect,
2504 >;
2505 fn r#echo_named_struct(
2506 &self,
2507 mut value: &fidl_fidl_test_imported::SimpleStruct,
2508 mut forward_to_server: &str,
2509 ) -> Self::EchoNamedStructResponseFut {
2510 fn _decode(
2511 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2512 ) -> Result<fidl_fidl_test_imported::SimpleStruct, fidl::Error> {
2513 let _response = fidl::client::decode_transaction_body::<
2514 fidl_fidl_test_imported::ResponseStruct,
2515 fidl::encoding::DefaultFuchsiaResourceDialect,
2516 0xf2d4aa9e65f7111,
2517 >(_buf?)?;
2518 Ok(_response.value)
2519 }
2520 self.client.send_query_and_decode::<
2521 fidl_fidl_test_imported::RequestStruct,
2522 fidl_fidl_test_imported::SimpleStruct,
2523 >(
2524 (value, forward_to_server,),
2525 0xf2d4aa9e65f7111,
2526 fidl::encoding::DynamicFlags::empty(),
2527 _decode,
2528 )
2529 }
2530
2531 type EchoNamedStructWithErrorResponseFut = fidl::client::QueryResponseFut<
2532 EchoEchoNamedStructWithErrorResult,
2533 fidl::encoding::DefaultFuchsiaResourceDialect,
2534 >;
2535 fn r#echo_named_struct_with_error(
2536 &self,
2537 mut value: &fidl_fidl_test_imported::SimpleStruct,
2538 mut result_err: u32,
2539 mut forward_to_server: &str,
2540 mut result_variant: fidl_fidl_test_imported::WantResponse,
2541 ) -> Self::EchoNamedStructWithErrorResponseFut {
2542 fn _decode(
2543 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2544 ) -> Result<EchoEchoNamedStructWithErrorResult, fidl::Error> {
2545 let _response = fidl::client::decode_transaction_body::<
2546 fidl::encoding::ResultType<fidl_fidl_test_imported::ResponseStruct, u32>,
2547 fidl::encoding::DefaultFuchsiaResourceDialect,
2548 0x5766fee9e74442e8,
2549 >(_buf?)?;
2550 Ok(_response.map(|x| x.value))
2551 }
2552 self.client.send_query_and_decode::<
2553 fidl_fidl_test_imported::ErrorableRequestStruct,
2554 EchoEchoNamedStructWithErrorResult,
2555 >(
2556 (value, result_err, forward_to_server, result_variant,),
2557 0x5766fee9e74442e8,
2558 fidl::encoding::DynamicFlags::empty(),
2559 _decode,
2560 )
2561 }
2562
2563 fn r#echo_named_struct_no_ret_val(
2564 &self,
2565 mut value: &fidl_fidl_test_imported::SimpleStruct,
2566 mut forward_to_server: &str,
2567 ) -> Result<(), fidl::Error> {
2568 self.client.send::<fidl_fidl_test_imported::EventTriggeringRequestStruct>(
2569 (value, forward_to_server),
2570 0x3a50bbf7d2113ad7,
2571 fidl::encoding::DynamicFlags::empty(),
2572 )
2573 }
2574
2575 type EchoTablePayloadResponseFut = fidl::client::QueryResponseFut<
2576 ResponseTable,
2577 fidl::encoding::DefaultFuchsiaResourceDialect,
2578 >;
2579 fn r#echo_table_payload(
2580 &self,
2581 mut payload: &RequestTable,
2582 ) -> Self::EchoTablePayloadResponseFut {
2583 fn _decode(
2584 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2585 ) -> Result<ResponseTable, fidl::Error> {
2586 let _response = fidl::client::decode_transaction_body::<
2587 ResponseTable,
2588 fidl::encoding::DefaultFuchsiaResourceDialect,
2589 0x641d98087378c003,
2590 >(_buf?)?;
2591 Ok(_response)
2592 }
2593 self.client.send_query_and_decode::<RequestTable, ResponseTable>(
2594 payload,
2595 0x641d98087378c003,
2596 fidl::encoding::DynamicFlags::empty(),
2597 _decode,
2598 )
2599 }
2600
2601 type EchoTablePayloadWithErrorResponseFut = fidl::client::QueryResponseFut<
2602 EchoEchoTablePayloadWithErrorResult,
2603 fidl::encoding::DefaultFuchsiaResourceDialect,
2604 >;
2605 fn r#echo_table_payload_with_error(
2606 &self,
2607 mut payload: &EchoEchoTablePayloadWithErrorRequest,
2608 ) -> Self::EchoTablePayloadWithErrorResponseFut {
2609 fn _decode(
2610 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2611 ) -> Result<EchoEchoTablePayloadWithErrorResult, fidl::Error> {
2612 let _response = fidl::client::decode_transaction_body::<
2613 fidl::encoding::ResultType<ResponseTable, DefaultEnum>,
2614 fidl::encoding::DefaultFuchsiaResourceDialect,
2615 0x636ed243761ab66d,
2616 >(_buf?)?;
2617 Ok(_response.map(|x| x))
2618 }
2619 self.client.send_query_and_decode::<
2620 EchoEchoTablePayloadWithErrorRequest,
2621 EchoEchoTablePayloadWithErrorResult,
2622 >(
2623 payload,
2624 0x636ed243761ab66d,
2625 fidl::encoding::DynamicFlags::empty(),
2626 _decode,
2627 )
2628 }
2629
2630 fn r#echo_table_payload_no_ret_val(
2631 &self,
2632 mut payload: &RequestTable,
2633 ) -> Result<(), fidl::Error> {
2634 self.client.send::<RequestTable>(
2635 payload,
2636 0x32961f7d718569f8,
2637 fidl::encoding::DynamicFlags::empty(),
2638 )
2639 }
2640
2641 type EchoUnionPayloadResponseFut = fidl::client::QueryResponseFut<
2642 ResponseUnion,
2643 fidl::encoding::DefaultFuchsiaResourceDialect,
2644 >;
2645 fn r#echo_union_payload(
2646 &self,
2647 mut payload: &RequestUnion,
2648 ) -> Self::EchoUnionPayloadResponseFut {
2649 fn _decode(
2650 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2651 ) -> Result<ResponseUnion, fidl::Error> {
2652 let _response = fidl::client::decode_transaction_body::<
2653 ResponseUnion,
2654 fidl::encoding::DefaultFuchsiaResourceDialect,
2655 0x66def9e793f10c55,
2656 >(_buf?)?;
2657 Ok(_response)
2658 }
2659 self.client.send_query_and_decode::<RequestUnion, ResponseUnion>(
2660 payload,
2661 0x66def9e793f10c55,
2662 fidl::encoding::DynamicFlags::empty(),
2663 _decode,
2664 )
2665 }
2666
2667 type EchoUnionPayloadWithErrorResponseFut = fidl::client::QueryResponseFut<
2668 EchoEchoUnionPayloadWithErrorResult,
2669 fidl::encoding::DefaultFuchsiaResourceDialect,
2670 >;
2671 fn r#echo_union_payload_with_error(
2672 &self,
2673 mut payload: &EchoEchoUnionPayloadWithErrorRequest,
2674 ) -> Self::EchoUnionPayloadWithErrorResponseFut {
2675 fn _decode(
2676 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2677 ) -> Result<EchoEchoUnionPayloadWithErrorResult, fidl::Error> {
2678 let _response = fidl::client::decode_transaction_body::<
2679 fidl::encoding::ResultType<ResponseUnion, DefaultEnum>,
2680 fidl::encoding::DefaultFuchsiaResourceDialect,
2681 0x1be890d6e68ef063,
2682 >(_buf?)?;
2683 Ok(_response.map(|x| x))
2684 }
2685 self.client.send_query_and_decode::<
2686 EchoEchoUnionPayloadWithErrorRequest,
2687 EchoEchoUnionPayloadWithErrorResult,
2688 >(
2689 payload,
2690 0x1be890d6e68ef063,
2691 fidl::encoding::DynamicFlags::empty(),
2692 _decode,
2693 )
2694 }
2695
2696 fn r#echo_union_payload_no_ret_val(
2697 &self,
2698 mut payload: &RequestUnion,
2699 ) -> Result<(), fidl::Error> {
2700 self.client.send::<RequestUnion>(
2701 payload,
2702 0x11518bf346430040,
2703 fidl::encoding::DynamicFlags::empty(),
2704 )
2705 }
2706}
2707
2708pub struct EchoEventStream {
2709 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
2710}
2711
2712impl std::marker::Unpin for EchoEventStream {}
2713
2714impl futures::stream::FusedStream for EchoEventStream {
2715 fn is_terminated(&self) -> bool {
2716 self.event_receiver.is_terminated()
2717 }
2718}
2719
2720impl futures::Stream for EchoEventStream {
2721 type Item = Result<EchoEvent, fidl::Error>;
2722
2723 fn poll_next(
2724 mut self: std::pin::Pin<&mut Self>,
2725 cx: &mut std::task::Context<'_>,
2726 ) -> std::task::Poll<Option<Self::Item>> {
2727 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
2728 &mut self.event_receiver,
2729 cx
2730 )?) {
2731 Some(buf) => std::task::Poll::Ready(Some(EchoEvent::decode(buf))),
2732 None => std::task::Poll::Ready(None),
2733 }
2734 }
2735}
2736
2737#[derive(Debug)]
2738pub enum EchoEvent {
2739 EchoMinimalEvent {},
2740 EchoEvent { value: Struct },
2741 OnEchoNamedEvent { value: fidl_fidl_test_imported::SimpleStruct },
2742 OnEchoTablePayloadEvent { payload: ResponseTable },
2743 OnEchoUnionPayloadEvent { payload: ResponseUnion },
2744}
2745
2746impl EchoEvent {
2747 #[allow(irrefutable_let_patterns)]
2748 pub fn into_echo_minimal_event(self) -> Option<()> {
2749 if let EchoEvent::EchoMinimalEvent {} = self { Some(()) } else { None }
2750 }
2751 #[allow(irrefutable_let_patterns)]
2752 pub fn into_echo_event(self) -> Option<Struct> {
2753 if let EchoEvent::EchoEvent { value } = self { Some((value)) } else { None }
2754 }
2755 #[allow(irrefutable_let_patterns)]
2756 pub fn into_on_echo_named_event(self) -> Option<fidl_fidl_test_imported::SimpleStruct> {
2757 if let EchoEvent::OnEchoNamedEvent { value } = self { Some((value)) } else { None }
2758 }
2759 #[allow(irrefutable_let_patterns)]
2760 pub fn into_on_echo_table_payload_event(self) -> Option<ResponseTable> {
2761 if let EchoEvent::OnEchoTablePayloadEvent { payload } = self {
2762 Some((payload))
2763 } else {
2764 None
2765 }
2766 }
2767 #[allow(irrefutable_let_patterns)]
2768 pub fn into_on_echo_union_payload_event(self) -> Option<ResponseUnion> {
2769 if let EchoEvent::OnEchoUnionPayloadEvent { payload } = self {
2770 Some((payload))
2771 } else {
2772 None
2773 }
2774 }
2775
2776 fn decode(
2778 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
2779 ) -> Result<EchoEvent, fidl::Error> {
2780 let (bytes, _handles) = buf.split_mut();
2781 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
2782 debug_assert_eq!(tx_header.tx_id, 0);
2783 match tx_header.ordinal {
2784 0x273b2029f1a0aee2 => {
2785 let mut out = fidl::new_empty!(
2786 fidl::encoding::EmptyPayload,
2787 fidl::encoding::DefaultFuchsiaResourceDialect
2788 );
2789 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&tx_header, _body_bytes, _handles, &mut out)?;
2790 Ok((EchoEvent::EchoMinimalEvent {}))
2791 }
2792 0x1219e12e0450024 => {
2793 let mut out = fidl::new_empty!(
2794 EchoEchoEventRequest,
2795 fidl::encoding::DefaultFuchsiaResourceDialect
2796 );
2797 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoEventRequest>(&tx_header, _body_bytes, _handles, &mut out)?;
2798 Ok((EchoEvent::EchoEvent { value: out.value }))
2799 }
2800 0x749ebde83348a374 => {
2801 let mut out = fidl::new_empty!(
2802 fidl_fidl_test_imported::ResponseStruct,
2803 fidl::encoding::DefaultFuchsiaResourceDialect
2804 );
2805 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::ResponseStruct>(&tx_header, _body_bytes, _handles, &mut out)?;
2806 Ok((EchoEvent::OnEchoNamedEvent { value: out.value }))
2807 }
2808 0x708dddea1cb98430 => {
2809 let mut out =
2810 fidl::new_empty!(ResponseTable, fidl::encoding::DefaultFuchsiaResourceDialect);
2811 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ResponseTable>(&tx_header, _body_bytes, _handles, &mut out)?;
2812 Ok((EchoEvent::OnEchoTablePayloadEvent { payload: out }))
2813 }
2814 0x642f4c265a05f4c0 => {
2815 let mut out =
2816 fidl::new_empty!(ResponseUnion, fidl::encoding::DefaultFuchsiaResourceDialect);
2817 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ResponseUnion>(&tx_header, _body_bytes, _handles, &mut out)?;
2818 Ok((EchoEvent::OnEchoUnionPayloadEvent { payload: out }))
2819 }
2820 _ => Err(fidl::Error::UnknownOrdinal {
2821 ordinal: tx_header.ordinal,
2822 protocol_name: <EchoMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
2823 }),
2824 }
2825 }
2826}
2827
2828pub struct EchoRequestStream {
2830 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
2831 is_terminated: bool,
2832}
2833
2834impl std::marker::Unpin for EchoRequestStream {}
2835
2836impl futures::stream::FusedStream for EchoRequestStream {
2837 fn is_terminated(&self) -> bool {
2838 self.is_terminated
2839 }
2840}
2841
2842impl fidl::endpoints::RequestStream for EchoRequestStream {
2843 type Protocol = EchoMarker;
2844 type ControlHandle = EchoControlHandle;
2845
2846 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
2847 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
2848 }
2849
2850 fn control_handle(&self) -> Self::ControlHandle {
2851 EchoControlHandle { inner: self.inner.clone() }
2852 }
2853
2854 fn into_inner(
2855 self,
2856 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
2857 {
2858 (self.inner, self.is_terminated)
2859 }
2860
2861 fn from_inner(
2862 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
2863 is_terminated: bool,
2864 ) -> Self {
2865 Self { inner, is_terminated }
2866 }
2867}
2868
2869impl futures::Stream for EchoRequestStream {
2870 type Item = Result<EchoRequest, fidl::Error>;
2871
2872 fn poll_next(
2873 mut self: std::pin::Pin<&mut Self>,
2874 cx: &mut std::task::Context<'_>,
2875 ) -> std::task::Poll<Option<Self::Item>> {
2876 let this = &mut *self;
2877 if this.inner.check_shutdown(cx) {
2878 this.is_terminated = true;
2879 return std::task::Poll::Ready(None);
2880 }
2881 if this.is_terminated {
2882 panic!("polled EchoRequestStream after completion");
2883 }
2884 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
2885 |bytes, handles| {
2886 match this.inner.channel().read_etc(cx, bytes, handles) {
2887 std::task::Poll::Ready(Ok(())) => {}
2888 std::task::Poll::Pending => return std::task::Poll::Pending,
2889 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
2890 this.is_terminated = true;
2891 return std::task::Poll::Ready(None);
2892 }
2893 std::task::Poll::Ready(Err(e)) => {
2894 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
2895 e.into(),
2896 ))));
2897 }
2898 }
2899
2900 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
2902
2903 std::task::Poll::Ready(Some(match header.ordinal {
2904 0x1d545c738c7a8ee => {
2905 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2906 let mut req = fidl::new_empty!(
2907 fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
2908 fidl::encoding::DefaultFuchsiaResourceDialect
2909 );
2910 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest>(&header, _body_bytes, handles, &mut req)?;
2911 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2912 Ok(EchoRequest::EchoTableRequestComposed {
2913 payload: req,
2914 responder: EchoEchoTableRequestComposedResponder {
2915 control_handle: std::mem::ManuallyDrop::new(control_handle),
2916 tx_id: header.tx_id,
2917 },
2918 })
2919 }
2920 0x38a67e88d6106443 => {
2921 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2922 let mut req = fidl::new_empty!(fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
2923 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedRequest>(&header, _body_bytes, handles, &mut req)?;
2924 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2925 Ok(EchoRequest::EchoUnionResponseWithErrorComposed {
2926 value: req.value,
2927 want_absolute_value: req.want_absolute_value,
2928 forward_to_server: req.forward_to_server,
2929 result_err: req.result_err,
2930 result_variant: req.result_variant,
2931
2932 responder: EchoEchoUnionResponseWithErrorComposedResponder {
2933 control_handle: std::mem::ManuallyDrop::new(control_handle),
2934 tx_id: header.tx_id,
2935 },
2936 })
2937 }
2938 0x39edd68c837482ec => {
2939 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2940 let mut req = fidl::new_empty!(
2941 EchoEchoMinimalRequest,
2942 fidl::encoding::DefaultFuchsiaResourceDialect
2943 );
2944 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoMinimalRequest>(&header, _body_bytes, handles, &mut req)?;
2945 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2946 Ok(EchoRequest::EchoMinimal {
2947 forward_to_server: req.forward_to_server,
2948
2949 responder: EchoEchoMinimalResponder {
2950 control_handle: std::mem::ManuallyDrop::new(control_handle),
2951 tx_id: header.tx_id,
2952 },
2953 })
2954 }
2955 0x36f4695996e35acc => {
2956 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2957 let mut req = fidl::new_empty!(
2958 EchoEchoMinimalWithErrorRequest,
2959 fidl::encoding::DefaultFuchsiaResourceDialect
2960 );
2961 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoMinimalWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
2962 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2963 Ok(EchoRequest::EchoMinimalWithError {
2964 forward_to_server: req.forward_to_server,
2965 result_variant: req.result_variant,
2966
2967 responder: EchoEchoMinimalWithErrorResponder {
2968 control_handle: std::mem::ManuallyDrop::new(control_handle),
2969 tx_id: header.tx_id,
2970 },
2971 })
2972 }
2973 0x42693c143e2c3694 => {
2974 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
2975 let mut req = fidl::new_empty!(
2976 EchoEchoMinimalNoRetValRequest,
2977 fidl::encoding::DefaultFuchsiaResourceDialect
2978 );
2979 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoMinimalNoRetValRequest>(&header, _body_bytes, handles, &mut req)?;
2980 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2981 Ok(EchoRequest::EchoMinimalNoRetVal {
2982 forward_to_server: req.forward_to_server,
2983
2984 control_handle,
2985 })
2986 }
2987 0x4c2f85818cc53f37 => {
2988 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2989 let mut req = fidl::new_empty!(
2990 EchoEchoStructRequest,
2991 fidl::encoding::DefaultFuchsiaResourceDialect
2992 );
2993 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoStructRequest>(&header, _body_bytes, handles, &mut req)?;
2994 let control_handle = EchoControlHandle { inner: this.inner.clone() };
2995 Ok(EchoRequest::EchoStruct {
2996 value: req.value,
2997 forward_to_server: req.forward_to_server,
2998
2999 responder: EchoEchoStructResponder {
3000 control_handle: std::mem::ManuallyDrop::new(control_handle),
3001 tx_id: header.tx_id,
3002 },
3003 })
3004 }
3005 0x46cb32652c4c0899 => {
3006 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3007 let mut req = fidl::new_empty!(
3008 EchoEchoStructWithErrorRequest,
3009 fidl::encoding::DefaultFuchsiaResourceDialect
3010 );
3011 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoStructWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3012 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3013 Ok(EchoRequest::EchoStructWithError {
3014 value: req.value,
3015 result_err: req.result_err,
3016 forward_to_server: req.forward_to_server,
3017 result_variant: req.result_variant,
3018
3019 responder: EchoEchoStructWithErrorResponder {
3020 control_handle: std::mem::ManuallyDrop::new(control_handle),
3021 tx_id: header.tx_id,
3022 },
3023 })
3024 }
3025 0x1f763e602cf5892a => {
3026 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
3027 let mut req = fidl::new_empty!(
3028 EchoEchoStructNoRetValRequest,
3029 fidl::encoding::DefaultFuchsiaResourceDialect
3030 );
3031 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoStructNoRetValRequest>(&header, _body_bytes, handles, &mut req)?;
3032 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3033 Ok(EchoRequest::EchoStructNoRetVal {
3034 value: req.value,
3035 forward_to_server: req.forward_to_server,
3036
3037 control_handle,
3038 })
3039 }
3040 0x1b6019d5611f2470 => {
3041 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3042 let mut req = fidl::new_empty!(
3043 EchoEchoArraysRequest,
3044 fidl::encoding::DefaultFuchsiaResourceDialect
3045 );
3046 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoArraysRequest>(&header, _body_bytes, handles, &mut req)?;
3047 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3048 Ok(EchoRequest::EchoArrays {
3049 value: req.value,
3050 forward_to_server: req.forward_to_server,
3051
3052 responder: EchoEchoArraysResponder {
3053 control_handle: std::mem::ManuallyDrop::new(control_handle),
3054 tx_id: header.tx_id,
3055 },
3056 })
3057 }
3058 0x6dbf26e67e253afa => {
3059 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3060 let mut req = fidl::new_empty!(
3061 EchoEchoArraysWithErrorRequest,
3062 fidl::encoding::DefaultFuchsiaResourceDialect
3063 );
3064 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoArraysWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3065 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3066 Ok(EchoRequest::EchoArraysWithError {
3067 value: req.value,
3068 result_err: req.result_err,
3069 forward_to_server: req.forward_to_server,
3070 result_variant: req.result_variant,
3071
3072 responder: EchoEchoArraysWithErrorResponder {
3073 control_handle: std::mem::ManuallyDrop::new(control_handle),
3074 tx_id: header.tx_id,
3075 },
3076 })
3077 }
3078 0x1582623f0d9f6e5e => {
3079 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3080 let mut req = fidl::new_empty!(
3081 EchoEchoVectorsRequest,
3082 fidl::encoding::DefaultFuchsiaResourceDialect
3083 );
3084 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoVectorsRequest>(&header, _body_bytes, handles, &mut req)?;
3085 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3086 Ok(EchoRequest::EchoVectors {
3087 value: req.value,
3088 forward_to_server: req.forward_to_server,
3089
3090 responder: EchoEchoVectorsResponder {
3091 control_handle: std::mem::ManuallyDrop::new(control_handle),
3092 tx_id: header.tx_id,
3093 },
3094 })
3095 }
3096 0x730f163401e2b3e5 => {
3097 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3098 let mut req = fidl::new_empty!(
3099 EchoEchoVectorsWithErrorRequest,
3100 fidl::encoding::DefaultFuchsiaResourceDialect
3101 );
3102 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoVectorsWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3103 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3104 Ok(EchoRequest::EchoVectorsWithError {
3105 value: req.value,
3106 result_err: req.result_err,
3107 forward_to_server: req.forward_to_server,
3108 result_variant: req.result_variant,
3109
3110 responder: EchoEchoVectorsWithErrorResponder {
3111 control_handle: std::mem::ManuallyDrop::new(control_handle),
3112 tx_id: header.tx_id,
3113 },
3114 })
3115 }
3116 0x4f1fb0a512f47c4b => {
3117 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3118 let mut req = fidl::new_empty!(
3119 EchoEchoTableRequest,
3120 fidl::encoding::DefaultFuchsiaResourceDialect
3121 );
3122 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoTableRequest>(&header, _body_bytes, handles, &mut req)?;
3123 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3124 Ok(EchoRequest::EchoTable {
3125 value: req.value,
3126 forward_to_server: req.forward_to_server,
3127
3128 responder: EchoEchoTableResponder {
3129 control_handle: std::mem::ManuallyDrop::new(control_handle),
3130 tx_id: header.tx_id,
3131 },
3132 })
3133 }
3134 0x44e835cb1eb9a931 => {
3135 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3136 let mut req = fidl::new_empty!(
3137 EchoEchoTableWithErrorRequest,
3138 fidl::encoding::DefaultFuchsiaResourceDialect
3139 );
3140 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoTableWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3141 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3142 Ok(EchoRequest::EchoTableWithError {
3143 value: req.value,
3144 result_err: req.result_err,
3145 forward_to_server: req.forward_to_server,
3146 result_variant: req.result_variant,
3147
3148 responder: EchoEchoTableWithErrorResponder {
3149 control_handle: std::mem::ManuallyDrop::new(control_handle),
3150 tx_id: header.tx_id,
3151 },
3152 })
3153 }
3154 0x3dc181909041a583 => {
3155 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3156 let mut req = fidl::new_empty!(
3157 EchoEchoXunionsRequest,
3158 fidl::encoding::DefaultFuchsiaResourceDialect
3159 );
3160 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoXunionsRequest>(&header, _body_bytes, handles, &mut req)?;
3161 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3162 Ok(EchoRequest::EchoXunions {
3163 value: req.value,
3164 forward_to_server: req.forward_to_server,
3165
3166 responder: EchoEchoXunionsResponder {
3167 control_handle: std::mem::ManuallyDrop::new(control_handle),
3168 tx_id: header.tx_id,
3169 },
3170 })
3171 }
3172 0x75184102667fa766 => {
3173 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3174 let mut req = fidl::new_empty!(
3175 EchoEchoXunionsWithErrorRequest,
3176 fidl::encoding::DefaultFuchsiaResourceDialect
3177 );
3178 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoXunionsWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3179 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3180 Ok(EchoRequest::EchoXunionsWithError {
3181 value: req.value,
3182 result_err: req.result_err,
3183 forward_to_server: req.forward_to_server,
3184 result_variant: req.result_variant,
3185
3186 responder: EchoEchoXunionsWithErrorResponder {
3187 control_handle: std::mem::ManuallyDrop::new(control_handle),
3188 tx_id: header.tx_id,
3189 },
3190 })
3191 }
3192 0xf2d4aa9e65f7111 => {
3193 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3194 let mut req = fidl::new_empty!(
3195 fidl_fidl_test_imported::RequestStruct,
3196 fidl::encoding::DefaultFuchsiaResourceDialect
3197 );
3198 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::RequestStruct>(&header, _body_bytes, handles, &mut req)?;
3199 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3200 Ok(EchoRequest::EchoNamedStruct {
3201 value: req.value,
3202 forward_to_server: req.forward_to_server,
3203
3204 responder: EchoEchoNamedStructResponder {
3205 control_handle: std::mem::ManuallyDrop::new(control_handle),
3206 tx_id: header.tx_id,
3207 },
3208 })
3209 }
3210 0x5766fee9e74442e8 => {
3211 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3212 let mut req = fidl::new_empty!(
3213 fidl_fidl_test_imported::ErrorableRequestStruct,
3214 fidl::encoding::DefaultFuchsiaResourceDialect
3215 );
3216 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::ErrorableRequestStruct>(&header, _body_bytes, handles, &mut req)?;
3217 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3218 Ok(EchoRequest::EchoNamedStructWithError {
3219 value: req.value,
3220 result_err: req.result_err,
3221 forward_to_server: req.forward_to_server,
3222 result_variant: req.result_variant,
3223
3224 responder: EchoEchoNamedStructWithErrorResponder {
3225 control_handle: std::mem::ManuallyDrop::new(control_handle),
3226 tx_id: header.tx_id,
3227 },
3228 })
3229 }
3230 0x3a50bbf7d2113ad7 => {
3231 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
3232 let mut req = fidl::new_empty!(
3233 fidl_fidl_test_imported::EventTriggeringRequestStruct,
3234 fidl::encoding::DefaultFuchsiaResourceDialect
3235 );
3236 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fidl_test_imported::EventTriggeringRequestStruct>(&header, _body_bytes, handles, &mut req)?;
3237 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3238 Ok(EchoRequest::EchoNamedStructNoRetVal {
3239 value: req.value,
3240 forward_to_server: req.forward_to_server,
3241
3242 control_handle,
3243 })
3244 }
3245 0x641d98087378c003 => {
3246 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3247 let mut req = fidl::new_empty!(
3248 RequestTable,
3249 fidl::encoding::DefaultFuchsiaResourceDialect
3250 );
3251 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<RequestTable>(&header, _body_bytes, handles, &mut req)?;
3252 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3253 Ok(EchoRequest::EchoTablePayload {
3254 payload: req,
3255 responder: EchoEchoTablePayloadResponder {
3256 control_handle: std::mem::ManuallyDrop::new(control_handle),
3257 tx_id: header.tx_id,
3258 },
3259 })
3260 }
3261 0x636ed243761ab66d => {
3262 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3263 let mut req = fidl::new_empty!(
3264 EchoEchoTablePayloadWithErrorRequest,
3265 fidl::encoding::DefaultFuchsiaResourceDialect
3266 );
3267 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoTablePayloadWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3268 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3269 Ok(EchoRequest::EchoTablePayloadWithError {
3270 payload: req,
3271 responder: EchoEchoTablePayloadWithErrorResponder {
3272 control_handle: std::mem::ManuallyDrop::new(control_handle),
3273 tx_id: header.tx_id,
3274 },
3275 })
3276 }
3277 0x32961f7d718569f8 => {
3278 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
3279 let mut req = fidl::new_empty!(
3280 RequestTable,
3281 fidl::encoding::DefaultFuchsiaResourceDialect
3282 );
3283 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<RequestTable>(&header, _body_bytes, handles, &mut req)?;
3284 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3285 Ok(EchoRequest::EchoTablePayloadNoRetVal { payload: req, control_handle })
3286 }
3287 0x66def9e793f10c55 => {
3288 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3289 let mut req = fidl::new_empty!(
3290 RequestUnion,
3291 fidl::encoding::DefaultFuchsiaResourceDialect
3292 );
3293 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<RequestUnion>(&header, _body_bytes, handles, &mut req)?;
3294 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3295 Ok(EchoRequest::EchoUnionPayload {
3296 payload: req,
3297 responder: EchoEchoUnionPayloadResponder {
3298 control_handle: std::mem::ManuallyDrop::new(control_handle),
3299 tx_id: header.tx_id,
3300 },
3301 })
3302 }
3303 0x1be890d6e68ef063 => {
3304 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3305 let mut req = fidl::new_empty!(
3306 EchoEchoUnionPayloadWithErrorRequest,
3307 fidl::encoding::DefaultFuchsiaResourceDialect
3308 );
3309 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<EchoEchoUnionPayloadWithErrorRequest>(&header, _body_bytes, handles, &mut req)?;
3310 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3311 Ok(EchoRequest::EchoUnionPayloadWithError {
3312 payload: req,
3313 responder: EchoEchoUnionPayloadWithErrorResponder {
3314 control_handle: std::mem::ManuallyDrop::new(control_handle),
3315 tx_id: header.tx_id,
3316 },
3317 })
3318 }
3319 0x11518bf346430040 => {
3320 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
3321 let mut req = fidl::new_empty!(
3322 RequestUnion,
3323 fidl::encoding::DefaultFuchsiaResourceDialect
3324 );
3325 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<RequestUnion>(&header, _body_bytes, handles, &mut req)?;
3326 let control_handle = EchoControlHandle { inner: this.inner.clone() };
3327 Ok(EchoRequest::EchoUnionPayloadNoRetVal { payload: req, control_handle })
3328 }
3329 _ => Err(fidl::Error::UnknownOrdinal {
3330 ordinal: header.ordinal,
3331 protocol_name: <EchoMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
3332 }),
3333 }))
3334 },
3335 )
3336 }
3337}
3338
3339#[derive(Debug)]
3340pub enum EchoRequest {
3341 EchoTableRequestComposed {
3342 payload: fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
3343 responder: EchoEchoTableRequestComposedResponder,
3344 },
3345 EchoUnionResponseWithErrorComposed {
3346 value: i64,
3347 want_absolute_value: bool,
3348 forward_to_server: String,
3349 result_err: u32,
3350 result_variant: fidl_fidl_test_imported::WantResponse,
3351 responder: EchoEchoUnionResponseWithErrorComposedResponder,
3352 },
3353 EchoMinimal {
3354 forward_to_server: String,
3355 responder: EchoEchoMinimalResponder,
3356 },
3357 EchoMinimalWithError {
3358 forward_to_server: String,
3359 result_variant: RespondWith,
3360 responder: EchoEchoMinimalWithErrorResponder,
3361 },
3362 EchoMinimalNoRetVal {
3363 forward_to_server: String,
3364 control_handle: EchoControlHandle,
3365 },
3366 EchoStruct {
3367 value: Struct,
3368 forward_to_server: String,
3369 responder: EchoEchoStructResponder,
3370 },
3371 EchoStructWithError {
3372 value: Struct,
3373 result_err: DefaultEnum,
3374 forward_to_server: String,
3375 result_variant: RespondWith,
3376 responder: EchoEchoStructWithErrorResponder,
3377 },
3378 EchoStructNoRetVal {
3379 value: Struct,
3380 forward_to_server: String,
3381 control_handle: EchoControlHandle,
3382 },
3383 EchoArrays {
3384 value: ArraysStruct,
3385 forward_to_server: String,
3386 responder: EchoEchoArraysResponder,
3387 },
3388 EchoArraysWithError {
3389 value: ArraysStruct,
3390 result_err: DefaultEnum,
3391 forward_to_server: String,
3392 result_variant: RespondWith,
3393 responder: EchoEchoArraysWithErrorResponder,
3394 },
3395 EchoVectors {
3396 value: VectorsStruct,
3397 forward_to_server: String,
3398 responder: EchoEchoVectorsResponder,
3399 },
3400 EchoVectorsWithError {
3401 value: VectorsStruct,
3402 result_err: DefaultEnum,
3403 forward_to_server: String,
3404 result_variant: RespondWith,
3405 responder: EchoEchoVectorsWithErrorResponder,
3406 },
3407 EchoTable {
3408 value: AllTypesTable,
3409 forward_to_server: String,
3410 responder: EchoEchoTableResponder,
3411 },
3412 EchoTableWithError {
3413 value: AllTypesTable,
3414 result_err: DefaultEnum,
3415 forward_to_server: String,
3416 result_variant: RespondWith,
3417 responder: EchoEchoTableWithErrorResponder,
3418 },
3419 EchoXunions {
3420 value: Vec<AllTypesXunion>,
3421 forward_to_server: String,
3422 responder: EchoEchoXunionsResponder,
3423 },
3424 EchoXunionsWithError {
3425 value: Vec<AllTypesXunion>,
3426 result_err: DefaultEnum,
3427 forward_to_server: String,
3428 result_variant: RespondWith,
3429 responder: EchoEchoXunionsWithErrorResponder,
3430 },
3431 EchoNamedStruct {
3432 value: fidl_fidl_test_imported::SimpleStruct,
3433 forward_to_server: String,
3434 responder: EchoEchoNamedStructResponder,
3435 },
3436 EchoNamedStructWithError {
3437 value: fidl_fidl_test_imported::SimpleStruct,
3438 result_err: u32,
3439 forward_to_server: String,
3440 result_variant: fidl_fidl_test_imported::WantResponse,
3441 responder: EchoEchoNamedStructWithErrorResponder,
3442 },
3443 EchoNamedStructNoRetVal {
3444 value: fidl_fidl_test_imported::SimpleStruct,
3445 forward_to_server: String,
3446 control_handle: EchoControlHandle,
3447 },
3448 EchoTablePayload {
3449 payload: RequestTable,
3450 responder: EchoEchoTablePayloadResponder,
3451 },
3452 EchoTablePayloadWithError {
3453 payload: EchoEchoTablePayloadWithErrorRequest,
3454 responder: EchoEchoTablePayloadWithErrorResponder,
3455 },
3456 EchoTablePayloadNoRetVal {
3457 payload: RequestTable,
3458 control_handle: EchoControlHandle,
3459 },
3460 EchoUnionPayload {
3461 payload: RequestUnion,
3462 responder: EchoEchoUnionPayloadResponder,
3463 },
3464 EchoUnionPayloadWithError {
3465 payload: EchoEchoUnionPayloadWithErrorRequest,
3466 responder: EchoEchoUnionPayloadWithErrorResponder,
3467 },
3468 EchoUnionPayloadNoRetVal {
3469 payload: RequestUnion,
3470 control_handle: EchoControlHandle,
3471 },
3472}
3473
3474impl EchoRequest {
3475 #[allow(irrefutable_let_patterns)]
3476 pub fn into_echo_table_request_composed(
3477 self,
3478 ) -> Option<(
3479 fidl_fidl_test_imported::ComposedEchoTableRequestComposedRequest,
3480 EchoEchoTableRequestComposedResponder,
3481 )> {
3482 if let EchoRequest::EchoTableRequestComposed { payload, responder } = self {
3483 Some((payload, responder))
3484 } else {
3485 None
3486 }
3487 }
3488
3489 #[allow(irrefutable_let_patterns)]
3490 pub fn into_echo_union_response_with_error_composed(
3491 self,
3492 ) -> Option<(
3493 i64,
3494 bool,
3495 String,
3496 u32,
3497 fidl_fidl_test_imported::WantResponse,
3498 EchoEchoUnionResponseWithErrorComposedResponder,
3499 )> {
3500 if let EchoRequest::EchoUnionResponseWithErrorComposed {
3501 value,
3502 want_absolute_value,
3503 forward_to_server,
3504 result_err,
3505 result_variant,
3506 responder,
3507 } = self
3508 {
3509 Some((
3510 value,
3511 want_absolute_value,
3512 forward_to_server,
3513 result_err,
3514 result_variant,
3515 responder,
3516 ))
3517 } else {
3518 None
3519 }
3520 }
3521
3522 #[allow(irrefutable_let_patterns)]
3523 pub fn into_echo_minimal(self) -> Option<(String, EchoEchoMinimalResponder)> {
3524 if let EchoRequest::EchoMinimal { forward_to_server, responder } = self {
3525 Some((forward_to_server, responder))
3526 } else {
3527 None
3528 }
3529 }
3530
3531 #[allow(irrefutable_let_patterns)]
3532 pub fn into_echo_minimal_with_error(
3533 self,
3534 ) -> Option<(String, RespondWith, EchoEchoMinimalWithErrorResponder)> {
3535 if let EchoRequest::EchoMinimalWithError { forward_to_server, result_variant, responder } =
3536 self
3537 {
3538 Some((forward_to_server, result_variant, responder))
3539 } else {
3540 None
3541 }
3542 }
3543
3544 #[allow(irrefutable_let_patterns)]
3545 pub fn into_echo_minimal_no_ret_val(self) -> Option<(String, EchoControlHandle)> {
3546 if let EchoRequest::EchoMinimalNoRetVal { forward_to_server, control_handle } = self {
3547 Some((forward_to_server, control_handle))
3548 } else {
3549 None
3550 }
3551 }
3552
3553 #[allow(irrefutable_let_patterns)]
3554 pub fn into_echo_struct(self) -> Option<(Struct, String, EchoEchoStructResponder)> {
3555 if let EchoRequest::EchoStruct { value, forward_to_server, responder } = self {
3556 Some((value, forward_to_server, responder))
3557 } else {
3558 None
3559 }
3560 }
3561
3562 #[allow(irrefutable_let_patterns)]
3563 pub fn into_echo_struct_with_error(
3564 self,
3565 ) -> Option<(Struct, DefaultEnum, String, RespondWith, EchoEchoStructWithErrorResponder)> {
3566 if let EchoRequest::EchoStructWithError {
3567 value,
3568 result_err,
3569 forward_to_server,
3570 result_variant,
3571 responder,
3572 } = self
3573 {
3574 Some((value, result_err, forward_to_server, result_variant, responder))
3575 } else {
3576 None
3577 }
3578 }
3579
3580 #[allow(irrefutable_let_patterns)]
3581 pub fn into_echo_struct_no_ret_val(self) -> Option<(Struct, String, EchoControlHandle)> {
3582 if let EchoRequest::EchoStructNoRetVal { value, forward_to_server, control_handle } = self {
3583 Some((value, forward_to_server, control_handle))
3584 } else {
3585 None
3586 }
3587 }
3588
3589 #[allow(irrefutable_let_patterns)]
3590 pub fn into_echo_arrays(self) -> Option<(ArraysStruct, String, EchoEchoArraysResponder)> {
3591 if let EchoRequest::EchoArrays { value, forward_to_server, responder } = self {
3592 Some((value, forward_to_server, responder))
3593 } else {
3594 None
3595 }
3596 }
3597
3598 #[allow(irrefutable_let_patterns)]
3599 pub fn into_echo_arrays_with_error(
3600 self,
3601 ) -> Option<(ArraysStruct, DefaultEnum, String, RespondWith, EchoEchoArraysWithErrorResponder)>
3602 {
3603 if let EchoRequest::EchoArraysWithError {
3604 value,
3605 result_err,
3606 forward_to_server,
3607 result_variant,
3608 responder,
3609 } = self
3610 {
3611 Some((value, result_err, forward_to_server, result_variant, responder))
3612 } else {
3613 None
3614 }
3615 }
3616
3617 #[allow(irrefutable_let_patterns)]
3618 pub fn into_echo_vectors(self) -> Option<(VectorsStruct, String, EchoEchoVectorsResponder)> {
3619 if let EchoRequest::EchoVectors { value, forward_to_server, responder } = self {
3620 Some((value, forward_to_server, responder))
3621 } else {
3622 None
3623 }
3624 }
3625
3626 #[allow(irrefutable_let_patterns)]
3627 pub fn into_echo_vectors_with_error(
3628 self,
3629 ) -> Option<(VectorsStruct, DefaultEnum, String, RespondWith, EchoEchoVectorsWithErrorResponder)>
3630 {
3631 if let EchoRequest::EchoVectorsWithError {
3632 value,
3633 result_err,
3634 forward_to_server,
3635 result_variant,
3636 responder,
3637 } = self
3638 {
3639 Some((value, result_err, forward_to_server, result_variant, responder))
3640 } else {
3641 None
3642 }
3643 }
3644
3645 #[allow(irrefutable_let_patterns)]
3646 pub fn into_echo_table(self) -> Option<(AllTypesTable, String, EchoEchoTableResponder)> {
3647 if let EchoRequest::EchoTable { value, forward_to_server, responder } = self {
3648 Some((value, forward_to_server, responder))
3649 } else {
3650 None
3651 }
3652 }
3653
3654 #[allow(irrefutable_let_patterns)]
3655 pub fn into_echo_table_with_error(
3656 self,
3657 ) -> Option<(AllTypesTable, DefaultEnum, String, RespondWith, EchoEchoTableWithErrorResponder)>
3658 {
3659 if let EchoRequest::EchoTableWithError {
3660 value,
3661 result_err,
3662 forward_to_server,
3663 result_variant,
3664 responder,
3665 } = self
3666 {
3667 Some((value, result_err, forward_to_server, result_variant, responder))
3668 } else {
3669 None
3670 }
3671 }
3672
3673 #[allow(irrefutable_let_patterns)]
3674 pub fn into_echo_xunions(
3675 self,
3676 ) -> Option<(Vec<AllTypesXunion>, String, EchoEchoXunionsResponder)> {
3677 if let EchoRequest::EchoXunions { value, forward_to_server, responder } = self {
3678 Some((value, forward_to_server, responder))
3679 } else {
3680 None
3681 }
3682 }
3683
3684 #[allow(irrefutable_let_patterns)]
3685 pub fn into_echo_xunions_with_error(
3686 self,
3687 ) -> Option<(
3688 Vec<AllTypesXunion>,
3689 DefaultEnum,
3690 String,
3691 RespondWith,
3692 EchoEchoXunionsWithErrorResponder,
3693 )> {
3694 if let EchoRequest::EchoXunionsWithError {
3695 value,
3696 result_err,
3697 forward_to_server,
3698 result_variant,
3699 responder,
3700 } = self
3701 {
3702 Some((value, result_err, forward_to_server, result_variant, responder))
3703 } else {
3704 None
3705 }
3706 }
3707
3708 #[allow(irrefutable_let_patterns)]
3709 pub fn into_echo_named_struct(
3710 self,
3711 ) -> Option<(fidl_fidl_test_imported::SimpleStruct, String, EchoEchoNamedStructResponder)> {
3712 if let EchoRequest::EchoNamedStruct { value, forward_to_server, responder } = self {
3713 Some((value, forward_to_server, responder))
3714 } else {
3715 None
3716 }
3717 }
3718
3719 #[allow(irrefutable_let_patterns)]
3720 pub fn into_echo_named_struct_with_error(
3721 self,
3722 ) -> Option<(
3723 fidl_fidl_test_imported::SimpleStruct,
3724 u32,
3725 String,
3726 fidl_fidl_test_imported::WantResponse,
3727 EchoEchoNamedStructWithErrorResponder,
3728 )> {
3729 if let EchoRequest::EchoNamedStructWithError {
3730 value,
3731 result_err,
3732 forward_to_server,
3733 result_variant,
3734 responder,
3735 } = self
3736 {
3737 Some((value, result_err, forward_to_server, result_variant, responder))
3738 } else {
3739 None
3740 }
3741 }
3742
3743 #[allow(irrefutable_let_patterns)]
3744 pub fn into_echo_named_struct_no_ret_val(
3745 self,
3746 ) -> Option<(fidl_fidl_test_imported::SimpleStruct, String, EchoControlHandle)> {
3747 if let EchoRequest::EchoNamedStructNoRetVal { value, forward_to_server, control_handle } =
3748 self
3749 {
3750 Some((value, forward_to_server, control_handle))
3751 } else {
3752 None
3753 }
3754 }
3755
3756 #[allow(irrefutable_let_patterns)]
3757 pub fn into_echo_table_payload(self) -> Option<(RequestTable, EchoEchoTablePayloadResponder)> {
3758 if let EchoRequest::EchoTablePayload { payload, responder } = self {
3759 Some((payload, responder))
3760 } else {
3761 None
3762 }
3763 }
3764
3765 #[allow(irrefutable_let_patterns)]
3766 pub fn into_echo_table_payload_with_error(
3767 self,
3768 ) -> Option<(EchoEchoTablePayloadWithErrorRequest, EchoEchoTablePayloadWithErrorResponder)>
3769 {
3770 if let EchoRequest::EchoTablePayloadWithError { payload, responder } = self {
3771 Some((payload, responder))
3772 } else {
3773 None
3774 }
3775 }
3776
3777 #[allow(irrefutable_let_patterns)]
3778 pub fn into_echo_table_payload_no_ret_val(self) -> Option<(RequestTable, EchoControlHandle)> {
3779 if let EchoRequest::EchoTablePayloadNoRetVal { payload, control_handle } = self {
3780 Some((payload, control_handle))
3781 } else {
3782 None
3783 }
3784 }
3785
3786 #[allow(irrefutable_let_patterns)]
3787 pub fn into_echo_union_payload(self) -> Option<(RequestUnion, EchoEchoUnionPayloadResponder)> {
3788 if let EchoRequest::EchoUnionPayload { payload, responder } = self {
3789 Some((payload, responder))
3790 } else {
3791 None
3792 }
3793 }
3794
3795 #[allow(irrefutable_let_patterns)]
3796 pub fn into_echo_union_payload_with_error(
3797 self,
3798 ) -> Option<(EchoEchoUnionPayloadWithErrorRequest, EchoEchoUnionPayloadWithErrorResponder)>
3799 {
3800 if let EchoRequest::EchoUnionPayloadWithError { payload, responder } = self {
3801 Some((payload, responder))
3802 } else {
3803 None
3804 }
3805 }
3806
3807 #[allow(irrefutable_let_patterns)]
3808 pub fn into_echo_union_payload_no_ret_val(self) -> Option<(RequestUnion, EchoControlHandle)> {
3809 if let EchoRequest::EchoUnionPayloadNoRetVal { payload, control_handle } = self {
3810 Some((payload, control_handle))
3811 } else {
3812 None
3813 }
3814 }
3815
3816 pub fn method_name(&self) -> &'static str {
3818 match *self {
3819 EchoRequest::EchoTableRequestComposed { .. } => "echo_table_request_composed",
3820 EchoRequest::EchoUnionResponseWithErrorComposed { .. } => {
3821 "echo_union_response_with_error_composed"
3822 }
3823 EchoRequest::EchoMinimal { .. } => "echo_minimal",
3824 EchoRequest::EchoMinimalWithError { .. } => "echo_minimal_with_error",
3825 EchoRequest::EchoMinimalNoRetVal { .. } => "echo_minimal_no_ret_val",
3826 EchoRequest::EchoStruct { .. } => "echo_struct",
3827 EchoRequest::EchoStructWithError { .. } => "echo_struct_with_error",
3828 EchoRequest::EchoStructNoRetVal { .. } => "echo_struct_no_ret_val",
3829 EchoRequest::EchoArrays { .. } => "echo_arrays",
3830 EchoRequest::EchoArraysWithError { .. } => "echo_arrays_with_error",
3831 EchoRequest::EchoVectors { .. } => "echo_vectors",
3832 EchoRequest::EchoVectorsWithError { .. } => "echo_vectors_with_error",
3833 EchoRequest::EchoTable { .. } => "echo_table",
3834 EchoRequest::EchoTableWithError { .. } => "echo_table_with_error",
3835 EchoRequest::EchoXunions { .. } => "echo_xunions",
3836 EchoRequest::EchoXunionsWithError { .. } => "echo_xunions_with_error",
3837 EchoRequest::EchoNamedStruct { .. } => "echo_named_struct",
3838 EchoRequest::EchoNamedStructWithError { .. } => "echo_named_struct_with_error",
3839 EchoRequest::EchoNamedStructNoRetVal { .. } => "echo_named_struct_no_ret_val",
3840 EchoRequest::EchoTablePayload { .. } => "echo_table_payload",
3841 EchoRequest::EchoTablePayloadWithError { .. } => "echo_table_payload_with_error",
3842 EchoRequest::EchoTablePayloadNoRetVal { .. } => "echo_table_payload_no_ret_val",
3843 EchoRequest::EchoUnionPayload { .. } => "echo_union_payload",
3844 EchoRequest::EchoUnionPayloadWithError { .. } => "echo_union_payload_with_error",
3845 EchoRequest::EchoUnionPayloadNoRetVal { .. } => "echo_union_payload_no_ret_val",
3846 }
3847 }
3848}
3849
3850#[derive(Debug, Clone)]
3851pub struct EchoControlHandle {
3852 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
3853}
3854
3855impl fidl::endpoints::ControlHandle for EchoControlHandle {
3856 fn shutdown(&self) {
3857 self.inner.shutdown()
3858 }
3859 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
3860 self.inner.shutdown_with_epitaph(status)
3861 }
3862
3863 fn is_closed(&self) -> bool {
3864 self.inner.channel().is_closed()
3865 }
3866 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
3867 self.inner.channel().on_closed()
3868 }
3869
3870 #[cfg(target_os = "fuchsia")]
3871 fn signal_peer(
3872 &self,
3873 clear_mask: zx::Signals,
3874 set_mask: zx::Signals,
3875 ) -> Result<(), zx_status::Status> {
3876 use fidl::Peered;
3877 self.inner.channel().signal_peer(clear_mask, set_mask)
3878 }
3879}
3880
3881impl EchoControlHandle {
3882 pub fn send_echo_minimal_event(&self) -> Result<(), fidl::Error> {
3883 self.inner.send::<fidl::encoding::EmptyPayload>(
3884 (),
3885 0,
3886 0x273b2029f1a0aee2,
3887 fidl::encoding::DynamicFlags::empty(),
3888 )
3889 }
3890
3891 pub fn send_echo_event(&self, mut value: Struct) -> Result<(), fidl::Error> {
3892 self.inner.send::<EchoEchoEventRequest>(
3893 (&mut value,),
3894 0,
3895 0x1219e12e0450024,
3896 fidl::encoding::DynamicFlags::empty(),
3897 )
3898 }
3899
3900 pub fn send_on_echo_named_event(
3901 &self,
3902 mut value: &fidl_fidl_test_imported::SimpleStruct,
3903 ) -> Result<(), fidl::Error> {
3904 self.inner.send::<fidl_fidl_test_imported::ResponseStruct>(
3905 (value,),
3906 0,
3907 0x749ebde83348a374,
3908 fidl::encoding::DynamicFlags::empty(),
3909 )
3910 }
3911
3912 pub fn send_on_echo_table_payload_event(
3913 &self,
3914 mut payload: &ResponseTable,
3915 ) -> Result<(), fidl::Error> {
3916 self.inner.send::<ResponseTable>(
3917 payload,
3918 0,
3919 0x708dddea1cb98430,
3920 fidl::encoding::DynamicFlags::empty(),
3921 )
3922 }
3923
3924 pub fn send_on_echo_union_payload_event(
3925 &self,
3926 mut payload: &ResponseUnion,
3927 ) -> Result<(), fidl::Error> {
3928 self.inner.send::<ResponseUnion>(
3929 payload,
3930 0,
3931 0x642f4c265a05f4c0,
3932 fidl::encoding::DynamicFlags::empty(),
3933 )
3934 }
3935}
3936
3937#[must_use = "FIDL methods require a response to be sent"]
3938#[derive(Debug)]
3939pub struct EchoEchoTableRequestComposedResponder {
3940 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
3941 tx_id: u32,
3942}
3943
3944impl std::ops::Drop for EchoEchoTableRequestComposedResponder {
3948 fn drop(&mut self) {
3949 self.control_handle.shutdown();
3950 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3952 }
3953}
3954
3955impl fidl::endpoints::Responder for EchoEchoTableRequestComposedResponder {
3956 type ControlHandle = EchoControlHandle;
3957
3958 fn control_handle(&self) -> &EchoControlHandle {
3959 &self.control_handle
3960 }
3961
3962 fn drop_without_shutdown(mut self) {
3963 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3965 std::mem::forget(self);
3967 }
3968}
3969
3970impl EchoEchoTableRequestComposedResponder {
3971 pub fn send(
3975 self,
3976 mut value: &fidl_fidl_test_imported::SimpleStruct,
3977 ) -> Result<(), fidl::Error> {
3978 let _result = self.send_raw(value);
3979 if _result.is_err() {
3980 self.control_handle.shutdown();
3981 }
3982 self.drop_without_shutdown();
3983 _result
3984 }
3985
3986 pub fn send_no_shutdown_on_err(
3988 self,
3989 mut value: &fidl_fidl_test_imported::SimpleStruct,
3990 ) -> Result<(), fidl::Error> {
3991 let _result = self.send_raw(value);
3992 self.drop_without_shutdown();
3993 _result
3994 }
3995
3996 fn send_raw(
3997 &self,
3998 mut value: &fidl_fidl_test_imported::SimpleStruct,
3999 ) -> Result<(), fidl::Error> {
4000 self.control_handle.inner.send::<fidl_fidl_test_imported::ResponseStruct>(
4001 (value,),
4002 self.tx_id,
4003 0x1d545c738c7a8ee,
4004 fidl::encoding::DynamicFlags::empty(),
4005 )
4006 }
4007}
4008
4009#[must_use = "FIDL methods require a response to be sent"]
4010#[derive(Debug)]
4011pub struct EchoEchoUnionResponseWithErrorComposedResponder {
4012 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4013 tx_id: u32,
4014}
4015
4016impl std::ops::Drop for EchoEchoUnionResponseWithErrorComposedResponder {
4020 fn drop(&mut self) {
4021 self.control_handle.shutdown();
4022 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4024 }
4025}
4026
4027impl fidl::endpoints::Responder for EchoEchoUnionResponseWithErrorComposedResponder {
4028 type ControlHandle = EchoControlHandle;
4029
4030 fn control_handle(&self) -> &EchoControlHandle {
4031 &self.control_handle
4032 }
4033
4034 fn drop_without_shutdown(mut self) {
4035 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4037 std::mem::forget(self);
4039 }
4040}
4041
4042impl EchoEchoUnionResponseWithErrorComposedResponder {
4043 pub fn send(
4047 self,
4048 mut result: Result<
4049 &fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
4050 u32,
4051 >,
4052 ) -> Result<(), fidl::Error> {
4053 let _result = self.send_raw(result);
4054 if _result.is_err() {
4055 self.control_handle.shutdown();
4056 }
4057 self.drop_without_shutdown();
4058 _result
4059 }
4060
4061 pub fn send_no_shutdown_on_err(
4063 self,
4064 mut result: Result<
4065 &fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
4066 u32,
4067 >,
4068 ) -> Result<(), fidl::Error> {
4069 let _result = self.send_raw(result);
4070 self.drop_without_shutdown();
4071 _result
4072 }
4073
4074 fn send_raw(
4075 &self,
4076 mut result: Result<
4077 &fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
4078 u32,
4079 >,
4080 ) -> Result<(), fidl::Error> {
4081 self.control_handle.inner.send::<fidl::encoding::ResultType<
4082 fidl_fidl_test_imported::ComposedEchoUnionResponseWithErrorComposedResponse,
4083 u32,
4084 >>(
4085 result,
4086 self.tx_id,
4087 0x38a67e88d6106443,
4088 fidl::encoding::DynamicFlags::empty(),
4089 )
4090 }
4091}
4092
4093#[must_use = "FIDL methods require a response to be sent"]
4094#[derive(Debug)]
4095pub struct EchoEchoMinimalResponder {
4096 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4097 tx_id: u32,
4098}
4099
4100impl std::ops::Drop for EchoEchoMinimalResponder {
4104 fn drop(&mut self) {
4105 self.control_handle.shutdown();
4106 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4108 }
4109}
4110
4111impl fidl::endpoints::Responder for EchoEchoMinimalResponder {
4112 type ControlHandle = EchoControlHandle;
4113
4114 fn control_handle(&self) -> &EchoControlHandle {
4115 &self.control_handle
4116 }
4117
4118 fn drop_without_shutdown(mut self) {
4119 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4121 std::mem::forget(self);
4123 }
4124}
4125
4126impl EchoEchoMinimalResponder {
4127 pub fn send(self) -> Result<(), fidl::Error> {
4131 let _result = self.send_raw();
4132 if _result.is_err() {
4133 self.control_handle.shutdown();
4134 }
4135 self.drop_without_shutdown();
4136 _result
4137 }
4138
4139 pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4141 let _result = self.send_raw();
4142 self.drop_without_shutdown();
4143 _result
4144 }
4145
4146 fn send_raw(&self) -> Result<(), fidl::Error> {
4147 self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4148 (),
4149 self.tx_id,
4150 0x39edd68c837482ec,
4151 fidl::encoding::DynamicFlags::empty(),
4152 )
4153 }
4154}
4155
4156#[must_use = "FIDL methods require a response to be sent"]
4157#[derive(Debug)]
4158pub struct EchoEchoMinimalWithErrorResponder {
4159 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4160 tx_id: u32,
4161}
4162
4163impl std::ops::Drop for EchoEchoMinimalWithErrorResponder {
4167 fn drop(&mut self) {
4168 self.control_handle.shutdown();
4169 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4171 }
4172}
4173
4174impl fidl::endpoints::Responder for EchoEchoMinimalWithErrorResponder {
4175 type ControlHandle = EchoControlHandle;
4176
4177 fn control_handle(&self) -> &EchoControlHandle {
4178 &self.control_handle
4179 }
4180
4181 fn drop_without_shutdown(mut self) {
4182 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4184 std::mem::forget(self);
4186 }
4187}
4188
4189impl EchoEchoMinimalWithErrorResponder {
4190 pub fn send(self, mut result: Result<(), u32>) -> Result<(), fidl::Error> {
4194 let _result = self.send_raw(result);
4195 if _result.is_err() {
4196 self.control_handle.shutdown();
4197 }
4198 self.drop_without_shutdown();
4199 _result
4200 }
4201
4202 pub fn send_no_shutdown_on_err(self, mut result: Result<(), u32>) -> Result<(), fidl::Error> {
4204 let _result = self.send_raw(result);
4205 self.drop_without_shutdown();
4206 _result
4207 }
4208
4209 fn send_raw(&self, mut result: Result<(), u32>) -> Result<(), fidl::Error> {
4210 self.control_handle
4211 .inner
4212 .send::<fidl::encoding::ResultType<fidl::encoding::EmptyStruct, u32>>(
4213 result,
4214 self.tx_id,
4215 0x36f4695996e35acc,
4216 fidl::encoding::DynamicFlags::empty(),
4217 )
4218 }
4219}
4220
4221#[must_use = "FIDL methods require a response to be sent"]
4222#[derive(Debug)]
4223pub struct EchoEchoStructResponder {
4224 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4225 tx_id: u32,
4226}
4227
4228impl std::ops::Drop for EchoEchoStructResponder {
4232 fn drop(&mut self) {
4233 self.control_handle.shutdown();
4234 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4236 }
4237}
4238
4239impl fidl::endpoints::Responder for EchoEchoStructResponder {
4240 type ControlHandle = EchoControlHandle;
4241
4242 fn control_handle(&self) -> &EchoControlHandle {
4243 &self.control_handle
4244 }
4245
4246 fn drop_without_shutdown(mut self) {
4247 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4249 std::mem::forget(self);
4251 }
4252}
4253
4254impl EchoEchoStructResponder {
4255 pub fn send(self, mut value: Struct) -> Result<(), fidl::Error> {
4259 let _result = self.send_raw(value);
4260 if _result.is_err() {
4261 self.control_handle.shutdown();
4262 }
4263 self.drop_without_shutdown();
4264 _result
4265 }
4266
4267 pub fn send_no_shutdown_on_err(self, mut value: Struct) -> Result<(), fidl::Error> {
4269 let _result = self.send_raw(value);
4270 self.drop_without_shutdown();
4271 _result
4272 }
4273
4274 fn send_raw(&self, mut value: Struct) -> Result<(), fidl::Error> {
4275 self.control_handle.inner.send::<EchoEchoStructResponse>(
4276 (&mut value,),
4277 self.tx_id,
4278 0x4c2f85818cc53f37,
4279 fidl::encoding::DynamicFlags::empty(),
4280 )
4281 }
4282}
4283
4284#[must_use = "FIDL methods require a response to be sent"]
4285#[derive(Debug)]
4286pub struct EchoEchoStructWithErrorResponder {
4287 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4288 tx_id: u32,
4289}
4290
4291impl std::ops::Drop for EchoEchoStructWithErrorResponder {
4295 fn drop(&mut self) {
4296 self.control_handle.shutdown();
4297 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4299 }
4300}
4301
4302impl fidl::endpoints::Responder for EchoEchoStructWithErrorResponder {
4303 type ControlHandle = EchoControlHandle;
4304
4305 fn control_handle(&self) -> &EchoControlHandle {
4306 &self.control_handle
4307 }
4308
4309 fn drop_without_shutdown(mut self) {
4310 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4312 std::mem::forget(self);
4314 }
4315}
4316
4317impl EchoEchoStructWithErrorResponder {
4318 pub fn send(self, mut result: Result<Struct, DefaultEnum>) -> Result<(), fidl::Error> {
4322 let _result = self.send_raw(result);
4323 if _result.is_err() {
4324 self.control_handle.shutdown();
4325 }
4326 self.drop_without_shutdown();
4327 _result
4328 }
4329
4330 pub fn send_no_shutdown_on_err(
4332 self,
4333 mut result: Result<Struct, DefaultEnum>,
4334 ) -> Result<(), fidl::Error> {
4335 let _result = self.send_raw(result);
4336 self.drop_without_shutdown();
4337 _result
4338 }
4339
4340 fn send_raw(&self, mut result: Result<Struct, DefaultEnum>) -> Result<(), fidl::Error> {
4341 self.control_handle.inner.send::<fidl::encoding::ResultType<
4342 EchoEchoStructWithErrorResponse,
4343 DefaultEnum,
4344 >>(
4345 result.as_mut().map_err(|e| *e).map(|value| (value,)),
4346 self.tx_id,
4347 0x46cb32652c4c0899,
4348 fidl::encoding::DynamicFlags::empty(),
4349 )
4350 }
4351}
4352
4353#[must_use = "FIDL methods require a response to be sent"]
4354#[derive(Debug)]
4355pub struct EchoEchoArraysResponder {
4356 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4357 tx_id: u32,
4358}
4359
4360impl std::ops::Drop for EchoEchoArraysResponder {
4364 fn drop(&mut self) {
4365 self.control_handle.shutdown();
4366 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4368 }
4369}
4370
4371impl fidl::endpoints::Responder for EchoEchoArraysResponder {
4372 type ControlHandle = EchoControlHandle;
4373
4374 fn control_handle(&self) -> &EchoControlHandle {
4375 &self.control_handle
4376 }
4377
4378 fn drop_without_shutdown(mut self) {
4379 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4381 std::mem::forget(self);
4383 }
4384}
4385
4386impl EchoEchoArraysResponder {
4387 pub fn send(self, mut value: ArraysStruct) -> Result<(), fidl::Error> {
4391 let _result = self.send_raw(value);
4392 if _result.is_err() {
4393 self.control_handle.shutdown();
4394 }
4395 self.drop_without_shutdown();
4396 _result
4397 }
4398
4399 pub fn send_no_shutdown_on_err(self, mut value: ArraysStruct) -> Result<(), fidl::Error> {
4401 let _result = self.send_raw(value);
4402 self.drop_without_shutdown();
4403 _result
4404 }
4405
4406 fn send_raw(&self, mut value: ArraysStruct) -> Result<(), fidl::Error> {
4407 self.control_handle.inner.send::<EchoEchoArraysResponse>(
4408 (&mut value,),
4409 self.tx_id,
4410 0x1b6019d5611f2470,
4411 fidl::encoding::DynamicFlags::empty(),
4412 )
4413 }
4414}
4415
4416#[must_use = "FIDL methods require a response to be sent"]
4417#[derive(Debug)]
4418pub struct EchoEchoArraysWithErrorResponder {
4419 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4420 tx_id: u32,
4421}
4422
4423impl std::ops::Drop for EchoEchoArraysWithErrorResponder {
4427 fn drop(&mut self) {
4428 self.control_handle.shutdown();
4429 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4431 }
4432}
4433
4434impl fidl::endpoints::Responder for EchoEchoArraysWithErrorResponder {
4435 type ControlHandle = EchoControlHandle;
4436
4437 fn control_handle(&self) -> &EchoControlHandle {
4438 &self.control_handle
4439 }
4440
4441 fn drop_without_shutdown(mut self) {
4442 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4444 std::mem::forget(self);
4446 }
4447}
4448
4449impl EchoEchoArraysWithErrorResponder {
4450 pub fn send(self, mut result: Result<ArraysStruct, DefaultEnum>) -> Result<(), fidl::Error> {
4454 let _result = self.send_raw(result);
4455 if _result.is_err() {
4456 self.control_handle.shutdown();
4457 }
4458 self.drop_without_shutdown();
4459 _result
4460 }
4461
4462 pub fn send_no_shutdown_on_err(
4464 self,
4465 mut result: Result<ArraysStruct, DefaultEnum>,
4466 ) -> Result<(), fidl::Error> {
4467 let _result = self.send_raw(result);
4468 self.drop_without_shutdown();
4469 _result
4470 }
4471
4472 fn send_raw(&self, mut result: Result<ArraysStruct, DefaultEnum>) -> Result<(), fidl::Error> {
4473 self.control_handle.inner.send::<fidl::encoding::ResultType<
4474 EchoEchoArraysWithErrorResponse,
4475 DefaultEnum,
4476 >>(
4477 result.as_mut().map_err(|e| *e).map(|value| (value,)),
4478 self.tx_id,
4479 0x6dbf26e67e253afa,
4480 fidl::encoding::DynamicFlags::empty(),
4481 )
4482 }
4483}
4484
4485#[must_use = "FIDL methods require a response to be sent"]
4486#[derive(Debug)]
4487pub struct EchoEchoVectorsResponder {
4488 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4489 tx_id: u32,
4490}
4491
4492impl std::ops::Drop for EchoEchoVectorsResponder {
4496 fn drop(&mut self) {
4497 self.control_handle.shutdown();
4498 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4500 }
4501}
4502
4503impl fidl::endpoints::Responder for EchoEchoVectorsResponder {
4504 type ControlHandle = EchoControlHandle;
4505
4506 fn control_handle(&self) -> &EchoControlHandle {
4507 &self.control_handle
4508 }
4509
4510 fn drop_without_shutdown(mut self) {
4511 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4513 std::mem::forget(self);
4515 }
4516}
4517
4518impl EchoEchoVectorsResponder {
4519 pub fn send(self, mut value: VectorsStruct) -> Result<(), fidl::Error> {
4523 let _result = self.send_raw(value);
4524 if _result.is_err() {
4525 self.control_handle.shutdown();
4526 }
4527 self.drop_without_shutdown();
4528 _result
4529 }
4530
4531 pub fn send_no_shutdown_on_err(self, mut value: VectorsStruct) -> Result<(), fidl::Error> {
4533 let _result = self.send_raw(value);
4534 self.drop_without_shutdown();
4535 _result
4536 }
4537
4538 fn send_raw(&self, mut value: VectorsStruct) -> Result<(), fidl::Error> {
4539 self.control_handle.inner.send::<EchoEchoVectorsResponse>(
4540 (&mut value,),
4541 self.tx_id,
4542 0x1582623f0d9f6e5e,
4543 fidl::encoding::DynamicFlags::empty(),
4544 )
4545 }
4546}
4547
4548#[must_use = "FIDL methods require a response to be sent"]
4549#[derive(Debug)]
4550pub struct EchoEchoVectorsWithErrorResponder {
4551 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4552 tx_id: u32,
4553}
4554
4555impl std::ops::Drop for EchoEchoVectorsWithErrorResponder {
4559 fn drop(&mut self) {
4560 self.control_handle.shutdown();
4561 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4563 }
4564}
4565
4566impl fidl::endpoints::Responder for EchoEchoVectorsWithErrorResponder {
4567 type ControlHandle = EchoControlHandle;
4568
4569 fn control_handle(&self) -> &EchoControlHandle {
4570 &self.control_handle
4571 }
4572
4573 fn drop_without_shutdown(mut self) {
4574 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4576 std::mem::forget(self);
4578 }
4579}
4580
4581impl EchoEchoVectorsWithErrorResponder {
4582 pub fn send(self, mut result: Result<VectorsStruct, DefaultEnum>) -> Result<(), fidl::Error> {
4586 let _result = self.send_raw(result);
4587 if _result.is_err() {
4588 self.control_handle.shutdown();
4589 }
4590 self.drop_without_shutdown();
4591 _result
4592 }
4593
4594 pub fn send_no_shutdown_on_err(
4596 self,
4597 mut result: Result<VectorsStruct, DefaultEnum>,
4598 ) -> Result<(), fidl::Error> {
4599 let _result = self.send_raw(result);
4600 self.drop_without_shutdown();
4601 _result
4602 }
4603
4604 fn send_raw(&self, mut result: Result<VectorsStruct, DefaultEnum>) -> Result<(), fidl::Error> {
4605 self.control_handle.inner.send::<fidl::encoding::ResultType<
4606 EchoEchoVectorsWithErrorResponse,
4607 DefaultEnum,
4608 >>(
4609 result.as_mut().map_err(|e| *e).map(|value| (value,)),
4610 self.tx_id,
4611 0x730f163401e2b3e5,
4612 fidl::encoding::DynamicFlags::empty(),
4613 )
4614 }
4615}
4616
4617#[must_use = "FIDL methods require a response to be sent"]
4618#[derive(Debug)]
4619pub struct EchoEchoTableResponder {
4620 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4621 tx_id: u32,
4622}
4623
4624impl std::ops::Drop for EchoEchoTableResponder {
4628 fn drop(&mut self) {
4629 self.control_handle.shutdown();
4630 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4632 }
4633}
4634
4635impl fidl::endpoints::Responder for EchoEchoTableResponder {
4636 type ControlHandle = EchoControlHandle;
4637
4638 fn control_handle(&self) -> &EchoControlHandle {
4639 &self.control_handle
4640 }
4641
4642 fn drop_without_shutdown(mut self) {
4643 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4645 std::mem::forget(self);
4647 }
4648}
4649
4650impl EchoEchoTableResponder {
4651 pub fn send(self, mut value: AllTypesTable) -> Result<(), fidl::Error> {
4655 let _result = self.send_raw(value);
4656 if _result.is_err() {
4657 self.control_handle.shutdown();
4658 }
4659 self.drop_without_shutdown();
4660 _result
4661 }
4662
4663 pub fn send_no_shutdown_on_err(self, mut value: AllTypesTable) -> Result<(), fidl::Error> {
4665 let _result = self.send_raw(value);
4666 self.drop_without_shutdown();
4667 _result
4668 }
4669
4670 fn send_raw(&self, mut value: AllTypesTable) -> Result<(), fidl::Error> {
4671 self.control_handle.inner.send::<EchoEchoTableResponse>(
4672 (&mut value,),
4673 self.tx_id,
4674 0x4f1fb0a512f47c4b,
4675 fidl::encoding::DynamicFlags::empty(),
4676 )
4677 }
4678}
4679
4680#[must_use = "FIDL methods require a response to be sent"]
4681#[derive(Debug)]
4682pub struct EchoEchoTableWithErrorResponder {
4683 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4684 tx_id: u32,
4685}
4686
4687impl std::ops::Drop for EchoEchoTableWithErrorResponder {
4691 fn drop(&mut self) {
4692 self.control_handle.shutdown();
4693 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4695 }
4696}
4697
4698impl fidl::endpoints::Responder for EchoEchoTableWithErrorResponder {
4699 type ControlHandle = EchoControlHandle;
4700
4701 fn control_handle(&self) -> &EchoControlHandle {
4702 &self.control_handle
4703 }
4704
4705 fn drop_without_shutdown(mut self) {
4706 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4708 std::mem::forget(self);
4710 }
4711}
4712
4713impl EchoEchoTableWithErrorResponder {
4714 pub fn send(self, mut result: Result<AllTypesTable, DefaultEnum>) -> Result<(), fidl::Error> {
4718 let _result = self.send_raw(result);
4719 if _result.is_err() {
4720 self.control_handle.shutdown();
4721 }
4722 self.drop_without_shutdown();
4723 _result
4724 }
4725
4726 pub fn send_no_shutdown_on_err(
4728 self,
4729 mut result: Result<AllTypesTable, DefaultEnum>,
4730 ) -> Result<(), fidl::Error> {
4731 let _result = self.send_raw(result);
4732 self.drop_without_shutdown();
4733 _result
4734 }
4735
4736 fn send_raw(&self, mut result: Result<AllTypesTable, DefaultEnum>) -> Result<(), fidl::Error> {
4737 self.control_handle.inner.send::<fidl::encoding::ResultType<
4738 EchoEchoTableWithErrorResponse,
4739 DefaultEnum,
4740 >>(
4741 result.as_mut().map_err(|e| *e).map(|value| (value,)),
4742 self.tx_id,
4743 0x44e835cb1eb9a931,
4744 fidl::encoding::DynamicFlags::empty(),
4745 )
4746 }
4747}
4748
4749#[must_use = "FIDL methods require a response to be sent"]
4750#[derive(Debug)]
4751pub struct EchoEchoXunionsResponder {
4752 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4753 tx_id: u32,
4754}
4755
4756impl std::ops::Drop for EchoEchoXunionsResponder {
4760 fn drop(&mut self) {
4761 self.control_handle.shutdown();
4762 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4764 }
4765}
4766
4767impl fidl::endpoints::Responder for EchoEchoXunionsResponder {
4768 type ControlHandle = EchoControlHandle;
4769
4770 fn control_handle(&self) -> &EchoControlHandle {
4771 &self.control_handle
4772 }
4773
4774 fn drop_without_shutdown(mut self) {
4775 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4777 std::mem::forget(self);
4779 }
4780}
4781
4782impl EchoEchoXunionsResponder {
4783 pub fn send(self, mut value: Vec<AllTypesXunion>) -> Result<(), fidl::Error> {
4787 let _result = self.send_raw(value);
4788 if _result.is_err() {
4789 self.control_handle.shutdown();
4790 }
4791 self.drop_without_shutdown();
4792 _result
4793 }
4794
4795 pub fn send_no_shutdown_on_err(
4797 self,
4798 mut value: Vec<AllTypesXunion>,
4799 ) -> Result<(), fidl::Error> {
4800 let _result = self.send_raw(value);
4801 self.drop_without_shutdown();
4802 _result
4803 }
4804
4805 fn send_raw(&self, mut value: Vec<AllTypesXunion>) -> Result<(), fidl::Error> {
4806 self.control_handle.inner.send::<EchoEchoXunionsResponse>(
4807 (value.as_mut(),),
4808 self.tx_id,
4809 0x3dc181909041a583,
4810 fidl::encoding::DynamicFlags::empty(),
4811 )
4812 }
4813}
4814
4815#[must_use = "FIDL methods require a response to be sent"]
4816#[derive(Debug)]
4817pub struct EchoEchoXunionsWithErrorResponder {
4818 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4819 tx_id: u32,
4820}
4821
4822impl std::ops::Drop for EchoEchoXunionsWithErrorResponder {
4826 fn drop(&mut self) {
4827 self.control_handle.shutdown();
4828 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4830 }
4831}
4832
4833impl fidl::endpoints::Responder for EchoEchoXunionsWithErrorResponder {
4834 type ControlHandle = EchoControlHandle;
4835
4836 fn control_handle(&self) -> &EchoControlHandle {
4837 &self.control_handle
4838 }
4839
4840 fn drop_without_shutdown(mut self) {
4841 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4843 std::mem::forget(self);
4845 }
4846}
4847
4848impl EchoEchoXunionsWithErrorResponder {
4849 pub fn send(
4853 self,
4854 mut result: Result<Vec<AllTypesXunion>, DefaultEnum>,
4855 ) -> Result<(), fidl::Error> {
4856 let _result = self.send_raw(result);
4857 if _result.is_err() {
4858 self.control_handle.shutdown();
4859 }
4860 self.drop_without_shutdown();
4861 _result
4862 }
4863
4864 pub fn send_no_shutdown_on_err(
4866 self,
4867 mut result: Result<Vec<AllTypesXunion>, DefaultEnum>,
4868 ) -> Result<(), fidl::Error> {
4869 let _result = self.send_raw(result);
4870 self.drop_without_shutdown();
4871 _result
4872 }
4873
4874 fn send_raw(
4875 &self,
4876 mut result: Result<Vec<AllTypesXunion>, DefaultEnum>,
4877 ) -> Result<(), fidl::Error> {
4878 self.control_handle.inner.send::<fidl::encoding::ResultType<
4879 EchoEchoXunionsWithErrorResponse,
4880 DefaultEnum,
4881 >>(
4882 result.as_mut().map_err(|e| *e).map(|value| (value.as_mut_slice(),)),
4883 self.tx_id,
4884 0x75184102667fa766,
4885 fidl::encoding::DynamicFlags::empty(),
4886 )
4887 }
4888}
4889
4890#[must_use = "FIDL methods require a response to be sent"]
4891#[derive(Debug)]
4892pub struct EchoEchoNamedStructResponder {
4893 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4894 tx_id: u32,
4895}
4896
4897impl std::ops::Drop for EchoEchoNamedStructResponder {
4901 fn drop(&mut self) {
4902 self.control_handle.shutdown();
4903 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4905 }
4906}
4907
4908impl fidl::endpoints::Responder for EchoEchoNamedStructResponder {
4909 type ControlHandle = EchoControlHandle;
4910
4911 fn control_handle(&self) -> &EchoControlHandle {
4912 &self.control_handle
4913 }
4914
4915 fn drop_without_shutdown(mut self) {
4916 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4918 std::mem::forget(self);
4920 }
4921}
4922
4923impl EchoEchoNamedStructResponder {
4924 pub fn send(
4928 self,
4929 mut value: &fidl_fidl_test_imported::SimpleStruct,
4930 ) -> Result<(), fidl::Error> {
4931 let _result = self.send_raw(value);
4932 if _result.is_err() {
4933 self.control_handle.shutdown();
4934 }
4935 self.drop_without_shutdown();
4936 _result
4937 }
4938
4939 pub fn send_no_shutdown_on_err(
4941 self,
4942 mut value: &fidl_fidl_test_imported::SimpleStruct,
4943 ) -> Result<(), fidl::Error> {
4944 let _result = self.send_raw(value);
4945 self.drop_without_shutdown();
4946 _result
4947 }
4948
4949 fn send_raw(
4950 &self,
4951 mut value: &fidl_fidl_test_imported::SimpleStruct,
4952 ) -> Result<(), fidl::Error> {
4953 self.control_handle.inner.send::<fidl_fidl_test_imported::ResponseStruct>(
4954 (value,),
4955 self.tx_id,
4956 0xf2d4aa9e65f7111,
4957 fidl::encoding::DynamicFlags::empty(),
4958 )
4959 }
4960}
4961
4962#[must_use = "FIDL methods require a response to be sent"]
4963#[derive(Debug)]
4964pub struct EchoEchoNamedStructWithErrorResponder {
4965 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
4966 tx_id: u32,
4967}
4968
4969impl std::ops::Drop for EchoEchoNamedStructWithErrorResponder {
4973 fn drop(&mut self) {
4974 self.control_handle.shutdown();
4975 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4977 }
4978}
4979
4980impl fidl::endpoints::Responder for EchoEchoNamedStructWithErrorResponder {
4981 type ControlHandle = EchoControlHandle;
4982
4983 fn control_handle(&self) -> &EchoControlHandle {
4984 &self.control_handle
4985 }
4986
4987 fn drop_without_shutdown(mut self) {
4988 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4990 std::mem::forget(self);
4992 }
4993}
4994
4995impl EchoEchoNamedStructWithErrorResponder {
4996 pub fn send(
5000 self,
5001 mut result: Result<&fidl_fidl_test_imported::SimpleStruct, u32>,
5002 ) -> Result<(), fidl::Error> {
5003 let _result = self.send_raw(result);
5004 if _result.is_err() {
5005 self.control_handle.shutdown();
5006 }
5007 self.drop_without_shutdown();
5008 _result
5009 }
5010
5011 pub fn send_no_shutdown_on_err(
5013 self,
5014 mut result: Result<&fidl_fidl_test_imported::SimpleStruct, u32>,
5015 ) -> Result<(), fidl::Error> {
5016 let _result = self.send_raw(result);
5017 self.drop_without_shutdown();
5018 _result
5019 }
5020
5021 fn send_raw(
5022 &self,
5023 mut result: Result<&fidl_fidl_test_imported::SimpleStruct, u32>,
5024 ) -> Result<(), fidl::Error> {
5025 self.control_handle.inner.send::<fidl::encoding::ResultType<
5026 fidl_fidl_test_imported::ResponseStruct,
5027 u32,
5028 >>(
5029 result.map(|value| (value,)),
5030 self.tx_id,
5031 0x5766fee9e74442e8,
5032 fidl::encoding::DynamicFlags::empty(),
5033 )
5034 }
5035}
5036
5037#[must_use = "FIDL methods require a response to be sent"]
5038#[derive(Debug)]
5039pub struct EchoEchoTablePayloadResponder {
5040 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
5041 tx_id: u32,
5042}
5043
5044impl std::ops::Drop for EchoEchoTablePayloadResponder {
5048 fn drop(&mut self) {
5049 self.control_handle.shutdown();
5050 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5052 }
5053}
5054
5055impl fidl::endpoints::Responder for EchoEchoTablePayloadResponder {
5056 type ControlHandle = EchoControlHandle;
5057
5058 fn control_handle(&self) -> &EchoControlHandle {
5059 &self.control_handle
5060 }
5061
5062 fn drop_without_shutdown(mut self) {
5063 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5065 std::mem::forget(self);
5067 }
5068}
5069
5070impl EchoEchoTablePayloadResponder {
5071 pub fn send(self, mut payload: &ResponseTable) -> Result<(), fidl::Error> {
5075 let _result = self.send_raw(payload);
5076 if _result.is_err() {
5077 self.control_handle.shutdown();
5078 }
5079 self.drop_without_shutdown();
5080 _result
5081 }
5082
5083 pub fn send_no_shutdown_on_err(self, mut payload: &ResponseTable) -> Result<(), fidl::Error> {
5085 let _result = self.send_raw(payload);
5086 self.drop_without_shutdown();
5087 _result
5088 }
5089
5090 fn send_raw(&self, mut payload: &ResponseTable) -> Result<(), fidl::Error> {
5091 self.control_handle.inner.send::<ResponseTable>(
5092 payload,
5093 self.tx_id,
5094 0x641d98087378c003,
5095 fidl::encoding::DynamicFlags::empty(),
5096 )
5097 }
5098}
5099
5100#[must_use = "FIDL methods require a response to be sent"]
5101#[derive(Debug)]
5102pub struct EchoEchoTablePayloadWithErrorResponder {
5103 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
5104 tx_id: u32,
5105}
5106
5107impl std::ops::Drop for EchoEchoTablePayloadWithErrorResponder {
5111 fn drop(&mut self) {
5112 self.control_handle.shutdown();
5113 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5115 }
5116}
5117
5118impl fidl::endpoints::Responder for EchoEchoTablePayloadWithErrorResponder {
5119 type ControlHandle = EchoControlHandle;
5120
5121 fn control_handle(&self) -> &EchoControlHandle {
5122 &self.control_handle
5123 }
5124
5125 fn drop_without_shutdown(mut self) {
5126 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5128 std::mem::forget(self);
5130 }
5131}
5132
5133impl EchoEchoTablePayloadWithErrorResponder {
5134 pub fn send(self, mut result: Result<&ResponseTable, DefaultEnum>) -> Result<(), fidl::Error> {
5138 let _result = self.send_raw(result);
5139 if _result.is_err() {
5140 self.control_handle.shutdown();
5141 }
5142 self.drop_without_shutdown();
5143 _result
5144 }
5145
5146 pub fn send_no_shutdown_on_err(
5148 self,
5149 mut result: Result<&ResponseTable, DefaultEnum>,
5150 ) -> Result<(), fidl::Error> {
5151 let _result = self.send_raw(result);
5152 self.drop_without_shutdown();
5153 _result
5154 }
5155
5156 fn send_raw(&self, mut result: Result<&ResponseTable, DefaultEnum>) -> Result<(), fidl::Error> {
5157 self.control_handle.inner.send::<fidl::encoding::ResultType<ResponseTable, DefaultEnum>>(
5158 result,
5159 self.tx_id,
5160 0x636ed243761ab66d,
5161 fidl::encoding::DynamicFlags::empty(),
5162 )
5163 }
5164}
5165
5166#[must_use = "FIDL methods require a response to be sent"]
5167#[derive(Debug)]
5168pub struct EchoEchoUnionPayloadResponder {
5169 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
5170 tx_id: u32,
5171}
5172
5173impl std::ops::Drop for EchoEchoUnionPayloadResponder {
5177 fn drop(&mut self) {
5178 self.control_handle.shutdown();
5179 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5181 }
5182}
5183
5184impl fidl::endpoints::Responder for EchoEchoUnionPayloadResponder {
5185 type ControlHandle = EchoControlHandle;
5186
5187 fn control_handle(&self) -> &EchoControlHandle {
5188 &self.control_handle
5189 }
5190
5191 fn drop_without_shutdown(mut self) {
5192 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5194 std::mem::forget(self);
5196 }
5197}
5198
5199impl EchoEchoUnionPayloadResponder {
5200 pub fn send(self, mut payload: &ResponseUnion) -> Result<(), fidl::Error> {
5204 let _result = self.send_raw(payload);
5205 if _result.is_err() {
5206 self.control_handle.shutdown();
5207 }
5208 self.drop_without_shutdown();
5209 _result
5210 }
5211
5212 pub fn send_no_shutdown_on_err(self, mut payload: &ResponseUnion) -> Result<(), fidl::Error> {
5214 let _result = self.send_raw(payload);
5215 self.drop_without_shutdown();
5216 _result
5217 }
5218
5219 fn send_raw(&self, mut payload: &ResponseUnion) -> Result<(), fidl::Error> {
5220 self.control_handle.inner.send::<ResponseUnion>(
5221 payload,
5222 self.tx_id,
5223 0x66def9e793f10c55,
5224 fidl::encoding::DynamicFlags::empty(),
5225 )
5226 }
5227}
5228
5229#[must_use = "FIDL methods require a response to be sent"]
5230#[derive(Debug)]
5231pub struct EchoEchoUnionPayloadWithErrorResponder {
5232 control_handle: std::mem::ManuallyDrop<EchoControlHandle>,
5233 tx_id: u32,
5234}
5235
5236impl std::ops::Drop for EchoEchoUnionPayloadWithErrorResponder {
5240 fn drop(&mut self) {
5241 self.control_handle.shutdown();
5242 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5244 }
5245}
5246
5247impl fidl::endpoints::Responder for EchoEchoUnionPayloadWithErrorResponder {
5248 type ControlHandle = EchoControlHandle;
5249
5250 fn control_handle(&self) -> &EchoControlHandle {
5251 &self.control_handle
5252 }
5253
5254 fn drop_without_shutdown(mut self) {
5255 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5257 std::mem::forget(self);
5259 }
5260}
5261
5262impl EchoEchoUnionPayloadWithErrorResponder {
5263 pub fn send(self, mut result: Result<&ResponseUnion, DefaultEnum>) -> Result<(), fidl::Error> {
5267 let _result = self.send_raw(result);
5268 if _result.is_err() {
5269 self.control_handle.shutdown();
5270 }
5271 self.drop_without_shutdown();
5272 _result
5273 }
5274
5275 pub fn send_no_shutdown_on_err(
5277 self,
5278 mut result: Result<&ResponseUnion, DefaultEnum>,
5279 ) -> Result<(), fidl::Error> {
5280 let _result = self.send_raw(result);
5281 self.drop_without_shutdown();
5282 _result
5283 }
5284
5285 fn send_raw(&self, mut result: Result<&ResponseUnion, DefaultEnum>) -> Result<(), fidl::Error> {
5286 self.control_handle.inner.send::<fidl::encoding::ResultType<ResponseUnion, DefaultEnum>>(
5287 result,
5288 self.tx_id,
5289 0x1be890d6e68ef063,
5290 fidl::encoding::DynamicFlags::empty(),
5291 )
5292 }
5293}
5294
5295mod internal {
5296 use super::*;
5297
5298 impl fidl::encoding::ResourceTypeMarker for ArraysStruct {
5299 type Borrowed<'a> = &'a mut Self;
5300 fn take_or_borrow<'a>(
5301 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
5302 ) -> Self::Borrowed<'a> {
5303 value
5304 }
5305 }
5306
5307 unsafe impl fidl::encoding::TypeMarker for ArraysStruct {
5308 type Owned = Self;
5309
5310 #[inline(always)]
5311 fn inline_align(_context: fidl::encoding::Context) -> usize {
5312 8
5313 }
5314
5315 #[inline(always)]
5316 fn inline_size(_context: fidl::encoding::Context) -> usize {
5317 680
5318 }
5319 }
5320
5321 unsafe impl fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
5322 for &mut ArraysStruct
5323 {
5324 #[inline]
5325 unsafe fn encode(
5326 self,
5327 encoder: &mut fidl::encoding::Encoder<
5328 '_,
5329 fidl::encoding::DefaultFuchsiaResourceDialect,
5330 >,
5331 offset: usize,
5332 _depth: fidl::encoding::Depth,
5333 ) -> fidl::Result<()> {
5334 encoder.debug_check_bounds::<ArraysStruct>(offset);
5335 fidl::encoding::Encode::<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
5337 (
5338 <fidl::encoding::Array<bool, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.bools),
5339 <fidl::encoding::Array<i8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int8s),
5340 <fidl::encoding::Array<i16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int16s),
5341 <fidl::encoding::Array<i32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int32s),
5342 <fidl::encoding::Array<i64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int64s),
5343 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint8s),
5344 <fidl::encoding::Array<u16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint16s),
5345 <fidl::encoding::Array<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint32s),
5346 <fidl::encoding::Array<u64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint64s),
5347 <fidl::encoding::Array<f32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.float32s),
5348 <fidl::encoding::Array<f64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.float64s),
5349 <fidl::encoding::Array<DefaultEnum, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.enums),
5350 <fidl::encoding::Array<DefaultBits, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.bits),
5351 <fidl::encoding::Array<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handles),
5352 <fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.nullable_handles),
5353 <fidl::encoding::Array<fidl::encoding::UnboundedString, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.strings),
5354 <fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::UnboundedString>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_strings),
5355 <fidl::encoding::Array<ThisIsAStruct, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.structs),
5356 <fidl::encoding::Array<fidl::encoding::Boxed<ThisIsAStruct>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_structs),
5357 <fidl::encoding::Array<ThisIsAUnion, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.unions),
5358 <fidl::encoding::Array<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_unions),
5359 <fidl::encoding::Array<fidl::encoding::Array<u32, 3>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.arrays),
5360 <fidl::encoding::Array<fidl::encoding::UnboundedVector<u32>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.vectors),
5361 <fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_vectors),
5362 <fidl::encoding::Array<ThisIsATable, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.tables),
5363 <fidl::encoding::Array<ThisIsAXunion, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.xunions),
5364 ),
5365 encoder, offset, _depth
5366 )
5367 }
5368 }
5369 unsafe impl<
5370 T0: fidl::encoding::Encode<
5371 fidl::encoding::Array<bool, 3>,
5372 fidl::encoding::DefaultFuchsiaResourceDialect,
5373 >,
5374 T1: fidl::encoding::Encode<
5375 fidl::encoding::Array<i8, 3>,
5376 fidl::encoding::DefaultFuchsiaResourceDialect,
5377 >,
5378 T2: fidl::encoding::Encode<
5379 fidl::encoding::Array<i16, 3>,
5380 fidl::encoding::DefaultFuchsiaResourceDialect,
5381 >,
5382 T3: fidl::encoding::Encode<
5383 fidl::encoding::Array<i32, 3>,
5384 fidl::encoding::DefaultFuchsiaResourceDialect,
5385 >,
5386 T4: fidl::encoding::Encode<
5387 fidl::encoding::Array<i64, 3>,
5388 fidl::encoding::DefaultFuchsiaResourceDialect,
5389 >,
5390 T5: fidl::encoding::Encode<
5391 fidl::encoding::Array<u8, 3>,
5392 fidl::encoding::DefaultFuchsiaResourceDialect,
5393 >,
5394 T6: fidl::encoding::Encode<
5395 fidl::encoding::Array<u16, 3>,
5396 fidl::encoding::DefaultFuchsiaResourceDialect,
5397 >,
5398 T7: fidl::encoding::Encode<
5399 fidl::encoding::Array<u32, 3>,
5400 fidl::encoding::DefaultFuchsiaResourceDialect,
5401 >,
5402 T8: fidl::encoding::Encode<
5403 fidl::encoding::Array<u64, 3>,
5404 fidl::encoding::DefaultFuchsiaResourceDialect,
5405 >,
5406 T9: fidl::encoding::Encode<
5407 fidl::encoding::Array<f32, 3>,
5408 fidl::encoding::DefaultFuchsiaResourceDialect,
5409 >,
5410 T10: fidl::encoding::Encode<
5411 fidl::encoding::Array<f64, 3>,
5412 fidl::encoding::DefaultFuchsiaResourceDialect,
5413 >,
5414 T11: fidl::encoding::Encode<
5415 fidl::encoding::Array<DefaultEnum, 3>,
5416 fidl::encoding::DefaultFuchsiaResourceDialect,
5417 >,
5418 T12: fidl::encoding::Encode<
5419 fidl::encoding::Array<DefaultBits, 3>,
5420 fidl::encoding::DefaultFuchsiaResourceDialect,
5421 >,
5422 T13: fidl::encoding::Encode<
5423 fidl::encoding::Array<
5424 fidl::encoding::HandleType<
5425 fidl::Handle,
5426 { fidl::ObjectType::NONE.into_raw() },
5427 2147483648,
5428 >,
5429 3,
5430 >,
5431 fidl::encoding::DefaultFuchsiaResourceDialect,
5432 >,
5433 T14: fidl::encoding::Encode<
5434 fidl::encoding::Array<
5435 fidl::encoding::Optional<
5436 fidl::encoding::HandleType<
5437 fidl::Handle,
5438 { fidl::ObjectType::NONE.into_raw() },
5439 2147483648,
5440 >,
5441 >,
5442 3,
5443 >,
5444 fidl::encoding::DefaultFuchsiaResourceDialect,
5445 >,
5446 T15: fidl::encoding::Encode<
5447 fidl::encoding::Array<fidl::encoding::UnboundedString, 3>,
5448 fidl::encoding::DefaultFuchsiaResourceDialect,
5449 >,
5450 T16: fidl::encoding::Encode<
5451 fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::UnboundedString>, 3>,
5452 fidl::encoding::DefaultFuchsiaResourceDialect,
5453 >,
5454 T17: fidl::encoding::Encode<
5455 fidl::encoding::Array<ThisIsAStruct, 3>,
5456 fidl::encoding::DefaultFuchsiaResourceDialect,
5457 >,
5458 T18: fidl::encoding::Encode<
5459 fidl::encoding::Array<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
5460 fidl::encoding::DefaultFuchsiaResourceDialect,
5461 >,
5462 T19: fidl::encoding::Encode<
5463 fidl::encoding::Array<ThisIsAUnion, 3>,
5464 fidl::encoding::DefaultFuchsiaResourceDialect,
5465 >,
5466 T20: fidl::encoding::Encode<
5467 fidl::encoding::Array<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
5468 fidl::encoding::DefaultFuchsiaResourceDialect,
5469 >,
5470 T21: fidl::encoding::Encode<
5471 fidl::encoding::Array<fidl::encoding::Array<u32, 3>, 3>,
5472 fidl::encoding::DefaultFuchsiaResourceDialect,
5473 >,
5474 T22: fidl::encoding::Encode<
5475 fidl::encoding::Array<fidl::encoding::UnboundedVector<u32>, 3>,
5476 fidl::encoding::DefaultFuchsiaResourceDialect,
5477 >,
5478 T23: fidl::encoding::Encode<
5479 fidl::encoding::Array<
5480 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
5481 3,
5482 >,
5483 fidl::encoding::DefaultFuchsiaResourceDialect,
5484 >,
5485 T24: fidl::encoding::Encode<
5486 fidl::encoding::Array<ThisIsATable, 3>,
5487 fidl::encoding::DefaultFuchsiaResourceDialect,
5488 >,
5489 T25: fidl::encoding::Encode<
5490 fidl::encoding::Array<ThisIsAXunion, 3>,
5491 fidl::encoding::DefaultFuchsiaResourceDialect,
5492 >,
5493 > fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
5494 for (
5495 T0,
5496 T1,
5497 T2,
5498 T3,
5499 T4,
5500 T5,
5501 T6,
5502 T7,
5503 T8,
5504 T9,
5505 T10,
5506 T11,
5507 T12,
5508 T13,
5509 T14,
5510 T15,
5511 T16,
5512 T17,
5513 T18,
5514 T19,
5515 T20,
5516 T21,
5517 T22,
5518 T23,
5519 T24,
5520 T25,
5521 )
5522 {
5523 #[inline]
5524 unsafe fn encode(
5525 self,
5526 encoder: &mut fidl::encoding::Encoder<
5527 '_,
5528 fidl::encoding::DefaultFuchsiaResourceDialect,
5529 >,
5530 offset: usize,
5531 depth: fidl::encoding::Depth,
5532 ) -> fidl::Result<()> {
5533 encoder.debug_check_bounds::<ArraysStruct>(offset);
5534 unsafe {
5537 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
5538 (ptr as *mut u64).write_unaligned(0);
5539 }
5540 unsafe {
5541 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
5542 (ptr as *mut u64).write_unaligned(0);
5543 }
5544 unsafe {
5545 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(104);
5546 (ptr as *mut u64).write_unaligned(0);
5547 }
5548 unsafe {
5549 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(480);
5550 (ptr as *mut u64).write_unaligned(0);
5551 }
5552 self.0.encode(encoder, offset + 0, depth)?;
5554 self.1.encode(encoder, offset + 3, depth)?;
5555 self.2.encode(encoder, offset + 6, depth)?;
5556 self.3.encode(encoder, offset + 12, depth)?;
5557 self.4.encode(encoder, offset + 24, depth)?;
5558 self.5.encode(encoder, offset + 48, depth)?;
5559 self.6.encode(encoder, offset + 52, depth)?;
5560 self.7.encode(encoder, offset + 60, depth)?;
5561 self.8.encode(encoder, offset + 72, depth)?;
5562 self.9.encode(encoder, offset + 96, depth)?;
5563 self.10.encode(encoder, offset + 112, depth)?;
5564 self.11.encode(encoder, offset + 136, depth)?;
5565 self.12.encode(encoder, offset + 148, depth)?;
5566 self.13.encode(encoder, offset + 160, depth)?;
5567 self.14.encode(encoder, offset + 172, depth)?;
5568 self.15.encode(encoder, offset + 184, depth)?;
5569 self.16.encode(encoder, offset + 232, depth)?;
5570 self.17.encode(encoder, offset + 280, depth)?;
5571 self.18.encode(encoder, offset + 328, depth)?;
5572 self.19.encode(encoder, offset + 352, depth)?;
5573 self.20.encode(encoder, offset + 400, depth)?;
5574 self.21.encode(encoder, offset + 448, depth)?;
5575 self.22.encode(encoder, offset + 488, depth)?;
5576 self.23.encode(encoder, offset + 536, depth)?;
5577 self.24.encode(encoder, offset + 584, depth)?;
5578 self.25.encode(encoder, offset + 632, depth)?;
5579 Ok(())
5580 }
5581 }
5582
5583 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for ArraysStruct {
5584 #[inline(always)]
5585 fn new_empty() -> Self {
5586 Self {
5587 bools: fidl::new_empty!(fidl::encoding::Array<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5588 int8s: fidl::new_empty!(fidl::encoding::Array<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5589 int16s: fidl::new_empty!(fidl::encoding::Array<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5590 int32s: fidl::new_empty!(fidl::encoding::Array<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5591 int64s: fidl::new_empty!(fidl::encoding::Array<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5592 uint8s: fidl::new_empty!(fidl::encoding::Array<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5593 uint16s: fidl::new_empty!(fidl::encoding::Array<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5594 uint32s: fidl::new_empty!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5595 uint64s: fidl::new_empty!(fidl::encoding::Array<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5596 float32s: fidl::new_empty!(fidl::encoding::Array<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5597 float64s: fidl::new_empty!(fidl::encoding::Array<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5598 enums: fidl::new_empty!(fidl::encoding::Array<DefaultEnum, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5599 bits: fidl::new_empty!(fidl::encoding::Array<DefaultBits, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5600 handles: fidl::new_empty!(
5601 fidl::encoding::Array<
5602 fidl::encoding::HandleType<
5603 fidl::Handle,
5604 { fidl::ObjectType::NONE.into_raw() },
5605 2147483648,
5606 >,
5607 3,
5608 >,
5609 fidl::encoding::DefaultFuchsiaResourceDialect
5610 ),
5611 nullable_handles: fidl::new_empty!(
5612 fidl::encoding::Array<
5613 fidl::encoding::Optional<
5614 fidl::encoding::HandleType<
5615 fidl::Handle,
5616 { fidl::ObjectType::NONE.into_raw() },
5617 2147483648,
5618 >,
5619 >,
5620 3,
5621 >,
5622 fidl::encoding::DefaultFuchsiaResourceDialect
5623 ),
5624 strings: fidl::new_empty!(fidl::encoding::Array<fidl::encoding::UnboundedString, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5625 nullable_strings: fidl::new_empty!(
5626 fidl::encoding::Array<
5627 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
5628 3,
5629 >,
5630 fidl::encoding::DefaultFuchsiaResourceDialect
5631 ),
5632 structs: fidl::new_empty!(fidl::encoding::Array<ThisIsAStruct, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5633 nullable_structs: fidl::new_empty!(
5634 fidl::encoding::Array<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
5635 fidl::encoding::DefaultFuchsiaResourceDialect
5636 ),
5637 unions: fidl::new_empty!(fidl::encoding::Array<ThisIsAUnion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5638 nullable_unions: fidl::new_empty!(
5639 fidl::encoding::Array<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
5640 fidl::encoding::DefaultFuchsiaResourceDialect
5641 ),
5642 arrays: fidl::new_empty!(
5643 fidl::encoding::Array<fidl::encoding::Array<u32, 3>, 3>,
5644 fidl::encoding::DefaultFuchsiaResourceDialect
5645 ),
5646 vectors: fidl::new_empty!(
5647 fidl::encoding::Array<fidl::encoding::UnboundedVector<u32>, 3>,
5648 fidl::encoding::DefaultFuchsiaResourceDialect
5649 ),
5650 nullable_vectors: fidl::new_empty!(
5651 fidl::encoding::Array<
5652 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
5653 3,
5654 >,
5655 fidl::encoding::DefaultFuchsiaResourceDialect
5656 ),
5657 tables: fidl::new_empty!(fidl::encoding::Array<ThisIsATable, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5658 xunions: fidl::new_empty!(fidl::encoding::Array<ThisIsAXunion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
5659 }
5660 }
5661
5662 #[inline]
5663 unsafe fn decode(
5664 &mut self,
5665 decoder: &mut fidl::encoding::Decoder<
5666 '_,
5667 fidl::encoding::DefaultFuchsiaResourceDialect,
5668 >,
5669 offset: usize,
5670 _depth: fidl::encoding::Depth,
5671 ) -> fidl::Result<()> {
5672 decoder.debug_check_bounds::<Self>(offset);
5673 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
5675 let padval = unsafe { (ptr as *const u64).read_unaligned() };
5676 let mask = 0xff000000u64;
5677 let maskedval = padval & mask;
5678 if maskedval != 0 {
5679 return Err(fidl::Error::NonZeroPadding {
5680 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
5681 });
5682 }
5683 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
5684 let padval = unsafe { (ptr as *const u64).read_unaligned() };
5685 let mask = 0xffff0000u64;
5686 let maskedval = padval & mask;
5687 if maskedval != 0 {
5688 return Err(fidl::Error::NonZeroPadding {
5689 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
5690 });
5691 }
5692 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(104) };
5693 let padval = unsafe { (ptr as *const u64).read_unaligned() };
5694 let mask = 0xffffffff00000000u64;
5695 let maskedval = padval & mask;
5696 if maskedval != 0 {
5697 return Err(fidl::Error::NonZeroPadding {
5698 padding_start: offset + 104 + ((mask as u64).trailing_zeros() / 8) as usize,
5699 });
5700 }
5701 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(480) };
5702 let padval = unsafe { (ptr as *const u64).read_unaligned() };
5703 let mask = 0xffffffff00000000u64;
5704 let maskedval = padval & mask;
5705 if maskedval != 0 {
5706 return Err(fidl::Error::NonZeroPadding {
5707 padding_start: offset + 480 + ((mask as u64).trailing_zeros() / 8) as usize,
5708 });
5709 }
5710 fidl::decode!(fidl::encoding::Array<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bools, decoder, offset + 0, _depth)?;
5711 fidl::decode!(fidl::encoding::Array<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int8s, decoder, offset + 3, _depth)?;
5712 fidl::decode!(fidl::encoding::Array<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int16s, decoder, offset + 6, _depth)?;
5713 fidl::decode!(fidl::encoding::Array<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int32s, decoder, offset + 12, _depth)?;
5714 fidl::decode!(fidl::encoding::Array<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int64s, decoder, offset + 24, _depth)?;
5715 fidl::decode!(fidl::encoding::Array<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint8s, decoder, offset + 48, _depth)?;
5716 fidl::decode!(fidl::encoding::Array<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint16s, decoder, offset + 52, _depth)?;
5717 fidl::decode!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint32s, decoder, offset + 60, _depth)?;
5718 fidl::decode!(fidl::encoding::Array<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint64s, decoder, offset + 72, _depth)?;
5719 fidl::decode!(fidl::encoding::Array<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.float32s, decoder, offset + 96, _depth)?;
5720 fidl::decode!(fidl::encoding::Array<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.float64s, decoder, offset + 112, _depth)?;
5721 fidl::decode!(fidl::encoding::Array<DefaultEnum, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.enums, decoder, offset + 136, _depth)?;
5722 fidl::decode!(fidl::encoding::Array<DefaultBits, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bits, decoder, offset + 148, _depth)?;
5723 fidl::decode!(
5724 fidl::encoding::Array<
5725 fidl::encoding::HandleType<
5726 fidl::Handle,
5727 { fidl::ObjectType::NONE.into_raw() },
5728 2147483648,
5729 >,
5730 3,
5731 >,
5732 fidl::encoding::DefaultFuchsiaResourceDialect,
5733 &mut self.handles,
5734 decoder,
5735 offset + 160,
5736 _depth
5737 )?;
5738 fidl::decode!(
5739 fidl::encoding::Array<
5740 fidl::encoding::Optional<
5741 fidl::encoding::HandleType<
5742 fidl::Handle,
5743 { fidl::ObjectType::NONE.into_raw() },
5744 2147483648,
5745 >,
5746 >,
5747 3,
5748 >,
5749 fidl::encoding::DefaultFuchsiaResourceDialect,
5750 &mut self.nullable_handles,
5751 decoder,
5752 offset + 172,
5753 _depth
5754 )?;
5755 fidl::decode!(fidl::encoding::Array<fidl::encoding::UnboundedString, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.strings, decoder, offset + 184, _depth)?;
5756 fidl::decode!(
5757 fidl::encoding::Array<fidl::encoding::Optional<fidl::encoding::UnboundedString>, 3>,
5758 fidl::encoding::DefaultFuchsiaResourceDialect,
5759 &mut self.nullable_strings,
5760 decoder,
5761 offset + 232,
5762 _depth
5763 )?;
5764 fidl::decode!(fidl::encoding::Array<ThisIsAStruct, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.structs, decoder, offset + 280, _depth)?;
5765 fidl::decode!(
5766 fidl::encoding::Array<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
5767 fidl::encoding::DefaultFuchsiaResourceDialect,
5768 &mut self.nullable_structs,
5769 decoder,
5770 offset + 328,
5771 _depth
5772 )?;
5773 fidl::decode!(fidl::encoding::Array<ThisIsAUnion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.unions, decoder, offset + 352, _depth)?;
5774 fidl::decode!(
5775 fidl::encoding::Array<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
5776 fidl::encoding::DefaultFuchsiaResourceDialect,
5777 &mut self.nullable_unions,
5778 decoder,
5779 offset + 400,
5780 _depth
5781 )?;
5782 fidl::decode!(
5783 fidl::encoding::Array<fidl::encoding::Array<u32, 3>, 3>,
5784 fidl::encoding::DefaultFuchsiaResourceDialect,
5785 &mut self.arrays,
5786 decoder,
5787 offset + 448,
5788 _depth
5789 )?;
5790 fidl::decode!(
5791 fidl::encoding::Array<fidl::encoding::UnboundedVector<u32>, 3>,
5792 fidl::encoding::DefaultFuchsiaResourceDialect,
5793 &mut self.vectors,
5794 decoder,
5795 offset + 488,
5796 _depth
5797 )?;
5798 fidl::decode!(
5799 fidl::encoding::Array<
5800 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
5801 3,
5802 >,
5803 fidl::encoding::DefaultFuchsiaResourceDialect,
5804 &mut self.nullable_vectors,
5805 decoder,
5806 offset + 536,
5807 _depth
5808 )?;
5809 fidl::decode!(fidl::encoding::Array<ThisIsATable, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.tables, decoder, offset + 584, _depth)?;
5810 fidl::decode!(fidl::encoding::Array<ThisIsAXunion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.xunions, decoder, offset + 632, _depth)?;
5811 Ok(())
5812 }
5813 }
5814
5815 impl fidl::encoding::ResourceTypeMarker for EchoEchoArraysRequest {
5816 type Borrowed<'a> = &'a mut Self;
5817 fn take_or_borrow<'a>(
5818 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
5819 ) -> Self::Borrowed<'a> {
5820 value
5821 }
5822 }
5823
5824 unsafe impl fidl::encoding::TypeMarker for EchoEchoArraysRequest {
5825 type Owned = Self;
5826
5827 #[inline(always)]
5828 fn inline_align(_context: fidl::encoding::Context) -> usize {
5829 8
5830 }
5831
5832 #[inline(always)]
5833 fn inline_size(_context: fidl::encoding::Context) -> usize {
5834 696
5835 }
5836 }
5837
5838 unsafe impl
5839 fidl::encoding::Encode<EchoEchoArraysRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
5840 for &mut EchoEchoArraysRequest
5841 {
5842 #[inline]
5843 unsafe fn encode(
5844 self,
5845 encoder: &mut fidl::encoding::Encoder<
5846 '_,
5847 fidl::encoding::DefaultFuchsiaResourceDialect,
5848 >,
5849 offset: usize,
5850 _depth: fidl::encoding::Depth,
5851 ) -> fidl::Result<()> {
5852 encoder.debug_check_bounds::<EchoEchoArraysRequest>(offset);
5853 fidl::encoding::Encode::<
5855 EchoEchoArraysRequest,
5856 fidl::encoding::DefaultFuchsiaResourceDialect,
5857 >::encode(
5858 (
5859 <ArraysStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
5860 &mut self.value,
5861 ),
5862 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
5863 &self.forward_to_server,
5864 ),
5865 ),
5866 encoder,
5867 offset,
5868 _depth,
5869 )
5870 }
5871 }
5872 unsafe impl<
5873 T0: fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
5874 T1: fidl::encoding::Encode<
5875 fidl::encoding::UnboundedString,
5876 fidl::encoding::DefaultFuchsiaResourceDialect,
5877 >,
5878 >
5879 fidl::encoding::Encode<EchoEchoArraysRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
5880 for (T0, T1)
5881 {
5882 #[inline]
5883 unsafe fn encode(
5884 self,
5885 encoder: &mut fidl::encoding::Encoder<
5886 '_,
5887 fidl::encoding::DefaultFuchsiaResourceDialect,
5888 >,
5889 offset: usize,
5890 depth: fidl::encoding::Depth,
5891 ) -> fidl::Result<()> {
5892 encoder.debug_check_bounds::<EchoEchoArraysRequest>(offset);
5893 self.0.encode(encoder, offset + 0, depth)?;
5897 self.1.encode(encoder, offset + 680, depth)?;
5898 Ok(())
5899 }
5900 }
5901
5902 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
5903 for EchoEchoArraysRequest
5904 {
5905 #[inline(always)]
5906 fn new_empty() -> Self {
5907 Self {
5908 value: fidl::new_empty!(
5909 ArraysStruct,
5910 fidl::encoding::DefaultFuchsiaResourceDialect
5911 ),
5912 forward_to_server: fidl::new_empty!(
5913 fidl::encoding::UnboundedString,
5914 fidl::encoding::DefaultFuchsiaResourceDialect
5915 ),
5916 }
5917 }
5918
5919 #[inline]
5920 unsafe fn decode(
5921 &mut self,
5922 decoder: &mut fidl::encoding::Decoder<
5923 '_,
5924 fidl::encoding::DefaultFuchsiaResourceDialect,
5925 >,
5926 offset: usize,
5927 _depth: fidl::encoding::Depth,
5928 ) -> fidl::Result<()> {
5929 decoder.debug_check_bounds::<Self>(offset);
5930 fidl::decode!(
5932 ArraysStruct,
5933 fidl::encoding::DefaultFuchsiaResourceDialect,
5934 &mut self.value,
5935 decoder,
5936 offset + 0,
5937 _depth
5938 )?;
5939 fidl::decode!(
5940 fidl::encoding::UnboundedString,
5941 fidl::encoding::DefaultFuchsiaResourceDialect,
5942 &mut self.forward_to_server,
5943 decoder,
5944 offset + 680,
5945 _depth
5946 )?;
5947 Ok(())
5948 }
5949 }
5950
5951 impl fidl::encoding::ResourceTypeMarker for EchoEchoArraysResponse {
5952 type Borrowed<'a> = &'a mut Self;
5953 fn take_or_borrow<'a>(
5954 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
5955 ) -> Self::Borrowed<'a> {
5956 value
5957 }
5958 }
5959
5960 unsafe impl fidl::encoding::TypeMarker for EchoEchoArraysResponse {
5961 type Owned = Self;
5962
5963 #[inline(always)]
5964 fn inline_align(_context: fidl::encoding::Context) -> usize {
5965 8
5966 }
5967
5968 #[inline(always)]
5969 fn inline_size(_context: fidl::encoding::Context) -> usize {
5970 680
5971 }
5972 }
5973
5974 unsafe impl
5975 fidl::encoding::Encode<
5976 EchoEchoArraysResponse,
5977 fidl::encoding::DefaultFuchsiaResourceDialect,
5978 > for &mut EchoEchoArraysResponse
5979 {
5980 #[inline]
5981 unsafe fn encode(
5982 self,
5983 encoder: &mut fidl::encoding::Encoder<
5984 '_,
5985 fidl::encoding::DefaultFuchsiaResourceDialect,
5986 >,
5987 offset: usize,
5988 _depth: fidl::encoding::Depth,
5989 ) -> fidl::Result<()> {
5990 encoder.debug_check_bounds::<EchoEchoArraysResponse>(offset);
5991 fidl::encoding::Encode::<
5993 EchoEchoArraysResponse,
5994 fidl::encoding::DefaultFuchsiaResourceDialect,
5995 >::encode(
5996 (<ArraysStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
5997 &mut self.value,
5998 ),),
5999 encoder,
6000 offset,
6001 _depth,
6002 )
6003 }
6004 }
6005 unsafe impl<
6006 T0: fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6007 >
6008 fidl::encoding::Encode<
6009 EchoEchoArraysResponse,
6010 fidl::encoding::DefaultFuchsiaResourceDialect,
6011 > for (T0,)
6012 {
6013 #[inline]
6014 unsafe fn encode(
6015 self,
6016 encoder: &mut fidl::encoding::Encoder<
6017 '_,
6018 fidl::encoding::DefaultFuchsiaResourceDialect,
6019 >,
6020 offset: usize,
6021 depth: fidl::encoding::Depth,
6022 ) -> fidl::Result<()> {
6023 encoder.debug_check_bounds::<EchoEchoArraysResponse>(offset);
6024 self.0.encode(encoder, offset + 0, depth)?;
6028 Ok(())
6029 }
6030 }
6031
6032 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6033 for EchoEchoArraysResponse
6034 {
6035 #[inline(always)]
6036 fn new_empty() -> Self {
6037 Self {
6038 value: fidl::new_empty!(
6039 ArraysStruct,
6040 fidl::encoding::DefaultFuchsiaResourceDialect
6041 ),
6042 }
6043 }
6044
6045 #[inline]
6046 unsafe fn decode(
6047 &mut self,
6048 decoder: &mut fidl::encoding::Decoder<
6049 '_,
6050 fidl::encoding::DefaultFuchsiaResourceDialect,
6051 >,
6052 offset: usize,
6053 _depth: fidl::encoding::Depth,
6054 ) -> fidl::Result<()> {
6055 decoder.debug_check_bounds::<Self>(offset);
6056 fidl::decode!(
6058 ArraysStruct,
6059 fidl::encoding::DefaultFuchsiaResourceDialect,
6060 &mut self.value,
6061 decoder,
6062 offset + 0,
6063 _depth
6064 )?;
6065 Ok(())
6066 }
6067 }
6068
6069 impl fidl::encoding::ResourceTypeMarker for EchoEchoArraysWithErrorRequest {
6070 type Borrowed<'a> = &'a mut Self;
6071 fn take_or_borrow<'a>(
6072 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6073 ) -> Self::Borrowed<'a> {
6074 value
6075 }
6076 }
6077
6078 unsafe impl fidl::encoding::TypeMarker for EchoEchoArraysWithErrorRequest {
6079 type Owned = Self;
6080
6081 #[inline(always)]
6082 fn inline_align(_context: fidl::encoding::Context) -> usize {
6083 8
6084 }
6085
6086 #[inline(always)]
6087 fn inline_size(_context: fidl::encoding::Context) -> usize {
6088 712
6089 }
6090 }
6091
6092 unsafe impl
6093 fidl::encoding::Encode<
6094 EchoEchoArraysWithErrorRequest,
6095 fidl::encoding::DefaultFuchsiaResourceDialect,
6096 > for &mut EchoEchoArraysWithErrorRequest
6097 {
6098 #[inline]
6099 unsafe fn encode(
6100 self,
6101 encoder: &mut fidl::encoding::Encoder<
6102 '_,
6103 fidl::encoding::DefaultFuchsiaResourceDialect,
6104 >,
6105 offset: usize,
6106 _depth: fidl::encoding::Depth,
6107 ) -> fidl::Result<()> {
6108 encoder.debug_check_bounds::<EchoEchoArraysWithErrorRequest>(offset);
6109 fidl::encoding::Encode::<
6111 EchoEchoArraysWithErrorRequest,
6112 fidl::encoding::DefaultFuchsiaResourceDialect,
6113 >::encode(
6114 (
6115 <ArraysStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
6116 &mut self.value,
6117 ),
6118 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
6119 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6120 &self.forward_to_server,
6121 ),
6122 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
6123 ),
6124 encoder,
6125 offset,
6126 _depth,
6127 )
6128 }
6129 }
6130 unsafe impl<
6131 T0: fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6132 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
6133 T2: fidl::encoding::Encode<
6134 fidl::encoding::UnboundedString,
6135 fidl::encoding::DefaultFuchsiaResourceDialect,
6136 >,
6137 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
6138 >
6139 fidl::encoding::Encode<
6140 EchoEchoArraysWithErrorRequest,
6141 fidl::encoding::DefaultFuchsiaResourceDialect,
6142 > for (T0, T1, T2, T3)
6143 {
6144 #[inline]
6145 unsafe fn encode(
6146 self,
6147 encoder: &mut fidl::encoding::Encoder<
6148 '_,
6149 fidl::encoding::DefaultFuchsiaResourceDialect,
6150 >,
6151 offset: usize,
6152 depth: fidl::encoding::Depth,
6153 ) -> fidl::Result<()> {
6154 encoder.debug_check_bounds::<EchoEchoArraysWithErrorRequest>(offset);
6155 unsafe {
6158 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(680);
6159 (ptr as *mut u64).write_unaligned(0);
6160 }
6161 unsafe {
6162 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(704);
6163 (ptr as *mut u64).write_unaligned(0);
6164 }
6165 self.0.encode(encoder, offset + 0, depth)?;
6167 self.1.encode(encoder, offset + 680, depth)?;
6168 self.2.encode(encoder, offset + 688, depth)?;
6169 self.3.encode(encoder, offset + 704, depth)?;
6170 Ok(())
6171 }
6172 }
6173
6174 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6175 for EchoEchoArraysWithErrorRequest
6176 {
6177 #[inline(always)]
6178 fn new_empty() -> Self {
6179 Self {
6180 value: fidl::new_empty!(
6181 ArraysStruct,
6182 fidl::encoding::DefaultFuchsiaResourceDialect
6183 ),
6184 result_err: fidl::new_empty!(
6185 DefaultEnum,
6186 fidl::encoding::DefaultFuchsiaResourceDialect
6187 ),
6188 forward_to_server: fidl::new_empty!(
6189 fidl::encoding::UnboundedString,
6190 fidl::encoding::DefaultFuchsiaResourceDialect
6191 ),
6192 result_variant: fidl::new_empty!(
6193 RespondWith,
6194 fidl::encoding::DefaultFuchsiaResourceDialect
6195 ),
6196 }
6197 }
6198
6199 #[inline]
6200 unsafe fn decode(
6201 &mut self,
6202 decoder: &mut fidl::encoding::Decoder<
6203 '_,
6204 fidl::encoding::DefaultFuchsiaResourceDialect,
6205 >,
6206 offset: usize,
6207 _depth: fidl::encoding::Depth,
6208 ) -> fidl::Result<()> {
6209 decoder.debug_check_bounds::<Self>(offset);
6210 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(680) };
6212 let padval = unsafe { (ptr as *const u64).read_unaligned() };
6213 let mask = 0xffffffff00000000u64;
6214 let maskedval = padval & mask;
6215 if maskedval != 0 {
6216 return Err(fidl::Error::NonZeroPadding {
6217 padding_start: offset + 680 + ((mask as u64).trailing_zeros() / 8) as usize,
6218 });
6219 }
6220 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(704) };
6221 let padval = unsafe { (ptr as *const u64).read_unaligned() };
6222 let mask = 0xffffffff00000000u64;
6223 let maskedval = padval & mask;
6224 if maskedval != 0 {
6225 return Err(fidl::Error::NonZeroPadding {
6226 padding_start: offset + 704 + ((mask as u64).trailing_zeros() / 8) as usize,
6227 });
6228 }
6229 fidl::decode!(
6230 ArraysStruct,
6231 fidl::encoding::DefaultFuchsiaResourceDialect,
6232 &mut self.value,
6233 decoder,
6234 offset + 0,
6235 _depth
6236 )?;
6237 fidl::decode!(
6238 DefaultEnum,
6239 fidl::encoding::DefaultFuchsiaResourceDialect,
6240 &mut self.result_err,
6241 decoder,
6242 offset + 680,
6243 _depth
6244 )?;
6245 fidl::decode!(
6246 fidl::encoding::UnboundedString,
6247 fidl::encoding::DefaultFuchsiaResourceDialect,
6248 &mut self.forward_to_server,
6249 decoder,
6250 offset + 688,
6251 _depth
6252 )?;
6253 fidl::decode!(
6254 RespondWith,
6255 fidl::encoding::DefaultFuchsiaResourceDialect,
6256 &mut self.result_variant,
6257 decoder,
6258 offset + 704,
6259 _depth
6260 )?;
6261 Ok(())
6262 }
6263 }
6264
6265 impl fidl::encoding::ResourceTypeMarker for EchoEchoEventRequest {
6266 type Borrowed<'a> = &'a mut Self;
6267 fn take_or_borrow<'a>(
6268 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6269 ) -> Self::Borrowed<'a> {
6270 value
6271 }
6272 }
6273
6274 unsafe impl fidl::encoding::TypeMarker for EchoEchoEventRequest {
6275 type Owned = Self;
6276
6277 #[inline(always)]
6278 fn inline_align(_context: fidl::encoding::Context) -> usize {
6279 8
6280 }
6281
6282 #[inline(always)]
6283 fn inline_size(_context: fidl::encoding::Context) -> usize {
6284 2912
6285 }
6286 }
6287
6288 unsafe impl
6289 fidl::encoding::Encode<EchoEchoEventRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6290 for &mut EchoEchoEventRequest
6291 {
6292 #[inline]
6293 unsafe fn encode(
6294 self,
6295 encoder: &mut fidl::encoding::Encoder<
6296 '_,
6297 fidl::encoding::DefaultFuchsiaResourceDialect,
6298 >,
6299 offset: usize,
6300 _depth: fidl::encoding::Depth,
6301 ) -> fidl::Result<()> {
6302 encoder.debug_check_bounds::<EchoEchoEventRequest>(offset);
6303 fidl::encoding::Encode::<
6305 EchoEchoEventRequest,
6306 fidl::encoding::DefaultFuchsiaResourceDialect,
6307 >::encode(
6308 (<Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),),
6309 encoder,
6310 offset,
6311 _depth,
6312 )
6313 }
6314 }
6315 unsafe impl<T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>>
6316 fidl::encoding::Encode<EchoEchoEventRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6317 for (T0,)
6318 {
6319 #[inline]
6320 unsafe fn encode(
6321 self,
6322 encoder: &mut fidl::encoding::Encoder<
6323 '_,
6324 fidl::encoding::DefaultFuchsiaResourceDialect,
6325 >,
6326 offset: usize,
6327 depth: fidl::encoding::Depth,
6328 ) -> fidl::Result<()> {
6329 encoder.debug_check_bounds::<EchoEchoEventRequest>(offset);
6330 self.0.encode(encoder, offset + 0, depth)?;
6334 Ok(())
6335 }
6336 }
6337
6338 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6339 for EchoEchoEventRequest
6340 {
6341 #[inline(always)]
6342 fn new_empty() -> Self {
6343 Self { value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect) }
6344 }
6345
6346 #[inline]
6347 unsafe fn decode(
6348 &mut self,
6349 decoder: &mut fidl::encoding::Decoder<
6350 '_,
6351 fidl::encoding::DefaultFuchsiaResourceDialect,
6352 >,
6353 offset: usize,
6354 _depth: fidl::encoding::Depth,
6355 ) -> fidl::Result<()> {
6356 decoder.debug_check_bounds::<Self>(offset);
6357 fidl::decode!(
6359 Struct,
6360 fidl::encoding::DefaultFuchsiaResourceDialect,
6361 &mut self.value,
6362 decoder,
6363 offset + 0,
6364 _depth
6365 )?;
6366 Ok(())
6367 }
6368 }
6369
6370 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructNoRetValRequest {
6371 type Borrowed<'a> = &'a mut Self;
6372 fn take_or_borrow<'a>(
6373 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6374 ) -> Self::Borrowed<'a> {
6375 value
6376 }
6377 }
6378
6379 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructNoRetValRequest {
6380 type Owned = Self;
6381
6382 #[inline(always)]
6383 fn inline_align(_context: fidl::encoding::Context) -> usize {
6384 8
6385 }
6386
6387 #[inline(always)]
6388 fn inline_size(_context: fidl::encoding::Context) -> usize {
6389 2928
6390 }
6391 }
6392
6393 unsafe impl
6394 fidl::encoding::Encode<
6395 EchoEchoStructNoRetValRequest,
6396 fidl::encoding::DefaultFuchsiaResourceDialect,
6397 > for &mut EchoEchoStructNoRetValRequest
6398 {
6399 #[inline]
6400 unsafe fn encode(
6401 self,
6402 encoder: &mut fidl::encoding::Encoder<
6403 '_,
6404 fidl::encoding::DefaultFuchsiaResourceDialect,
6405 >,
6406 offset: usize,
6407 _depth: fidl::encoding::Depth,
6408 ) -> fidl::Result<()> {
6409 encoder.debug_check_bounds::<EchoEchoStructNoRetValRequest>(offset);
6410 fidl::encoding::Encode::<
6412 EchoEchoStructNoRetValRequest,
6413 fidl::encoding::DefaultFuchsiaResourceDialect,
6414 >::encode(
6415 (
6416 <Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
6417 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6418 &self.forward_to_server,
6419 ),
6420 ),
6421 encoder,
6422 offset,
6423 _depth,
6424 )
6425 }
6426 }
6427 unsafe impl<
6428 T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6429 T1: fidl::encoding::Encode<
6430 fidl::encoding::UnboundedString,
6431 fidl::encoding::DefaultFuchsiaResourceDialect,
6432 >,
6433 >
6434 fidl::encoding::Encode<
6435 EchoEchoStructNoRetValRequest,
6436 fidl::encoding::DefaultFuchsiaResourceDialect,
6437 > for (T0, T1)
6438 {
6439 #[inline]
6440 unsafe fn encode(
6441 self,
6442 encoder: &mut fidl::encoding::Encoder<
6443 '_,
6444 fidl::encoding::DefaultFuchsiaResourceDialect,
6445 >,
6446 offset: usize,
6447 depth: fidl::encoding::Depth,
6448 ) -> fidl::Result<()> {
6449 encoder.debug_check_bounds::<EchoEchoStructNoRetValRequest>(offset);
6450 self.0.encode(encoder, offset + 0, depth)?;
6454 self.1.encode(encoder, offset + 2912, depth)?;
6455 Ok(())
6456 }
6457 }
6458
6459 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6460 for EchoEchoStructNoRetValRequest
6461 {
6462 #[inline(always)]
6463 fn new_empty() -> Self {
6464 Self {
6465 value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect),
6466 forward_to_server: fidl::new_empty!(
6467 fidl::encoding::UnboundedString,
6468 fidl::encoding::DefaultFuchsiaResourceDialect
6469 ),
6470 }
6471 }
6472
6473 #[inline]
6474 unsafe fn decode(
6475 &mut self,
6476 decoder: &mut fidl::encoding::Decoder<
6477 '_,
6478 fidl::encoding::DefaultFuchsiaResourceDialect,
6479 >,
6480 offset: usize,
6481 _depth: fidl::encoding::Depth,
6482 ) -> fidl::Result<()> {
6483 decoder.debug_check_bounds::<Self>(offset);
6484 fidl::decode!(
6486 Struct,
6487 fidl::encoding::DefaultFuchsiaResourceDialect,
6488 &mut self.value,
6489 decoder,
6490 offset + 0,
6491 _depth
6492 )?;
6493 fidl::decode!(
6494 fidl::encoding::UnboundedString,
6495 fidl::encoding::DefaultFuchsiaResourceDialect,
6496 &mut self.forward_to_server,
6497 decoder,
6498 offset + 2912,
6499 _depth
6500 )?;
6501 Ok(())
6502 }
6503 }
6504
6505 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructRequest {
6506 type Borrowed<'a> = &'a mut Self;
6507 fn take_or_borrow<'a>(
6508 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6509 ) -> Self::Borrowed<'a> {
6510 value
6511 }
6512 }
6513
6514 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructRequest {
6515 type Owned = Self;
6516
6517 #[inline(always)]
6518 fn inline_align(_context: fidl::encoding::Context) -> usize {
6519 8
6520 }
6521
6522 #[inline(always)]
6523 fn inline_size(_context: fidl::encoding::Context) -> usize {
6524 2928
6525 }
6526 }
6527
6528 unsafe impl
6529 fidl::encoding::Encode<EchoEchoStructRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6530 for &mut EchoEchoStructRequest
6531 {
6532 #[inline]
6533 unsafe fn encode(
6534 self,
6535 encoder: &mut fidl::encoding::Encoder<
6536 '_,
6537 fidl::encoding::DefaultFuchsiaResourceDialect,
6538 >,
6539 offset: usize,
6540 _depth: fidl::encoding::Depth,
6541 ) -> fidl::Result<()> {
6542 encoder.debug_check_bounds::<EchoEchoStructRequest>(offset);
6543 fidl::encoding::Encode::<
6545 EchoEchoStructRequest,
6546 fidl::encoding::DefaultFuchsiaResourceDialect,
6547 >::encode(
6548 (
6549 <Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
6550 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6551 &self.forward_to_server,
6552 ),
6553 ),
6554 encoder,
6555 offset,
6556 _depth,
6557 )
6558 }
6559 }
6560 unsafe impl<
6561 T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6562 T1: fidl::encoding::Encode<
6563 fidl::encoding::UnboundedString,
6564 fidl::encoding::DefaultFuchsiaResourceDialect,
6565 >,
6566 >
6567 fidl::encoding::Encode<EchoEchoStructRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6568 for (T0, T1)
6569 {
6570 #[inline]
6571 unsafe fn encode(
6572 self,
6573 encoder: &mut fidl::encoding::Encoder<
6574 '_,
6575 fidl::encoding::DefaultFuchsiaResourceDialect,
6576 >,
6577 offset: usize,
6578 depth: fidl::encoding::Depth,
6579 ) -> fidl::Result<()> {
6580 encoder.debug_check_bounds::<EchoEchoStructRequest>(offset);
6581 self.0.encode(encoder, offset + 0, depth)?;
6585 self.1.encode(encoder, offset + 2912, depth)?;
6586 Ok(())
6587 }
6588 }
6589
6590 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6591 for EchoEchoStructRequest
6592 {
6593 #[inline(always)]
6594 fn new_empty() -> Self {
6595 Self {
6596 value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect),
6597 forward_to_server: fidl::new_empty!(
6598 fidl::encoding::UnboundedString,
6599 fidl::encoding::DefaultFuchsiaResourceDialect
6600 ),
6601 }
6602 }
6603
6604 #[inline]
6605 unsafe fn decode(
6606 &mut self,
6607 decoder: &mut fidl::encoding::Decoder<
6608 '_,
6609 fidl::encoding::DefaultFuchsiaResourceDialect,
6610 >,
6611 offset: usize,
6612 _depth: fidl::encoding::Depth,
6613 ) -> fidl::Result<()> {
6614 decoder.debug_check_bounds::<Self>(offset);
6615 fidl::decode!(
6617 Struct,
6618 fidl::encoding::DefaultFuchsiaResourceDialect,
6619 &mut self.value,
6620 decoder,
6621 offset + 0,
6622 _depth
6623 )?;
6624 fidl::decode!(
6625 fidl::encoding::UnboundedString,
6626 fidl::encoding::DefaultFuchsiaResourceDialect,
6627 &mut self.forward_to_server,
6628 decoder,
6629 offset + 2912,
6630 _depth
6631 )?;
6632 Ok(())
6633 }
6634 }
6635
6636 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructResponse {
6637 type Borrowed<'a> = &'a mut Self;
6638 fn take_or_borrow<'a>(
6639 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6640 ) -> Self::Borrowed<'a> {
6641 value
6642 }
6643 }
6644
6645 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructResponse {
6646 type Owned = Self;
6647
6648 #[inline(always)]
6649 fn inline_align(_context: fidl::encoding::Context) -> usize {
6650 8
6651 }
6652
6653 #[inline(always)]
6654 fn inline_size(_context: fidl::encoding::Context) -> usize {
6655 2912
6656 }
6657 }
6658
6659 unsafe impl
6660 fidl::encoding::Encode<
6661 EchoEchoStructResponse,
6662 fidl::encoding::DefaultFuchsiaResourceDialect,
6663 > for &mut EchoEchoStructResponse
6664 {
6665 #[inline]
6666 unsafe fn encode(
6667 self,
6668 encoder: &mut fidl::encoding::Encoder<
6669 '_,
6670 fidl::encoding::DefaultFuchsiaResourceDialect,
6671 >,
6672 offset: usize,
6673 _depth: fidl::encoding::Depth,
6674 ) -> fidl::Result<()> {
6675 encoder.debug_check_bounds::<EchoEchoStructResponse>(offset);
6676 fidl::encoding::Encode::<
6678 EchoEchoStructResponse,
6679 fidl::encoding::DefaultFuchsiaResourceDialect,
6680 >::encode(
6681 (<Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),),
6682 encoder,
6683 offset,
6684 _depth,
6685 )
6686 }
6687 }
6688 unsafe impl<T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>>
6689 fidl::encoding::Encode<
6690 EchoEchoStructResponse,
6691 fidl::encoding::DefaultFuchsiaResourceDialect,
6692 > for (T0,)
6693 {
6694 #[inline]
6695 unsafe fn encode(
6696 self,
6697 encoder: &mut fidl::encoding::Encoder<
6698 '_,
6699 fidl::encoding::DefaultFuchsiaResourceDialect,
6700 >,
6701 offset: usize,
6702 depth: fidl::encoding::Depth,
6703 ) -> fidl::Result<()> {
6704 encoder.debug_check_bounds::<EchoEchoStructResponse>(offset);
6705 self.0.encode(encoder, offset + 0, depth)?;
6709 Ok(())
6710 }
6711 }
6712
6713 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6714 for EchoEchoStructResponse
6715 {
6716 #[inline(always)]
6717 fn new_empty() -> Self {
6718 Self { value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect) }
6719 }
6720
6721 #[inline]
6722 unsafe fn decode(
6723 &mut self,
6724 decoder: &mut fidl::encoding::Decoder<
6725 '_,
6726 fidl::encoding::DefaultFuchsiaResourceDialect,
6727 >,
6728 offset: usize,
6729 _depth: fidl::encoding::Depth,
6730 ) -> fidl::Result<()> {
6731 decoder.debug_check_bounds::<Self>(offset);
6732 fidl::decode!(
6734 Struct,
6735 fidl::encoding::DefaultFuchsiaResourceDialect,
6736 &mut self.value,
6737 decoder,
6738 offset + 0,
6739 _depth
6740 )?;
6741 Ok(())
6742 }
6743 }
6744
6745 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructWithErrorRequest {
6746 type Borrowed<'a> = &'a mut Self;
6747 fn take_or_borrow<'a>(
6748 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6749 ) -> Self::Borrowed<'a> {
6750 value
6751 }
6752 }
6753
6754 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructWithErrorRequest {
6755 type Owned = Self;
6756
6757 #[inline(always)]
6758 fn inline_align(_context: fidl::encoding::Context) -> usize {
6759 8
6760 }
6761
6762 #[inline(always)]
6763 fn inline_size(_context: fidl::encoding::Context) -> usize {
6764 2944
6765 }
6766 }
6767
6768 unsafe impl
6769 fidl::encoding::Encode<
6770 EchoEchoStructWithErrorRequest,
6771 fidl::encoding::DefaultFuchsiaResourceDialect,
6772 > for &mut EchoEchoStructWithErrorRequest
6773 {
6774 #[inline]
6775 unsafe fn encode(
6776 self,
6777 encoder: &mut fidl::encoding::Encoder<
6778 '_,
6779 fidl::encoding::DefaultFuchsiaResourceDialect,
6780 >,
6781 offset: usize,
6782 _depth: fidl::encoding::Depth,
6783 ) -> fidl::Result<()> {
6784 encoder.debug_check_bounds::<EchoEchoStructWithErrorRequest>(offset);
6785 fidl::encoding::Encode::<
6787 EchoEchoStructWithErrorRequest,
6788 fidl::encoding::DefaultFuchsiaResourceDialect,
6789 >::encode(
6790 (
6791 <Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
6792 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
6793 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6794 &self.forward_to_server,
6795 ),
6796 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
6797 ),
6798 encoder,
6799 offset,
6800 _depth,
6801 )
6802 }
6803 }
6804 unsafe impl<
6805 T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>,
6806 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
6807 T2: fidl::encoding::Encode<
6808 fidl::encoding::UnboundedString,
6809 fidl::encoding::DefaultFuchsiaResourceDialect,
6810 >,
6811 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
6812 >
6813 fidl::encoding::Encode<
6814 EchoEchoStructWithErrorRequest,
6815 fidl::encoding::DefaultFuchsiaResourceDialect,
6816 > for (T0, T1, T2, T3)
6817 {
6818 #[inline]
6819 unsafe fn encode(
6820 self,
6821 encoder: &mut fidl::encoding::Encoder<
6822 '_,
6823 fidl::encoding::DefaultFuchsiaResourceDialect,
6824 >,
6825 offset: usize,
6826 depth: fidl::encoding::Depth,
6827 ) -> fidl::Result<()> {
6828 encoder.debug_check_bounds::<EchoEchoStructWithErrorRequest>(offset);
6829 unsafe {
6832 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2912);
6833 (ptr as *mut u64).write_unaligned(0);
6834 }
6835 unsafe {
6836 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2936);
6837 (ptr as *mut u64).write_unaligned(0);
6838 }
6839 self.0.encode(encoder, offset + 0, depth)?;
6841 self.1.encode(encoder, offset + 2912, depth)?;
6842 self.2.encode(encoder, offset + 2920, depth)?;
6843 self.3.encode(encoder, offset + 2936, depth)?;
6844 Ok(())
6845 }
6846 }
6847
6848 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
6849 for EchoEchoStructWithErrorRequest
6850 {
6851 #[inline(always)]
6852 fn new_empty() -> Self {
6853 Self {
6854 value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect),
6855 result_err: fidl::new_empty!(
6856 DefaultEnum,
6857 fidl::encoding::DefaultFuchsiaResourceDialect
6858 ),
6859 forward_to_server: fidl::new_empty!(
6860 fidl::encoding::UnboundedString,
6861 fidl::encoding::DefaultFuchsiaResourceDialect
6862 ),
6863 result_variant: fidl::new_empty!(
6864 RespondWith,
6865 fidl::encoding::DefaultFuchsiaResourceDialect
6866 ),
6867 }
6868 }
6869
6870 #[inline]
6871 unsafe fn decode(
6872 &mut self,
6873 decoder: &mut fidl::encoding::Decoder<
6874 '_,
6875 fidl::encoding::DefaultFuchsiaResourceDialect,
6876 >,
6877 offset: usize,
6878 _depth: fidl::encoding::Depth,
6879 ) -> fidl::Result<()> {
6880 decoder.debug_check_bounds::<Self>(offset);
6881 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2912) };
6883 let padval = unsafe { (ptr as *const u64).read_unaligned() };
6884 let mask = 0xffffffff00000000u64;
6885 let maskedval = padval & mask;
6886 if maskedval != 0 {
6887 return Err(fidl::Error::NonZeroPadding {
6888 padding_start: offset + 2912 + ((mask as u64).trailing_zeros() / 8) as usize,
6889 });
6890 }
6891 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2936) };
6892 let padval = unsafe { (ptr as *const u64).read_unaligned() };
6893 let mask = 0xffffffff00000000u64;
6894 let maskedval = padval & mask;
6895 if maskedval != 0 {
6896 return Err(fidl::Error::NonZeroPadding {
6897 padding_start: offset + 2936 + ((mask as u64).trailing_zeros() / 8) as usize,
6898 });
6899 }
6900 fidl::decode!(
6901 Struct,
6902 fidl::encoding::DefaultFuchsiaResourceDialect,
6903 &mut self.value,
6904 decoder,
6905 offset + 0,
6906 _depth
6907 )?;
6908 fidl::decode!(
6909 DefaultEnum,
6910 fidl::encoding::DefaultFuchsiaResourceDialect,
6911 &mut self.result_err,
6912 decoder,
6913 offset + 2912,
6914 _depth
6915 )?;
6916 fidl::decode!(
6917 fidl::encoding::UnboundedString,
6918 fidl::encoding::DefaultFuchsiaResourceDialect,
6919 &mut self.forward_to_server,
6920 decoder,
6921 offset + 2920,
6922 _depth
6923 )?;
6924 fidl::decode!(
6925 RespondWith,
6926 fidl::encoding::DefaultFuchsiaResourceDialect,
6927 &mut self.result_variant,
6928 decoder,
6929 offset + 2936,
6930 _depth
6931 )?;
6932 Ok(())
6933 }
6934 }
6935
6936 impl fidl::encoding::ResourceTypeMarker for EchoEchoTableRequest {
6937 type Borrowed<'a> = &'a mut Self;
6938 fn take_or_borrow<'a>(
6939 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
6940 ) -> Self::Borrowed<'a> {
6941 value
6942 }
6943 }
6944
6945 unsafe impl fidl::encoding::TypeMarker for EchoEchoTableRequest {
6946 type Owned = Self;
6947
6948 #[inline(always)]
6949 fn inline_align(_context: fidl::encoding::Context) -> usize {
6950 8
6951 }
6952
6953 #[inline(always)]
6954 fn inline_size(_context: fidl::encoding::Context) -> usize {
6955 32
6956 }
6957 }
6958
6959 unsafe impl
6960 fidl::encoding::Encode<EchoEchoTableRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
6961 for &mut EchoEchoTableRequest
6962 {
6963 #[inline]
6964 unsafe fn encode(
6965 self,
6966 encoder: &mut fidl::encoding::Encoder<
6967 '_,
6968 fidl::encoding::DefaultFuchsiaResourceDialect,
6969 >,
6970 offset: usize,
6971 _depth: fidl::encoding::Depth,
6972 ) -> fidl::Result<()> {
6973 encoder.debug_check_bounds::<EchoEchoTableRequest>(offset);
6974 fidl::encoding::Encode::<
6976 EchoEchoTableRequest,
6977 fidl::encoding::DefaultFuchsiaResourceDialect,
6978 >::encode(
6979 (
6980 <AllTypesTable as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
6981 &mut self.value,
6982 ),
6983 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
6984 &self.forward_to_server,
6985 ),
6986 ),
6987 encoder,
6988 offset,
6989 _depth,
6990 )
6991 }
6992 }
6993 unsafe impl<
6994 T0: fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>,
6995 T1: fidl::encoding::Encode<
6996 fidl::encoding::UnboundedString,
6997 fidl::encoding::DefaultFuchsiaResourceDialect,
6998 >,
6999 >
7000 fidl::encoding::Encode<EchoEchoTableRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
7001 for (T0, T1)
7002 {
7003 #[inline]
7004 unsafe fn encode(
7005 self,
7006 encoder: &mut fidl::encoding::Encoder<
7007 '_,
7008 fidl::encoding::DefaultFuchsiaResourceDialect,
7009 >,
7010 offset: usize,
7011 depth: fidl::encoding::Depth,
7012 ) -> fidl::Result<()> {
7013 encoder.debug_check_bounds::<EchoEchoTableRequest>(offset);
7014 self.0.encode(encoder, offset + 0, depth)?;
7018 self.1.encode(encoder, offset + 16, depth)?;
7019 Ok(())
7020 }
7021 }
7022
7023 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7024 for EchoEchoTableRequest
7025 {
7026 #[inline(always)]
7027 fn new_empty() -> Self {
7028 Self {
7029 value: fidl::new_empty!(
7030 AllTypesTable,
7031 fidl::encoding::DefaultFuchsiaResourceDialect
7032 ),
7033 forward_to_server: fidl::new_empty!(
7034 fidl::encoding::UnboundedString,
7035 fidl::encoding::DefaultFuchsiaResourceDialect
7036 ),
7037 }
7038 }
7039
7040 #[inline]
7041 unsafe fn decode(
7042 &mut self,
7043 decoder: &mut fidl::encoding::Decoder<
7044 '_,
7045 fidl::encoding::DefaultFuchsiaResourceDialect,
7046 >,
7047 offset: usize,
7048 _depth: fidl::encoding::Depth,
7049 ) -> fidl::Result<()> {
7050 decoder.debug_check_bounds::<Self>(offset);
7051 fidl::decode!(
7053 AllTypesTable,
7054 fidl::encoding::DefaultFuchsiaResourceDialect,
7055 &mut self.value,
7056 decoder,
7057 offset + 0,
7058 _depth
7059 )?;
7060 fidl::decode!(
7061 fidl::encoding::UnboundedString,
7062 fidl::encoding::DefaultFuchsiaResourceDialect,
7063 &mut self.forward_to_server,
7064 decoder,
7065 offset + 16,
7066 _depth
7067 )?;
7068 Ok(())
7069 }
7070 }
7071
7072 impl fidl::encoding::ResourceTypeMarker for EchoEchoTableResponse {
7073 type Borrowed<'a> = &'a mut Self;
7074 fn take_or_borrow<'a>(
7075 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7076 ) -> Self::Borrowed<'a> {
7077 value
7078 }
7079 }
7080
7081 unsafe impl fidl::encoding::TypeMarker for EchoEchoTableResponse {
7082 type Owned = Self;
7083
7084 #[inline(always)]
7085 fn inline_align(_context: fidl::encoding::Context) -> usize {
7086 8
7087 }
7088
7089 #[inline(always)]
7090 fn inline_size(_context: fidl::encoding::Context) -> usize {
7091 16
7092 }
7093 }
7094
7095 unsafe impl
7096 fidl::encoding::Encode<EchoEchoTableResponse, fidl::encoding::DefaultFuchsiaResourceDialect>
7097 for &mut EchoEchoTableResponse
7098 {
7099 #[inline]
7100 unsafe fn encode(
7101 self,
7102 encoder: &mut fidl::encoding::Encoder<
7103 '_,
7104 fidl::encoding::DefaultFuchsiaResourceDialect,
7105 >,
7106 offset: usize,
7107 _depth: fidl::encoding::Depth,
7108 ) -> fidl::Result<()> {
7109 encoder.debug_check_bounds::<EchoEchoTableResponse>(offset);
7110 fidl::encoding::Encode::<
7112 EchoEchoTableResponse,
7113 fidl::encoding::DefaultFuchsiaResourceDialect,
7114 >::encode(
7115 (<AllTypesTable as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7116 &mut self.value,
7117 ),),
7118 encoder,
7119 offset,
7120 _depth,
7121 )
7122 }
7123 }
7124 unsafe impl<
7125 T0: fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>,
7126 >
7127 fidl::encoding::Encode<EchoEchoTableResponse, fidl::encoding::DefaultFuchsiaResourceDialect>
7128 for (T0,)
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 self.0.encode(encoder, offset + 0, depth)?;
7145 Ok(())
7146 }
7147 }
7148
7149 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7150 for EchoEchoTableResponse
7151 {
7152 #[inline(always)]
7153 fn new_empty() -> Self {
7154 Self {
7155 value: fidl::new_empty!(
7156 AllTypesTable,
7157 fidl::encoding::DefaultFuchsiaResourceDialect
7158 ),
7159 }
7160 }
7161
7162 #[inline]
7163 unsafe fn decode(
7164 &mut self,
7165 decoder: &mut fidl::encoding::Decoder<
7166 '_,
7167 fidl::encoding::DefaultFuchsiaResourceDialect,
7168 >,
7169 offset: usize,
7170 _depth: fidl::encoding::Depth,
7171 ) -> fidl::Result<()> {
7172 decoder.debug_check_bounds::<Self>(offset);
7173 fidl::decode!(
7175 AllTypesTable,
7176 fidl::encoding::DefaultFuchsiaResourceDialect,
7177 &mut self.value,
7178 decoder,
7179 offset + 0,
7180 _depth
7181 )?;
7182 Ok(())
7183 }
7184 }
7185
7186 impl fidl::encoding::ResourceTypeMarker for EchoEchoTableWithErrorRequest {
7187 type Borrowed<'a> = &'a mut Self;
7188 fn take_or_borrow<'a>(
7189 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7190 ) -> Self::Borrowed<'a> {
7191 value
7192 }
7193 }
7194
7195 unsafe impl fidl::encoding::TypeMarker for EchoEchoTableWithErrorRequest {
7196 type Owned = Self;
7197
7198 #[inline(always)]
7199 fn inline_align(_context: fidl::encoding::Context) -> usize {
7200 8
7201 }
7202
7203 #[inline(always)]
7204 fn inline_size(_context: fidl::encoding::Context) -> usize {
7205 48
7206 }
7207 }
7208
7209 unsafe impl
7210 fidl::encoding::Encode<
7211 EchoEchoTableWithErrorRequest,
7212 fidl::encoding::DefaultFuchsiaResourceDialect,
7213 > for &mut EchoEchoTableWithErrorRequest
7214 {
7215 #[inline]
7216 unsafe fn encode(
7217 self,
7218 encoder: &mut fidl::encoding::Encoder<
7219 '_,
7220 fidl::encoding::DefaultFuchsiaResourceDialect,
7221 >,
7222 offset: usize,
7223 _depth: fidl::encoding::Depth,
7224 ) -> fidl::Result<()> {
7225 encoder.debug_check_bounds::<EchoEchoTableWithErrorRequest>(offset);
7226 fidl::encoding::Encode::<
7228 EchoEchoTableWithErrorRequest,
7229 fidl::encoding::DefaultFuchsiaResourceDialect,
7230 >::encode(
7231 (
7232 <AllTypesTable as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7233 &mut self.value,
7234 ),
7235 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
7236 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
7237 &self.forward_to_server,
7238 ),
7239 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
7240 ),
7241 encoder,
7242 offset,
7243 _depth,
7244 )
7245 }
7246 }
7247 unsafe impl<
7248 T0: fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>,
7249 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
7250 T2: fidl::encoding::Encode<
7251 fidl::encoding::UnboundedString,
7252 fidl::encoding::DefaultFuchsiaResourceDialect,
7253 >,
7254 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
7255 >
7256 fidl::encoding::Encode<
7257 EchoEchoTableWithErrorRequest,
7258 fidl::encoding::DefaultFuchsiaResourceDialect,
7259 > for (T0, T1, T2, T3)
7260 {
7261 #[inline]
7262 unsafe fn encode(
7263 self,
7264 encoder: &mut fidl::encoding::Encoder<
7265 '_,
7266 fidl::encoding::DefaultFuchsiaResourceDialect,
7267 >,
7268 offset: usize,
7269 depth: fidl::encoding::Depth,
7270 ) -> fidl::Result<()> {
7271 encoder.debug_check_bounds::<EchoEchoTableWithErrorRequest>(offset);
7272 unsafe {
7275 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
7276 (ptr as *mut u64).write_unaligned(0);
7277 }
7278 unsafe {
7279 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
7280 (ptr as *mut u64).write_unaligned(0);
7281 }
7282 self.0.encode(encoder, offset + 0, depth)?;
7284 self.1.encode(encoder, offset + 16, depth)?;
7285 self.2.encode(encoder, offset + 24, depth)?;
7286 self.3.encode(encoder, offset + 40, depth)?;
7287 Ok(())
7288 }
7289 }
7290
7291 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7292 for EchoEchoTableWithErrorRequest
7293 {
7294 #[inline(always)]
7295 fn new_empty() -> Self {
7296 Self {
7297 value: fidl::new_empty!(
7298 AllTypesTable,
7299 fidl::encoding::DefaultFuchsiaResourceDialect
7300 ),
7301 result_err: fidl::new_empty!(
7302 DefaultEnum,
7303 fidl::encoding::DefaultFuchsiaResourceDialect
7304 ),
7305 forward_to_server: fidl::new_empty!(
7306 fidl::encoding::UnboundedString,
7307 fidl::encoding::DefaultFuchsiaResourceDialect
7308 ),
7309 result_variant: fidl::new_empty!(
7310 RespondWith,
7311 fidl::encoding::DefaultFuchsiaResourceDialect
7312 ),
7313 }
7314 }
7315
7316 #[inline]
7317 unsafe fn decode(
7318 &mut self,
7319 decoder: &mut fidl::encoding::Decoder<
7320 '_,
7321 fidl::encoding::DefaultFuchsiaResourceDialect,
7322 >,
7323 offset: usize,
7324 _depth: fidl::encoding::Depth,
7325 ) -> fidl::Result<()> {
7326 decoder.debug_check_bounds::<Self>(offset);
7327 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
7329 let padval = unsafe { (ptr as *const u64).read_unaligned() };
7330 let mask = 0xffffffff00000000u64;
7331 let maskedval = padval & mask;
7332 if maskedval != 0 {
7333 return Err(fidl::Error::NonZeroPadding {
7334 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
7335 });
7336 }
7337 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
7338 let padval = unsafe { (ptr as *const u64).read_unaligned() };
7339 let mask = 0xffffffff00000000u64;
7340 let maskedval = padval & mask;
7341 if maskedval != 0 {
7342 return Err(fidl::Error::NonZeroPadding {
7343 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
7344 });
7345 }
7346 fidl::decode!(
7347 AllTypesTable,
7348 fidl::encoding::DefaultFuchsiaResourceDialect,
7349 &mut self.value,
7350 decoder,
7351 offset + 0,
7352 _depth
7353 )?;
7354 fidl::decode!(
7355 DefaultEnum,
7356 fidl::encoding::DefaultFuchsiaResourceDialect,
7357 &mut self.result_err,
7358 decoder,
7359 offset + 16,
7360 _depth
7361 )?;
7362 fidl::decode!(
7363 fidl::encoding::UnboundedString,
7364 fidl::encoding::DefaultFuchsiaResourceDialect,
7365 &mut self.forward_to_server,
7366 decoder,
7367 offset + 24,
7368 _depth
7369 )?;
7370 fidl::decode!(
7371 RespondWith,
7372 fidl::encoding::DefaultFuchsiaResourceDialect,
7373 &mut self.result_variant,
7374 decoder,
7375 offset + 40,
7376 _depth
7377 )?;
7378 Ok(())
7379 }
7380 }
7381
7382 impl fidl::encoding::ResourceTypeMarker for EchoEchoVectorsRequest {
7383 type Borrowed<'a> = &'a mut Self;
7384 fn take_or_borrow<'a>(
7385 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7386 ) -> Self::Borrowed<'a> {
7387 value
7388 }
7389 }
7390
7391 unsafe impl fidl::encoding::TypeMarker for EchoEchoVectorsRequest {
7392 type Owned = Self;
7393
7394 #[inline(always)]
7395 fn inline_align(_context: fidl::encoding::Context) -> usize {
7396 8
7397 }
7398
7399 #[inline(always)]
7400 fn inline_size(_context: fidl::encoding::Context) -> usize {
7401 432
7402 }
7403 }
7404
7405 unsafe impl
7406 fidl::encoding::Encode<
7407 EchoEchoVectorsRequest,
7408 fidl::encoding::DefaultFuchsiaResourceDialect,
7409 > for &mut EchoEchoVectorsRequest
7410 {
7411 #[inline]
7412 unsafe fn encode(
7413 self,
7414 encoder: &mut fidl::encoding::Encoder<
7415 '_,
7416 fidl::encoding::DefaultFuchsiaResourceDialect,
7417 >,
7418 offset: usize,
7419 _depth: fidl::encoding::Depth,
7420 ) -> fidl::Result<()> {
7421 encoder.debug_check_bounds::<EchoEchoVectorsRequest>(offset);
7422 fidl::encoding::Encode::<
7424 EchoEchoVectorsRequest,
7425 fidl::encoding::DefaultFuchsiaResourceDialect,
7426 >::encode(
7427 (
7428 <VectorsStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7429 &mut self.value,
7430 ),
7431 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
7432 &self.forward_to_server,
7433 ),
7434 ),
7435 encoder,
7436 offset,
7437 _depth,
7438 )
7439 }
7440 }
7441 unsafe impl<
7442 T0: fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
7443 T1: fidl::encoding::Encode<
7444 fidl::encoding::UnboundedString,
7445 fidl::encoding::DefaultFuchsiaResourceDialect,
7446 >,
7447 >
7448 fidl::encoding::Encode<
7449 EchoEchoVectorsRequest,
7450 fidl::encoding::DefaultFuchsiaResourceDialect,
7451 > for (T0, T1)
7452 {
7453 #[inline]
7454 unsafe fn encode(
7455 self,
7456 encoder: &mut fidl::encoding::Encoder<
7457 '_,
7458 fidl::encoding::DefaultFuchsiaResourceDialect,
7459 >,
7460 offset: usize,
7461 depth: fidl::encoding::Depth,
7462 ) -> fidl::Result<()> {
7463 encoder.debug_check_bounds::<EchoEchoVectorsRequest>(offset);
7464 self.0.encode(encoder, offset + 0, depth)?;
7468 self.1.encode(encoder, offset + 416, depth)?;
7469 Ok(())
7470 }
7471 }
7472
7473 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7474 for EchoEchoVectorsRequest
7475 {
7476 #[inline(always)]
7477 fn new_empty() -> Self {
7478 Self {
7479 value: fidl::new_empty!(
7480 VectorsStruct,
7481 fidl::encoding::DefaultFuchsiaResourceDialect
7482 ),
7483 forward_to_server: fidl::new_empty!(
7484 fidl::encoding::UnboundedString,
7485 fidl::encoding::DefaultFuchsiaResourceDialect
7486 ),
7487 }
7488 }
7489
7490 #[inline]
7491 unsafe fn decode(
7492 &mut self,
7493 decoder: &mut fidl::encoding::Decoder<
7494 '_,
7495 fidl::encoding::DefaultFuchsiaResourceDialect,
7496 >,
7497 offset: usize,
7498 _depth: fidl::encoding::Depth,
7499 ) -> fidl::Result<()> {
7500 decoder.debug_check_bounds::<Self>(offset);
7501 fidl::decode!(
7503 VectorsStruct,
7504 fidl::encoding::DefaultFuchsiaResourceDialect,
7505 &mut self.value,
7506 decoder,
7507 offset + 0,
7508 _depth
7509 )?;
7510 fidl::decode!(
7511 fidl::encoding::UnboundedString,
7512 fidl::encoding::DefaultFuchsiaResourceDialect,
7513 &mut self.forward_to_server,
7514 decoder,
7515 offset + 416,
7516 _depth
7517 )?;
7518 Ok(())
7519 }
7520 }
7521
7522 impl fidl::encoding::ResourceTypeMarker for EchoEchoVectorsResponse {
7523 type Borrowed<'a> = &'a mut Self;
7524 fn take_or_borrow<'a>(
7525 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7526 ) -> Self::Borrowed<'a> {
7527 value
7528 }
7529 }
7530
7531 unsafe impl fidl::encoding::TypeMarker for EchoEchoVectorsResponse {
7532 type Owned = Self;
7533
7534 #[inline(always)]
7535 fn inline_align(_context: fidl::encoding::Context) -> usize {
7536 8
7537 }
7538
7539 #[inline(always)]
7540 fn inline_size(_context: fidl::encoding::Context) -> usize {
7541 416
7542 }
7543 }
7544
7545 unsafe impl
7546 fidl::encoding::Encode<
7547 EchoEchoVectorsResponse,
7548 fidl::encoding::DefaultFuchsiaResourceDialect,
7549 > for &mut EchoEchoVectorsResponse
7550 {
7551 #[inline]
7552 unsafe fn encode(
7553 self,
7554 encoder: &mut fidl::encoding::Encoder<
7555 '_,
7556 fidl::encoding::DefaultFuchsiaResourceDialect,
7557 >,
7558 offset: usize,
7559 _depth: fidl::encoding::Depth,
7560 ) -> fidl::Result<()> {
7561 encoder.debug_check_bounds::<EchoEchoVectorsResponse>(offset);
7562 fidl::encoding::Encode::<
7564 EchoEchoVectorsResponse,
7565 fidl::encoding::DefaultFuchsiaResourceDialect,
7566 >::encode(
7567 (<VectorsStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7568 &mut self.value,
7569 ),),
7570 encoder,
7571 offset,
7572 _depth,
7573 )
7574 }
7575 }
7576 unsafe impl<
7577 T0: fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
7578 >
7579 fidl::encoding::Encode<
7580 EchoEchoVectorsResponse,
7581 fidl::encoding::DefaultFuchsiaResourceDialect,
7582 > for (T0,)
7583 {
7584 #[inline]
7585 unsafe fn encode(
7586 self,
7587 encoder: &mut fidl::encoding::Encoder<
7588 '_,
7589 fidl::encoding::DefaultFuchsiaResourceDialect,
7590 >,
7591 offset: usize,
7592 depth: fidl::encoding::Depth,
7593 ) -> fidl::Result<()> {
7594 encoder.debug_check_bounds::<EchoEchoVectorsResponse>(offset);
7595 self.0.encode(encoder, offset + 0, depth)?;
7599 Ok(())
7600 }
7601 }
7602
7603 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7604 for EchoEchoVectorsResponse
7605 {
7606 #[inline(always)]
7607 fn new_empty() -> Self {
7608 Self {
7609 value: fidl::new_empty!(
7610 VectorsStruct,
7611 fidl::encoding::DefaultFuchsiaResourceDialect
7612 ),
7613 }
7614 }
7615
7616 #[inline]
7617 unsafe fn decode(
7618 &mut self,
7619 decoder: &mut fidl::encoding::Decoder<
7620 '_,
7621 fidl::encoding::DefaultFuchsiaResourceDialect,
7622 >,
7623 offset: usize,
7624 _depth: fidl::encoding::Depth,
7625 ) -> fidl::Result<()> {
7626 decoder.debug_check_bounds::<Self>(offset);
7627 fidl::decode!(
7629 VectorsStruct,
7630 fidl::encoding::DefaultFuchsiaResourceDialect,
7631 &mut self.value,
7632 decoder,
7633 offset + 0,
7634 _depth
7635 )?;
7636 Ok(())
7637 }
7638 }
7639
7640 impl fidl::encoding::ResourceTypeMarker for EchoEchoVectorsWithErrorRequest {
7641 type Borrowed<'a> = &'a mut Self;
7642 fn take_or_borrow<'a>(
7643 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7644 ) -> Self::Borrowed<'a> {
7645 value
7646 }
7647 }
7648
7649 unsafe impl fidl::encoding::TypeMarker for EchoEchoVectorsWithErrorRequest {
7650 type Owned = Self;
7651
7652 #[inline(always)]
7653 fn inline_align(_context: fidl::encoding::Context) -> usize {
7654 8
7655 }
7656
7657 #[inline(always)]
7658 fn inline_size(_context: fidl::encoding::Context) -> usize {
7659 448
7660 }
7661 }
7662
7663 unsafe impl
7664 fidl::encoding::Encode<
7665 EchoEchoVectorsWithErrorRequest,
7666 fidl::encoding::DefaultFuchsiaResourceDialect,
7667 > for &mut EchoEchoVectorsWithErrorRequest
7668 {
7669 #[inline]
7670 unsafe fn encode(
7671 self,
7672 encoder: &mut fidl::encoding::Encoder<
7673 '_,
7674 fidl::encoding::DefaultFuchsiaResourceDialect,
7675 >,
7676 offset: usize,
7677 _depth: fidl::encoding::Depth,
7678 ) -> fidl::Result<()> {
7679 encoder.debug_check_bounds::<EchoEchoVectorsWithErrorRequest>(offset);
7680 fidl::encoding::Encode::<
7682 EchoEchoVectorsWithErrorRequest,
7683 fidl::encoding::DefaultFuchsiaResourceDialect,
7684 >::encode(
7685 (
7686 <VectorsStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
7687 &mut self.value,
7688 ),
7689 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
7690 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
7691 &self.forward_to_server,
7692 ),
7693 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
7694 ),
7695 encoder,
7696 offset,
7697 _depth,
7698 )
7699 }
7700 }
7701 unsafe impl<
7702 T0: fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
7703 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
7704 T2: fidl::encoding::Encode<
7705 fidl::encoding::UnboundedString,
7706 fidl::encoding::DefaultFuchsiaResourceDialect,
7707 >,
7708 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
7709 >
7710 fidl::encoding::Encode<
7711 EchoEchoVectorsWithErrorRequest,
7712 fidl::encoding::DefaultFuchsiaResourceDialect,
7713 > for (T0, T1, T2, T3)
7714 {
7715 #[inline]
7716 unsafe fn encode(
7717 self,
7718 encoder: &mut fidl::encoding::Encoder<
7719 '_,
7720 fidl::encoding::DefaultFuchsiaResourceDialect,
7721 >,
7722 offset: usize,
7723 depth: fidl::encoding::Depth,
7724 ) -> fidl::Result<()> {
7725 encoder.debug_check_bounds::<EchoEchoVectorsWithErrorRequest>(offset);
7726 unsafe {
7729 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(416);
7730 (ptr as *mut u64).write_unaligned(0);
7731 }
7732 unsafe {
7733 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(440);
7734 (ptr as *mut u64).write_unaligned(0);
7735 }
7736 self.0.encode(encoder, offset + 0, depth)?;
7738 self.1.encode(encoder, offset + 416, depth)?;
7739 self.2.encode(encoder, offset + 424, depth)?;
7740 self.3.encode(encoder, offset + 440, depth)?;
7741 Ok(())
7742 }
7743 }
7744
7745 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7746 for EchoEchoVectorsWithErrorRequest
7747 {
7748 #[inline(always)]
7749 fn new_empty() -> Self {
7750 Self {
7751 value: fidl::new_empty!(
7752 VectorsStruct,
7753 fidl::encoding::DefaultFuchsiaResourceDialect
7754 ),
7755 result_err: fidl::new_empty!(
7756 DefaultEnum,
7757 fidl::encoding::DefaultFuchsiaResourceDialect
7758 ),
7759 forward_to_server: fidl::new_empty!(
7760 fidl::encoding::UnboundedString,
7761 fidl::encoding::DefaultFuchsiaResourceDialect
7762 ),
7763 result_variant: fidl::new_empty!(
7764 RespondWith,
7765 fidl::encoding::DefaultFuchsiaResourceDialect
7766 ),
7767 }
7768 }
7769
7770 #[inline]
7771 unsafe fn decode(
7772 &mut self,
7773 decoder: &mut fidl::encoding::Decoder<
7774 '_,
7775 fidl::encoding::DefaultFuchsiaResourceDialect,
7776 >,
7777 offset: usize,
7778 _depth: fidl::encoding::Depth,
7779 ) -> fidl::Result<()> {
7780 decoder.debug_check_bounds::<Self>(offset);
7781 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(416) };
7783 let padval = unsafe { (ptr as *const u64).read_unaligned() };
7784 let mask = 0xffffffff00000000u64;
7785 let maskedval = padval & mask;
7786 if maskedval != 0 {
7787 return Err(fidl::Error::NonZeroPadding {
7788 padding_start: offset + 416 + ((mask as u64).trailing_zeros() / 8) as usize,
7789 });
7790 }
7791 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(440) };
7792 let padval = unsafe { (ptr as *const u64).read_unaligned() };
7793 let mask = 0xffffffff00000000u64;
7794 let maskedval = padval & mask;
7795 if maskedval != 0 {
7796 return Err(fidl::Error::NonZeroPadding {
7797 padding_start: offset + 440 + ((mask as u64).trailing_zeros() / 8) as usize,
7798 });
7799 }
7800 fidl::decode!(
7801 VectorsStruct,
7802 fidl::encoding::DefaultFuchsiaResourceDialect,
7803 &mut self.value,
7804 decoder,
7805 offset + 0,
7806 _depth
7807 )?;
7808 fidl::decode!(
7809 DefaultEnum,
7810 fidl::encoding::DefaultFuchsiaResourceDialect,
7811 &mut self.result_err,
7812 decoder,
7813 offset + 416,
7814 _depth
7815 )?;
7816 fidl::decode!(
7817 fidl::encoding::UnboundedString,
7818 fidl::encoding::DefaultFuchsiaResourceDialect,
7819 &mut self.forward_to_server,
7820 decoder,
7821 offset + 424,
7822 _depth
7823 )?;
7824 fidl::decode!(
7825 RespondWith,
7826 fidl::encoding::DefaultFuchsiaResourceDialect,
7827 &mut self.result_variant,
7828 decoder,
7829 offset + 440,
7830 _depth
7831 )?;
7832 Ok(())
7833 }
7834 }
7835
7836 impl fidl::encoding::ResourceTypeMarker for EchoEchoXunionsRequest {
7837 type Borrowed<'a> = &'a mut Self;
7838 fn take_or_borrow<'a>(
7839 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7840 ) -> Self::Borrowed<'a> {
7841 value
7842 }
7843 }
7844
7845 unsafe impl fidl::encoding::TypeMarker for EchoEchoXunionsRequest {
7846 type Owned = Self;
7847
7848 #[inline(always)]
7849 fn inline_align(_context: fidl::encoding::Context) -> usize {
7850 8
7851 }
7852
7853 #[inline(always)]
7854 fn inline_size(_context: fidl::encoding::Context) -> usize {
7855 32
7856 }
7857 }
7858
7859 unsafe impl
7860 fidl::encoding::Encode<
7861 EchoEchoXunionsRequest,
7862 fidl::encoding::DefaultFuchsiaResourceDialect,
7863 > for &mut EchoEchoXunionsRequest
7864 {
7865 #[inline]
7866 unsafe fn encode(
7867 self,
7868 encoder: &mut fidl::encoding::Encoder<
7869 '_,
7870 fidl::encoding::DefaultFuchsiaResourceDialect,
7871 >,
7872 offset: usize,
7873 _depth: fidl::encoding::Depth,
7874 ) -> fidl::Result<()> {
7875 encoder.debug_check_bounds::<EchoEchoXunionsRequest>(offset);
7876 fidl::encoding::Encode::<EchoEchoXunionsRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
7878 (
7879 <fidl::encoding::UnboundedVector<AllTypesXunion> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
7880 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(&self.forward_to_server),
7881 ),
7882 encoder, offset, _depth
7883 )
7884 }
7885 }
7886 unsafe impl<
7887 T0: fidl::encoding::Encode<
7888 fidl::encoding::UnboundedVector<AllTypesXunion>,
7889 fidl::encoding::DefaultFuchsiaResourceDialect,
7890 >,
7891 T1: fidl::encoding::Encode<
7892 fidl::encoding::UnboundedString,
7893 fidl::encoding::DefaultFuchsiaResourceDialect,
7894 >,
7895 >
7896 fidl::encoding::Encode<
7897 EchoEchoXunionsRequest,
7898 fidl::encoding::DefaultFuchsiaResourceDialect,
7899 > for (T0, T1)
7900 {
7901 #[inline]
7902 unsafe fn encode(
7903 self,
7904 encoder: &mut fidl::encoding::Encoder<
7905 '_,
7906 fidl::encoding::DefaultFuchsiaResourceDialect,
7907 >,
7908 offset: usize,
7909 depth: fidl::encoding::Depth,
7910 ) -> fidl::Result<()> {
7911 encoder.debug_check_bounds::<EchoEchoXunionsRequest>(offset);
7912 self.0.encode(encoder, offset + 0, depth)?;
7916 self.1.encode(encoder, offset + 16, depth)?;
7917 Ok(())
7918 }
7919 }
7920
7921 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
7922 for EchoEchoXunionsRequest
7923 {
7924 #[inline(always)]
7925 fn new_empty() -> Self {
7926 Self {
7927 value: fidl::new_empty!(
7928 fidl::encoding::UnboundedVector<AllTypesXunion>,
7929 fidl::encoding::DefaultFuchsiaResourceDialect
7930 ),
7931 forward_to_server: fidl::new_empty!(
7932 fidl::encoding::UnboundedString,
7933 fidl::encoding::DefaultFuchsiaResourceDialect
7934 ),
7935 }
7936 }
7937
7938 #[inline]
7939 unsafe fn decode(
7940 &mut self,
7941 decoder: &mut fidl::encoding::Decoder<
7942 '_,
7943 fidl::encoding::DefaultFuchsiaResourceDialect,
7944 >,
7945 offset: usize,
7946 _depth: fidl::encoding::Depth,
7947 ) -> fidl::Result<()> {
7948 decoder.debug_check_bounds::<Self>(offset);
7949 fidl::decode!(
7951 fidl::encoding::UnboundedVector<AllTypesXunion>,
7952 fidl::encoding::DefaultFuchsiaResourceDialect,
7953 &mut self.value,
7954 decoder,
7955 offset + 0,
7956 _depth
7957 )?;
7958 fidl::decode!(
7959 fidl::encoding::UnboundedString,
7960 fidl::encoding::DefaultFuchsiaResourceDialect,
7961 &mut self.forward_to_server,
7962 decoder,
7963 offset + 16,
7964 _depth
7965 )?;
7966 Ok(())
7967 }
7968 }
7969
7970 impl fidl::encoding::ResourceTypeMarker for EchoEchoXunionsResponse {
7971 type Borrowed<'a> = &'a mut Self;
7972 fn take_or_borrow<'a>(
7973 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
7974 ) -> Self::Borrowed<'a> {
7975 value
7976 }
7977 }
7978
7979 unsafe impl fidl::encoding::TypeMarker for EchoEchoXunionsResponse {
7980 type Owned = Self;
7981
7982 #[inline(always)]
7983 fn inline_align(_context: fidl::encoding::Context) -> usize {
7984 8
7985 }
7986
7987 #[inline(always)]
7988 fn inline_size(_context: fidl::encoding::Context) -> usize {
7989 16
7990 }
7991 }
7992
7993 unsafe impl
7994 fidl::encoding::Encode<
7995 EchoEchoXunionsResponse,
7996 fidl::encoding::DefaultFuchsiaResourceDialect,
7997 > for &mut EchoEchoXunionsResponse
7998 {
7999 #[inline]
8000 unsafe fn encode(
8001 self,
8002 encoder: &mut fidl::encoding::Encoder<
8003 '_,
8004 fidl::encoding::DefaultFuchsiaResourceDialect,
8005 >,
8006 offset: usize,
8007 _depth: fidl::encoding::Depth,
8008 ) -> fidl::Result<()> {
8009 encoder.debug_check_bounds::<EchoEchoXunionsResponse>(offset);
8010 fidl::encoding::Encode::<EchoEchoXunionsResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
8012 (
8013 <fidl::encoding::UnboundedVector<AllTypesXunion> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
8014 ),
8015 encoder, offset, _depth
8016 )
8017 }
8018 }
8019 unsafe impl<
8020 T0: fidl::encoding::Encode<
8021 fidl::encoding::UnboundedVector<AllTypesXunion>,
8022 fidl::encoding::DefaultFuchsiaResourceDialect,
8023 >,
8024 >
8025 fidl::encoding::Encode<
8026 EchoEchoXunionsResponse,
8027 fidl::encoding::DefaultFuchsiaResourceDialect,
8028 > for (T0,)
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 self.0.encode(encoder, offset + 0, depth)?;
8045 Ok(())
8046 }
8047 }
8048
8049 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8050 for EchoEchoXunionsResponse
8051 {
8052 #[inline(always)]
8053 fn new_empty() -> Self {
8054 Self {
8055 value: fidl::new_empty!(
8056 fidl::encoding::UnboundedVector<AllTypesXunion>,
8057 fidl::encoding::DefaultFuchsiaResourceDialect
8058 ),
8059 }
8060 }
8061
8062 #[inline]
8063 unsafe fn decode(
8064 &mut self,
8065 decoder: &mut fidl::encoding::Decoder<
8066 '_,
8067 fidl::encoding::DefaultFuchsiaResourceDialect,
8068 >,
8069 offset: usize,
8070 _depth: fidl::encoding::Depth,
8071 ) -> fidl::Result<()> {
8072 decoder.debug_check_bounds::<Self>(offset);
8073 fidl::decode!(
8075 fidl::encoding::UnboundedVector<AllTypesXunion>,
8076 fidl::encoding::DefaultFuchsiaResourceDialect,
8077 &mut self.value,
8078 decoder,
8079 offset + 0,
8080 _depth
8081 )?;
8082 Ok(())
8083 }
8084 }
8085
8086 impl fidl::encoding::ResourceTypeMarker for EchoEchoXunionsWithErrorRequest {
8087 type Borrowed<'a> = &'a mut Self;
8088 fn take_or_borrow<'a>(
8089 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8090 ) -> Self::Borrowed<'a> {
8091 value
8092 }
8093 }
8094
8095 unsafe impl fidl::encoding::TypeMarker for EchoEchoXunionsWithErrorRequest {
8096 type Owned = Self;
8097
8098 #[inline(always)]
8099 fn inline_align(_context: fidl::encoding::Context) -> usize {
8100 8
8101 }
8102
8103 #[inline(always)]
8104 fn inline_size(_context: fidl::encoding::Context) -> usize {
8105 48
8106 }
8107 }
8108
8109 unsafe impl
8110 fidl::encoding::Encode<
8111 EchoEchoXunionsWithErrorRequest,
8112 fidl::encoding::DefaultFuchsiaResourceDialect,
8113 > for &mut EchoEchoXunionsWithErrorRequest
8114 {
8115 #[inline]
8116 unsafe fn encode(
8117 self,
8118 encoder: &mut fidl::encoding::Encoder<
8119 '_,
8120 fidl::encoding::DefaultFuchsiaResourceDialect,
8121 >,
8122 offset: usize,
8123 _depth: fidl::encoding::Depth,
8124 ) -> fidl::Result<()> {
8125 encoder.debug_check_bounds::<EchoEchoXunionsWithErrorRequest>(offset);
8126 fidl::encoding::Encode::<EchoEchoXunionsWithErrorRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
8128 (
8129 <fidl::encoding::UnboundedVector<AllTypesXunion> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
8130 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.result_err),
8131 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(&self.forward_to_server),
8132 <RespondWith as fidl::encoding::ValueTypeMarker>::borrow(&self.result_variant),
8133 ),
8134 encoder, offset, _depth
8135 )
8136 }
8137 }
8138 unsafe impl<
8139 T0: fidl::encoding::Encode<
8140 fidl::encoding::UnboundedVector<AllTypesXunion>,
8141 fidl::encoding::DefaultFuchsiaResourceDialect,
8142 >,
8143 T1: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8144 T2: fidl::encoding::Encode<
8145 fidl::encoding::UnboundedString,
8146 fidl::encoding::DefaultFuchsiaResourceDialect,
8147 >,
8148 T3: fidl::encoding::Encode<RespondWith, fidl::encoding::DefaultFuchsiaResourceDialect>,
8149 >
8150 fidl::encoding::Encode<
8151 EchoEchoXunionsWithErrorRequest,
8152 fidl::encoding::DefaultFuchsiaResourceDialect,
8153 > for (T0, T1, T2, T3)
8154 {
8155 #[inline]
8156 unsafe fn encode(
8157 self,
8158 encoder: &mut fidl::encoding::Encoder<
8159 '_,
8160 fidl::encoding::DefaultFuchsiaResourceDialect,
8161 >,
8162 offset: usize,
8163 depth: fidl::encoding::Depth,
8164 ) -> fidl::Result<()> {
8165 encoder.debug_check_bounds::<EchoEchoXunionsWithErrorRequest>(offset);
8166 unsafe {
8169 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
8170 (ptr as *mut u64).write_unaligned(0);
8171 }
8172 unsafe {
8173 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
8174 (ptr as *mut u64).write_unaligned(0);
8175 }
8176 self.0.encode(encoder, offset + 0, depth)?;
8178 self.1.encode(encoder, offset + 16, depth)?;
8179 self.2.encode(encoder, offset + 24, depth)?;
8180 self.3.encode(encoder, offset + 40, depth)?;
8181 Ok(())
8182 }
8183 }
8184
8185 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8186 for EchoEchoXunionsWithErrorRequest
8187 {
8188 #[inline(always)]
8189 fn new_empty() -> Self {
8190 Self {
8191 value: fidl::new_empty!(
8192 fidl::encoding::UnboundedVector<AllTypesXunion>,
8193 fidl::encoding::DefaultFuchsiaResourceDialect
8194 ),
8195 result_err: fidl::new_empty!(
8196 DefaultEnum,
8197 fidl::encoding::DefaultFuchsiaResourceDialect
8198 ),
8199 forward_to_server: fidl::new_empty!(
8200 fidl::encoding::UnboundedString,
8201 fidl::encoding::DefaultFuchsiaResourceDialect
8202 ),
8203 result_variant: fidl::new_empty!(
8204 RespondWith,
8205 fidl::encoding::DefaultFuchsiaResourceDialect
8206 ),
8207 }
8208 }
8209
8210 #[inline]
8211 unsafe fn decode(
8212 &mut self,
8213 decoder: &mut fidl::encoding::Decoder<
8214 '_,
8215 fidl::encoding::DefaultFuchsiaResourceDialect,
8216 >,
8217 offset: usize,
8218 _depth: fidl::encoding::Depth,
8219 ) -> fidl::Result<()> {
8220 decoder.debug_check_bounds::<Self>(offset);
8221 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
8223 let padval = unsafe { (ptr as *const u64).read_unaligned() };
8224 let mask = 0xffffffff00000000u64;
8225 let maskedval = padval & mask;
8226 if maskedval != 0 {
8227 return Err(fidl::Error::NonZeroPadding {
8228 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
8229 });
8230 }
8231 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
8232 let padval = unsafe { (ptr as *const u64).read_unaligned() };
8233 let mask = 0xffffffff00000000u64;
8234 let maskedval = padval & mask;
8235 if maskedval != 0 {
8236 return Err(fidl::Error::NonZeroPadding {
8237 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
8238 });
8239 }
8240 fidl::decode!(
8241 fidl::encoding::UnboundedVector<AllTypesXunion>,
8242 fidl::encoding::DefaultFuchsiaResourceDialect,
8243 &mut self.value,
8244 decoder,
8245 offset + 0,
8246 _depth
8247 )?;
8248 fidl::decode!(
8249 DefaultEnum,
8250 fidl::encoding::DefaultFuchsiaResourceDialect,
8251 &mut self.result_err,
8252 decoder,
8253 offset + 16,
8254 _depth
8255 )?;
8256 fidl::decode!(
8257 fidl::encoding::UnboundedString,
8258 fidl::encoding::DefaultFuchsiaResourceDialect,
8259 &mut self.forward_to_server,
8260 decoder,
8261 offset + 24,
8262 _depth
8263 )?;
8264 fidl::decode!(
8265 RespondWith,
8266 fidl::encoding::DefaultFuchsiaResourceDialect,
8267 &mut self.result_variant,
8268 decoder,
8269 offset + 40,
8270 _depth
8271 )?;
8272 Ok(())
8273 }
8274 }
8275
8276 impl fidl::encoding::ResourceTypeMarker for EchoEchoArraysWithErrorResponse {
8277 type Borrowed<'a> = &'a mut Self;
8278 fn take_or_borrow<'a>(
8279 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8280 ) -> Self::Borrowed<'a> {
8281 value
8282 }
8283 }
8284
8285 unsafe impl fidl::encoding::TypeMarker for EchoEchoArraysWithErrorResponse {
8286 type Owned = Self;
8287
8288 #[inline(always)]
8289 fn inline_align(_context: fidl::encoding::Context) -> usize {
8290 8
8291 }
8292
8293 #[inline(always)]
8294 fn inline_size(_context: fidl::encoding::Context) -> usize {
8295 680
8296 }
8297 }
8298
8299 unsafe impl
8300 fidl::encoding::Encode<
8301 EchoEchoArraysWithErrorResponse,
8302 fidl::encoding::DefaultFuchsiaResourceDialect,
8303 > for &mut EchoEchoArraysWithErrorResponse
8304 {
8305 #[inline]
8306 unsafe fn encode(
8307 self,
8308 encoder: &mut fidl::encoding::Encoder<
8309 '_,
8310 fidl::encoding::DefaultFuchsiaResourceDialect,
8311 >,
8312 offset: usize,
8313 _depth: fidl::encoding::Depth,
8314 ) -> fidl::Result<()> {
8315 encoder.debug_check_bounds::<EchoEchoArraysWithErrorResponse>(offset);
8316 fidl::encoding::Encode::<
8318 EchoEchoArraysWithErrorResponse,
8319 fidl::encoding::DefaultFuchsiaResourceDialect,
8320 >::encode(
8321 (<ArraysStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8322 &mut self.value,
8323 ),),
8324 encoder,
8325 offset,
8326 _depth,
8327 )
8328 }
8329 }
8330 unsafe impl<
8331 T0: fidl::encoding::Encode<ArraysStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
8332 >
8333 fidl::encoding::Encode<
8334 EchoEchoArraysWithErrorResponse,
8335 fidl::encoding::DefaultFuchsiaResourceDialect,
8336 > for (T0,)
8337 {
8338 #[inline]
8339 unsafe fn encode(
8340 self,
8341 encoder: &mut fidl::encoding::Encoder<
8342 '_,
8343 fidl::encoding::DefaultFuchsiaResourceDialect,
8344 >,
8345 offset: usize,
8346 depth: fidl::encoding::Depth,
8347 ) -> fidl::Result<()> {
8348 encoder.debug_check_bounds::<EchoEchoArraysWithErrorResponse>(offset);
8349 self.0.encode(encoder, offset + 0, depth)?;
8353 Ok(())
8354 }
8355 }
8356
8357 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8358 for EchoEchoArraysWithErrorResponse
8359 {
8360 #[inline(always)]
8361 fn new_empty() -> Self {
8362 Self {
8363 value: fidl::new_empty!(
8364 ArraysStruct,
8365 fidl::encoding::DefaultFuchsiaResourceDialect
8366 ),
8367 }
8368 }
8369
8370 #[inline]
8371 unsafe fn decode(
8372 &mut self,
8373 decoder: &mut fidl::encoding::Decoder<
8374 '_,
8375 fidl::encoding::DefaultFuchsiaResourceDialect,
8376 >,
8377 offset: usize,
8378 _depth: fidl::encoding::Depth,
8379 ) -> fidl::Result<()> {
8380 decoder.debug_check_bounds::<Self>(offset);
8381 fidl::decode!(
8383 ArraysStruct,
8384 fidl::encoding::DefaultFuchsiaResourceDialect,
8385 &mut self.value,
8386 decoder,
8387 offset + 0,
8388 _depth
8389 )?;
8390 Ok(())
8391 }
8392 }
8393
8394 impl fidl::encoding::ResourceTypeMarker for EchoEchoStructWithErrorResponse {
8395 type Borrowed<'a> = &'a mut Self;
8396 fn take_or_borrow<'a>(
8397 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8398 ) -> Self::Borrowed<'a> {
8399 value
8400 }
8401 }
8402
8403 unsafe impl fidl::encoding::TypeMarker for EchoEchoStructWithErrorResponse {
8404 type Owned = Self;
8405
8406 #[inline(always)]
8407 fn inline_align(_context: fidl::encoding::Context) -> usize {
8408 8
8409 }
8410
8411 #[inline(always)]
8412 fn inline_size(_context: fidl::encoding::Context) -> usize {
8413 2912
8414 }
8415 }
8416
8417 unsafe impl
8418 fidl::encoding::Encode<
8419 EchoEchoStructWithErrorResponse,
8420 fidl::encoding::DefaultFuchsiaResourceDialect,
8421 > for &mut EchoEchoStructWithErrorResponse
8422 {
8423 #[inline]
8424 unsafe fn encode(
8425 self,
8426 encoder: &mut fidl::encoding::Encoder<
8427 '_,
8428 fidl::encoding::DefaultFuchsiaResourceDialect,
8429 >,
8430 offset: usize,
8431 _depth: fidl::encoding::Depth,
8432 ) -> fidl::Result<()> {
8433 encoder.debug_check_bounds::<EchoEchoStructWithErrorResponse>(offset);
8434 fidl::encoding::Encode::<
8436 EchoEchoStructWithErrorResponse,
8437 fidl::encoding::DefaultFuchsiaResourceDialect,
8438 >::encode(
8439 (<Struct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),),
8440 encoder,
8441 offset,
8442 _depth,
8443 )
8444 }
8445 }
8446 unsafe impl<T0: fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>>
8447 fidl::encoding::Encode<
8448 EchoEchoStructWithErrorResponse,
8449 fidl::encoding::DefaultFuchsiaResourceDialect,
8450 > for (T0,)
8451 {
8452 #[inline]
8453 unsafe fn encode(
8454 self,
8455 encoder: &mut fidl::encoding::Encoder<
8456 '_,
8457 fidl::encoding::DefaultFuchsiaResourceDialect,
8458 >,
8459 offset: usize,
8460 depth: fidl::encoding::Depth,
8461 ) -> fidl::Result<()> {
8462 encoder.debug_check_bounds::<EchoEchoStructWithErrorResponse>(offset);
8463 self.0.encode(encoder, offset + 0, depth)?;
8467 Ok(())
8468 }
8469 }
8470
8471 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8472 for EchoEchoStructWithErrorResponse
8473 {
8474 #[inline(always)]
8475 fn new_empty() -> Self {
8476 Self { value: fidl::new_empty!(Struct, fidl::encoding::DefaultFuchsiaResourceDialect) }
8477 }
8478
8479 #[inline]
8480 unsafe fn decode(
8481 &mut self,
8482 decoder: &mut fidl::encoding::Decoder<
8483 '_,
8484 fidl::encoding::DefaultFuchsiaResourceDialect,
8485 >,
8486 offset: usize,
8487 _depth: fidl::encoding::Depth,
8488 ) -> fidl::Result<()> {
8489 decoder.debug_check_bounds::<Self>(offset);
8490 fidl::decode!(
8492 Struct,
8493 fidl::encoding::DefaultFuchsiaResourceDialect,
8494 &mut self.value,
8495 decoder,
8496 offset + 0,
8497 _depth
8498 )?;
8499 Ok(())
8500 }
8501 }
8502
8503 impl fidl::encoding::ResourceTypeMarker for EchoEchoTableWithErrorResponse {
8504 type Borrowed<'a> = &'a mut Self;
8505 fn take_or_borrow<'a>(
8506 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8507 ) -> Self::Borrowed<'a> {
8508 value
8509 }
8510 }
8511
8512 unsafe impl fidl::encoding::TypeMarker for EchoEchoTableWithErrorResponse {
8513 type Owned = Self;
8514
8515 #[inline(always)]
8516 fn inline_align(_context: fidl::encoding::Context) -> usize {
8517 8
8518 }
8519
8520 #[inline(always)]
8521 fn inline_size(_context: fidl::encoding::Context) -> usize {
8522 16
8523 }
8524 }
8525
8526 unsafe impl
8527 fidl::encoding::Encode<
8528 EchoEchoTableWithErrorResponse,
8529 fidl::encoding::DefaultFuchsiaResourceDialect,
8530 > for &mut EchoEchoTableWithErrorResponse
8531 {
8532 #[inline]
8533 unsafe fn encode(
8534 self,
8535 encoder: &mut fidl::encoding::Encoder<
8536 '_,
8537 fidl::encoding::DefaultFuchsiaResourceDialect,
8538 >,
8539 offset: usize,
8540 _depth: fidl::encoding::Depth,
8541 ) -> fidl::Result<()> {
8542 encoder.debug_check_bounds::<EchoEchoTableWithErrorResponse>(offset);
8543 fidl::encoding::Encode::<
8545 EchoEchoTableWithErrorResponse,
8546 fidl::encoding::DefaultFuchsiaResourceDialect,
8547 >::encode(
8548 (<AllTypesTable as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8549 &mut self.value,
8550 ),),
8551 encoder,
8552 offset,
8553 _depth,
8554 )
8555 }
8556 }
8557 unsafe impl<
8558 T0: fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>,
8559 >
8560 fidl::encoding::Encode<
8561 EchoEchoTableWithErrorResponse,
8562 fidl::encoding::DefaultFuchsiaResourceDialect,
8563 > for (T0,)
8564 {
8565 #[inline]
8566 unsafe fn encode(
8567 self,
8568 encoder: &mut fidl::encoding::Encoder<
8569 '_,
8570 fidl::encoding::DefaultFuchsiaResourceDialect,
8571 >,
8572 offset: usize,
8573 depth: fidl::encoding::Depth,
8574 ) -> fidl::Result<()> {
8575 encoder.debug_check_bounds::<EchoEchoTableWithErrorResponse>(offset);
8576 self.0.encode(encoder, offset + 0, depth)?;
8580 Ok(())
8581 }
8582 }
8583
8584 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8585 for EchoEchoTableWithErrorResponse
8586 {
8587 #[inline(always)]
8588 fn new_empty() -> Self {
8589 Self {
8590 value: fidl::new_empty!(
8591 AllTypesTable,
8592 fidl::encoding::DefaultFuchsiaResourceDialect
8593 ),
8594 }
8595 }
8596
8597 #[inline]
8598 unsafe fn decode(
8599 &mut self,
8600 decoder: &mut fidl::encoding::Decoder<
8601 '_,
8602 fidl::encoding::DefaultFuchsiaResourceDialect,
8603 >,
8604 offset: usize,
8605 _depth: fidl::encoding::Depth,
8606 ) -> fidl::Result<()> {
8607 decoder.debug_check_bounds::<Self>(offset);
8608 fidl::decode!(
8610 AllTypesTable,
8611 fidl::encoding::DefaultFuchsiaResourceDialect,
8612 &mut self.value,
8613 decoder,
8614 offset + 0,
8615 _depth
8616 )?;
8617 Ok(())
8618 }
8619 }
8620
8621 impl fidl::encoding::ResourceTypeMarker for EchoEchoVectorsWithErrorResponse {
8622 type Borrowed<'a> = &'a mut Self;
8623 fn take_or_borrow<'a>(
8624 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8625 ) -> Self::Borrowed<'a> {
8626 value
8627 }
8628 }
8629
8630 unsafe impl fidl::encoding::TypeMarker for EchoEchoVectorsWithErrorResponse {
8631 type Owned = Self;
8632
8633 #[inline(always)]
8634 fn inline_align(_context: fidl::encoding::Context) -> usize {
8635 8
8636 }
8637
8638 #[inline(always)]
8639 fn inline_size(_context: fidl::encoding::Context) -> usize {
8640 416
8641 }
8642 }
8643
8644 unsafe impl
8645 fidl::encoding::Encode<
8646 EchoEchoVectorsWithErrorResponse,
8647 fidl::encoding::DefaultFuchsiaResourceDialect,
8648 > for &mut EchoEchoVectorsWithErrorResponse
8649 {
8650 #[inline]
8651 unsafe fn encode(
8652 self,
8653 encoder: &mut fidl::encoding::Encoder<
8654 '_,
8655 fidl::encoding::DefaultFuchsiaResourceDialect,
8656 >,
8657 offset: usize,
8658 _depth: fidl::encoding::Depth,
8659 ) -> fidl::Result<()> {
8660 encoder.debug_check_bounds::<EchoEchoVectorsWithErrorResponse>(offset);
8661 fidl::encoding::Encode::<
8663 EchoEchoVectorsWithErrorResponse,
8664 fidl::encoding::DefaultFuchsiaResourceDialect,
8665 >::encode(
8666 (<VectorsStruct as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8667 &mut self.value,
8668 ),),
8669 encoder,
8670 offset,
8671 _depth,
8672 )
8673 }
8674 }
8675 unsafe impl<
8676 T0: fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>,
8677 >
8678 fidl::encoding::Encode<
8679 EchoEchoVectorsWithErrorResponse,
8680 fidl::encoding::DefaultFuchsiaResourceDialect,
8681 > for (T0,)
8682 {
8683 #[inline]
8684 unsafe fn encode(
8685 self,
8686 encoder: &mut fidl::encoding::Encoder<
8687 '_,
8688 fidl::encoding::DefaultFuchsiaResourceDialect,
8689 >,
8690 offset: usize,
8691 depth: fidl::encoding::Depth,
8692 ) -> fidl::Result<()> {
8693 encoder.debug_check_bounds::<EchoEchoVectorsWithErrorResponse>(offset);
8694 self.0.encode(encoder, offset + 0, depth)?;
8698 Ok(())
8699 }
8700 }
8701
8702 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8703 for EchoEchoVectorsWithErrorResponse
8704 {
8705 #[inline(always)]
8706 fn new_empty() -> Self {
8707 Self {
8708 value: fidl::new_empty!(
8709 VectorsStruct,
8710 fidl::encoding::DefaultFuchsiaResourceDialect
8711 ),
8712 }
8713 }
8714
8715 #[inline]
8716 unsafe fn decode(
8717 &mut self,
8718 decoder: &mut fidl::encoding::Decoder<
8719 '_,
8720 fidl::encoding::DefaultFuchsiaResourceDialect,
8721 >,
8722 offset: usize,
8723 _depth: fidl::encoding::Depth,
8724 ) -> fidl::Result<()> {
8725 decoder.debug_check_bounds::<Self>(offset);
8726 fidl::decode!(
8728 VectorsStruct,
8729 fidl::encoding::DefaultFuchsiaResourceDialect,
8730 &mut self.value,
8731 decoder,
8732 offset + 0,
8733 _depth
8734 )?;
8735 Ok(())
8736 }
8737 }
8738
8739 impl fidl::encoding::ResourceTypeMarker for EchoEchoXunionsWithErrorResponse {
8740 type Borrowed<'a> = &'a mut Self;
8741 fn take_or_borrow<'a>(
8742 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8743 ) -> Self::Borrowed<'a> {
8744 value
8745 }
8746 }
8747
8748 unsafe impl fidl::encoding::TypeMarker for EchoEchoXunionsWithErrorResponse {
8749 type Owned = Self;
8750
8751 #[inline(always)]
8752 fn inline_align(_context: fidl::encoding::Context) -> usize {
8753 8
8754 }
8755
8756 #[inline(always)]
8757 fn inline_size(_context: fidl::encoding::Context) -> usize {
8758 16
8759 }
8760 }
8761
8762 unsafe impl
8763 fidl::encoding::Encode<
8764 EchoEchoXunionsWithErrorResponse,
8765 fidl::encoding::DefaultFuchsiaResourceDialect,
8766 > for &mut EchoEchoXunionsWithErrorResponse
8767 {
8768 #[inline]
8769 unsafe fn encode(
8770 self,
8771 encoder: &mut fidl::encoding::Encoder<
8772 '_,
8773 fidl::encoding::DefaultFuchsiaResourceDialect,
8774 >,
8775 offset: usize,
8776 _depth: fidl::encoding::Depth,
8777 ) -> fidl::Result<()> {
8778 encoder.debug_check_bounds::<EchoEchoXunionsWithErrorResponse>(offset);
8779 fidl::encoding::Encode::<EchoEchoXunionsWithErrorResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
8781 (
8782 <fidl::encoding::UnboundedVector<AllTypesXunion> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.value),
8783 ),
8784 encoder, offset, _depth
8785 )
8786 }
8787 }
8788 unsafe impl<
8789 T0: fidl::encoding::Encode<
8790 fidl::encoding::UnboundedVector<AllTypesXunion>,
8791 fidl::encoding::DefaultFuchsiaResourceDialect,
8792 >,
8793 >
8794 fidl::encoding::Encode<
8795 EchoEchoXunionsWithErrorResponse,
8796 fidl::encoding::DefaultFuchsiaResourceDialect,
8797 > for (T0,)
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 self.0.encode(encoder, offset + 0, depth)?;
8814 Ok(())
8815 }
8816 }
8817
8818 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
8819 for EchoEchoXunionsWithErrorResponse
8820 {
8821 #[inline(always)]
8822 fn new_empty() -> Self {
8823 Self {
8824 value: fidl::new_empty!(
8825 fidl::encoding::UnboundedVector<AllTypesXunion>,
8826 fidl::encoding::DefaultFuchsiaResourceDialect
8827 ),
8828 }
8829 }
8830
8831 #[inline]
8832 unsafe fn decode(
8833 &mut self,
8834 decoder: &mut fidl::encoding::Decoder<
8835 '_,
8836 fidl::encoding::DefaultFuchsiaResourceDialect,
8837 >,
8838 offset: usize,
8839 _depth: fidl::encoding::Depth,
8840 ) -> fidl::Result<()> {
8841 decoder.debug_check_bounds::<Self>(offset);
8842 fidl::decode!(
8844 fidl::encoding::UnboundedVector<AllTypesXunion>,
8845 fidl::encoding::DefaultFuchsiaResourceDialect,
8846 &mut self.value,
8847 decoder,
8848 offset + 0,
8849 _depth
8850 )?;
8851 Ok(())
8852 }
8853 }
8854
8855 impl fidl::encoding::ResourceTypeMarker for Struct {
8856 type Borrowed<'a> = &'a mut Self;
8857 fn take_or_borrow<'a>(
8858 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
8859 ) -> Self::Borrowed<'a> {
8860 value
8861 }
8862 }
8863
8864 unsafe impl fidl::encoding::TypeMarker for Struct {
8865 type Owned = Self;
8866
8867 #[inline(always)]
8868 fn inline_align(_context: fidl::encoding::Context) -> usize {
8869 8
8870 }
8871
8872 #[inline(always)]
8873 fn inline_size(_context: fidl::encoding::Context) -> usize {
8874 2912
8875 }
8876 }
8877
8878 unsafe impl fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>
8879 for &mut Struct
8880 {
8881 #[inline]
8882 unsafe fn encode(
8883 self,
8884 encoder: &mut fidl::encoding::Encoder<
8885 '_,
8886 fidl::encoding::DefaultFuchsiaResourceDialect,
8887 >,
8888 offset: usize,
8889 _depth: fidl::encoding::Depth,
8890 ) -> fidl::Result<()> {
8891 encoder.debug_check_bounds::<Struct>(offset);
8892 fidl::encoding::Encode::<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
8894 (
8895 <PrimitiveTypes as fidl::encoding::ValueTypeMarker>::borrow(
8896 &self.primitive_types,
8897 ),
8898 <DefaultValues as fidl::encoding::ValueTypeMarker>::borrow(
8899 &self.default_values,
8900 ),
8901 <Arrays as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8902 &mut self.arrays,
8903 ),
8904 <Arrays2d as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8905 &mut self.arrays_2d,
8906 ),
8907 <Vectors as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8908 &mut self.vectors,
8909 ),
8910 <Handles as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
8911 &mut self.handles,
8912 ),
8913 <Strings as fidl::encoding::ValueTypeMarker>::borrow(&self.strings),
8914 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(&self.default_enum),
8915 <I8Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_enum),
8916 <I16Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_enum),
8917 <I32Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_enum),
8918 <I64Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_enum),
8919 <U8Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_enum),
8920 <U16Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_enum),
8921 <U32Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_enum),
8922 <U64Enum as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_enum),
8923 <DefaultBits as fidl::encoding::ValueTypeMarker>::borrow(&self.default_bits),
8924 <U8Bits as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_bits),
8925 <U16Bits as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_bits),
8926 <U32Bits as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_bits),
8927 <U64Bits as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_bits),
8928 <Structs as fidl::encoding::ValueTypeMarker>::borrow(&self.structs),
8929 <Unions as fidl::encoding::ValueTypeMarker>::borrow(&self.unions),
8930 <ThisIsATable as fidl::encoding::ValueTypeMarker>::borrow(&self.table),
8931 <ThisIsAXunion as fidl::encoding::ValueTypeMarker>::borrow(&self.xunion),
8932 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.b),
8933 ),
8934 encoder,
8935 offset,
8936 _depth,
8937 )
8938 }
8939 }
8940 unsafe impl<
8941 T0: fidl::encoding::Encode<PrimitiveTypes, fidl::encoding::DefaultFuchsiaResourceDialect>,
8942 T1: fidl::encoding::Encode<DefaultValues, fidl::encoding::DefaultFuchsiaResourceDialect>,
8943 T2: fidl::encoding::Encode<Arrays, fidl::encoding::DefaultFuchsiaResourceDialect>,
8944 T3: fidl::encoding::Encode<Arrays2d, fidl::encoding::DefaultFuchsiaResourceDialect>,
8945 T4: fidl::encoding::Encode<Vectors, fidl::encoding::DefaultFuchsiaResourceDialect>,
8946 T5: fidl::encoding::Encode<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>,
8947 T6: fidl::encoding::Encode<Strings, fidl::encoding::DefaultFuchsiaResourceDialect>,
8948 T7: fidl::encoding::Encode<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8949 T8: fidl::encoding::Encode<I8Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8950 T9: fidl::encoding::Encode<I16Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8951 T10: fidl::encoding::Encode<I32Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8952 T11: fidl::encoding::Encode<I64Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8953 T12: fidl::encoding::Encode<U8Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8954 T13: fidl::encoding::Encode<U16Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8955 T14: fidl::encoding::Encode<U32Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8956 T15: fidl::encoding::Encode<U64Enum, fidl::encoding::DefaultFuchsiaResourceDialect>,
8957 T16: fidl::encoding::Encode<DefaultBits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8958 T17: fidl::encoding::Encode<U8Bits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8959 T18: fidl::encoding::Encode<U16Bits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8960 T19: fidl::encoding::Encode<U32Bits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8961 T20: fidl::encoding::Encode<U64Bits, fidl::encoding::DefaultFuchsiaResourceDialect>,
8962 T21: fidl::encoding::Encode<Structs, fidl::encoding::DefaultFuchsiaResourceDialect>,
8963 T22: fidl::encoding::Encode<Unions, fidl::encoding::DefaultFuchsiaResourceDialect>,
8964 T23: fidl::encoding::Encode<ThisIsATable, fidl::encoding::DefaultFuchsiaResourceDialect>,
8965 T24: fidl::encoding::Encode<ThisIsAXunion, fidl::encoding::DefaultFuchsiaResourceDialect>,
8966 T25: fidl::encoding::Encode<bool, fidl::encoding::DefaultFuchsiaResourceDialect>,
8967 > fidl::encoding::Encode<Struct, fidl::encoding::DefaultFuchsiaResourceDialect>
8968 for (
8969 T0,
8970 T1,
8971 T2,
8972 T3,
8973 T4,
8974 T5,
8975 T6,
8976 T7,
8977 T8,
8978 T9,
8979 T10,
8980 T11,
8981 T12,
8982 T13,
8983 T14,
8984 T15,
8985 T16,
8986 T17,
8987 T18,
8988 T19,
8989 T20,
8990 T21,
8991 T22,
8992 T23,
8993 T24,
8994 T25,
8995 )
8996 {
8997 #[inline]
8998 unsafe fn encode(
8999 self,
9000 encoder: &mut fidl::encoding::Encoder<
9001 '_,
9002 fidl::encoding::DefaultFuchsiaResourceDialect,
9003 >,
9004 offset: usize,
9005 depth: fidl::encoding::Depth,
9006 ) -> fidl::Result<()> {
9007 encoder.debug_check_bounds::<Struct>(offset);
9008 unsafe {
9011 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2640);
9012 (ptr as *mut u64).write_unaligned(0);
9013 }
9014 unsafe {
9015 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2744);
9016 (ptr as *mut u64).write_unaligned(0);
9017 }
9018 unsafe {
9019 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2752);
9020 (ptr as *mut u64).write_unaligned(0);
9021 }
9022 unsafe {
9023 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2768);
9024 (ptr as *mut u64).write_unaligned(0);
9025 }
9026 unsafe {
9027 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2784);
9028 (ptr as *mut u64).write_unaligned(0);
9029 }
9030 unsafe {
9031 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2792);
9032 (ptr as *mut u64).write_unaligned(0);
9033 }
9034 unsafe {
9035 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(2904);
9036 (ptr as *mut u64).write_unaligned(0);
9037 }
9038 self.0.encode(encoder, offset + 0, depth)?;
9040 self.1.encode(encoder, offset + 48, depth)?;
9041 self.2.encode(encoder, offset + 120, depth)?;
9042 self.3.encode(encoder, offset + 328, depth)?;
9043 self.4.encode(encoder, offset + 616, depth)?;
9044 self.5.encode(encoder, offset + 2536, depth)?;
9045 self.6.encode(encoder, offset + 2648, depth)?;
9046 self.7.encode(encoder, offset + 2744, depth)?;
9047 self.8.encode(encoder, offset + 2748, depth)?;
9048 self.9.encode(encoder, offset + 2750, depth)?;
9049 self.10.encode(encoder, offset + 2752, depth)?;
9050 self.11.encode(encoder, offset + 2760, depth)?;
9051 self.12.encode(encoder, offset + 2768, depth)?;
9052 self.13.encode(encoder, offset + 2770, depth)?;
9053 self.14.encode(encoder, offset + 2772, depth)?;
9054 self.15.encode(encoder, offset + 2776, depth)?;
9055 self.16.encode(encoder, offset + 2784, depth)?;
9056 self.17.encode(encoder, offset + 2788, depth)?;
9057 self.18.encode(encoder, offset + 2790, depth)?;
9058 self.19.encode(encoder, offset + 2792, depth)?;
9059 self.20.encode(encoder, offset + 2800, depth)?;
9060 self.21.encode(encoder, offset + 2808, depth)?;
9061 self.22.encode(encoder, offset + 2840, depth)?;
9062 self.23.encode(encoder, offset + 2872, depth)?;
9063 self.24.encode(encoder, offset + 2888, depth)?;
9064 self.25.encode(encoder, offset + 2904, depth)?;
9065 Ok(())
9066 }
9067 }
9068
9069 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Struct {
9070 #[inline(always)]
9071 fn new_empty() -> Self {
9072 Self {
9073 primitive_types: fidl::new_empty!(
9074 PrimitiveTypes,
9075 fidl::encoding::DefaultFuchsiaResourceDialect
9076 ),
9077 default_values: fidl::new_empty!(
9078 DefaultValues,
9079 fidl::encoding::DefaultFuchsiaResourceDialect
9080 ),
9081 arrays: fidl::new_empty!(Arrays, fidl::encoding::DefaultFuchsiaResourceDialect),
9082 arrays_2d: fidl::new_empty!(
9083 Arrays2d,
9084 fidl::encoding::DefaultFuchsiaResourceDialect
9085 ),
9086 vectors: fidl::new_empty!(Vectors, fidl::encoding::DefaultFuchsiaResourceDialect),
9087 handles: fidl::new_empty!(Handles, fidl::encoding::DefaultFuchsiaResourceDialect),
9088 strings: fidl::new_empty!(Strings, fidl::encoding::DefaultFuchsiaResourceDialect),
9089 default_enum: fidl::new_empty!(
9090 DefaultEnum,
9091 fidl::encoding::DefaultFuchsiaResourceDialect
9092 ),
9093 i8_enum: fidl::new_empty!(I8Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9094 i16_enum: fidl::new_empty!(I16Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9095 i32_enum: fidl::new_empty!(I32Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9096 i64_enum: fidl::new_empty!(I64Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9097 u8_enum: fidl::new_empty!(U8Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9098 u16_enum: fidl::new_empty!(U16Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9099 u32_enum: fidl::new_empty!(U32Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9100 u64_enum: fidl::new_empty!(U64Enum, fidl::encoding::DefaultFuchsiaResourceDialect),
9101 default_bits: fidl::new_empty!(
9102 DefaultBits,
9103 fidl::encoding::DefaultFuchsiaResourceDialect
9104 ),
9105 u8_bits: fidl::new_empty!(U8Bits, fidl::encoding::DefaultFuchsiaResourceDialect),
9106 u16_bits: fidl::new_empty!(U16Bits, fidl::encoding::DefaultFuchsiaResourceDialect),
9107 u32_bits: fidl::new_empty!(U32Bits, fidl::encoding::DefaultFuchsiaResourceDialect),
9108 u64_bits: fidl::new_empty!(U64Bits, fidl::encoding::DefaultFuchsiaResourceDialect),
9109 structs: fidl::new_empty!(Structs, fidl::encoding::DefaultFuchsiaResourceDialect),
9110 unions: fidl::new_empty!(Unions, fidl::encoding::DefaultFuchsiaResourceDialect),
9111 table: fidl::new_empty!(
9112 ThisIsATable,
9113 fidl::encoding::DefaultFuchsiaResourceDialect
9114 ),
9115 xunion: fidl::new_empty!(
9116 ThisIsAXunion,
9117 fidl::encoding::DefaultFuchsiaResourceDialect
9118 ),
9119 b: fidl::new_empty!(bool, fidl::encoding::DefaultFuchsiaResourceDialect),
9120 }
9121 }
9122
9123 #[inline]
9124 unsafe fn decode(
9125 &mut self,
9126 decoder: &mut fidl::encoding::Decoder<
9127 '_,
9128 fidl::encoding::DefaultFuchsiaResourceDialect,
9129 >,
9130 offset: usize,
9131 _depth: fidl::encoding::Depth,
9132 ) -> fidl::Result<()> {
9133 decoder.debug_check_bounds::<Self>(offset);
9134 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2640) };
9136 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9137 let mask = 0xffffffff00000000u64;
9138 let maskedval = padval & mask;
9139 if maskedval != 0 {
9140 return Err(fidl::Error::NonZeroPadding {
9141 padding_start: offset + 2640 + ((mask as u64).trailing_zeros() / 8) as usize,
9142 });
9143 }
9144 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2744) };
9145 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9146 let mask = 0xff0000000000u64;
9147 let maskedval = padval & mask;
9148 if maskedval != 0 {
9149 return Err(fidl::Error::NonZeroPadding {
9150 padding_start: offset + 2744 + ((mask as u64).trailing_zeros() / 8) as usize,
9151 });
9152 }
9153 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2752) };
9154 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9155 let mask = 0xffffffff00000000u64;
9156 let maskedval = padval & mask;
9157 if maskedval != 0 {
9158 return Err(fidl::Error::NonZeroPadding {
9159 padding_start: offset + 2752 + ((mask as u64).trailing_zeros() / 8) as usize,
9160 });
9161 }
9162 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2768) };
9163 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9164 let mask = 0xff00u64;
9165 let maskedval = padval & mask;
9166 if maskedval != 0 {
9167 return Err(fidl::Error::NonZeroPadding {
9168 padding_start: offset + 2768 + ((mask as u64).trailing_zeros() / 8) as usize,
9169 });
9170 }
9171 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2784) };
9172 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9173 let mask = 0xff0000000000u64;
9174 let maskedval = padval & mask;
9175 if maskedval != 0 {
9176 return Err(fidl::Error::NonZeroPadding {
9177 padding_start: offset + 2784 + ((mask as u64).trailing_zeros() / 8) as usize,
9178 });
9179 }
9180 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2792) };
9181 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9182 let mask = 0xffffffff00000000u64;
9183 let maskedval = padval & mask;
9184 if maskedval != 0 {
9185 return Err(fidl::Error::NonZeroPadding {
9186 padding_start: offset + 2792 + ((mask as u64).trailing_zeros() / 8) as usize,
9187 });
9188 }
9189 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(2904) };
9190 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9191 let mask = 0xffffffffffffff00u64;
9192 let maskedval = padval & mask;
9193 if maskedval != 0 {
9194 return Err(fidl::Error::NonZeroPadding {
9195 padding_start: offset + 2904 + ((mask as u64).trailing_zeros() / 8) as usize,
9196 });
9197 }
9198 fidl::decode!(
9199 PrimitiveTypes,
9200 fidl::encoding::DefaultFuchsiaResourceDialect,
9201 &mut self.primitive_types,
9202 decoder,
9203 offset + 0,
9204 _depth
9205 )?;
9206 fidl::decode!(
9207 DefaultValues,
9208 fidl::encoding::DefaultFuchsiaResourceDialect,
9209 &mut self.default_values,
9210 decoder,
9211 offset + 48,
9212 _depth
9213 )?;
9214 fidl::decode!(
9215 Arrays,
9216 fidl::encoding::DefaultFuchsiaResourceDialect,
9217 &mut self.arrays,
9218 decoder,
9219 offset + 120,
9220 _depth
9221 )?;
9222 fidl::decode!(
9223 Arrays2d,
9224 fidl::encoding::DefaultFuchsiaResourceDialect,
9225 &mut self.arrays_2d,
9226 decoder,
9227 offset + 328,
9228 _depth
9229 )?;
9230 fidl::decode!(
9231 Vectors,
9232 fidl::encoding::DefaultFuchsiaResourceDialect,
9233 &mut self.vectors,
9234 decoder,
9235 offset + 616,
9236 _depth
9237 )?;
9238 fidl::decode!(
9239 Handles,
9240 fidl::encoding::DefaultFuchsiaResourceDialect,
9241 &mut self.handles,
9242 decoder,
9243 offset + 2536,
9244 _depth
9245 )?;
9246 fidl::decode!(
9247 Strings,
9248 fidl::encoding::DefaultFuchsiaResourceDialect,
9249 &mut self.strings,
9250 decoder,
9251 offset + 2648,
9252 _depth
9253 )?;
9254 fidl::decode!(
9255 DefaultEnum,
9256 fidl::encoding::DefaultFuchsiaResourceDialect,
9257 &mut self.default_enum,
9258 decoder,
9259 offset + 2744,
9260 _depth
9261 )?;
9262 fidl::decode!(
9263 I8Enum,
9264 fidl::encoding::DefaultFuchsiaResourceDialect,
9265 &mut self.i8_enum,
9266 decoder,
9267 offset + 2748,
9268 _depth
9269 )?;
9270 fidl::decode!(
9271 I16Enum,
9272 fidl::encoding::DefaultFuchsiaResourceDialect,
9273 &mut self.i16_enum,
9274 decoder,
9275 offset + 2750,
9276 _depth
9277 )?;
9278 fidl::decode!(
9279 I32Enum,
9280 fidl::encoding::DefaultFuchsiaResourceDialect,
9281 &mut self.i32_enum,
9282 decoder,
9283 offset + 2752,
9284 _depth
9285 )?;
9286 fidl::decode!(
9287 I64Enum,
9288 fidl::encoding::DefaultFuchsiaResourceDialect,
9289 &mut self.i64_enum,
9290 decoder,
9291 offset + 2760,
9292 _depth
9293 )?;
9294 fidl::decode!(
9295 U8Enum,
9296 fidl::encoding::DefaultFuchsiaResourceDialect,
9297 &mut self.u8_enum,
9298 decoder,
9299 offset + 2768,
9300 _depth
9301 )?;
9302 fidl::decode!(
9303 U16Enum,
9304 fidl::encoding::DefaultFuchsiaResourceDialect,
9305 &mut self.u16_enum,
9306 decoder,
9307 offset + 2770,
9308 _depth
9309 )?;
9310 fidl::decode!(
9311 U32Enum,
9312 fidl::encoding::DefaultFuchsiaResourceDialect,
9313 &mut self.u32_enum,
9314 decoder,
9315 offset + 2772,
9316 _depth
9317 )?;
9318 fidl::decode!(
9319 U64Enum,
9320 fidl::encoding::DefaultFuchsiaResourceDialect,
9321 &mut self.u64_enum,
9322 decoder,
9323 offset + 2776,
9324 _depth
9325 )?;
9326 fidl::decode!(
9327 DefaultBits,
9328 fidl::encoding::DefaultFuchsiaResourceDialect,
9329 &mut self.default_bits,
9330 decoder,
9331 offset + 2784,
9332 _depth
9333 )?;
9334 fidl::decode!(
9335 U8Bits,
9336 fidl::encoding::DefaultFuchsiaResourceDialect,
9337 &mut self.u8_bits,
9338 decoder,
9339 offset + 2788,
9340 _depth
9341 )?;
9342 fidl::decode!(
9343 U16Bits,
9344 fidl::encoding::DefaultFuchsiaResourceDialect,
9345 &mut self.u16_bits,
9346 decoder,
9347 offset + 2790,
9348 _depth
9349 )?;
9350 fidl::decode!(
9351 U32Bits,
9352 fidl::encoding::DefaultFuchsiaResourceDialect,
9353 &mut self.u32_bits,
9354 decoder,
9355 offset + 2792,
9356 _depth
9357 )?;
9358 fidl::decode!(
9359 U64Bits,
9360 fidl::encoding::DefaultFuchsiaResourceDialect,
9361 &mut self.u64_bits,
9362 decoder,
9363 offset + 2800,
9364 _depth
9365 )?;
9366 fidl::decode!(
9367 Structs,
9368 fidl::encoding::DefaultFuchsiaResourceDialect,
9369 &mut self.structs,
9370 decoder,
9371 offset + 2808,
9372 _depth
9373 )?;
9374 fidl::decode!(
9375 Unions,
9376 fidl::encoding::DefaultFuchsiaResourceDialect,
9377 &mut self.unions,
9378 decoder,
9379 offset + 2840,
9380 _depth
9381 )?;
9382 fidl::decode!(
9383 ThisIsATable,
9384 fidl::encoding::DefaultFuchsiaResourceDialect,
9385 &mut self.table,
9386 decoder,
9387 offset + 2872,
9388 _depth
9389 )?;
9390 fidl::decode!(
9391 ThisIsAXunion,
9392 fidl::encoding::DefaultFuchsiaResourceDialect,
9393 &mut self.xunion,
9394 decoder,
9395 offset + 2888,
9396 _depth
9397 )?;
9398 fidl::decode!(
9399 bool,
9400 fidl::encoding::DefaultFuchsiaResourceDialect,
9401 &mut self.b,
9402 decoder,
9403 offset + 2904,
9404 _depth
9405 )?;
9406 Ok(())
9407 }
9408 }
9409
9410 impl fidl::encoding::ResourceTypeMarker for VectorsStruct {
9411 type Borrowed<'a> = &'a mut Self;
9412 fn take_or_borrow<'a>(
9413 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
9414 ) -> Self::Borrowed<'a> {
9415 value
9416 }
9417 }
9418
9419 unsafe impl fidl::encoding::TypeMarker for VectorsStruct {
9420 type Owned = Self;
9421
9422 #[inline(always)]
9423 fn inline_align(_context: fidl::encoding::Context) -> usize {
9424 8
9425 }
9426
9427 #[inline(always)]
9428 fn inline_size(_context: fidl::encoding::Context) -> usize {
9429 416
9430 }
9431 }
9432
9433 unsafe impl fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
9434 for &mut VectorsStruct
9435 {
9436 #[inline]
9437 unsafe fn encode(
9438 self,
9439 encoder: &mut fidl::encoding::Encoder<
9440 '_,
9441 fidl::encoding::DefaultFuchsiaResourceDialect,
9442 >,
9443 offset: usize,
9444 _depth: fidl::encoding::Depth,
9445 ) -> fidl::Result<()> {
9446 encoder.debug_check_bounds::<VectorsStruct>(offset);
9447 fidl::encoding::Encode::<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
9449 (
9450 <fidl::encoding::Vector<bool, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.bools),
9451 <fidl::encoding::Vector<i8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int8s),
9452 <fidl::encoding::Vector<i16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int16s),
9453 <fidl::encoding::Vector<i32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int32s),
9454 <fidl::encoding::Vector<i64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.int64s),
9455 <fidl::encoding::Vector<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint8s),
9456 <fidl::encoding::Vector<u16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint16s),
9457 <fidl::encoding::Vector<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint32s),
9458 <fidl::encoding::Vector<u64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.uint64s),
9459 <fidl::encoding::Vector<f32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.float32s),
9460 <fidl::encoding::Vector<f64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.float64s),
9461 <fidl::encoding::Vector<DefaultEnum, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.enums),
9462 <fidl::encoding::Vector<DefaultBits, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.bits),
9463 <fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handles),
9464 <fidl::encoding::Vector<fidl::encoding::Optional<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.nullable_handles),
9465 <fidl::encoding::Vector<fidl::encoding::UnboundedString, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.strings),
9466 <fidl::encoding::Vector<fidl::encoding::Optional<fidl::encoding::UnboundedString>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_strings),
9467 <fidl::encoding::Vector<ThisIsAStruct, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.structs),
9468 <fidl::encoding::Vector<fidl::encoding::Boxed<ThisIsAStruct>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_structs),
9469 <fidl::encoding::Vector<ThisIsAUnion, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.unions),
9470 <fidl::encoding::Vector<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_unions),
9471 <fidl::encoding::Vector<fidl::encoding::Array<u32, 3>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.arrays),
9472 <fidl::encoding::Vector<fidl::encoding::UnboundedVector<u32>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.vectors),
9473 <fidl::encoding::Vector<fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.nullable_vectors),
9474 <fidl::encoding::Vector<ThisIsATable, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.tables),
9475 <fidl::encoding::Vector<ThisIsAXunion, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.xunions),
9476 ),
9477 encoder, offset, _depth
9478 )
9479 }
9480 }
9481 unsafe impl<
9482 T0: fidl::encoding::Encode<
9483 fidl::encoding::Vector<bool, 3>,
9484 fidl::encoding::DefaultFuchsiaResourceDialect,
9485 >,
9486 T1: fidl::encoding::Encode<
9487 fidl::encoding::Vector<i8, 3>,
9488 fidl::encoding::DefaultFuchsiaResourceDialect,
9489 >,
9490 T2: fidl::encoding::Encode<
9491 fidl::encoding::Vector<i16, 3>,
9492 fidl::encoding::DefaultFuchsiaResourceDialect,
9493 >,
9494 T3: fidl::encoding::Encode<
9495 fidl::encoding::Vector<i32, 3>,
9496 fidl::encoding::DefaultFuchsiaResourceDialect,
9497 >,
9498 T4: fidl::encoding::Encode<
9499 fidl::encoding::Vector<i64, 3>,
9500 fidl::encoding::DefaultFuchsiaResourceDialect,
9501 >,
9502 T5: fidl::encoding::Encode<
9503 fidl::encoding::Vector<u8, 3>,
9504 fidl::encoding::DefaultFuchsiaResourceDialect,
9505 >,
9506 T6: fidl::encoding::Encode<
9507 fidl::encoding::Vector<u16, 3>,
9508 fidl::encoding::DefaultFuchsiaResourceDialect,
9509 >,
9510 T7: fidl::encoding::Encode<
9511 fidl::encoding::Vector<u32, 3>,
9512 fidl::encoding::DefaultFuchsiaResourceDialect,
9513 >,
9514 T8: fidl::encoding::Encode<
9515 fidl::encoding::Vector<u64, 3>,
9516 fidl::encoding::DefaultFuchsiaResourceDialect,
9517 >,
9518 T9: fidl::encoding::Encode<
9519 fidl::encoding::Vector<f32, 3>,
9520 fidl::encoding::DefaultFuchsiaResourceDialect,
9521 >,
9522 T10: fidl::encoding::Encode<
9523 fidl::encoding::Vector<f64, 3>,
9524 fidl::encoding::DefaultFuchsiaResourceDialect,
9525 >,
9526 T11: fidl::encoding::Encode<
9527 fidl::encoding::Vector<DefaultEnum, 3>,
9528 fidl::encoding::DefaultFuchsiaResourceDialect,
9529 >,
9530 T12: fidl::encoding::Encode<
9531 fidl::encoding::Vector<DefaultBits, 3>,
9532 fidl::encoding::DefaultFuchsiaResourceDialect,
9533 >,
9534 T13: fidl::encoding::Encode<
9535 fidl::encoding::Vector<
9536 fidl::encoding::HandleType<
9537 fidl::Handle,
9538 { fidl::ObjectType::NONE.into_raw() },
9539 2147483648,
9540 >,
9541 3,
9542 >,
9543 fidl::encoding::DefaultFuchsiaResourceDialect,
9544 >,
9545 T14: fidl::encoding::Encode<
9546 fidl::encoding::Vector<
9547 fidl::encoding::Optional<
9548 fidl::encoding::HandleType<
9549 fidl::Handle,
9550 { fidl::ObjectType::NONE.into_raw() },
9551 2147483648,
9552 >,
9553 >,
9554 3,
9555 >,
9556 fidl::encoding::DefaultFuchsiaResourceDialect,
9557 >,
9558 T15: fidl::encoding::Encode<
9559 fidl::encoding::Vector<fidl::encoding::UnboundedString, 3>,
9560 fidl::encoding::DefaultFuchsiaResourceDialect,
9561 >,
9562 T16: fidl::encoding::Encode<
9563 fidl::encoding::Vector<
9564 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
9565 3,
9566 >,
9567 fidl::encoding::DefaultFuchsiaResourceDialect,
9568 >,
9569 T17: fidl::encoding::Encode<
9570 fidl::encoding::Vector<ThisIsAStruct, 3>,
9571 fidl::encoding::DefaultFuchsiaResourceDialect,
9572 >,
9573 T18: fidl::encoding::Encode<
9574 fidl::encoding::Vector<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
9575 fidl::encoding::DefaultFuchsiaResourceDialect,
9576 >,
9577 T19: fidl::encoding::Encode<
9578 fidl::encoding::Vector<ThisIsAUnion, 3>,
9579 fidl::encoding::DefaultFuchsiaResourceDialect,
9580 >,
9581 T20: fidl::encoding::Encode<
9582 fidl::encoding::Vector<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
9583 fidl::encoding::DefaultFuchsiaResourceDialect,
9584 >,
9585 T21: fidl::encoding::Encode<
9586 fidl::encoding::Vector<fidl::encoding::Array<u32, 3>, 3>,
9587 fidl::encoding::DefaultFuchsiaResourceDialect,
9588 >,
9589 T22: fidl::encoding::Encode<
9590 fidl::encoding::Vector<fidl::encoding::UnboundedVector<u32>, 3>,
9591 fidl::encoding::DefaultFuchsiaResourceDialect,
9592 >,
9593 T23: fidl::encoding::Encode<
9594 fidl::encoding::Vector<
9595 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
9596 3,
9597 >,
9598 fidl::encoding::DefaultFuchsiaResourceDialect,
9599 >,
9600 T24: fidl::encoding::Encode<
9601 fidl::encoding::Vector<ThisIsATable, 3>,
9602 fidl::encoding::DefaultFuchsiaResourceDialect,
9603 >,
9604 T25: fidl::encoding::Encode<
9605 fidl::encoding::Vector<ThisIsAXunion, 3>,
9606 fidl::encoding::DefaultFuchsiaResourceDialect,
9607 >,
9608 > fidl::encoding::Encode<VectorsStruct, fidl::encoding::DefaultFuchsiaResourceDialect>
9609 for (
9610 T0,
9611 T1,
9612 T2,
9613 T3,
9614 T4,
9615 T5,
9616 T6,
9617 T7,
9618 T8,
9619 T9,
9620 T10,
9621 T11,
9622 T12,
9623 T13,
9624 T14,
9625 T15,
9626 T16,
9627 T17,
9628 T18,
9629 T19,
9630 T20,
9631 T21,
9632 T22,
9633 T23,
9634 T24,
9635 T25,
9636 )
9637 {
9638 #[inline]
9639 unsafe fn encode(
9640 self,
9641 encoder: &mut fidl::encoding::Encoder<
9642 '_,
9643 fidl::encoding::DefaultFuchsiaResourceDialect,
9644 >,
9645 offset: usize,
9646 depth: fidl::encoding::Depth,
9647 ) -> fidl::Result<()> {
9648 encoder.debug_check_bounds::<VectorsStruct>(offset);
9649 self.0.encode(encoder, offset + 0, depth)?;
9653 self.1.encode(encoder, offset + 16, depth)?;
9654 self.2.encode(encoder, offset + 32, depth)?;
9655 self.3.encode(encoder, offset + 48, depth)?;
9656 self.4.encode(encoder, offset + 64, depth)?;
9657 self.5.encode(encoder, offset + 80, depth)?;
9658 self.6.encode(encoder, offset + 96, depth)?;
9659 self.7.encode(encoder, offset + 112, depth)?;
9660 self.8.encode(encoder, offset + 128, depth)?;
9661 self.9.encode(encoder, offset + 144, depth)?;
9662 self.10.encode(encoder, offset + 160, depth)?;
9663 self.11.encode(encoder, offset + 176, depth)?;
9664 self.12.encode(encoder, offset + 192, depth)?;
9665 self.13.encode(encoder, offset + 208, depth)?;
9666 self.14.encode(encoder, offset + 224, depth)?;
9667 self.15.encode(encoder, offset + 240, depth)?;
9668 self.16.encode(encoder, offset + 256, depth)?;
9669 self.17.encode(encoder, offset + 272, depth)?;
9670 self.18.encode(encoder, offset + 288, depth)?;
9671 self.19.encode(encoder, offset + 304, depth)?;
9672 self.20.encode(encoder, offset + 320, depth)?;
9673 self.21.encode(encoder, offset + 336, depth)?;
9674 self.22.encode(encoder, offset + 352, depth)?;
9675 self.23.encode(encoder, offset + 368, depth)?;
9676 self.24.encode(encoder, offset + 384, depth)?;
9677 self.25.encode(encoder, offset + 400, depth)?;
9678 Ok(())
9679 }
9680 }
9681
9682 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for VectorsStruct {
9683 #[inline(always)]
9684 fn new_empty() -> Self {
9685 Self {
9686 bools: fidl::new_empty!(fidl::encoding::Vector<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9687 int8s: fidl::new_empty!(fidl::encoding::Vector<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9688 int16s: fidl::new_empty!(fidl::encoding::Vector<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9689 int32s: fidl::new_empty!(fidl::encoding::Vector<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9690 int64s: fidl::new_empty!(fidl::encoding::Vector<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9691 uint8s: fidl::new_empty!(fidl::encoding::Vector<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9692 uint16s: fidl::new_empty!(fidl::encoding::Vector<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9693 uint32s: fidl::new_empty!(fidl::encoding::Vector<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9694 uint64s: fidl::new_empty!(fidl::encoding::Vector<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9695 float32s: fidl::new_empty!(fidl::encoding::Vector<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9696 float64s: fidl::new_empty!(fidl::encoding::Vector<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9697 enums: fidl::new_empty!(fidl::encoding::Vector<DefaultEnum, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9698 bits: fidl::new_empty!(fidl::encoding::Vector<DefaultBits, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9699 handles: fidl::new_empty!(
9700 fidl::encoding::Vector<
9701 fidl::encoding::HandleType<
9702 fidl::Handle,
9703 { fidl::ObjectType::NONE.into_raw() },
9704 2147483648,
9705 >,
9706 3,
9707 >,
9708 fidl::encoding::DefaultFuchsiaResourceDialect
9709 ),
9710 nullable_handles: fidl::new_empty!(
9711 fidl::encoding::Vector<
9712 fidl::encoding::Optional<
9713 fidl::encoding::HandleType<
9714 fidl::Handle,
9715 { fidl::ObjectType::NONE.into_raw() },
9716 2147483648,
9717 >,
9718 >,
9719 3,
9720 >,
9721 fidl::encoding::DefaultFuchsiaResourceDialect
9722 ),
9723 strings: fidl::new_empty!(fidl::encoding::Vector<fidl::encoding::UnboundedString, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9724 nullable_strings: fidl::new_empty!(
9725 fidl::encoding::Vector<
9726 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
9727 3,
9728 >,
9729 fidl::encoding::DefaultFuchsiaResourceDialect
9730 ),
9731 structs: fidl::new_empty!(fidl::encoding::Vector<ThisIsAStruct, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9732 nullable_structs: fidl::new_empty!(
9733 fidl::encoding::Vector<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
9734 fidl::encoding::DefaultFuchsiaResourceDialect
9735 ),
9736 unions: fidl::new_empty!(fidl::encoding::Vector<ThisIsAUnion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9737 nullable_unions: fidl::new_empty!(
9738 fidl::encoding::Vector<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
9739 fidl::encoding::DefaultFuchsiaResourceDialect
9740 ),
9741 arrays: fidl::new_empty!(
9742 fidl::encoding::Vector<fidl::encoding::Array<u32, 3>, 3>,
9743 fidl::encoding::DefaultFuchsiaResourceDialect
9744 ),
9745 vectors: fidl::new_empty!(
9746 fidl::encoding::Vector<fidl::encoding::UnboundedVector<u32>, 3>,
9747 fidl::encoding::DefaultFuchsiaResourceDialect
9748 ),
9749 nullable_vectors: fidl::new_empty!(
9750 fidl::encoding::Vector<
9751 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
9752 3,
9753 >,
9754 fidl::encoding::DefaultFuchsiaResourceDialect
9755 ),
9756 tables: fidl::new_empty!(fidl::encoding::Vector<ThisIsATable, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9757 xunions: fidl::new_empty!(fidl::encoding::Vector<ThisIsAXunion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
9758 }
9759 }
9760
9761 #[inline]
9762 unsafe fn decode(
9763 &mut self,
9764 decoder: &mut fidl::encoding::Decoder<
9765 '_,
9766 fidl::encoding::DefaultFuchsiaResourceDialect,
9767 >,
9768 offset: usize,
9769 _depth: fidl::encoding::Depth,
9770 ) -> fidl::Result<()> {
9771 decoder.debug_check_bounds::<Self>(offset);
9772 fidl::decode!(fidl::encoding::Vector<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bools, decoder, offset + 0, _depth)?;
9774 fidl::decode!(fidl::encoding::Vector<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int8s, decoder, offset + 16, _depth)?;
9775 fidl::decode!(fidl::encoding::Vector<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int16s, decoder, offset + 32, _depth)?;
9776 fidl::decode!(fidl::encoding::Vector<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int32s, decoder, offset + 48, _depth)?;
9777 fidl::decode!(fidl::encoding::Vector<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.int64s, decoder, offset + 64, _depth)?;
9778 fidl::decode!(fidl::encoding::Vector<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint8s, decoder, offset + 80, _depth)?;
9779 fidl::decode!(fidl::encoding::Vector<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint16s, decoder, offset + 96, _depth)?;
9780 fidl::decode!(fidl::encoding::Vector<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint32s, decoder, offset + 112, _depth)?;
9781 fidl::decode!(fidl::encoding::Vector<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.uint64s, decoder, offset + 128, _depth)?;
9782 fidl::decode!(fidl::encoding::Vector<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.float32s, decoder, offset + 144, _depth)?;
9783 fidl::decode!(fidl::encoding::Vector<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.float64s, decoder, offset + 160, _depth)?;
9784 fidl::decode!(fidl::encoding::Vector<DefaultEnum, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.enums, decoder, offset + 176, _depth)?;
9785 fidl::decode!(fidl::encoding::Vector<DefaultBits, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.bits, decoder, offset + 192, _depth)?;
9786 fidl::decode!(
9787 fidl::encoding::Vector<
9788 fidl::encoding::HandleType<
9789 fidl::Handle,
9790 { fidl::ObjectType::NONE.into_raw() },
9791 2147483648,
9792 >,
9793 3,
9794 >,
9795 fidl::encoding::DefaultFuchsiaResourceDialect,
9796 &mut self.handles,
9797 decoder,
9798 offset + 208,
9799 _depth
9800 )?;
9801 fidl::decode!(
9802 fidl::encoding::Vector<
9803 fidl::encoding::Optional<
9804 fidl::encoding::HandleType<
9805 fidl::Handle,
9806 { fidl::ObjectType::NONE.into_raw() },
9807 2147483648,
9808 >,
9809 >,
9810 3,
9811 >,
9812 fidl::encoding::DefaultFuchsiaResourceDialect,
9813 &mut self.nullable_handles,
9814 decoder,
9815 offset + 224,
9816 _depth
9817 )?;
9818 fidl::decode!(fidl::encoding::Vector<fidl::encoding::UnboundedString, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.strings, decoder, offset + 240, _depth)?;
9819 fidl::decode!(
9820 fidl::encoding::Vector<
9821 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
9822 3,
9823 >,
9824 fidl::encoding::DefaultFuchsiaResourceDialect,
9825 &mut self.nullable_strings,
9826 decoder,
9827 offset + 256,
9828 _depth
9829 )?;
9830 fidl::decode!(fidl::encoding::Vector<ThisIsAStruct, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.structs, decoder, offset + 272, _depth)?;
9831 fidl::decode!(
9832 fidl::encoding::Vector<fidl::encoding::Boxed<ThisIsAStruct>, 3>,
9833 fidl::encoding::DefaultFuchsiaResourceDialect,
9834 &mut self.nullable_structs,
9835 decoder,
9836 offset + 288,
9837 _depth
9838 )?;
9839 fidl::decode!(fidl::encoding::Vector<ThisIsAUnion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.unions, decoder, offset + 304, _depth)?;
9840 fidl::decode!(
9841 fidl::encoding::Vector<fidl::encoding::OptionalUnion<ThisIsAUnion>, 3>,
9842 fidl::encoding::DefaultFuchsiaResourceDialect,
9843 &mut self.nullable_unions,
9844 decoder,
9845 offset + 320,
9846 _depth
9847 )?;
9848 fidl::decode!(
9849 fidl::encoding::Vector<fidl::encoding::Array<u32, 3>, 3>,
9850 fidl::encoding::DefaultFuchsiaResourceDialect,
9851 &mut self.arrays,
9852 decoder,
9853 offset + 336,
9854 _depth
9855 )?;
9856 fidl::decode!(
9857 fidl::encoding::Vector<fidl::encoding::UnboundedVector<u32>, 3>,
9858 fidl::encoding::DefaultFuchsiaResourceDialect,
9859 &mut self.vectors,
9860 decoder,
9861 offset + 352,
9862 _depth
9863 )?;
9864 fidl::decode!(
9865 fidl::encoding::Vector<
9866 fidl::encoding::Optional<fidl::encoding::UnboundedVector<u32>>,
9867 3,
9868 >,
9869 fidl::encoding::DefaultFuchsiaResourceDialect,
9870 &mut self.nullable_vectors,
9871 decoder,
9872 offset + 368,
9873 _depth
9874 )?;
9875 fidl::decode!(fidl::encoding::Vector<ThisIsATable, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.tables, decoder, offset + 384, _depth)?;
9876 fidl::decode!(fidl::encoding::Vector<ThisIsAXunion, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.xunions, decoder, offset + 400, _depth)?;
9877 Ok(())
9878 }
9879 }
9880
9881 impl fidl::encoding::ResourceTypeMarker for Arrays {
9882 type Borrowed<'a> = &'a mut Self;
9883 fn take_or_borrow<'a>(
9884 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
9885 ) -> Self::Borrowed<'a> {
9886 value
9887 }
9888 }
9889
9890 unsafe impl fidl::encoding::TypeMarker for Arrays {
9891 type Owned = Self;
9892
9893 #[inline(always)]
9894 fn inline_align(_context: fidl::encoding::Context) -> usize {
9895 8
9896 }
9897
9898 #[inline(always)]
9899 fn inline_size(_context: fidl::encoding::Context) -> usize {
9900 208
9901 }
9902 }
9903
9904 unsafe impl fidl::encoding::Encode<Arrays, fidl::encoding::DefaultFuchsiaResourceDialect>
9905 for &mut Arrays
9906 {
9907 #[inline]
9908 unsafe fn encode(
9909 self,
9910 encoder: &mut fidl::encoding::Encoder<
9911 '_,
9912 fidl::encoding::DefaultFuchsiaResourceDialect,
9913 >,
9914 offset: usize,
9915 _depth: fidl::encoding::Depth,
9916 ) -> fidl::Result<()> {
9917 encoder.debug_check_bounds::<Arrays>(offset);
9918 fidl::encoding::Encode::<Arrays, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
9920 (
9921 <fidl::encoding::Array<bool, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9922 &self.b_0,
9923 ),
9924 <fidl::encoding::Array<i8, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9925 &self.i8_0,
9926 ),
9927 <fidl::encoding::Array<i16, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9928 &self.i16_0,
9929 ),
9930 <fidl::encoding::Array<i32, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9931 &self.i32_0,
9932 ),
9933 <fidl::encoding::Array<i64, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9934 &self.i64_0,
9935 ),
9936 <fidl::encoding::Array<u8, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9937 &self.u8_0,
9938 ),
9939 <fidl::encoding::Array<u16, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9940 &self.u16_0,
9941 ),
9942 <fidl::encoding::Array<u32, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9943 &self.u32_0,
9944 ),
9945 <fidl::encoding::Array<u64, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9946 &self.u64_0,
9947 ),
9948 <fidl::encoding::Array<f32, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9949 &self.f32_0,
9950 ),
9951 <fidl::encoding::Array<f64, 1> as fidl::encoding::ValueTypeMarker>::borrow(
9952 &self.f64_0,
9953 ),
9954 <fidl::encoding::Array<
9955 fidl::encoding::HandleType<
9956 fidl::Handle,
9957 { fidl::ObjectType::NONE.into_raw() },
9958 2147483648,
9959 >,
9960 1,
9961 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
9962 &mut self.handle_0
9963 ),
9964 <fidl::encoding::Array<bool, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9965 &self.b_1,
9966 ),
9967 <fidl::encoding::Array<i8, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9968 &self.i8_1,
9969 ),
9970 <fidl::encoding::Array<i16, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9971 &self.i16_1,
9972 ),
9973 <fidl::encoding::Array<i32, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9974 &self.i32_1,
9975 ),
9976 <fidl::encoding::Array<i64, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9977 &self.i64_1,
9978 ),
9979 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9980 &self.u8_1,
9981 ),
9982 <fidl::encoding::Array<u16, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9983 &self.u16_1,
9984 ),
9985 <fidl::encoding::Array<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9986 &self.u32_1,
9987 ),
9988 <fidl::encoding::Array<u64, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9989 &self.u64_1,
9990 ),
9991 <fidl::encoding::Array<f32, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9992 &self.f32_1,
9993 ),
9994 <fidl::encoding::Array<f64, 3> as fidl::encoding::ValueTypeMarker>::borrow(
9995 &self.f64_1,
9996 ),
9997 <fidl::encoding::Array<
9998 fidl::encoding::HandleType<
9999 fidl::Handle,
10000 { fidl::ObjectType::NONE.into_raw() },
10001 2147483648,
10002 >,
10003 3,
10004 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10005 &mut self.handle_1
10006 ),
10007 ),
10008 encoder,
10009 offset,
10010 _depth,
10011 )
10012 }
10013 }
10014 unsafe impl<
10015 T0: fidl::encoding::Encode<
10016 fidl::encoding::Array<bool, 1>,
10017 fidl::encoding::DefaultFuchsiaResourceDialect,
10018 >,
10019 T1: fidl::encoding::Encode<
10020 fidl::encoding::Array<i8, 1>,
10021 fidl::encoding::DefaultFuchsiaResourceDialect,
10022 >,
10023 T2: fidl::encoding::Encode<
10024 fidl::encoding::Array<i16, 1>,
10025 fidl::encoding::DefaultFuchsiaResourceDialect,
10026 >,
10027 T3: fidl::encoding::Encode<
10028 fidl::encoding::Array<i32, 1>,
10029 fidl::encoding::DefaultFuchsiaResourceDialect,
10030 >,
10031 T4: fidl::encoding::Encode<
10032 fidl::encoding::Array<i64, 1>,
10033 fidl::encoding::DefaultFuchsiaResourceDialect,
10034 >,
10035 T5: fidl::encoding::Encode<
10036 fidl::encoding::Array<u8, 1>,
10037 fidl::encoding::DefaultFuchsiaResourceDialect,
10038 >,
10039 T6: fidl::encoding::Encode<
10040 fidl::encoding::Array<u16, 1>,
10041 fidl::encoding::DefaultFuchsiaResourceDialect,
10042 >,
10043 T7: fidl::encoding::Encode<
10044 fidl::encoding::Array<u32, 1>,
10045 fidl::encoding::DefaultFuchsiaResourceDialect,
10046 >,
10047 T8: fidl::encoding::Encode<
10048 fidl::encoding::Array<u64, 1>,
10049 fidl::encoding::DefaultFuchsiaResourceDialect,
10050 >,
10051 T9: fidl::encoding::Encode<
10052 fidl::encoding::Array<f32, 1>,
10053 fidl::encoding::DefaultFuchsiaResourceDialect,
10054 >,
10055 T10: fidl::encoding::Encode<
10056 fidl::encoding::Array<f64, 1>,
10057 fidl::encoding::DefaultFuchsiaResourceDialect,
10058 >,
10059 T11: fidl::encoding::Encode<
10060 fidl::encoding::Array<
10061 fidl::encoding::HandleType<
10062 fidl::Handle,
10063 { fidl::ObjectType::NONE.into_raw() },
10064 2147483648,
10065 >,
10066 1,
10067 >,
10068 fidl::encoding::DefaultFuchsiaResourceDialect,
10069 >,
10070 T12: fidl::encoding::Encode<
10071 fidl::encoding::Array<bool, 3>,
10072 fidl::encoding::DefaultFuchsiaResourceDialect,
10073 >,
10074 T13: fidl::encoding::Encode<
10075 fidl::encoding::Array<i8, 3>,
10076 fidl::encoding::DefaultFuchsiaResourceDialect,
10077 >,
10078 T14: fidl::encoding::Encode<
10079 fidl::encoding::Array<i16, 3>,
10080 fidl::encoding::DefaultFuchsiaResourceDialect,
10081 >,
10082 T15: fidl::encoding::Encode<
10083 fidl::encoding::Array<i32, 3>,
10084 fidl::encoding::DefaultFuchsiaResourceDialect,
10085 >,
10086 T16: fidl::encoding::Encode<
10087 fidl::encoding::Array<i64, 3>,
10088 fidl::encoding::DefaultFuchsiaResourceDialect,
10089 >,
10090 T17: fidl::encoding::Encode<
10091 fidl::encoding::Array<u8, 3>,
10092 fidl::encoding::DefaultFuchsiaResourceDialect,
10093 >,
10094 T18: fidl::encoding::Encode<
10095 fidl::encoding::Array<u16, 3>,
10096 fidl::encoding::DefaultFuchsiaResourceDialect,
10097 >,
10098 T19: fidl::encoding::Encode<
10099 fidl::encoding::Array<u32, 3>,
10100 fidl::encoding::DefaultFuchsiaResourceDialect,
10101 >,
10102 T20: fidl::encoding::Encode<
10103 fidl::encoding::Array<u64, 3>,
10104 fidl::encoding::DefaultFuchsiaResourceDialect,
10105 >,
10106 T21: fidl::encoding::Encode<
10107 fidl::encoding::Array<f32, 3>,
10108 fidl::encoding::DefaultFuchsiaResourceDialect,
10109 >,
10110 T22: fidl::encoding::Encode<
10111 fidl::encoding::Array<f64, 3>,
10112 fidl::encoding::DefaultFuchsiaResourceDialect,
10113 >,
10114 T23: fidl::encoding::Encode<
10115 fidl::encoding::Array<
10116 fidl::encoding::HandleType<
10117 fidl::Handle,
10118 { fidl::ObjectType::NONE.into_raw() },
10119 2147483648,
10120 >,
10121 3,
10122 >,
10123 fidl::encoding::DefaultFuchsiaResourceDialect,
10124 >,
10125 > fidl::encoding::Encode<Arrays, fidl::encoding::DefaultFuchsiaResourceDialect>
10126 for (
10127 T0,
10128 T1,
10129 T2,
10130 T3,
10131 T4,
10132 T5,
10133 T6,
10134 T7,
10135 T8,
10136 T9,
10137 T10,
10138 T11,
10139 T12,
10140 T13,
10141 T14,
10142 T15,
10143 T16,
10144 T17,
10145 T18,
10146 T19,
10147 T20,
10148 T21,
10149 T22,
10150 T23,
10151 )
10152 {
10153 #[inline]
10154 unsafe fn encode(
10155 self,
10156 encoder: &mut fidl::encoding::Encoder<
10157 '_,
10158 fidl::encoding::DefaultFuchsiaResourceDialect,
10159 >,
10160 offset: usize,
10161 depth: fidl::encoding::Depth,
10162 ) -> fidl::Result<()> {
10163 encoder.debug_check_bounds::<Arrays>(offset);
10164 unsafe {
10167 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
10168 (ptr as *mut u64).write_unaligned(0);
10169 }
10170 unsafe {
10171 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
10172 (ptr as *mut u64).write_unaligned(0);
10173 }
10174 unsafe {
10175 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(72);
10176 (ptr as *mut u64).write_unaligned(0);
10177 }
10178 unsafe {
10179 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(104);
10180 (ptr as *mut u64).write_unaligned(0);
10181 }
10182 unsafe {
10183 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(112);
10184 (ptr as *mut u64).write_unaligned(0);
10185 }
10186 unsafe {
10187 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(160);
10188 (ptr as *mut u64).write_unaligned(0);
10189 }
10190 unsafe {
10191 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(200);
10192 (ptr as *mut u64).write_unaligned(0);
10193 }
10194 self.0.encode(encoder, offset + 0, depth)?;
10196 self.1.encode(encoder, offset + 1, depth)?;
10197 self.2.encode(encoder, offset + 2, depth)?;
10198 self.3.encode(encoder, offset + 4, depth)?;
10199 self.4.encode(encoder, offset + 8, depth)?;
10200 self.5.encode(encoder, offset + 16, depth)?;
10201 self.6.encode(encoder, offset + 18, depth)?;
10202 self.7.encode(encoder, offset + 20, depth)?;
10203 self.8.encode(encoder, offset + 24, depth)?;
10204 self.9.encode(encoder, offset + 32, depth)?;
10205 self.10.encode(encoder, offset + 40, depth)?;
10206 self.11.encode(encoder, offset + 48, depth)?;
10207 self.12.encode(encoder, offset + 52, depth)?;
10208 self.13.encode(encoder, offset + 55, depth)?;
10209 self.14.encode(encoder, offset + 58, depth)?;
10210 self.15.encode(encoder, offset + 64, depth)?;
10211 self.16.encode(encoder, offset + 80, depth)?;
10212 self.17.encode(encoder, offset + 104, depth)?;
10213 self.18.encode(encoder, offset + 108, depth)?;
10214 self.19.encode(encoder, offset + 116, depth)?;
10215 self.20.encode(encoder, offset + 128, depth)?;
10216 self.21.encode(encoder, offset + 152, depth)?;
10217 self.22.encode(encoder, offset + 168, depth)?;
10218 self.23.encode(encoder, offset + 192, depth)?;
10219 Ok(())
10220 }
10221 }
10222
10223 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Arrays {
10224 #[inline(always)]
10225 fn new_empty() -> Self {
10226 Self {
10227 b_0: fidl::new_empty!(fidl::encoding::Array<bool, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10228 i8_0: fidl::new_empty!(fidl::encoding::Array<i8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10229 i16_0: fidl::new_empty!(fidl::encoding::Array<i16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10230 i32_0: fidl::new_empty!(fidl::encoding::Array<i32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10231 i64_0: fidl::new_empty!(fidl::encoding::Array<i64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10232 u8_0: fidl::new_empty!(fidl::encoding::Array<u8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10233 u16_0: fidl::new_empty!(fidl::encoding::Array<u16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10234 u32_0: fidl::new_empty!(fidl::encoding::Array<u32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10235 u64_0: fidl::new_empty!(fidl::encoding::Array<u64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10236 f32_0: fidl::new_empty!(fidl::encoding::Array<f32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10237 f64_0: fidl::new_empty!(fidl::encoding::Array<f64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
10238 handle_0: fidl::new_empty!(
10239 fidl::encoding::Array<
10240 fidl::encoding::HandleType<
10241 fidl::Handle,
10242 { fidl::ObjectType::NONE.into_raw() },
10243 2147483648,
10244 >,
10245 1,
10246 >,
10247 fidl::encoding::DefaultFuchsiaResourceDialect
10248 ),
10249 b_1: fidl::new_empty!(fidl::encoding::Array<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10250 i8_1: fidl::new_empty!(fidl::encoding::Array<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10251 i16_1: fidl::new_empty!(fidl::encoding::Array<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10252 i32_1: fidl::new_empty!(fidl::encoding::Array<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10253 i64_1: fidl::new_empty!(fidl::encoding::Array<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10254 u8_1: fidl::new_empty!(fidl::encoding::Array<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10255 u16_1: fidl::new_empty!(fidl::encoding::Array<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10256 u32_1: fidl::new_empty!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10257 u64_1: fidl::new_empty!(fidl::encoding::Array<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10258 f32_1: fidl::new_empty!(fidl::encoding::Array<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10259 f64_1: fidl::new_empty!(fidl::encoding::Array<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
10260 handle_1: fidl::new_empty!(
10261 fidl::encoding::Array<
10262 fidl::encoding::HandleType<
10263 fidl::Handle,
10264 { fidl::ObjectType::NONE.into_raw() },
10265 2147483648,
10266 >,
10267 3,
10268 >,
10269 fidl::encoding::DefaultFuchsiaResourceDialect
10270 ),
10271 }
10272 }
10273
10274 #[inline]
10275 unsafe fn decode(
10276 &mut self,
10277 decoder: &mut fidl::encoding::Decoder<
10278 '_,
10279 fidl::encoding::DefaultFuchsiaResourceDialect,
10280 >,
10281 offset: usize,
10282 _depth: fidl::encoding::Depth,
10283 ) -> fidl::Result<()> {
10284 decoder.debug_check_bounds::<Self>(offset);
10285 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
10287 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10288 let mask = 0xff00u64;
10289 let maskedval = padval & mask;
10290 if maskedval != 0 {
10291 return Err(fidl::Error::NonZeroPadding {
10292 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
10293 });
10294 }
10295 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
10296 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10297 let mask = 0xffffffff00000000u64;
10298 let maskedval = padval & mask;
10299 if maskedval != 0 {
10300 return Err(fidl::Error::NonZeroPadding {
10301 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
10302 });
10303 }
10304 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(72) };
10305 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10306 let mask = 0xffffffff00000000u64;
10307 let maskedval = padval & mask;
10308 if maskedval != 0 {
10309 return Err(fidl::Error::NonZeroPadding {
10310 padding_start: offset + 72 + ((mask as u64).trailing_zeros() / 8) as usize,
10311 });
10312 }
10313 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(104) };
10314 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10315 let mask = 0xff000000u64;
10316 let maskedval = padval & mask;
10317 if maskedval != 0 {
10318 return Err(fidl::Error::NonZeroPadding {
10319 padding_start: offset + 104 + ((mask as u64).trailing_zeros() / 8) as usize,
10320 });
10321 }
10322 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(112) };
10323 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10324 let mask = 0xffff0000u64;
10325 let maskedval = padval & mask;
10326 if maskedval != 0 {
10327 return Err(fidl::Error::NonZeroPadding {
10328 padding_start: offset + 112 + ((mask as u64).trailing_zeros() / 8) as usize,
10329 });
10330 }
10331 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(160) };
10332 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10333 let mask = 0xffffffff00000000u64;
10334 let maskedval = padval & mask;
10335 if maskedval != 0 {
10336 return Err(fidl::Error::NonZeroPadding {
10337 padding_start: offset + 160 + ((mask as u64).trailing_zeros() / 8) as usize,
10338 });
10339 }
10340 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(200) };
10341 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10342 let mask = 0xffffffff00000000u64;
10343 let maskedval = padval & mask;
10344 if maskedval != 0 {
10345 return Err(fidl::Error::NonZeroPadding {
10346 padding_start: offset + 200 + ((mask as u64).trailing_zeros() / 8) as usize,
10347 });
10348 }
10349 fidl::decode!(fidl::encoding::Array<bool, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.b_0, decoder, offset + 0, _depth)?;
10350 fidl::decode!(fidl::encoding::Array<i8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i8_0, decoder, offset + 1, _depth)?;
10351 fidl::decode!(fidl::encoding::Array<i16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i16_0, decoder, offset + 2, _depth)?;
10352 fidl::decode!(fidl::encoding::Array<i32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i32_0, decoder, offset + 4, _depth)?;
10353 fidl::decode!(fidl::encoding::Array<i64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i64_0, decoder, offset + 8, _depth)?;
10354 fidl::decode!(fidl::encoding::Array<u8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u8_0, decoder, offset + 16, _depth)?;
10355 fidl::decode!(fidl::encoding::Array<u16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u16_0, decoder, offset + 18, _depth)?;
10356 fidl::decode!(fidl::encoding::Array<u32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u32_0, decoder, offset + 20, _depth)?;
10357 fidl::decode!(fidl::encoding::Array<u64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u64_0, decoder, offset + 24, _depth)?;
10358 fidl::decode!(fidl::encoding::Array<f32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f32_0, decoder, offset + 32, _depth)?;
10359 fidl::decode!(fidl::encoding::Array<f64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f64_0, decoder, offset + 40, _depth)?;
10360 fidl::decode!(
10361 fidl::encoding::Array<
10362 fidl::encoding::HandleType<
10363 fidl::Handle,
10364 { fidl::ObjectType::NONE.into_raw() },
10365 2147483648,
10366 >,
10367 1,
10368 >,
10369 fidl::encoding::DefaultFuchsiaResourceDialect,
10370 &mut self.handle_0,
10371 decoder,
10372 offset + 48,
10373 _depth
10374 )?;
10375 fidl::decode!(fidl::encoding::Array<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.b_1, decoder, offset + 52, _depth)?;
10376 fidl::decode!(fidl::encoding::Array<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i8_1, decoder, offset + 55, _depth)?;
10377 fidl::decode!(fidl::encoding::Array<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i16_1, decoder, offset + 58, _depth)?;
10378 fidl::decode!(fidl::encoding::Array<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i32_1, decoder, offset + 64, _depth)?;
10379 fidl::decode!(fidl::encoding::Array<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i64_1, decoder, offset + 80, _depth)?;
10380 fidl::decode!(fidl::encoding::Array<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u8_1, decoder, offset + 104, _depth)?;
10381 fidl::decode!(fidl::encoding::Array<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u16_1, decoder, offset + 108, _depth)?;
10382 fidl::decode!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u32_1, decoder, offset + 116, _depth)?;
10383 fidl::decode!(fidl::encoding::Array<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u64_1, decoder, offset + 128, _depth)?;
10384 fidl::decode!(fidl::encoding::Array<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f32_1, decoder, offset + 152, _depth)?;
10385 fidl::decode!(fidl::encoding::Array<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f64_1, decoder, offset + 168, _depth)?;
10386 fidl::decode!(
10387 fidl::encoding::Array<
10388 fidl::encoding::HandleType<
10389 fidl::Handle,
10390 { fidl::ObjectType::NONE.into_raw() },
10391 2147483648,
10392 >,
10393 3,
10394 >,
10395 fidl::encoding::DefaultFuchsiaResourceDialect,
10396 &mut self.handle_1,
10397 decoder,
10398 offset + 192,
10399 _depth
10400 )?;
10401 Ok(())
10402 }
10403 }
10404
10405 impl fidl::encoding::ResourceTypeMarker for Arrays2d {
10406 type Borrowed<'a> = &'a mut Self;
10407 fn take_or_borrow<'a>(
10408 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
10409 ) -> Self::Borrowed<'a> {
10410 value
10411 }
10412 }
10413
10414 unsafe impl fidl::encoding::TypeMarker for Arrays2d {
10415 type Owned = Self;
10416
10417 #[inline(always)]
10418 fn inline_align(_context: fidl::encoding::Context) -> usize {
10419 8
10420 }
10421
10422 #[inline(always)]
10423 fn inline_size(_context: fidl::encoding::Context) -> usize {
10424 288
10425 }
10426 }
10427
10428 unsafe impl fidl::encoding::Encode<Arrays2d, fidl::encoding::DefaultFuchsiaResourceDialect>
10429 for &mut Arrays2d
10430 {
10431 #[inline]
10432 unsafe fn encode(
10433 self,
10434 encoder: &mut fidl::encoding::Encoder<
10435 '_,
10436 fidl::encoding::DefaultFuchsiaResourceDialect,
10437 >,
10438 offset: usize,
10439 _depth: fidl::encoding::Depth,
10440 ) -> fidl::Result<()> {
10441 encoder.debug_check_bounds::<Arrays2d>(offset);
10442 fidl::encoding::Encode::<Arrays2d, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
10444 (
10445 <fidl::encoding::Array<fidl::encoding::Array<bool, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.b),
10446 <fidl::encoding::Array<fidl::encoding::Array<i8, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8),
10447 <fidl::encoding::Array<fidl::encoding::Array<i16, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16),
10448 <fidl::encoding::Array<fidl::encoding::Array<i32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32),
10449 <fidl::encoding::Array<fidl::encoding::Array<i64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64),
10450 <fidl::encoding::Array<fidl::encoding::Array<u8, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8),
10451 <fidl::encoding::Array<fidl::encoding::Array<u16, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16),
10452 <fidl::encoding::Array<fidl::encoding::Array<u32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32),
10453 <fidl::encoding::Array<fidl::encoding::Array<u64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64),
10454 <fidl::encoding::Array<fidl::encoding::Array<f32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32),
10455 <fidl::encoding::Array<fidl::encoding::Array<f64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64),
10456 <fidl::encoding::Array<fidl::encoding::Array<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_handle),
10457 ),
10458 encoder, offset, _depth
10459 )
10460 }
10461 }
10462 unsafe impl<
10463 T0: fidl::encoding::Encode<
10464 fidl::encoding::Array<fidl::encoding::Array<bool, 2>, 3>,
10465 fidl::encoding::DefaultFuchsiaResourceDialect,
10466 >,
10467 T1: fidl::encoding::Encode<
10468 fidl::encoding::Array<fidl::encoding::Array<i8, 2>, 3>,
10469 fidl::encoding::DefaultFuchsiaResourceDialect,
10470 >,
10471 T2: fidl::encoding::Encode<
10472 fidl::encoding::Array<fidl::encoding::Array<i16, 2>, 3>,
10473 fidl::encoding::DefaultFuchsiaResourceDialect,
10474 >,
10475 T3: fidl::encoding::Encode<
10476 fidl::encoding::Array<fidl::encoding::Array<i32, 2>, 3>,
10477 fidl::encoding::DefaultFuchsiaResourceDialect,
10478 >,
10479 T4: fidl::encoding::Encode<
10480 fidl::encoding::Array<fidl::encoding::Array<i64, 2>, 3>,
10481 fidl::encoding::DefaultFuchsiaResourceDialect,
10482 >,
10483 T5: fidl::encoding::Encode<
10484 fidl::encoding::Array<fidl::encoding::Array<u8, 2>, 3>,
10485 fidl::encoding::DefaultFuchsiaResourceDialect,
10486 >,
10487 T6: fidl::encoding::Encode<
10488 fidl::encoding::Array<fidl::encoding::Array<u16, 2>, 3>,
10489 fidl::encoding::DefaultFuchsiaResourceDialect,
10490 >,
10491 T7: fidl::encoding::Encode<
10492 fidl::encoding::Array<fidl::encoding::Array<u32, 2>, 3>,
10493 fidl::encoding::DefaultFuchsiaResourceDialect,
10494 >,
10495 T8: fidl::encoding::Encode<
10496 fidl::encoding::Array<fidl::encoding::Array<u64, 2>, 3>,
10497 fidl::encoding::DefaultFuchsiaResourceDialect,
10498 >,
10499 T9: fidl::encoding::Encode<
10500 fidl::encoding::Array<fidl::encoding::Array<f32, 2>, 3>,
10501 fidl::encoding::DefaultFuchsiaResourceDialect,
10502 >,
10503 T10: fidl::encoding::Encode<
10504 fidl::encoding::Array<fidl::encoding::Array<f64, 2>, 3>,
10505 fidl::encoding::DefaultFuchsiaResourceDialect,
10506 >,
10507 T11: fidl::encoding::Encode<
10508 fidl::encoding::Array<
10509 fidl::encoding::Array<
10510 fidl::encoding::HandleType<
10511 fidl::Handle,
10512 { fidl::ObjectType::NONE.into_raw() },
10513 2147483648,
10514 >,
10515 2,
10516 >,
10517 3,
10518 >,
10519 fidl::encoding::DefaultFuchsiaResourceDialect,
10520 >,
10521 > fidl::encoding::Encode<Arrays2d, fidl::encoding::DefaultFuchsiaResourceDialect>
10522 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
10523 {
10524 #[inline]
10525 unsafe fn encode(
10526 self,
10527 encoder: &mut fidl::encoding::Encoder<
10528 '_,
10529 fidl::encoding::DefaultFuchsiaResourceDialect,
10530 >,
10531 offset: usize,
10532 depth: fidl::encoding::Depth,
10533 ) -> fidl::Result<()> {
10534 encoder.debug_check_bounds::<Arrays2d>(offset);
10535 unsafe {
10538 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(112);
10539 (ptr as *mut u64).write_unaligned(0);
10540 }
10541 unsafe {
10542 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(136);
10543 (ptr as *mut u64).write_unaligned(0);
10544 }
10545 self.0.encode(encoder, offset + 0, depth)?;
10547 self.1.encode(encoder, offset + 6, depth)?;
10548 self.2.encode(encoder, offset + 12, depth)?;
10549 self.3.encode(encoder, offset + 24, depth)?;
10550 self.4.encode(encoder, offset + 48, depth)?;
10551 self.5.encode(encoder, offset + 96, depth)?;
10552 self.6.encode(encoder, offset + 102, depth)?;
10553 self.7.encode(encoder, offset + 116, depth)?;
10554 self.8.encode(encoder, offset + 144, depth)?;
10555 self.9.encode(encoder, offset + 192, depth)?;
10556 self.10.encode(encoder, offset + 216, depth)?;
10557 self.11.encode(encoder, offset + 264, depth)?;
10558 Ok(())
10559 }
10560 }
10561
10562 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Arrays2d {
10563 #[inline(always)]
10564 fn new_empty() -> Self {
10565 Self {
10566 b: fidl::new_empty!(
10567 fidl::encoding::Array<fidl::encoding::Array<bool, 2>, 3>,
10568 fidl::encoding::DefaultFuchsiaResourceDialect
10569 ),
10570 i8: fidl::new_empty!(
10571 fidl::encoding::Array<fidl::encoding::Array<i8, 2>, 3>,
10572 fidl::encoding::DefaultFuchsiaResourceDialect
10573 ),
10574 i16: fidl::new_empty!(
10575 fidl::encoding::Array<fidl::encoding::Array<i16, 2>, 3>,
10576 fidl::encoding::DefaultFuchsiaResourceDialect
10577 ),
10578 i32: fidl::new_empty!(
10579 fidl::encoding::Array<fidl::encoding::Array<i32, 2>, 3>,
10580 fidl::encoding::DefaultFuchsiaResourceDialect
10581 ),
10582 i64: fidl::new_empty!(
10583 fidl::encoding::Array<fidl::encoding::Array<i64, 2>, 3>,
10584 fidl::encoding::DefaultFuchsiaResourceDialect
10585 ),
10586 u8: fidl::new_empty!(
10587 fidl::encoding::Array<fidl::encoding::Array<u8, 2>, 3>,
10588 fidl::encoding::DefaultFuchsiaResourceDialect
10589 ),
10590 u16: fidl::new_empty!(
10591 fidl::encoding::Array<fidl::encoding::Array<u16, 2>, 3>,
10592 fidl::encoding::DefaultFuchsiaResourceDialect
10593 ),
10594 u32: fidl::new_empty!(
10595 fidl::encoding::Array<fidl::encoding::Array<u32, 2>, 3>,
10596 fidl::encoding::DefaultFuchsiaResourceDialect
10597 ),
10598 u64: fidl::new_empty!(
10599 fidl::encoding::Array<fidl::encoding::Array<u64, 2>, 3>,
10600 fidl::encoding::DefaultFuchsiaResourceDialect
10601 ),
10602 f32: fidl::new_empty!(
10603 fidl::encoding::Array<fidl::encoding::Array<f32, 2>, 3>,
10604 fidl::encoding::DefaultFuchsiaResourceDialect
10605 ),
10606 f64: fidl::new_empty!(
10607 fidl::encoding::Array<fidl::encoding::Array<f64, 2>, 3>,
10608 fidl::encoding::DefaultFuchsiaResourceDialect
10609 ),
10610 handle_handle: fidl::new_empty!(
10611 fidl::encoding::Array<
10612 fidl::encoding::Array<
10613 fidl::encoding::HandleType<
10614 fidl::Handle,
10615 { fidl::ObjectType::NONE.into_raw() },
10616 2147483648,
10617 >,
10618 2,
10619 >,
10620 3,
10621 >,
10622 fidl::encoding::DefaultFuchsiaResourceDialect
10623 ),
10624 }
10625 }
10626
10627 #[inline]
10628 unsafe fn decode(
10629 &mut self,
10630 decoder: &mut fidl::encoding::Decoder<
10631 '_,
10632 fidl::encoding::DefaultFuchsiaResourceDialect,
10633 >,
10634 offset: usize,
10635 _depth: fidl::encoding::Depth,
10636 ) -> fidl::Result<()> {
10637 decoder.debug_check_bounds::<Self>(offset);
10638 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(112) };
10640 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10641 let mask = 0xffff0000u64;
10642 let maskedval = padval & mask;
10643 if maskedval != 0 {
10644 return Err(fidl::Error::NonZeroPadding {
10645 padding_start: offset + 112 + ((mask as u64).trailing_zeros() / 8) as usize,
10646 });
10647 }
10648 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(136) };
10649 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10650 let mask = 0xffffffff00000000u64;
10651 let maskedval = padval & mask;
10652 if maskedval != 0 {
10653 return Err(fidl::Error::NonZeroPadding {
10654 padding_start: offset + 136 + ((mask as u64).trailing_zeros() / 8) as usize,
10655 });
10656 }
10657 fidl::decode!(
10658 fidl::encoding::Array<fidl::encoding::Array<bool, 2>, 3>,
10659 fidl::encoding::DefaultFuchsiaResourceDialect,
10660 &mut self.b,
10661 decoder,
10662 offset + 0,
10663 _depth
10664 )?;
10665 fidl::decode!(
10666 fidl::encoding::Array<fidl::encoding::Array<i8, 2>, 3>,
10667 fidl::encoding::DefaultFuchsiaResourceDialect,
10668 &mut self.i8,
10669 decoder,
10670 offset + 6,
10671 _depth
10672 )?;
10673 fidl::decode!(
10674 fidl::encoding::Array<fidl::encoding::Array<i16, 2>, 3>,
10675 fidl::encoding::DefaultFuchsiaResourceDialect,
10676 &mut self.i16,
10677 decoder,
10678 offset + 12,
10679 _depth
10680 )?;
10681 fidl::decode!(
10682 fidl::encoding::Array<fidl::encoding::Array<i32, 2>, 3>,
10683 fidl::encoding::DefaultFuchsiaResourceDialect,
10684 &mut self.i32,
10685 decoder,
10686 offset + 24,
10687 _depth
10688 )?;
10689 fidl::decode!(
10690 fidl::encoding::Array<fidl::encoding::Array<i64, 2>, 3>,
10691 fidl::encoding::DefaultFuchsiaResourceDialect,
10692 &mut self.i64,
10693 decoder,
10694 offset + 48,
10695 _depth
10696 )?;
10697 fidl::decode!(
10698 fidl::encoding::Array<fidl::encoding::Array<u8, 2>, 3>,
10699 fidl::encoding::DefaultFuchsiaResourceDialect,
10700 &mut self.u8,
10701 decoder,
10702 offset + 96,
10703 _depth
10704 )?;
10705 fidl::decode!(
10706 fidl::encoding::Array<fidl::encoding::Array<u16, 2>, 3>,
10707 fidl::encoding::DefaultFuchsiaResourceDialect,
10708 &mut self.u16,
10709 decoder,
10710 offset + 102,
10711 _depth
10712 )?;
10713 fidl::decode!(
10714 fidl::encoding::Array<fidl::encoding::Array<u32, 2>, 3>,
10715 fidl::encoding::DefaultFuchsiaResourceDialect,
10716 &mut self.u32,
10717 decoder,
10718 offset + 116,
10719 _depth
10720 )?;
10721 fidl::decode!(
10722 fidl::encoding::Array<fidl::encoding::Array<u64, 2>, 3>,
10723 fidl::encoding::DefaultFuchsiaResourceDialect,
10724 &mut self.u64,
10725 decoder,
10726 offset + 144,
10727 _depth
10728 )?;
10729 fidl::decode!(
10730 fidl::encoding::Array<fidl::encoding::Array<f32, 2>, 3>,
10731 fidl::encoding::DefaultFuchsiaResourceDialect,
10732 &mut self.f32,
10733 decoder,
10734 offset + 192,
10735 _depth
10736 )?;
10737 fidl::decode!(
10738 fidl::encoding::Array<fidl::encoding::Array<f64, 2>, 3>,
10739 fidl::encoding::DefaultFuchsiaResourceDialect,
10740 &mut self.f64,
10741 decoder,
10742 offset + 216,
10743 _depth
10744 )?;
10745 fidl::decode!(
10746 fidl::encoding::Array<
10747 fidl::encoding::Array<
10748 fidl::encoding::HandleType<
10749 fidl::Handle,
10750 { fidl::ObjectType::NONE.into_raw() },
10751 2147483648,
10752 >,
10753 2,
10754 >,
10755 3,
10756 >,
10757 fidl::encoding::DefaultFuchsiaResourceDialect,
10758 &mut self.handle_handle,
10759 decoder,
10760 offset + 264,
10761 _depth
10762 )?;
10763 Ok(())
10764 }
10765 }
10766
10767 impl fidl::encoding::ResourceTypeMarker for Handles {
10768 type Borrowed<'a> = &'a mut Self;
10769 fn take_or_borrow<'a>(
10770 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
10771 ) -> Self::Borrowed<'a> {
10772 value
10773 }
10774 }
10775
10776 unsafe impl fidl::encoding::TypeMarker for Handles {
10777 type Owned = Self;
10778
10779 #[inline(always)]
10780 fn inline_align(_context: fidl::encoding::Context) -> usize {
10781 4
10782 }
10783
10784 #[inline(always)]
10785 fn inline_size(_context: fidl::encoding::Context) -> usize {
10786 108
10787 }
10788 }
10789
10790 unsafe impl fidl::encoding::Encode<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>
10791 for &mut Handles
10792 {
10793 #[inline]
10794 unsafe fn encode(
10795 self,
10796 encoder: &mut fidl::encoding::Encoder<
10797 '_,
10798 fidl::encoding::DefaultFuchsiaResourceDialect,
10799 >,
10800 offset: usize,
10801 _depth: fidl::encoding::Depth,
10802 ) -> fidl::Result<()> {
10803 encoder.debug_check_bounds::<Handles>(offset);
10804 fidl::encoding::Encode::<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
10806 (
10807 <fidl::encoding::HandleType<
10808 fidl::Handle,
10809 { fidl::ObjectType::NONE.into_raw() },
10810 2147483648,
10811 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10812 &mut self.handle_handle,
10813 ),
10814 <fidl::encoding::HandleType<
10815 fidl::Process,
10816 { fidl::ObjectType::PROCESS.into_raw() },
10817 2147483648,
10818 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10819 &mut self.process_handle,
10820 ),
10821 <fidl::encoding::HandleType<
10822 fidl::Thread,
10823 { fidl::ObjectType::THREAD.into_raw() },
10824 2147483648,
10825 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10826 &mut self.thread_handle,
10827 ),
10828 <fidl::encoding::HandleType<
10829 fidl::Vmo,
10830 { fidl::ObjectType::VMO.into_raw() },
10831 2147483648,
10832 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10833 &mut self.vmo_handle
10834 ),
10835 <fidl::encoding::HandleType<
10836 fidl::Event,
10837 { fidl::ObjectType::EVENT.into_raw() },
10838 2147483648,
10839 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10840 &mut self.event_handle,
10841 ),
10842 <fidl::encoding::HandleType<
10843 fidl::Port,
10844 { fidl::ObjectType::PORT.into_raw() },
10845 2147483648,
10846 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10847 &mut self.port_handle
10848 ),
10849 <fidl::encoding::HandleType<
10850 fidl::Socket,
10851 { fidl::ObjectType::SOCKET.into_raw() },
10852 2147483648,
10853 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10854 &mut self.socket_handle,
10855 ),
10856 <fidl::encoding::HandleType<
10857 fidl::EventPair,
10858 { fidl::ObjectType::EVENTPAIR.into_raw() },
10859 2147483648,
10860 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10861 &mut self.eventpair_handle,
10862 ),
10863 <fidl::encoding::HandleType<
10864 fidl::Job,
10865 { fidl::ObjectType::JOB.into_raw() },
10866 2147483648,
10867 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10868 &mut self.job_handle
10869 ),
10870 <fidl::encoding::HandleType<
10871 fidl::Vmar,
10872 { fidl::ObjectType::VMAR.into_raw() },
10873 2147483648,
10874 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10875 &mut self.vmar_handle
10876 ),
10877 <fidl::encoding::HandleType<
10878 fidl::Fifo,
10879 { fidl::ObjectType::FIFO.into_raw() },
10880 2147483648,
10881 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10882 &mut self.fifo_handle
10883 ),
10884 <fidl::encoding::HandleType<
10885 fidl::Timer,
10886 { fidl::ObjectType::TIMER.into_raw() },
10887 2147483648,
10888 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10889 &mut self.timer_handle,
10890 ),
10891 <fidl::encoding::Optional<
10892 fidl::encoding::HandleType<
10893 fidl::Handle,
10894 { fidl::ObjectType::NONE.into_raw() },
10895 2147483648,
10896 >,
10897 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10898 &mut self.nullable_handle_handle,
10899 ),
10900 <fidl::encoding::Optional<
10901 fidl::encoding::HandleType<
10902 fidl::Process,
10903 { fidl::ObjectType::PROCESS.into_raw() },
10904 2147483648,
10905 >,
10906 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10907 &mut self.nullable_process_handle,
10908 ),
10909 <fidl::encoding::Optional<
10910 fidl::encoding::HandleType<
10911 fidl::Thread,
10912 { fidl::ObjectType::THREAD.into_raw() },
10913 2147483648,
10914 >,
10915 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10916 &mut self.nullable_thread_handle,
10917 ),
10918 <fidl::encoding::Optional<
10919 fidl::encoding::HandleType<
10920 fidl::Vmo,
10921 { fidl::ObjectType::VMO.into_raw() },
10922 2147483648,
10923 >,
10924 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10925 &mut self.nullable_vmo_handle,
10926 ),
10927 <fidl::encoding::Optional<
10928 fidl::encoding::HandleType<
10929 fidl::Channel,
10930 { fidl::ObjectType::CHANNEL.into_raw() },
10931 2147483648,
10932 >,
10933 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10934 &mut self.nullable_channel_handle,
10935 ),
10936 <fidl::encoding::Optional<
10937 fidl::encoding::HandleType<
10938 fidl::Event,
10939 { fidl::ObjectType::EVENT.into_raw() },
10940 2147483648,
10941 >,
10942 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10943 &mut self.nullable_event_handle,
10944 ),
10945 <fidl::encoding::Optional<
10946 fidl::encoding::HandleType<
10947 fidl::Port,
10948 { fidl::ObjectType::PORT.into_raw() },
10949 2147483648,
10950 >,
10951 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10952 &mut self.nullable_port_handle,
10953 ),
10954 <fidl::encoding::Optional<
10955 fidl::encoding::HandleType<
10956 fidl::Interrupt,
10957 { fidl::ObjectType::INTERRUPT.into_raw() },
10958 2147483648,
10959 >,
10960 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10961 &mut self.nullable_interrupt_handle,
10962 ),
10963 <fidl::encoding::Optional<
10964 fidl::encoding::HandleType<
10965 fidl::DebugLog,
10966 { fidl::ObjectType::DEBUGLOG.into_raw() },
10967 2147483648,
10968 >,
10969 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10970 &mut self.nullable_log_handle,
10971 ),
10972 <fidl::encoding::Optional<
10973 fidl::encoding::HandleType<
10974 fidl::Socket,
10975 { fidl::ObjectType::SOCKET.into_raw() },
10976 2147483648,
10977 >,
10978 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10979 &mut self.nullable_socket_handle,
10980 ),
10981 <fidl::encoding::Optional<
10982 fidl::encoding::HandleType<
10983 fidl::EventPair,
10984 { fidl::ObjectType::EVENTPAIR.into_raw() },
10985 2147483648,
10986 >,
10987 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10988 &mut self.nullable_eventpair_handle,
10989 ),
10990 <fidl::encoding::Optional<
10991 fidl::encoding::HandleType<
10992 fidl::Job,
10993 { fidl::ObjectType::JOB.into_raw() },
10994 2147483648,
10995 >,
10996 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
10997 &mut self.nullable_job_handle,
10998 ),
10999 <fidl::encoding::Optional<
11000 fidl::encoding::HandleType<
11001 fidl::Vmar,
11002 { fidl::ObjectType::VMAR.into_raw() },
11003 2147483648,
11004 >,
11005 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11006 &mut self.nullable_vmar_handle,
11007 ),
11008 <fidl::encoding::Optional<
11009 fidl::encoding::HandleType<
11010 fidl::Fifo,
11011 { fidl::ObjectType::FIFO.into_raw() },
11012 2147483648,
11013 >,
11014 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11015 &mut self.nullable_fifo_handle,
11016 ),
11017 <fidl::encoding::Optional<
11018 fidl::encoding::HandleType<
11019 fidl::Timer,
11020 { fidl::ObjectType::TIMER.into_raw() },
11021 2147483648,
11022 >,
11023 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
11024 &mut self.nullable_timer_handle,
11025 ),
11026 ),
11027 encoder,
11028 offset,
11029 _depth,
11030 )
11031 }
11032 }
11033 unsafe impl<
11034 T0: fidl::encoding::Encode<
11035 fidl::encoding::HandleType<
11036 fidl::Handle,
11037 { fidl::ObjectType::NONE.into_raw() },
11038 2147483648,
11039 >,
11040 fidl::encoding::DefaultFuchsiaResourceDialect,
11041 >,
11042 T1: fidl::encoding::Encode<
11043 fidl::encoding::HandleType<
11044 fidl::Process,
11045 { fidl::ObjectType::PROCESS.into_raw() },
11046 2147483648,
11047 >,
11048 fidl::encoding::DefaultFuchsiaResourceDialect,
11049 >,
11050 T2: fidl::encoding::Encode<
11051 fidl::encoding::HandleType<
11052 fidl::Thread,
11053 { fidl::ObjectType::THREAD.into_raw() },
11054 2147483648,
11055 >,
11056 fidl::encoding::DefaultFuchsiaResourceDialect,
11057 >,
11058 T3: fidl::encoding::Encode<
11059 fidl::encoding::HandleType<
11060 fidl::Vmo,
11061 { fidl::ObjectType::VMO.into_raw() },
11062 2147483648,
11063 >,
11064 fidl::encoding::DefaultFuchsiaResourceDialect,
11065 >,
11066 T4: fidl::encoding::Encode<
11067 fidl::encoding::HandleType<
11068 fidl::Event,
11069 { fidl::ObjectType::EVENT.into_raw() },
11070 2147483648,
11071 >,
11072 fidl::encoding::DefaultFuchsiaResourceDialect,
11073 >,
11074 T5: fidl::encoding::Encode<
11075 fidl::encoding::HandleType<
11076 fidl::Port,
11077 { fidl::ObjectType::PORT.into_raw() },
11078 2147483648,
11079 >,
11080 fidl::encoding::DefaultFuchsiaResourceDialect,
11081 >,
11082 T6: fidl::encoding::Encode<
11083 fidl::encoding::HandleType<
11084 fidl::Socket,
11085 { fidl::ObjectType::SOCKET.into_raw() },
11086 2147483648,
11087 >,
11088 fidl::encoding::DefaultFuchsiaResourceDialect,
11089 >,
11090 T7: fidl::encoding::Encode<
11091 fidl::encoding::HandleType<
11092 fidl::EventPair,
11093 { fidl::ObjectType::EVENTPAIR.into_raw() },
11094 2147483648,
11095 >,
11096 fidl::encoding::DefaultFuchsiaResourceDialect,
11097 >,
11098 T8: fidl::encoding::Encode<
11099 fidl::encoding::HandleType<
11100 fidl::Job,
11101 { fidl::ObjectType::JOB.into_raw() },
11102 2147483648,
11103 >,
11104 fidl::encoding::DefaultFuchsiaResourceDialect,
11105 >,
11106 T9: fidl::encoding::Encode<
11107 fidl::encoding::HandleType<
11108 fidl::Vmar,
11109 { fidl::ObjectType::VMAR.into_raw() },
11110 2147483648,
11111 >,
11112 fidl::encoding::DefaultFuchsiaResourceDialect,
11113 >,
11114 T10: fidl::encoding::Encode<
11115 fidl::encoding::HandleType<
11116 fidl::Fifo,
11117 { fidl::ObjectType::FIFO.into_raw() },
11118 2147483648,
11119 >,
11120 fidl::encoding::DefaultFuchsiaResourceDialect,
11121 >,
11122 T11: fidl::encoding::Encode<
11123 fidl::encoding::HandleType<
11124 fidl::Timer,
11125 { fidl::ObjectType::TIMER.into_raw() },
11126 2147483648,
11127 >,
11128 fidl::encoding::DefaultFuchsiaResourceDialect,
11129 >,
11130 T12: fidl::encoding::Encode<
11131 fidl::encoding::Optional<
11132 fidl::encoding::HandleType<
11133 fidl::Handle,
11134 { fidl::ObjectType::NONE.into_raw() },
11135 2147483648,
11136 >,
11137 >,
11138 fidl::encoding::DefaultFuchsiaResourceDialect,
11139 >,
11140 T13: fidl::encoding::Encode<
11141 fidl::encoding::Optional<
11142 fidl::encoding::HandleType<
11143 fidl::Process,
11144 { fidl::ObjectType::PROCESS.into_raw() },
11145 2147483648,
11146 >,
11147 >,
11148 fidl::encoding::DefaultFuchsiaResourceDialect,
11149 >,
11150 T14: fidl::encoding::Encode<
11151 fidl::encoding::Optional<
11152 fidl::encoding::HandleType<
11153 fidl::Thread,
11154 { fidl::ObjectType::THREAD.into_raw() },
11155 2147483648,
11156 >,
11157 >,
11158 fidl::encoding::DefaultFuchsiaResourceDialect,
11159 >,
11160 T15: fidl::encoding::Encode<
11161 fidl::encoding::Optional<
11162 fidl::encoding::HandleType<
11163 fidl::Vmo,
11164 { fidl::ObjectType::VMO.into_raw() },
11165 2147483648,
11166 >,
11167 >,
11168 fidl::encoding::DefaultFuchsiaResourceDialect,
11169 >,
11170 T16: fidl::encoding::Encode<
11171 fidl::encoding::Optional<
11172 fidl::encoding::HandleType<
11173 fidl::Channel,
11174 { fidl::ObjectType::CHANNEL.into_raw() },
11175 2147483648,
11176 >,
11177 >,
11178 fidl::encoding::DefaultFuchsiaResourceDialect,
11179 >,
11180 T17: fidl::encoding::Encode<
11181 fidl::encoding::Optional<
11182 fidl::encoding::HandleType<
11183 fidl::Event,
11184 { fidl::ObjectType::EVENT.into_raw() },
11185 2147483648,
11186 >,
11187 >,
11188 fidl::encoding::DefaultFuchsiaResourceDialect,
11189 >,
11190 T18: fidl::encoding::Encode<
11191 fidl::encoding::Optional<
11192 fidl::encoding::HandleType<
11193 fidl::Port,
11194 { fidl::ObjectType::PORT.into_raw() },
11195 2147483648,
11196 >,
11197 >,
11198 fidl::encoding::DefaultFuchsiaResourceDialect,
11199 >,
11200 T19: fidl::encoding::Encode<
11201 fidl::encoding::Optional<
11202 fidl::encoding::HandleType<
11203 fidl::Interrupt,
11204 { fidl::ObjectType::INTERRUPT.into_raw() },
11205 2147483648,
11206 >,
11207 >,
11208 fidl::encoding::DefaultFuchsiaResourceDialect,
11209 >,
11210 T20: fidl::encoding::Encode<
11211 fidl::encoding::Optional<
11212 fidl::encoding::HandleType<
11213 fidl::DebugLog,
11214 { fidl::ObjectType::DEBUGLOG.into_raw() },
11215 2147483648,
11216 >,
11217 >,
11218 fidl::encoding::DefaultFuchsiaResourceDialect,
11219 >,
11220 T21: fidl::encoding::Encode<
11221 fidl::encoding::Optional<
11222 fidl::encoding::HandleType<
11223 fidl::Socket,
11224 { fidl::ObjectType::SOCKET.into_raw() },
11225 2147483648,
11226 >,
11227 >,
11228 fidl::encoding::DefaultFuchsiaResourceDialect,
11229 >,
11230 T22: fidl::encoding::Encode<
11231 fidl::encoding::Optional<
11232 fidl::encoding::HandleType<
11233 fidl::EventPair,
11234 { fidl::ObjectType::EVENTPAIR.into_raw() },
11235 2147483648,
11236 >,
11237 >,
11238 fidl::encoding::DefaultFuchsiaResourceDialect,
11239 >,
11240 T23: fidl::encoding::Encode<
11241 fidl::encoding::Optional<
11242 fidl::encoding::HandleType<
11243 fidl::Job,
11244 { fidl::ObjectType::JOB.into_raw() },
11245 2147483648,
11246 >,
11247 >,
11248 fidl::encoding::DefaultFuchsiaResourceDialect,
11249 >,
11250 T24: fidl::encoding::Encode<
11251 fidl::encoding::Optional<
11252 fidl::encoding::HandleType<
11253 fidl::Vmar,
11254 { fidl::ObjectType::VMAR.into_raw() },
11255 2147483648,
11256 >,
11257 >,
11258 fidl::encoding::DefaultFuchsiaResourceDialect,
11259 >,
11260 T25: fidl::encoding::Encode<
11261 fidl::encoding::Optional<
11262 fidl::encoding::HandleType<
11263 fidl::Fifo,
11264 { fidl::ObjectType::FIFO.into_raw() },
11265 2147483648,
11266 >,
11267 >,
11268 fidl::encoding::DefaultFuchsiaResourceDialect,
11269 >,
11270 T26: fidl::encoding::Encode<
11271 fidl::encoding::Optional<
11272 fidl::encoding::HandleType<
11273 fidl::Timer,
11274 { fidl::ObjectType::TIMER.into_raw() },
11275 2147483648,
11276 >,
11277 >,
11278 fidl::encoding::DefaultFuchsiaResourceDialect,
11279 >,
11280 > fidl::encoding::Encode<Handles, fidl::encoding::DefaultFuchsiaResourceDialect>
11281 for (
11282 T0,
11283 T1,
11284 T2,
11285 T3,
11286 T4,
11287 T5,
11288 T6,
11289 T7,
11290 T8,
11291 T9,
11292 T10,
11293 T11,
11294 T12,
11295 T13,
11296 T14,
11297 T15,
11298 T16,
11299 T17,
11300 T18,
11301 T19,
11302 T20,
11303 T21,
11304 T22,
11305 T23,
11306 T24,
11307 T25,
11308 T26,
11309 )
11310 {
11311 #[inline]
11312 unsafe fn encode(
11313 self,
11314 encoder: &mut fidl::encoding::Encoder<
11315 '_,
11316 fidl::encoding::DefaultFuchsiaResourceDialect,
11317 >,
11318 offset: usize,
11319 depth: fidl::encoding::Depth,
11320 ) -> fidl::Result<()> {
11321 encoder.debug_check_bounds::<Handles>(offset);
11322 self.0.encode(encoder, offset + 0, depth)?;
11326 self.1.encode(encoder, offset + 4, depth)?;
11327 self.2.encode(encoder, offset + 8, depth)?;
11328 self.3.encode(encoder, offset + 12, depth)?;
11329 self.4.encode(encoder, offset + 16, depth)?;
11330 self.5.encode(encoder, offset + 20, depth)?;
11331 self.6.encode(encoder, offset + 24, depth)?;
11332 self.7.encode(encoder, offset + 28, depth)?;
11333 self.8.encode(encoder, offset + 32, depth)?;
11334 self.9.encode(encoder, offset + 36, depth)?;
11335 self.10.encode(encoder, offset + 40, depth)?;
11336 self.11.encode(encoder, offset + 44, depth)?;
11337 self.12.encode(encoder, offset + 48, depth)?;
11338 self.13.encode(encoder, offset + 52, depth)?;
11339 self.14.encode(encoder, offset + 56, depth)?;
11340 self.15.encode(encoder, offset + 60, depth)?;
11341 self.16.encode(encoder, offset + 64, depth)?;
11342 self.17.encode(encoder, offset + 68, depth)?;
11343 self.18.encode(encoder, offset + 72, depth)?;
11344 self.19.encode(encoder, offset + 76, depth)?;
11345 self.20.encode(encoder, offset + 80, depth)?;
11346 self.21.encode(encoder, offset + 84, depth)?;
11347 self.22.encode(encoder, offset + 88, depth)?;
11348 self.23.encode(encoder, offset + 92, depth)?;
11349 self.24.encode(encoder, offset + 96, depth)?;
11350 self.25.encode(encoder, offset + 100, depth)?;
11351 self.26.encode(encoder, offset + 104, depth)?;
11352 Ok(())
11353 }
11354 }
11355
11356 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Handles {
11357 #[inline(always)]
11358 fn new_empty() -> Self {
11359 Self {
11360 handle_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11361 process_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Process, { fidl::ObjectType::PROCESS.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11362 thread_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Thread, { fidl::ObjectType::THREAD.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11363 vmo_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11364 event_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Event, { fidl::ObjectType::EVENT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11365 port_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Port, { fidl::ObjectType::PORT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11366 socket_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Socket, { fidl::ObjectType::SOCKET.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11367 eventpair_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11368 job_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Job, { fidl::ObjectType::JOB.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11369 vmar_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Vmar, { fidl::ObjectType::VMAR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11370 fifo_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Fifo, { fidl::ObjectType::FIFO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11371 timer_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::Timer, { fidl::ObjectType::TIMER.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
11372 nullable_handle_handle: fidl::new_empty!(
11373 fidl::encoding::Optional<
11374 fidl::encoding::HandleType<
11375 fidl::Handle,
11376 { fidl::ObjectType::NONE.into_raw() },
11377 2147483648,
11378 >,
11379 >,
11380 fidl::encoding::DefaultFuchsiaResourceDialect
11381 ),
11382 nullable_process_handle: fidl::new_empty!(
11383 fidl::encoding::Optional<
11384 fidl::encoding::HandleType<
11385 fidl::Process,
11386 { fidl::ObjectType::PROCESS.into_raw() },
11387 2147483648,
11388 >,
11389 >,
11390 fidl::encoding::DefaultFuchsiaResourceDialect
11391 ),
11392 nullable_thread_handle: fidl::new_empty!(
11393 fidl::encoding::Optional<
11394 fidl::encoding::HandleType<
11395 fidl::Thread,
11396 { fidl::ObjectType::THREAD.into_raw() },
11397 2147483648,
11398 >,
11399 >,
11400 fidl::encoding::DefaultFuchsiaResourceDialect
11401 ),
11402 nullable_vmo_handle: fidl::new_empty!(
11403 fidl::encoding::Optional<
11404 fidl::encoding::HandleType<
11405 fidl::Vmo,
11406 { fidl::ObjectType::VMO.into_raw() },
11407 2147483648,
11408 >,
11409 >,
11410 fidl::encoding::DefaultFuchsiaResourceDialect
11411 ),
11412 nullable_channel_handle: fidl::new_empty!(
11413 fidl::encoding::Optional<
11414 fidl::encoding::HandleType<
11415 fidl::Channel,
11416 { fidl::ObjectType::CHANNEL.into_raw() },
11417 2147483648,
11418 >,
11419 >,
11420 fidl::encoding::DefaultFuchsiaResourceDialect
11421 ),
11422 nullable_event_handle: fidl::new_empty!(
11423 fidl::encoding::Optional<
11424 fidl::encoding::HandleType<
11425 fidl::Event,
11426 { fidl::ObjectType::EVENT.into_raw() },
11427 2147483648,
11428 >,
11429 >,
11430 fidl::encoding::DefaultFuchsiaResourceDialect
11431 ),
11432 nullable_port_handle: fidl::new_empty!(
11433 fidl::encoding::Optional<
11434 fidl::encoding::HandleType<
11435 fidl::Port,
11436 { fidl::ObjectType::PORT.into_raw() },
11437 2147483648,
11438 >,
11439 >,
11440 fidl::encoding::DefaultFuchsiaResourceDialect
11441 ),
11442 nullable_interrupt_handle: fidl::new_empty!(
11443 fidl::encoding::Optional<
11444 fidl::encoding::HandleType<
11445 fidl::Interrupt,
11446 { fidl::ObjectType::INTERRUPT.into_raw() },
11447 2147483648,
11448 >,
11449 >,
11450 fidl::encoding::DefaultFuchsiaResourceDialect
11451 ),
11452 nullable_log_handle: fidl::new_empty!(
11453 fidl::encoding::Optional<
11454 fidl::encoding::HandleType<
11455 fidl::DebugLog,
11456 { fidl::ObjectType::DEBUGLOG.into_raw() },
11457 2147483648,
11458 >,
11459 >,
11460 fidl::encoding::DefaultFuchsiaResourceDialect
11461 ),
11462 nullable_socket_handle: fidl::new_empty!(
11463 fidl::encoding::Optional<
11464 fidl::encoding::HandleType<
11465 fidl::Socket,
11466 { fidl::ObjectType::SOCKET.into_raw() },
11467 2147483648,
11468 >,
11469 >,
11470 fidl::encoding::DefaultFuchsiaResourceDialect
11471 ),
11472 nullable_eventpair_handle: fidl::new_empty!(
11473 fidl::encoding::Optional<
11474 fidl::encoding::HandleType<
11475 fidl::EventPair,
11476 { fidl::ObjectType::EVENTPAIR.into_raw() },
11477 2147483648,
11478 >,
11479 >,
11480 fidl::encoding::DefaultFuchsiaResourceDialect
11481 ),
11482 nullable_job_handle: fidl::new_empty!(
11483 fidl::encoding::Optional<
11484 fidl::encoding::HandleType<
11485 fidl::Job,
11486 { fidl::ObjectType::JOB.into_raw() },
11487 2147483648,
11488 >,
11489 >,
11490 fidl::encoding::DefaultFuchsiaResourceDialect
11491 ),
11492 nullable_vmar_handle: fidl::new_empty!(
11493 fidl::encoding::Optional<
11494 fidl::encoding::HandleType<
11495 fidl::Vmar,
11496 { fidl::ObjectType::VMAR.into_raw() },
11497 2147483648,
11498 >,
11499 >,
11500 fidl::encoding::DefaultFuchsiaResourceDialect
11501 ),
11502 nullable_fifo_handle: fidl::new_empty!(
11503 fidl::encoding::Optional<
11504 fidl::encoding::HandleType<
11505 fidl::Fifo,
11506 { fidl::ObjectType::FIFO.into_raw() },
11507 2147483648,
11508 >,
11509 >,
11510 fidl::encoding::DefaultFuchsiaResourceDialect
11511 ),
11512 nullable_timer_handle: fidl::new_empty!(
11513 fidl::encoding::Optional<
11514 fidl::encoding::HandleType<
11515 fidl::Timer,
11516 { fidl::ObjectType::TIMER.into_raw() },
11517 2147483648,
11518 >,
11519 >,
11520 fidl::encoding::DefaultFuchsiaResourceDialect
11521 ),
11522 }
11523 }
11524
11525 #[inline]
11526 unsafe fn decode(
11527 &mut self,
11528 decoder: &mut fidl::encoding::Decoder<
11529 '_,
11530 fidl::encoding::DefaultFuchsiaResourceDialect,
11531 >,
11532 offset: usize,
11533 _depth: fidl::encoding::Depth,
11534 ) -> fidl::Result<()> {
11535 decoder.debug_check_bounds::<Self>(offset);
11536 fidl::decode!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle_handle, decoder, offset + 0, _depth)?;
11538 fidl::decode!(fidl::encoding::HandleType<fidl::Process, { fidl::ObjectType::PROCESS.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.process_handle, decoder, offset + 4, _depth)?;
11539 fidl::decode!(fidl::encoding::HandleType<fidl::Thread, { fidl::ObjectType::THREAD.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.thread_handle, decoder, offset + 8, _depth)?;
11540 fidl::decode!(fidl::encoding::HandleType<fidl::Vmo, { fidl::ObjectType::VMO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.vmo_handle, decoder, offset + 12, _depth)?;
11541 fidl::decode!(fidl::encoding::HandleType<fidl::Event, { fidl::ObjectType::EVENT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.event_handle, decoder, offset + 16, _depth)?;
11542 fidl::decode!(fidl::encoding::HandleType<fidl::Port, { fidl::ObjectType::PORT.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.port_handle, decoder, offset + 20, _depth)?;
11543 fidl::decode!(fidl::encoding::HandleType<fidl::Socket, { fidl::ObjectType::SOCKET.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.socket_handle, decoder, offset + 24, _depth)?;
11544 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.eventpair_handle, decoder, offset + 28, _depth)?;
11545 fidl::decode!(fidl::encoding::HandleType<fidl::Job, { fidl::ObjectType::JOB.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.job_handle, decoder, offset + 32, _depth)?;
11546 fidl::decode!(fidl::encoding::HandleType<fidl::Vmar, { fidl::ObjectType::VMAR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.vmar_handle, decoder, offset + 36, _depth)?;
11547 fidl::decode!(fidl::encoding::HandleType<fidl::Fifo, { fidl::ObjectType::FIFO.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.fifo_handle, decoder, offset + 40, _depth)?;
11548 fidl::decode!(fidl::encoding::HandleType<fidl::Timer, { fidl::ObjectType::TIMER.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.timer_handle, decoder, offset + 44, _depth)?;
11549 fidl::decode!(
11550 fidl::encoding::Optional<
11551 fidl::encoding::HandleType<
11552 fidl::Handle,
11553 { fidl::ObjectType::NONE.into_raw() },
11554 2147483648,
11555 >,
11556 >,
11557 fidl::encoding::DefaultFuchsiaResourceDialect,
11558 &mut self.nullable_handle_handle,
11559 decoder,
11560 offset + 48,
11561 _depth
11562 )?;
11563 fidl::decode!(
11564 fidl::encoding::Optional<
11565 fidl::encoding::HandleType<
11566 fidl::Process,
11567 { fidl::ObjectType::PROCESS.into_raw() },
11568 2147483648,
11569 >,
11570 >,
11571 fidl::encoding::DefaultFuchsiaResourceDialect,
11572 &mut self.nullable_process_handle,
11573 decoder,
11574 offset + 52,
11575 _depth
11576 )?;
11577 fidl::decode!(
11578 fidl::encoding::Optional<
11579 fidl::encoding::HandleType<
11580 fidl::Thread,
11581 { fidl::ObjectType::THREAD.into_raw() },
11582 2147483648,
11583 >,
11584 >,
11585 fidl::encoding::DefaultFuchsiaResourceDialect,
11586 &mut self.nullable_thread_handle,
11587 decoder,
11588 offset + 56,
11589 _depth
11590 )?;
11591 fidl::decode!(
11592 fidl::encoding::Optional<
11593 fidl::encoding::HandleType<
11594 fidl::Vmo,
11595 { fidl::ObjectType::VMO.into_raw() },
11596 2147483648,
11597 >,
11598 >,
11599 fidl::encoding::DefaultFuchsiaResourceDialect,
11600 &mut self.nullable_vmo_handle,
11601 decoder,
11602 offset + 60,
11603 _depth
11604 )?;
11605 fidl::decode!(
11606 fidl::encoding::Optional<
11607 fidl::encoding::HandleType<
11608 fidl::Channel,
11609 { fidl::ObjectType::CHANNEL.into_raw() },
11610 2147483648,
11611 >,
11612 >,
11613 fidl::encoding::DefaultFuchsiaResourceDialect,
11614 &mut self.nullable_channel_handle,
11615 decoder,
11616 offset + 64,
11617 _depth
11618 )?;
11619 fidl::decode!(
11620 fidl::encoding::Optional<
11621 fidl::encoding::HandleType<
11622 fidl::Event,
11623 { fidl::ObjectType::EVENT.into_raw() },
11624 2147483648,
11625 >,
11626 >,
11627 fidl::encoding::DefaultFuchsiaResourceDialect,
11628 &mut self.nullable_event_handle,
11629 decoder,
11630 offset + 68,
11631 _depth
11632 )?;
11633 fidl::decode!(
11634 fidl::encoding::Optional<
11635 fidl::encoding::HandleType<
11636 fidl::Port,
11637 { fidl::ObjectType::PORT.into_raw() },
11638 2147483648,
11639 >,
11640 >,
11641 fidl::encoding::DefaultFuchsiaResourceDialect,
11642 &mut self.nullable_port_handle,
11643 decoder,
11644 offset + 72,
11645 _depth
11646 )?;
11647 fidl::decode!(
11648 fidl::encoding::Optional<
11649 fidl::encoding::HandleType<
11650 fidl::Interrupt,
11651 { fidl::ObjectType::INTERRUPT.into_raw() },
11652 2147483648,
11653 >,
11654 >,
11655 fidl::encoding::DefaultFuchsiaResourceDialect,
11656 &mut self.nullable_interrupt_handle,
11657 decoder,
11658 offset + 76,
11659 _depth
11660 )?;
11661 fidl::decode!(
11662 fidl::encoding::Optional<
11663 fidl::encoding::HandleType<
11664 fidl::DebugLog,
11665 { fidl::ObjectType::DEBUGLOG.into_raw() },
11666 2147483648,
11667 >,
11668 >,
11669 fidl::encoding::DefaultFuchsiaResourceDialect,
11670 &mut self.nullable_log_handle,
11671 decoder,
11672 offset + 80,
11673 _depth
11674 )?;
11675 fidl::decode!(
11676 fidl::encoding::Optional<
11677 fidl::encoding::HandleType<
11678 fidl::Socket,
11679 { fidl::ObjectType::SOCKET.into_raw() },
11680 2147483648,
11681 >,
11682 >,
11683 fidl::encoding::DefaultFuchsiaResourceDialect,
11684 &mut self.nullable_socket_handle,
11685 decoder,
11686 offset + 84,
11687 _depth
11688 )?;
11689 fidl::decode!(
11690 fidl::encoding::Optional<
11691 fidl::encoding::HandleType<
11692 fidl::EventPair,
11693 { fidl::ObjectType::EVENTPAIR.into_raw() },
11694 2147483648,
11695 >,
11696 >,
11697 fidl::encoding::DefaultFuchsiaResourceDialect,
11698 &mut self.nullable_eventpair_handle,
11699 decoder,
11700 offset + 88,
11701 _depth
11702 )?;
11703 fidl::decode!(
11704 fidl::encoding::Optional<
11705 fidl::encoding::HandleType<
11706 fidl::Job,
11707 { fidl::ObjectType::JOB.into_raw() },
11708 2147483648,
11709 >,
11710 >,
11711 fidl::encoding::DefaultFuchsiaResourceDialect,
11712 &mut self.nullable_job_handle,
11713 decoder,
11714 offset + 92,
11715 _depth
11716 )?;
11717 fidl::decode!(
11718 fidl::encoding::Optional<
11719 fidl::encoding::HandleType<
11720 fidl::Vmar,
11721 { fidl::ObjectType::VMAR.into_raw() },
11722 2147483648,
11723 >,
11724 >,
11725 fidl::encoding::DefaultFuchsiaResourceDialect,
11726 &mut self.nullable_vmar_handle,
11727 decoder,
11728 offset + 96,
11729 _depth
11730 )?;
11731 fidl::decode!(
11732 fidl::encoding::Optional<
11733 fidl::encoding::HandleType<
11734 fidl::Fifo,
11735 { fidl::ObjectType::FIFO.into_raw() },
11736 2147483648,
11737 >,
11738 >,
11739 fidl::encoding::DefaultFuchsiaResourceDialect,
11740 &mut self.nullable_fifo_handle,
11741 decoder,
11742 offset + 100,
11743 _depth
11744 )?;
11745 fidl::decode!(
11746 fidl::encoding::Optional<
11747 fidl::encoding::HandleType<
11748 fidl::Timer,
11749 { fidl::ObjectType::TIMER.into_raw() },
11750 2147483648,
11751 >,
11752 >,
11753 fidl::encoding::DefaultFuchsiaResourceDialect,
11754 &mut self.nullable_timer_handle,
11755 decoder,
11756 offset + 104,
11757 _depth
11758 )?;
11759 Ok(())
11760 }
11761 }
11762
11763 impl fidl::encoding::ResourceTypeMarker for Vectors {
11764 type Borrowed<'a> = &'a mut Self;
11765 fn take_or_borrow<'a>(
11766 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
11767 ) -> Self::Borrowed<'a> {
11768 value
11769 }
11770 }
11771
11772 unsafe impl fidl::encoding::TypeMarker for Vectors {
11773 type Owned = Self;
11774
11775 #[inline(always)]
11776 fn inline_align(_context: fidl::encoding::Context) -> usize {
11777 8
11778 }
11779
11780 #[inline(always)]
11781 fn inline_size(_context: fidl::encoding::Context) -> usize {
11782 1920
11783 }
11784 }
11785
11786 unsafe impl fidl::encoding::Encode<Vectors, fidl::encoding::DefaultFuchsiaResourceDialect>
11787 for &mut Vectors
11788 {
11789 #[inline]
11790 unsafe fn encode(
11791 self,
11792 encoder: &mut fidl::encoding::Encoder<
11793 '_,
11794 fidl::encoding::DefaultFuchsiaResourceDialect,
11795 >,
11796 offset: usize,
11797 _depth: fidl::encoding::Depth,
11798 ) -> fidl::Result<()> {
11799 encoder.debug_check_bounds::<Vectors>(offset);
11800 fidl::encoding::Encode::<Vectors, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
11802 (
11803 <fidl::encoding::UnboundedVector<bool> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_0),
11804 <fidl::encoding::UnboundedVector<i8> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_0),
11805 <fidl::encoding::UnboundedVector<i16> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_0),
11806 <fidl::encoding::UnboundedVector<i32> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_0),
11807 <fidl::encoding::UnboundedVector<i64> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_0),
11808 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_0),
11809 <fidl::encoding::UnboundedVector<u16> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_0),
11810 <fidl::encoding::UnboundedVector<u32> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_0),
11811 <fidl::encoding::UnboundedVector<u64> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_0),
11812 <fidl::encoding::UnboundedVector<f32> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_0),
11813 <fidl::encoding::UnboundedVector<f64> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_0),
11814 <fidl::encoding::UnboundedVector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_0),
11815 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_1),
11816 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_1),
11817 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_1),
11818 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_1),
11819 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_1),
11820 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_1),
11821 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_1),
11822 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_1),
11823 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_1),
11824 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_1),
11825 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_1),
11826 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_1),
11827 <fidl::encoding::Vector<bool, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_sized_0),
11828 <fidl::encoding::Vector<i8, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_sized_0),
11829 <fidl::encoding::Vector<i16, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_sized_0),
11830 <fidl::encoding::Vector<i32, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_sized_0),
11831 <fidl::encoding::Vector<i64, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_sized_0),
11832 <fidl::encoding::Vector<u8, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_sized_0),
11833 <fidl::encoding::Vector<u16, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_sized_0),
11834 <fidl::encoding::Vector<u32, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_sized_0),
11835 <fidl::encoding::Vector<u64, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_sized_0),
11836 <fidl::encoding::Vector<f32, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_sized_0),
11837 <fidl::encoding::Vector<f64, 1> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_sized_0),
11838 <fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 1> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_sized_0),
11839 <fidl::encoding::Vector<bool, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_sized_1),
11840 <fidl::encoding::Vector<i8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_sized_1),
11841 <fidl::encoding::Vector<i16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_sized_1),
11842 <fidl::encoding::Vector<i32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_sized_1),
11843 <fidl::encoding::Vector<i64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_sized_1),
11844 <fidl::encoding::Vector<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_sized_1),
11845 <fidl::encoding::Vector<u16, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_sized_1),
11846 <fidl::encoding::Vector<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_sized_1),
11847 <fidl::encoding::Vector<u64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_sized_1),
11848 <fidl::encoding::Vector<f32, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_sized_1),
11849 <fidl::encoding::Vector<f64, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_sized_1),
11850 <fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_sized_1),
11851 <fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_sized_2),
11852 <fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_sized_2),
11853 <fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_sized_2),
11854 <fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_sized_2),
11855 <fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_sized_2),
11856 <fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_sized_2),
11857 <fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_sized_2),
11858 <fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_sized_2),
11859 <fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_sized_2),
11860 <fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_sized_2),
11861 <fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_sized_2),
11862 <fidl::encoding::Vector<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>, 3> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_sized_2),
11863 <fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_0),
11864 <fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_0),
11865 <fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_0),
11866 <fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_0),
11867 <fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_0),
11868 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_0),
11869 <fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_0),
11870 <fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_0),
11871 <fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_0),
11872 <fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_0),
11873 <fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_0),
11874 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 1>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_0),
11875 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_1),
11876 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_1),
11877 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_1),
11878 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_1),
11879 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_1),
11880 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_1),
11881 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_1),
11882 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_1),
11883 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_1),
11884 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_1),
11885 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_1),
11886 <fidl::encoding::Optional<fidl::encoding::UnboundedVector<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_1),
11887 <fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_sized_0),
11888 <fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_sized_0),
11889 <fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_sized_0),
11890 <fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_sized_0),
11891 <fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_sized_0),
11892 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_sized_0),
11893 <fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_sized_0),
11894 <fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_sized_0),
11895 <fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_sized_0),
11896 <fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_sized_0),
11897 <fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_sized_0),
11898 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 1>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_sized_0),
11899 <fidl::encoding::Optional<fidl::encoding::Vector<bool, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_sized_1),
11900 <fidl::encoding::Optional<fidl::encoding::Vector<i8, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_sized_1),
11901 <fidl::encoding::Optional<fidl::encoding::Vector<i16, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_sized_1),
11902 <fidl::encoding::Optional<fidl::encoding::Vector<i32, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_sized_1),
11903 <fidl::encoding::Optional<fidl::encoding::Vector<i64, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_sized_1),
11904 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_sized_1),
11905 <fidl::encoding::Optional<fidl::encoding::Vector<u16, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_sized_1),
11906 <fidl::encoding::Optional<fidl::encoding::Vector<u32, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_sized_1),
11907 <fidl::encoding::Optional<fidl::encoding::Vector<u64, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_sized_1),
11908 <fidl::encoding::Optional<fidl::encoding::Vector<f32, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_sized_1),
11909 <fidl::encoding::Optional<fidl::encoding::Vector<f64, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_sized_1),
11910 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 3>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_sized_1),
11911 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.b_nullable_sized_2),
11912 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i8_nullable_sized_2),
11913 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i16_nullable_sized_2),
11914 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i32_nullable_sized_2),
11915 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.i64_nullable_sized_2),
11916 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u8_nullable_sized_2),
11917 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u16_nullable_sized_2),
11918 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u32_nullable_sized_2),
11919 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.u64_nullable_sized_2),
11920 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f32_nullable_sized_2),
11921 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>> as fidl::encoding::ValueTypeMarker>::borrow(&self.f64_nullable_sized_2),
11922 <fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, 2>, 3>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.handle_nullable_sized_2),
11923 ),
11924 encoder, offset, _depth
11925 )
11926 }
11927 }
11928 unsafe impl<
11929 T0: fidl::encoding::Encode<
11930 fidl::encoding::UnboundedVector<bool>,
11931 fidl::encoding::DefaultFuchsiaResourceDialect,
11932 >,
11933 T1: fidl::encoding::Encode<
11934 fidl::encoding::UnboundedVector<i8>,
11935 fidl::encoding::DefaultFuchsiaResourceDialect,
11936 >,
11937 T2: fidl::encoding::Encode<
11938 fidl::encoding::UnboundedVector<i16>,
11939 fidl::encoding::DefaultFuchsiaResourceDialect,
11940 >,
11941 T3: fidl::encoding::Encode<
11942 fidl::encoding::UnboundedVector<i32>,
11943 fidl::encoding::DefaultFuchsiaResourceDialect,
11944 >,
11945 T4: fidl::encoding::Encode<
11946 fidl::encoding::UnboundedVector<i64>,
11947 fidl::encoding::DefaultFuchsiaResourceDialect,
11948 >,
11949 T5: fidl::encoding::Encode<
11950 fidl::encoding::UnboundedVector<u8>,
11951 fidl::encoding::DefaultFuchsiaResourceDialect,
11952 >,
11953 T6: fidl::encoding::Encode<
11954 fidl::encoding::UnboundedVector<u16>,
11955 fidl::encoding::DefaultFuchsiaResourceDialect,
11956 >,
11957 T7: fidl::encoding::Encode<
11958 fidl::encoding::UnboundedVector<u32>,
11959 fidl::encoding::DefaultFuchsiaResourceDialect,
11960 >,
11961 T8: fidl::encoding::Encode<
11962 fidl::encoding::UnboundedVector<u64>,
11963 fidl::encoding::DefaultFuchsiaResourceDialect,
11964 >,
11965 T9: fidl::encoding::Encode<
11966 fidl::encoding::UnboundedVector<f32>,
11967 fidl::encoding::DefaultFuchsiaResourceDialect,
11968 >,
11969 T10: fidl::encoding::Encode<
11970 fidl::encoding::UnboundedVector<f64>,
11971 fidl::encoding::DefaultFuchsiaResourceDialect,
11972 >,
11973 T11: fidl::encoding::Encode<
11974 fidl::encoding::UnboundedVector<
11975 fidl::encoding::HandleType<
11976 fidl::Handle,
11977 { fidl::ObjectType::NONE.into_raw() },
11978 2147483648,
11979 >,
11980 >,
11981 fidl::encoding::DefaultFuchsiaResourceDialect,
11982 >,
11983 T12: fidl::encoding::Encode<
11984 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
11985 fidl::encoding::DefaultFuchsiaResourceDialect,
11986 >,
11987 T13: fidl::encoding::Encode<
11988 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
11989 fidl::encoding::DefaultFuchsiaResourceDialect,
11990 >,
11991 T14: fidl::encoding::Encode<
11992 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
11993 fidl::encoding::DefaultFuchsiaResourceDialect,
11994 >,
11995 T15: fidl::encoding::Encode<
11996 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
11997 fidl::encoding::DefaultFuchsiaResourceDialect,
11998 >,
11999 T16: fidl::encoding::Encode<
12000 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
12001 fidl::encoding::DefaultFuchsiaResourceDialect,
12002 >,
12003 T17: fidl::encoding::Encode<
12004 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
12005 fidl::encoding::DefaultFuchsiaResourceDialect,
12006 >,
12007 T18: fidl::encoding::Encode<
12008 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
12009 fidl::encoding::DefaultFuchsiaResourceDialect,
12010 >,
12011 T19: fidl::encoding::Encode<
12012 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
12013 fidl::encoding::DefaultFuchsiaResourceDialect,
12014 >,
12015 T20: fidl::encoding::Encode<
12016 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
12017 fidl::encoding::DefaultFuchsiaResourceDialect,
12018 >,
12019 T21: fidl::encoding::Encode<
12020 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
12021 fidl::encoding::DefaultFuchsiaResourceDialect,
12022 >,
12023 T22: fidl::encoding::Encode<
12024 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
12025 fidl::encoding::DefaultFuchsiaResourceDialect,
12026 >,
12027 T23: fidl::encoding::Encode<
12028 fidl::encoding::UnboundedVector<
12029 fidl::encoding::Vector<
12030 fidl::encoding::HandleType<
12031 fidl::Handle,
12032 { fidl::ObjectType::NONE.into_raw() },
12033 2147483648,
12034 >,
12035 2,
12036 >,
12037 >,
12038 fidl::encoding::DefaultFuchsiaResourceDialect,
12039 >,
12040 T24: fidl::encoding::Encode<
12041 fidl::encoding::Vector<bool, 1>,
12042 fidl::encoding::DefaultFuchsiaResourceDialect,
12043 >,
12044 T25: fidl::encoding::Encode<
12045 fidl::encoding::Vector<i8, 1>,
12046 fidl::encoding::DefaultFuchsiaResourceDialect,
12047 >,
12048 T26: fidl::encoding::Encode<
12049 fidl::encoding::Vector<i16, 1>,
12050 fidl::encoding::DefaultFuchsiaResourceDialect,
12051 >,
12052 T27: fidl::encoding::Encode<
12053 fidl::encoding::Vector<i32, 1>,
12054 fidl::encoding::DefaultFuchsiaResourceDialect,
12055 >,
12056 T28: fidl::encoding::Encode<
12057 fidl::encoding::Vector<i64, 1>,
12058 fidl::encoding::DefaultFuchsiaResourceDialect,
12059 >,
12060 T29: fidl::encoding::Encode<
12061 fidl::encoding::Vector<u8, 1>,
12062 fidl::encoding::DefaultFuchsiaResourceDialect,
12063 >,
12064 T30: fidl::encoding::Encode<
12065 fidl::encoding::Vector<u16, 1>,
12066 fidl::encoding::DefaultFuchsiaResourceDialect,
12067 >,
12068 T31: fidl::encoding::Encode<
12069 fidl::encoding::Vector<u32, 1>,
12070 fidl::encoding::DefaultFuchsiaResourceDialect,
12071 >,
12072 T32: fidl::encoding::Encode<
12073 fidl::encoding::Vector<u64, 1>,
12074 fidl::encoding::DefaultFuchsiaResourceDialect,
12075 >,
12076 T33: fidl::encoding::Encode<
12077 fidl::encoding::Vector<f32, 1>,
12078 fidl::encoding::DefaultFuchsiaResourceDialect,
12079 >,
12080 T34: fidl::encoding::Encode<
12081 fidl::encoding::Vector<f64, 1>,
12082 fidl::encoding::DefaultFuchsiaResourceDialect,
12083 >,
12084 T35: fidl::encoding::Encode<
12085 fidl::encoding::Vector<
12086 fidl::encoding::HandleType<
12087 fidl::Handle,
12088 { fidl::ObjectType::NONE.into_raw() },
12089 2147483648,
12090 >,
12091 1,
12092 >,
12093 fidl::encoding::DefaultFuchsiaResourceDialect,
12094 >,
12095 T36: fidl::encoding::Encode<
12096 fidl::encoding::Vector<bool, 3>,
12097 fidl::encoding::DefaultFuchsiaResourceDialect,
12098 >,
12099 T37: fidl::encoding::Encode<
12100 fidl::encoding::Vector<i8, 3>,
12101 fidl::encoding::DefaultFuchsiaResourceDialect,
12102 >,
12103 T38: fidl::encoding::Encode<
12104 fidl::encoding::Vector<i16, 3>,
12105 fidl::encoding::DefaultFuchsiaResourceDialect,
12106 >,
12107 T39: fidl::encoding::Encode<
12108 fidl::encoding::Vector<i32, 3>,
12109 fidl::encoding::DefaultFuchsiaResourceDialect,
12110 >,
12111 T40: fidl::encoding::Encode<
12112 fidl::encoding::Vector<i64, 3>,
12113 fidl::encoding::DefaultFuchsiaResourceDialect,
12114 >,
12115 T41: fidl::encoding::Encode<
12116 fidl::encoding::Vector<u8, 3>,
12117 fidl::encoding::DefaultFuchsiaResourceDialect,
12118 >,
12119 T42: fidl::encoding::Encode<
12120 fidl::encoding::Vector<u16, 3>,
12121 fidl::encoding::DefaultFuchsiaResourceDialect,
12122 >,
12123 T43: fidl::encoding::Encode<
12124 fidl::encoding::Vector<u32, 3>,
12125 fidl::encoding::DefaultFuchsiaResourceDialect,
12126 >,
12127 T44: fidl::encoding::Encode<
12128 fidl::encoding::Vector<u64, 3>,
12129 fidl::encoding::DefaultFuchsiaResourceDialect,
12130 >,
12131 T45: fidl::encoding::Encode<
12132 fidl::encoding::Vector<f32, 3>,
12133 fidl::encoding::DefaultFuchsiaResourceDialect,
12134 >,
12135 T46: fidl::encoding::Encode<
12136 fidl::encoding::Vector<f64, 3>,
12137 fidl::encoding::DefaultFuchsiaResourceDialect,
12138 >,
12139 T47: fidl::encoding::Encode<
12140 fidl::encoding::Vector<
12141 fidl::encoding::HandleType<
12142 fidl::Handle,
12143 { fidl::ObjectType::NONE.into_raw() },
12144 2147483648,
12145 >,
12146 3,
12147 >,
12148 fidl::encoding::DefaultFuchsiaResourceDialect,
12149 >,
12150 T48: fidl::encoding::Encode<
12151 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
12152 fidl::encoding::DefaultFuchsiaResourceDialect,
12153 >,
12154 T49: fidl::encoding::Encode<
12155 fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>,
12156 fidl::encoding::DefaultFuchsiaResourceDialect,
12157 >,
12158 T50: fidl::encoding::Encode<
12159 fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>,
12160 fidl::encoding::DefaultFuchsiaResourceDialect,
12161 >,
12162 T51: fidl::encoding::Encode<
12163 fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>,
12164 fidl::encoding::DefaultFuchsiaResourceDialect,
12165 >,
12166 T52: fidl::encoding::Encode<
12167 fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>,
12168 fidl::encoding::DefaultFuchsiaResourceDialect,
12169 >,
12170 T53: fidl::encoding::Encode<
12171 fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>,
12172 fidl::encoding::DefaultFuchsiaResourceDialect,
12173 >,
12174 T54: fidl::encoding::Encode<
12175 fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>,
12176 fidl::encoding::DefaultFuchsiaResourceDialect,
12177 >,
12178 T55: fidl::encoding::Encode<
12179 fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>,
12180 fidl::encoding::DefaultFuchsiaResourceDialect,
12181 >,
12182 T56: fidl::encoding::Encode<
12183 fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>,
12184 fidl::encoding::DefaultFuchsiaResourceDialect,
12185 >,
12186 T57: fidl::encoding::Encode<
12187 fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>,
12188 fidl::encoding::DefaultFuchsiaResourceDialect,
12189 >,
12190 T58: fidl::encoding::Encode<
12191 fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>,
12192 fidl::encoding::DefaultFuchsiaResourceDialect,
12193 >,
12194 T59: fidl::encoding::Encode<
12195 fidl::encoding::Vector<
12196 fidl::encoding::Vector<
12197 fidl::encoding::HandleType<
12198 fidl::Handle,
12199 { fidl::ObjectType::NONE.into_raw() },
12200 2147483648,
12201 >,
12202 2,
12203 >,
12204 3,
12205 >,
12206 fidl::encoding::DefaultFuchsiaResourceDialect,
12207 >,
12208 T60: fidl::encoding::Encode<
12209 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
12210 fidl::encoding::DefaultFuchsiaResourceDialect,
12211 >,
12212 T61: fidl::encoding::Encode<
12213 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
12214 fidl::encoding::DefaultFuchsiaResourceDialect,
12215 >,
12216 T62: fidl::encoding::Encode<
12217 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
12218 fidl::encoding::DefaultFuchsiaResourceDialect,
12219 >,
12220 T63: fidl::encoding::Encode<
12221 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
12222 fidl::encoding::DefaultFuchsiaResourceDialect,
12223 >,
12224 T64: fidl::encoding::Encode<
12225 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
12226 fidl::encoding::DefaultFuchsiaResourceDialect,
12227 >,
12228 T65: fidl::encoding::Encode<
12229 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
12230 fidl::encoding::DefaultFuchsiaResourceDialect,
12231 >,
12232 T66: fidl::encoding::Encode<
12233 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
12234 fidl::encoding::DefaultFuchsiaResourceDialect,
12235 >,
12236 T67: fidl::encoding::Encode<
12237 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
12238 fidl::encoding::DefaultFuchsiaResourceDialect,
12239 >,
12240 T68: fidl::encoding::Encode<
12241 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
12242 fidl::encoding::DefaultFuchsiaResourceDialect,
12243 >,
12244 T69: fidl::encoding::Encode<
12245 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
12246 fidl::encoding::DefaultFuchsiaResourceDialect,
12247 >,
12248 T70: fidl::encoding::Encode<
12249 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
12250 fidl::encoding::DefaultFuchsiaResourceDialect,
12251 >,
12252 T71: fidl::encoding::Encode<
12253 fidl::encoding::Optional<
12254 fidl::encoding::Vector<
12255 fidl::encoding::HandleType<
12256 fidl::Handle,
12257 { fidl::ObjectType::NONE.into_raw() },
12258 2147483648,
12259 >,
12260 1,
12261 >,
12262 >,
12263 fidl::encoding::DefaultFuchsiaResourceDialect,
12264 >,
12265 T72: fidl::encoding::Encode<
12266 fidl::encoding::Optional<
12267 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
12268 >,
12269 fidl::encoding::DefaultFuchsiaResourceDialect,
12270 >,
12271 T73: fidl::encoding::Encode<
12272 fidl::encoding::Optional<
12273 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
12274 >,
12275 fidl::encoding::DefaultFuchsiaResourceDialect,
12276 >,
12277 T74: fidl::encoding::Encode<
12278 fidl::encoding::Optional<
12279 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
12280 >,
12281 fidl::encoding::DefaultFuchsiaResourceDialect,
12282 >,
12283 T75: fidl::encoding::Encode<
12284 fidl::encoding::Optional<
12285 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
12286 >,
12287 fidl::encoding::DefaultFuchsiaResourceDialect,
12288 >,
12289 T76: fidl::encoding::Encode<
12290 fidl::encoding::Optional<
12291 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
12292 >,
12293 fidl::encoding::DefaultFuchsiaResourceDialect,
12294 >,
12295 T77: fidl::encoding::Encode<
12296 fidl::encoding::Optional<
12297 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
12298 >,
12299 fidl::encoding::DefaultFuchsiaResourceDialect,
12300 >,
12301 T78: fidl::encoding::Encode<
12302 fidl::encoding::Optional<
12303 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
12304 >,
12305 fidl::encoding::DefaultFuchsiaResourceDialect,
12306 >,
12307 T79: fidl::encoding::Encode<
12308 fidl::encoding::Optional<
12309 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
12310 >,
12311 fidl::encoding::DefaultFuchsiaResourceDialect,
12312 >,
12313 T80: fidl::encoding::Encode<
12314 fidl::encoding::Optional<
12315 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
12316 >,
12317 fidl::encoding::DefaultFuchsiaResourceDialect,
12318 >,
12319 T81: fidl::encoding::Encode<
12320 fidl::encoding::Optional<
12321 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
12322 >,
12323 fidl::encoding::DefaultFuchsiaResourceDialect,
12324 >,
12325 T82: fidl::encoding::Encode<
12326 fidl::encoding::Optional<
12327 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
12328 >,
12329 fidl::encoding::DefaultFuchsiaResourceDialect,
12330 >,
12331 T83: fidl::encoding::Encode<
12332 fidl::encoding::Optional<
12333 fidl::encoding::UnboundedVector<
12334 fidl::encoding::Vector<
12335 fidl::encoding::HandleType<
12336 fidl::Handle,
12337 { fidl::ObjectType::NONE.into_raw() },
12338 2147483648,
12339 >,
12340 2,
12341 >,
12342 >,
12343 >,
12344 fidl::encoding::DefaultFuchsiaResourceDialect,
12345 >,
12346 T84: fidl::encoding::Encode<
12347 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
12348 fidl::encoding::DefaultFuchsiaResourceDialect,
12349 >,
12350 T85: fidl::encoding::Encode<
12351 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
12352 fidl::encoding::DefaultFuchsiaResourceDialect,
12353 >,
12354 T86: fidl::encoding::Encode<
12355 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
12356 fidl::encoding::DefaultFuchsiaResourceDialect,
12357 >,
12358 T87: fidl::encoding::Encode<
12359 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
12360 fidl::encoding::DefaultFuchsiaResourceDialect,
12361 >,
12362 T88: fidl::encoding::Encode<
12363 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
12364 fidl::encoding::DefaultFuchsiaResourceDialect,
12365 >,
12366 T89: fidl::encoding::Encode<
12367 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
12368 fidl::encoding::DefaultFuchsiaResourceDialect,
12369 >,
12370 T90: fidl::encoding::Encode<
12371 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
12372 fidl::encoding::DefaultFuchsiaResourceDialect,
12373 >,
12374 T91: fidl::encoding::Encode<
12375 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
12376 fidl::encoding::DefaultFuchsiaResourceDialect,
12377 >,
12378 T92: fidl::encoding::Encode<
12379 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
12380 fidl::encoding::DefaultFuchsiaResourceDialect,
12381 >,
12382 T93: fidl::encoding::Encode<
12383 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
12384 fidl::encoding::DefaultFuchsiaResourceDialect,
12385 >,
12386 T94: fidl::encoding::Encode<
12387 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
12388 fidl::encoding::DefaultFuchsiaResourceDialect,
12389 >,
12390 T95: fidl::encoding::Encode<
12391 fidl::encoding::Optional<
12392 fidl::encoding::Vector<
12393 fidl::encoding::HandleType<
12394 fidl::Handle,
12395 { fidl::ObjectType::NONE.into_raw() },
12396 2147483648,
12397 >,
12398 1,
12399 >,
12400 >,
12401 fidl::encoding::DefaultFuchsiaResourceDialect,
12402 >,
12403 T96: fidl::encoding::Encode<
12404 fidl::encoding::Optional<fidl::encoding::Vector<bool, 3>>,
12405 fidl::encoding::DefaultFuchsiaResourceDialect,
12406 >,
12407 T97: fidl::encoding::Encode<
12408 fidl::encoding::Optional<fidl::encoding::Vector<i8, 3>>,
12409 fidl::encoding::DefaultFuchsiaResourceDialect,
12410 >,
12411 T98: fidl::encoding::Encode<
12412 fidl::encoding::Optional<fidl::encoding::Vector<i16, 3>>,
12413 fidl::encoding::DefaultFuchsiaResourceDialect,
12414 >,
12415 T99: fidl::encoding::Encode<
12416 fidl::encoding::Optional<fidl::encoding::Vector<i32, 3>>,
12417 fidl::encoding::DefaultFuchsiaResourceDialect,
12418 >,
12419 T100: fidl::encoding::Encode<
12420 fidl::encoding::Optional<fidl::encoding::Vector<i64, 3>>,
12421 fidl::encoding::DefaultFuchsiaResourceDialect,
12422 >,
12423 T101: fidl::encoding::Encode<
12424 fidl::encoding::Optional<fidl::encoding::Vector<u8, 3>>,
12425 fidl::encoding::DefaultFuchsiaResourceDialect,
12426 >,
12427 T102: fidl::encoding::Encode<
12428 fidl::encoding::Optional<fidl::encoding::Vector<u16, 3>>,
12429 fidl::encoding::DefaultFuchsiaResourceDialect,
12430 >,
12431 T103: fidl::encoding::Encode<
12432 fidl::encoding::Optional<fidl::encoding::Vector<u32, 3>>,
12433 fidl::encoding::DefaultFuchsiaResourceDialect,
12434 >,
12435 T104: fidl::encoding::Encode<
12436 fidl::encoding::Optional<fidl::encoding::Vector<u64, 3>>,
12437 fidl::encoding::DefaultFuchsiaResourceDialect,
12438 >,
12439 T105: fidl::encoding::Encode<
12440 fidl::encoding::Optional<fidl::encoding::Vector<f32, 3>>,
12441 fidl::encoding::DefaultFuchsiaResourceDialect,
12442 >,
12443 T106: fidl::encoding::Encode<
12444 fidl::encoding::Optional<fidl::encoding::Vector<f64, 3>>,
12445 fidl::encoding::DefaultFuchsiaResourceDialect,
12446 >,
12447 T107: fidl::encoding::Encode<
12448 fidl::encoding::Optional<
12449 fidl::encoding::Vector<
12450 fidl::encoding::HandleType<
12451 fidl::Handle,
12452 { fidl::ObjectType::NONE.into_raw() },
12453 2147483648,
12454 >,
12455 3,
12456 >,
12457 >,
12458 fidl::encoding::DefaultFuchsiaResourceDialect,
12459 >,
12460 T108: fidl::encoding::Encode<
12461 fidl::encoding::Optional<
12462 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
12463 >,
12464 fidl::encoding::DefaultFuchsiaResourceDialect,
12465 >,
12466 T109: fidl::encoding::Encode<
12467 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>>,
12468 fidl::encoding::DefaultFuchsiaResourceDialect,
12469 >,
12470 T110: fidl::encoding::Encode<
12471 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>>,
12472 fidl::encoding::DefaultFuchsiaResourceDialect,
12473 >,
12474 T111: fidl::encoding::Encode<
12475 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>>,
12476 fidl::encoding::DefaultFuchsiaResourceDialect,
12477 >,
12478 T112: fidl::encoding::Encode<
12479 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>>,
12480 fidl::encoding::DefaultFuchsiaResourceDialect,
12481 >,
12482 T113: fidl::encoding::Encode<
12483 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>>,
12484 fidl::encoding::DefaultFuchsiaResourceDialect,
12485 >,
12486 T114: fidl::encoding::Encode<
12487 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>>,
12488 fidl::encoding::DefaultFuchsiaResourceDialect,
12489 >,
12490 T115: fidl::encoding::Encode<
12491 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>>,
12492 fidl::encoding::DefaultFuchsiaResourceDialect,
12493 >,
12494 T116: fidl::encoding::Encode<
12495 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>>,
12496 fidl::encoding::DefaultFuchsiaResourceDialect,
12497 >,
12498 T117: fidl::encoding::Encode<
12499 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>>,
12500 fidl::encoding::DefaultFuchsiaResourceDialect,
12501 >,
12502 T118: fidl::encoding::Encode<
12503 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>>,
12504 fidl::encoding::DefaultFuchsiaResourceDialect,
12505 >,
12506 T119: fidl::encoding::Encode<
12507 fidl::encoding::Optional<
12508 fidl::encoding::Vector<
12509 fidl::encoding::Vector<
12510 fidl::encoding::HandleType<
12511 fidl::Handle,
12512 { fidl::ObjectType::NONE.into_raw() },
12513 2147483648,
12514 >,
12515 2,
12516 >,
12517 3,
12518 >,
12519 >,
12520 fidl::encoding::DefaultFuchsiaResourceDialect,
12521 >,
12522 > fidl::encoding::Encode<Vectors, fidl::encoding::DefaultFuchsiaResourceDialect>
12523 for (
12524 T0,
12525 T1,
12526 T2,
12527 T3,
12528 T4,
12529 T5,
12530 T6,
12531 T7,
12532 T8,
12533 T9,
12534 T10,
12535 T11,
12536 T12,
12537 T13,
12538 T14,
12539 T15,
12540 T16,
12541 T17,
12542 T18,
12543 T19,
12544 T20,
12545 T21,
12546 T22,
12547 T23,
12548 T24,
12549 T25,
12550 T26,
12551 T27,
12552 T28,
12553 T29,
12554 T30,
12555 T31,
12556 T32,
12557 T33,
12558 T34,
12559 T35,
12560 T36,
12561 T37,
12562 T38,
12563 T39,
12564 T40,
12565 T41,
12566 T42,
12567 T43,
12568 T44,
12569 T45,
12570 T46,
12571 T47,
12572 T48,
12573 T49,
12574 T50,
12575 T51,
12576 T52,
12577 T53,
12578 T54,
12579 T55,
12580 T56,
12581 T57,
12582 T58,
12583 T59,
12584 T60,
12585 T61,
12586 T62,
12587 T63,
12588 T64,
12589 T65,
12590 T66,
12591 T67,
12592 T68,
12593 T69,
12594 T70,
12595 T71,
12596 T72,
12597 T73,
12598 T74,
12599 T75,
12600 T76,
12601 T77,
12602 T78,
12603 T79,
12604 T80,
12605 T81,
12606 T82,
12607 T83,
12608 T84,
12609 T85,
12610 T86,
12611 T87,
12612 T88,
12613 T89,
12614 T90,
12615 T91,
12616 T92,
12617 T93,
12618 T94,
12619 T95,
12620 T96,
12621 T97,
12622 T98,
12623 T99,
12624 T100,
12625 T101,
12626 T102,
12627 T103,
12628 T104,
12629 T105,
12630 T106,
12631 T107,
12632 T108,
12633 T109,
12634 T110,
12635 T111,
12636 T112,
12637 T113,
12638 T114,
12639 T115,
12640 T116,
12641 T117,
12642 T118,
12643 T119,
12644 )
12645 {
12646 #[inline]
12647 unsafe fn encode(
12648 self,
12649 encoder: &mut fidl::encoding::Encoder<
12650 '_,
12651 fidl::encoding::DefaultFuchsiaResourceDialect,
12652 >,
12653 offset: usize,
12654 depth: fidl::encoding::Depth,
12655 ) -> fidl::Result<()> {
12656 encoder.debug_check_bounds::<Vectors>(offset);
12657 self.0.encode(encoder, offset + 0, depth)?;
12661 self.1.encode(encoder, offset + 16, depth)?;
12662 self.2.encode(encoder, offset + 32, depth)?;
12663 self.3.encode(encoder, offset + 48, depth)?;
12664 self.4.encode(encoder, offset + 64, depth)?;
12665 self.5.encode(encoder, offset + 80, depth)?;
12666 self.6.encode(encoder, offset + 96, depth)?;
12667 self.7.encode(encoder, offset + 112, depth)?;
12668 self.8.encode(encoder, offset + 128, depth)?;
12669 self.9.encode(encoder, offset + 144, depth)?;
12670 self.10.encode(encoder, offset + 160, depth)?;
12671 self.11.encode(encoder, offset + 176, depth)?;
12672 self.12.encode(encoder, offset + 192, depth)?;
12673 self.13.encode(encoder, offset + 208, depth)?;
12674 self.14.encode(encoder, offset + 224, depth)?;
12675 self.15.encode(encoder, offset + 240, depth)?;
12676 self.16.encode(encoder, offset + 256, depth)?;
12677 self.17.encode(encoder, offset + 272, depth)?;
12678 self.18.encode(encoder, offset + 288, depth)?;
12679 self.19.encode(encoder, offset + 304, depth)?;
12680 self.20.encode(encoder, offset + 320, depth)?;
12681 self.21.encode(encoder, offset + 336, depth)?;
12682 self.22.encode(encoder, offset + 352, depth)?;
12683 self.23.encode(encoder, offset + 368, depth)?;
12684 self.24.encode(encoder, offset + 384, depth)?;
12685 self.25.encode(encoder, offset + 400, depth)?;
12686 self.26.encode(encoder, offset + 416, depth)?;
12687 self.27.encode(encoder, offset + 432, depth)?;
12688 self.28.encode(encoder, offset + 448, depth)?;
12689 self.29.encode(encoder, offset + 464, depth)?;
12690 self.30.encode(encoder, offset + 480, depth)?;
12691 self.31.encode(encoder, offset + 496, depth)?;
12692 self.32.encode(encoder, offset + 512, depth)?;
12693 self.33.encode(encoder, offset + 528, depth)?;
12694 self.34.encode(encoder, offset + 544, depth)?;
12695 self.35.encode(encoder, offset + 560, depth)?;
12696 self.36.encode(encoder, offset + 576, depth)?;
12697 self.37.encode(encoder, offset + 592, depth)?;
12698 self.38.encode(encoder, offset + 608, depth)?;
12699 self.39.encode(encoder, offset + 624, depth)?;
12700 self.40.encode(encoder, offset + 640, depth)?;
12701 self.41.encode(encoder, offset + 656, depth)?;
12702 self.42.encode(encoder, offset + 672, depth)?;
12703 self.43.encode(encoder, offset + 688, depth)?;
12704 self.44.encode(encoder, offset + 704, depth)?;
12705 self.45.encode(encoder, offset + 720, depth)?;
12706 self.46.encode(encoder, offset + 736, depth)?;
12707 self.47.encode(encoder, offset + 752, depth)?;
12708 self.48.encode(encoder, offset + 768, depth)?;
12709 self.49.encode(encoder, offset + 784, depth)?;
12710 self.50.encode(encoder, offset + 800, depth)?;
12711 self.51.encode(encoder, offset + 816, depth)?;
12712 self.52.encode(encoder, offset + 832, depth)?;
12713 self.53.encode(encoder, offset + 848, depth)?;
12714 self.54.encode(encoder, offset + 864, depth)?;
12715 self.55.encode(encoder, offset + 880, depth)?;
12716 self.56.encode(encoder, offset + 896, depth)?;
12717 self.57.encode(encoder, offset + 912, depth)?;
12718 self.58.encode(encoder, offset + 928, depth)?;
12719 self.59.encode(encoder, offset + 944, depth)?;
12720 self.60.encode(encoder, offset + 960, depth)?;
12721 self.61.encode(encoder, offset + 976, depth)?;
12722 self.62.encode(encoder, offset + 992, depth)?;
12723 self.63.encode(encoder, offset + 1008, depth)?;
12724 self.64.encode(encoder, offset + 1024, depth)?;
12725 self.65.encode(encoder, offset + 1040, depth)?;
12726 self.66.encode(encoder, offset + 1056, depth)?;
12727 self.67.encode(encoder, offset + 1072, depth)?;
12728 self.68.encode(encoder, offset + 1088, depth)?;
12729 self.69.encode(encoder, offset + 1104, depth)?;
12730 self.70.encode(encoder, offset + 1120, depth)?;
12731 self.71.encode(encoder, offset + 1136, depth)?;
12732 self.72.encode(encoder, offset + 1152, depth)?;
12733 self.73.encode(encoder, offset + 1168, depth)?;
12734 self.74.encode(encoder, offset + 1184, depth)?;
12735 self.75.encode(encoder, offset + 1200, depth)?;
12736 self.76.encode(encoder, offset + 1216, depth)?;
12737 self.77.encode(encoder, offset + 1232, depth)?;
12738 self.78.encode(encoder, offset + 1248, depth)?;
12739 self.79.encode(encoder, offset + 1264, depth)?;
12740 self.80.encode(encoder, offset + 1280, depth)?;
12741 self.81.encode(encoder, offset + 1296, depth)?;
12742 self.82.encode(encoder, offset + 1312, depth)?;
12743 self.83.encode(encoder, offset + 1328, depth)?;
12744 self.84.encode(encoder, offset + 1344, depth)?;
12745 self.85.encode(encoder, offset + 1360, depth)?;
12746 self.86.encode(encoder, offset + 1376, depth)?;
12747 self.87.encode(encoder, offset + 1392, depth)?;
12748 self.88.encode(encoder, offset + 1408, depth)?;
12749 self.89.encode(encoder, offset + 1424, depth)?;
12750 self.90.encode(encoder, offset + 1440, depth)?;
12751 self.91.encode(encoder, offset + 1456, depth)?;
12752 self.92.encode(encoder, offset + 1472, depth)?;
12753 self.93.encode(encoder, offset + 1488, depth)?;
12754 self.94.encode(encoder, offset + 1504, depth)?;
12755 self.95.encode(encoder, offset + 1520, depth)?;
12756 self.96.encode(encoder, offset + 1536, depth)?;
12757 self.97.encode(encoder, offset + 1552, depth)?;
12758 self.98.encode(encoder, offset + 1568, depth)?;
12759 self.99.encode(encoder, offset + 1584, depth)?;
12760 self.100.encode(encoder, offset + 1600, depth)?;
12761 self.101.encode(encoder, offset + 1616, depth)?;
12762 self.102.encode(encoder, offset + 1632, depth)?;
12763 self.103.encode(encoder, offset + 1648, depth)?;
12764 self.104.encode(encoder, offset + 1664, depth)?;
12765 self.105.encode(encoder, offset + 1680, depth)?;
12766 self.106.encode(encoder, offset + 1696, depth)?;
12767 self.107.encode(encoder, offset + 1712, depth)?;
12768 self.108.encode(encoder, offset + 1728, depth)?;
12769 self.109.encode(encoder, offset + 1744, depth)?;
12770 self.110.encode(encoder, offset + 1760, depth)?;
12771 self.111.encode(encoder, offset + 1776, depth)?;
12772 self.112.encode(encoder, offset + 1792, depth)?;
12773 self.113.encode(encoder, offset + 1808, depth)?;
12774 self.114.encode(encoder, offset + 1824, depth)?;
12775 self.115.encode(encoder, offset + 1840, depth)?;
12776 self.116.encode(encoder, offset + 1856, depth)?;
12777 self.117.encode(encoder, offset + 1872, depth)?;
12778 self.118.encode(encoder, offset + 1888, depth)?;
12779 self.119.encode(encoder, offset + 1904, depth)?;
12780 Ok(())
12781 }
12782 }
12783
12784 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for Vectors {
12785 #[inline(always)]
12786 fn new_empty() -> Self {
12787 Self {
12788 b_0: fidl::new_empty!(
12789 fidl::encoding::UnboundedVector<bool>,
12790 fidl::encoding::DefaultFuchsiaResourceDialect
12791 ),
12792 i8_0: fidl::new_empty!(
12793 fidl::encoding::UnboundedVector<i8>,
12794 fidl::encoding::DefaultFuchsiaResourceDialect
12795 ),
12796 i16_0: fidl::new_empty!(
12797 fidl::encoding::UnboundedVector<i16>,
12798 fidl::encoding::DefaultFuchsiaResourceDialect
12799 ),
12800 i32_0: fidl::new_empty!(
12801 fidl::encoding::UnboundedVector<i32>,
12802 fidl::encoding::DefaultFuchsiaResourceDialect
12803 ),
12804 i64_0: fidl::new_empty!(
12805 fidl::encoding::UnboundedVector<i64>,
12806 fidl::encoding::DefaultFuchsiaResourceDialect
12807 ),
12808 u8_0: fidl::new_empty!(
12809 fidl::encoding::UnboundedVector<u8>,
12810 fidl::encoding::DefaultFuchsiaResourceDialect
12811 ),
12812 u16_0: fidl::new_empty!(
12813 fidl::encoding::UnboundedVector<u16>,
12814 fidl::encoding::DefaultFuchsiaResourceDialect
12815 ),
12816 u32_0: fidl::new_empty!(
12817 fidl::encoding::UnboundedVector<u32>,
12818 fidl::encoding::DefaultFuchsiaResourceDialect
12819 ),
12820 u64_0: fidl::new_empty!(
12821 fidl::encoding::UnboundedVector<u64>,
12822 fidl::encoding::DefaultFuchsiaResourceDialect
12823 ),
12824 f32_0: fidl::new_empty!(
12825 fidl::encoding::UnboundedVector<f32>,
12826 fidl::encoding::DefaultFuchsiaResourceDialect
12827 ),
12828 f64_0: fidl::new_empty!(
12829 fidl::encoding::UnboundedVector<f64>,
12830 fidl::encoding::DefaultFuchsiaResourceDialect
12831 ),
12832 handle_0: fidl::new_empty!(
12833 fidl::encoding::UnboundedVector<
12834 fidl::encoding::HandleType<
12835 fidl::Handle,
12836 { fidl::ObjectType::NONE.into_raw() },
12837 2147483648,
12838 >,
12839 >,
12840 fidl::encoding::DefaultFuchsiaResourceDialect
12841 ),
12842 b_1: fidl::new_empty!(
12843 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
12844 fidl::encoding::DefaultFuchsiaResourceDialect
12845 ),
12846 i8_1: fidl::new_empty!(
12847 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
12848 fidl::encoding::DefaultFuchsiaResourceDialect
12849 ),
12850 i16_1: fidl::new_empty!(
12851 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
12852 fidl::encoding::DefaultFuchsiaResourceDialect
12853 ),
12854 i32_1: fidl::new_empty!(
12855 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
12856 fidl::encoding::DefaultFuchsiaResourceDialect
12857 ),
12858 i64_1: fidl::new_empty!(
12859 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
12860 fidl::encoding::DefaultFuchsiaResourceDialect
12861 ),
12862 u8_1: fidl::new_empty!(
12863 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
12864 fidl::encoding::DefaultFuchsiaResourceDialect
12865 ),
12866 u16_1: fidl::new_empty!(
12867 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
12868 fidl::encoding::DefaultFuchsiaResourceDialect
12869 ),
12870 u32_1: fidl::new_empty!(
12871 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
12872 fidl::encoding::DefaultFuchsiaResourceDialect
12873 ),
12874 u64_1: fidl::new_empty!(
12875 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
12876 fidl::encoding::DefaultFuchsiaResourceDialect
12877 ),
12878 f32_1: fidl::new_empty!(
12879 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
12880 fidl::encoding::DefaultFuchsiaResourceDialect
12881 ),
12882 f64_1: fidl::new_empty!(
12883 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
12884 fidl::encoding::DefaultFuchsiaResourceDialect
12885 ),
12886 handle_1: fidl::new_empty!(
12887 fidl::encoding::UnboundedVector<
12888 fidl::encoding::Vector<
12889 fidl::encoding::HandleType<
12890 fidl::Handle,
12891 { fidl::ObjectType::NONE.into_raw() },
12892 2147483648,
12893 >,
12894 2,
12895 >,
12896 >,
12897 fidl::encoding::DefaultFuchsiaResourceDialect
12898 ),
12899 b_sized_0: fidl::new_empty!(fidl::encoding::Vector<bool, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12900 i8_sized_0: fidl::new_empty!(fidl::encoding::Vector<i8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12901 i16_sized_0: fidl::new_empty!(fidl::encoding::Vector<i16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12902 i32_sized_0: fidl::new_empty!(fidl::encoding::Vector<i32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12903 i64_sized_0: fidl::new_empty!(fidl::encoding::Vector<i64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12904 u8_sized_0: fidl::new_empty!(fidl::encoding::Vector<u8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12905 u16_sized_0: fidl::new_empty!(fidl::encoding::Vector<u16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12906 u32_sized_0: fidl::new_empty!(fidl::encoding::Vector<u32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12907 u64_sized_0: fidl::new_empty!(fidl::encoding::Vector<u64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12908 f32_sized_0: fidl::new_empty!(fidl::encoding::Vector<f32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12909 f64_sized_0: fidl::new_empty!(fidl::encoding::Vector<f64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect),
12910 handle_sized_0: fidl::new_empty!(
12911 fidl::encoding::Vector<
12912 fidl::encoding::HandleType<
12913 fidl::Handle,
12914 { fidl::ObjectType::NONE.into_raw() },
12915 2147483648,
12916 >,
12917 1,
12918 >,
12919 fidl::encoding::DefaultFuchsiaResourceDialect
12920 ),
12921 b_sized_1: fidl::new_empty!(fidl::encoding::Vector<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12922 i8_sized_1: fidl::new_empty!(fidl::encoding::Vector<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12923 i16_sized_1: fidl::new_empty!(fidl::encoding::Vector<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12924 i32_sized_1: fidl::new_empty!(fidl::encoding::Vector<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12925 i64_sized_1: fidl::new_empty!(fidl::encoding::Vector<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12926 u8_sized_1: fidl::new_empty!(fidl::encoding::Vector<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12927 u16_sized_1: fidl::new_empty!(fidl::encoding::Vector<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12928 u32_sized_1: fidl::new_empty!(fidl::encoding::Vector<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12929 u64_sized_1: fidl::new_empty!(fidl::encoding::Vector<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12930 f32_sized_1: fidl::new_empty!(fidl::encoding::Vector<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12931 f64_sized_1: fidl::new_empty!(fidl::encoding::Vector<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
12932 handle_sized_1: fidl::new_empty!(
12933 fidl::encoding::Vector<
12934 fidl::encoding::HandleType<
12935 fidl::Handle,
12936 { fidl::ObjectType::NONE.into_raw() },
12937 2147483648,
12938 >,
12939 3,
12940 >,
12941 fidl::encoding::DefaultFuchsiaResourceDialect
12942 ),
12943 b_sized_2: fidl::new_empty!(
12944 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
12945 fidl::encoding::DefaultFuchsiaResourceDialect
12946 ),
12947 i8_sized_2: fidl::new_empty!(
12948 fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>,
12949 fidl::encoding::DefaultFuchsiaResourceDialect
12950 ),
12951 i16_sized_2: fidl::new_empty!(
12952 fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>,
12953 fidl::encoding::DefaultFuchsiaResourceDialect
12954 ),
12955 i32_sized_2: fidl::new_empty!(
12956 fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>,
12957 fidl::encoding::DefaultFuchsiaResourceDialect
12958 ),
12959 i64_sized_2: fidl::new_empty!(
12960 fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>,
12961 fidl::encoding::DefaultFuchsiaResourceDialect
12962 ),
12963 u8_sized_2: fidl::new_empty!(
12964 fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>,
12965 fidl::encoding::DefaultFuchsiaResourceDialect
12966 ),
12967 u16_sized_2: fidl::new_empty!(
12968 fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>,
12969 fidl::encoding::DefaultFuchsiaResourceDialect
12970 ),
12971 u32_sized_2: fidl::new_empty!(
12972 fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>,
12973 fidl::encoding::DefaultFuchsiaResourceDialect
12974 ),
12975 u64_sized_2: fidl::new_empty!(
12976 fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>,
12977 fidl::encoding::DefaultFuchsiaResourceDialect
12978 ),
12979 f32_sized_2: fidl::new_empty!(
12980 fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>,
12981 fidl::encoding::DefaultFuchsiaResourceDialect
12982 ),
12983 f64_sized_2: fidl::new_empty!(
12984 fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>,
12985 fidl::encoding::DefaultFuchsiaResourceDialect
12986 ),
12987 handle_sized_2: fidl::new_empty!(
12988 fidl::encoding::Vector<
12989 fidl::encoding::Vector<
12990 fidl::encoding::HandleType<
12991 fidl::Handle,
12992 { fidl::ObjectType::NONE.into_raw() },
12993 2147483648,
12994 >,
12995 2,
12996 >,
12997 3,
12998 >,
12999 fidl::encoding::DefaultFuchsiaResourceDialect
13000 ),
13001 b_nullable_0: fidl::new_empty!(
13002 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
13003 fidl::encoding::DefaultFuchsiaResourceDialect
13004 ),
13005 i8_nullable_0: fidl::new_empty!(
13006 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
13007 fidl::encoding::DefaultFuchsiaResourceDialect
13008 ),
13009 i16_nullable_0: fidl::new_empty!(
13010 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
13011 fidl::encoding::DefaultFuchsiaResourceDialect
13012 ),
13013 i32_nullable_0: fidl::new_empty!(
13014 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
13015 fidl::encoding::DefaultFuchsiaResourceDialect
13016 ),
13017 i64_nullable_0: fidl::new_empty!(
13018 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
13019 fidl::encoding::DefaultFuchsiaResourceDialect
13020 ),
13021 u8_nullable_0: fidl::new_empty!(
13022 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
13023 fidl::encoding::DefaultFuchsiaResourceDialect
13024 ),
13025 u16_nullable_0: fidl::new_empty!(
13026 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
13027 fidl::encoding::DefaultFuchsiaResourceDialect
13028 ),
13029 u32_nullable_0: fidl::new_empty!(
13030 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
13031 fidl::encoding::DefaultFuchsiaResourceDialect
13032 ),
13033 u64_nullable_0: fidl::new_empty!(
13034 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
13035 fidl::encoding::DefaultFuchsiaResourceDialect
13036 ),
13037 f32_nullable_0: fidl::new_empty!(
13038 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
13039 fidl::encoding::DefaultFuchsiaResourceDialect
13040 ),
13041 f64_nullable_0: fidl::new_empty!(
13042 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
13043 fidl::encoding::DefaultFuchsiaResourceDialect
13044 ),
13045 handle_nullable_0: fidl::new_empty!(
13046 fidl::encoding::Optional<
13047 fidl::encoding::Vector<
13048 fidl::encoding::HandleType<
13049 fidl::Handle,
13050 { fidl::ObjectType::NONE.into_raw() },
13051 2147483648,
13052 >,
13053 1,
13054 >,
13055 >,
13056 fidl::encoding::DefaultFuchsiaResourceDialect
13057 ),
13058 b_nullable_1: fidl::new_empty!(
13059 fidl::encoding::Optional<
13060 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
13061 >,
13062 fidl::encoding::DefaultFuchsiaResourceDialect
13063 ),
13064 i8_nullable_1: fidl::new_empty!(
13065 fidl::encoding::Optional<
13066 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
13067 >,
13068 fidl::encoding::DefaultFuchsiaResourceDialect
13069 ),
13070 i16_nullable_1: fidl::new_empty!(
13071 fidl::encoding::Optional<
13072 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
13073 >,
13074 fidl::encoding::DefaultFuchsiaResourceDialect
13075 ),
13076 i32_nullable_1: fidl::new_empty!(
13077 fidl::encoding::Optional<
13078 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
13079 >,
13080 fidl::encoding::DefaultFuchsiaResourceDialect
13081 ),
13082 i64_nullable_1: fidl::new_empty!(
13083 fidl::encoding::Optional<
13084 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
13085 >,
13086 fidl::encoding::DefaultFuchsiaResourceDialect
13087 ),
13088 u8_nullable_1: fidl::new_empty!(
13089 fidl::encoding::Optional<
13090 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
13091 >,
13092 fidl::encoding::DefaultFuchsiaResourceDialect
13093 ),
13094 u16_nullable_1: fidl::new_empty!(
13095 fidl::encoding::Optional<
13096 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
13097 >,
13098 fidl::encoding::DefaultFuchsiaResourceDialect
13099 ),
13100 u32_nullable_1: fidl::new_empty!(
13101 fidl::encoding::Optional<
13102 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
13103 >,
13104 fidl::encoding::DefaultFuchsiaResourceDialect
13105 ),
13106 u64_nullable_1: fidl::new_empty!(
13107 fidl::encoding::Optional<
13108 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
13109 >,
13110 fidl::encoding::DefaultFuchsiaResourceDialect
13111 ),
13112 f32_nullable_1: fidl::new_empty!(
13113 fidl::encoding::Optional<
13114 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
13115 >,
13116 fidl::encoding::DefaultFuchsiaResourceDialect
13117 ),
13118 f64_nullable_1: fidl::new_empty!(
13119 fidl::encoding::Optional<
13120 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
13121 >,
13122 fidl::encoding::DefaultFuchsiaResourceDialect
13123 ),
13124 handle_nullable_1: fidl::new_empty!(
13125 fidl::encoding::Optional<
13126 fidl::encoding::UnboundedVector<
13127 fidl::encoding::Vector<
13128 fidl::encoding::HandleType<
13129 fidl::Handle,
13130 { fidl::ObjectType::NONE.into_raw() },
13131 2147483648,
13132 >,
13133 2,
13134 >,
13135 >,
13136 >,
13137 fidl::encoding::DefaultFuchsiaResourceDialect
13138 ),
13139 b_nullable_sized_0: fidl::new_empty!(
13140 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
13141 fidl::encoding::DefaultFuchsiaResourceDialect
13142 ),
13143 i8_nullable_sized_0: fidl::new_empty!(
13144 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
13145 fidl::encoding::DefaultFuchsiaResourceDialect
13146 ),
13147 i16_nullable_sized_0: fidl::new_empty!(
13148 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
13149 fidl::encoding::DefaultFuchsiaResourceDialect
13150 ),
13151 i32_nullable_sized_0: fidl::new_empty!(
13152 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
13153 fidl::encoding::DefaultFuchsiaResourceDialect
13154 ),
13155 i64_nullable_sized_0: fidl::new_empty!(
13156 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
13157 fidl::encoding::DefaultFuchsiaResourceDialect
13158 ),
13159 u8_nullable_sized_0: fidl::new_empty!(
13160 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
13161 fidl::encoding::DefaultFuchsiaResourceDialect
13162 ),
13163 u16_nullable_sized_0: fidl::new_empty!(
13164 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
13165 fidl::encoding::DefaultFuchsiaResourceDialect
13166 ),
13167 u32_nullable_sized_0: fidl::new_empty!(
13168 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
13169 fidl::encoding::DefaultFuchsiaResourceDialect
13170 ),
13171 u64_nullable_sized_0: fidl::new_empty!(
13172 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
13173 fidl::encoding::DefaultFuchsiaResourceDialect
13174 ),
13175 f32_nullable_sized_0: fidl::new_empty!(
13176 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
13177 fidl::encoding::DefaultFuchsiaResourceDialect
13178 ),
13179 f64_nullable_sized_0: fidl::new_empty!(
13180 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
13181 fidl::encoding::DefaultFuchsiaResourceDialect
13182 ),
13183 handle_nullable_sized_0: fidl::new_empty!(
13184 fidl::encoding::Optional<
13185 fidl::encoding::Vector<
13186 fidl::encoding::HandleType<
13187 fidl::Handle,
13188 { fidl::ObjectType::NONE.into_raw() },
13189 2147483648,
13190 >,
13191 1,
13192 >,
13193 >,
13194 fidl::encoding::DefaultFuchsiaResourceDialect
13195 ),
13196 b_nullable_sized_1: fidl::new_empty!(
13197 fidl::encoding::Optional<fidl::encoding::Vector<bool, 3>>,
13198 fidl::encoding::DefaultFuchsiaResourceDialect
13199 ),
13200 i8_nullable_sized_1: fidl::new_empty!(
13201 fidl::encoding::Optional<fidl::encoding::Vector<i8, 3>>,
13202 fidl::encoding::DefaultFuchsiaResourceDialect
13203 ),
13204 i16_nullable_sized_1: fidl::new_empty!(
13205 fidl::encoding::Optional<fidl::encoding::Vector<i16, 3>>,
13206 fidl::encoding::DefaultFuchsiaResourceDialect
13207 ),
13208 i32_nullable_sized_1: fidl::new_empty!(
13209 fidl::encoding::Optional<fidl::encoding::Vector<i32, 3>>,
13210 fidl::encoding::DefaultFuchsiaResourceDialect
13211 ),
13212 i64_nullable_sized_1: fidl::new_empty!(
13213 fidl::encoding::Optional<fidl::encoding::Vector<i64, 3>>,
13214 fidl::encoding::DefaultFuchsiaResourceDialect
13215 ),
13216 u8_nullable_sized_1: fidl::new_empty!(
13217 fidl::encoding::Optional<fidl::encoding::Vector<u8, 3>>,
13218 fidl::encoding::DefaultFuchsiaResourceDialect
13219 ),
13220 u16_nullable_sized_1: fidl::new_empty!(
13221 fidl::encoding::Optional<fidl::encoding::Vector<u16, 3>>,
13222 fidl::encoding::DefaultFuchsiaResourceDialect
13223 ),
13224 u32_nullable_sized_1: fidl::new_empty!(
13225 fidl::encoding::Optional<fidl::encoding::Vector<u32, 3>>,
13226 fidl::encoding::DefaultFuchsiaResourceDialect
13227 ),
13228 u64_nullable_sized_1: fidl::new_empty!(
13229 fidl::encoding::Optional<fidl::encoding::Vector<u64, 3>>,
13230 fidl::encoding::DefaultFuchsiaResourceDialect
13231 ),
13232 f32_nullable_sized_1: fidl::new_empty!(
13233 fidl::encoding::Optional<fidl::encoding::Vector<f32, 3>>,
13234 fidl::encoding::DefaultFuchsiaResourceDialect
13235 ),
13236 f64_nullable_sized_1: fidl::new_empty!(
13237 fidl::encoding::Optional<fidl::encoding::Vector<f64, 3>>,
13238 fidl::encoding::DefaultFuchsiaResourceDialect
13239 ),
13240 handle_nullable_sized_1: fidl::new_empty!(
13241 fidl::encoding::Optional<
13242 fidl::encoding::Vector<
13243 fidl::encoding::HandleType<
13244 fidl::Handle,
13245 { fidl::ObjectType::NONE.into_raw() },
13246 2147483648,
13247 >,
13248 3,
13249 >,
13250 >,
13251 fidl::encoding::DefaultFuchsiaResourceDialect
13252 ),
13253 b_nullable_sized_2: fidl::new_empty!(
13254 fidl::encoding::Optional<
13255 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
13256 >,
13257 fidl::encoding::DefaultFuchsiaResourceDialect
13258 ),
13259 i8_nullable_sized_2: fidl::new_empty!(
13260 fidl::encoding::Optional<
13261 fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>,
13262 >,
13263 fidl::encoding::DefaultFuchsiaResourceDialect
13264 ),
13265 i16_nullable_sized_2: fidl::new_empty!(
13266 fidl::encoding::Optional<
13267 fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>,
13268 >,
13269 fidl::encoding::DefaultFuchsiaResourceDialect
13270 ),
13271 i32_nullable_sized_2: fidl::new_empty!(
13272 fidl::encoding::Optional<
13273 fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>,
13274 >,
13275 fidl::encoding::DefaultFuchsiaResourceDialect
13276 ),
13277 i64_nullable_sized_2: fidl::new_empty!(
13278 fidl::encoding::Optional<
13279 fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>,
13280 >,
13281 fidl::encoding::DefaultFuchsiaResourceDialect
13282 ),
13283 u8_nullable_sized_2: fidl::new_empty!(
13284 fidl::encoding::Optional<
13285 fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>,
13286 >,
13287 fidl::encoding::DefaultFuchsiaResourceDialect
13288 ),
13289 u16_nullable_sized_2: fidl::new_empty!(
13290 fidl::encoding::Optional<
13291 fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>,
13292 >,
13293 fidl::encoding::DefaultFuchsiaResourceDialect
13294 ),
13295 u32_nullable_sized_2: fidl::new_empty!(
13296 fidl::encoding::Optional<
13297 fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>,
13298 >,
13299 fidl::encoding::DefaultFuchsiaResourceDialect
13300 ),
13301 u64_nullable_sized_2: fidl::new_empty!(
13302 fidl::encoding::Optional<
13303 fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>,
13304 >,
13305 fidl::encoding::DefaultFuchsiaResourceDialect
13306 ),
13307 f32_nullable_sized_2: fidl::new_empty!(
13308 fidl::encoding::Optional<
13309 fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>,
13310 >,
13311 fidl::encoding::DefaultFuchsiaResourceDialect
13312 ),
13313 f64_nullable_sized_2: fidl::new_empty!(
13314 fidl::encoding::Optional<
13315 fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>,
13316 >,
13317 fidl::encoding::DefaultFuchsiaResourceDialect
13318 ),
13319 handle_nullable_sized_2: fidl::new_empty!(
13320 fidl::encoding::Optional<
13321 fidl::encoding::Vector<
13322 fidl::encoding::Vector<
13323 fidl::encoding::HandleType<
13324 fidl::Handle,
13325 { fidl::ObjectType::NONE.into_raw() },
13326 2147483648,
13327 >,
13328 2,
13329 >,
13330 3,
13331 >,
13332 >,
13333 fidl::encoding::DefaultFuchsiaResourceDialect
13334 ),
13335 }
13336 }
13337
13338 #[inline]
13339 unsafe fn decode(
13340 &mut self,
13341 decoder: &mut fidl::encoding::Decoder<
13342 '_,
13343 fidl::encoding::DefaultFuchsiaResourceDialect,
13344 >,
13345 offset: usize,
13346 _depth: fidl::encoding::Depth,
13347 ) -> fidl::Result<()> {
13348 decoder.debug_check_bounds::<Self>(offset);
13349 fidl::decode!(
13351 fidl::encoding::UnboundedVector<bool>,
13352 fidl::encoding::DefaultFuchsiaResourceDialect,
13353 &mut self.b_0,
13354 decoder,
13355 offset + 0,
13356 _depth
13357 )?;
13358 fidl::decode!(
13359 fidl::encoding::UnboundedVector<i8>,
13360 fidl::encoding::DefaultFuchsiaResourceDialect,
13361 &mut self.i8_0,
13362 decoder,
13363 offset + 16,
13364 _depth
13365 )?;
13366 fidl::decode!(
13367 fidl::encoding::UnboundedVector<i16>,
13368 fidl::encoding::DefaultFuchsiaResourceDialect,
13369 &mut self.i16_0,
13370 decoder,
13371 offset + 32,
13372 _depth
13373 )?;
13374 fidl::decode!(
13375 fidl::encoding::UnboundedVector<i32>,
13376 fidl::encoding::DefaultFuchsiaResourceDialect,
13377 &mut self.i32_0,
13378 decoder,
13379 offset + 48,
13380 _depth
13381 )?;
13382 fidl::decode!(
13383 fidl::encoding::UnboundedVector<i64>,
13384 fidl::encoding::DefaultFuchsiaResourceDialect,
13385 &mut self.i64_0,
13386 decoder,
13387 offset + 64,
13388 _depth
13389 )?;
13390 fidl::decode!(
13391 fidl::encoding::UnboundedVector<u8>,
13392 fidl::encoding::DefaultFuchsiaResourceDialect,
13393 &mut self.u8_0,
13394 decoder,
13395 offset + 80,
13396 _depth
13397 )?;
13398 fidl::decode!(
13399 fidl::encoding::UnboundedVector<u16>,
13400 fidl::encoding::DefaultFuchsiaResourceDialect,
13401 &mut self.u16_0,
13402 decoder,
13403 offset + 96,
13404 _depth
13405 )?;
13406 fidl::decode!(
13407 fidl::encoding::UnboundedVector<u32>,
13408 fidl::encoding::DefaultFuchsiaResourceDialect,
13409 &mut self.u32_0,
13410 decoder,
13411 offset + 112,
13412 _depth
13413 )?;
13414 fidl::decode!(
13415 fidl::encoding::UnboundedVector<u64>,
13416 fidl::encoding::DefaultFuchsiaResourceDialect,
13417 &mut self.u64_0,
13418 decoder,
13419 offset + 128,
13420 _depth
13421 )?;
13422 fidl::decode!(
13423 fidl::encoding::UnboundedVector<f32>,
13424 fidl::encoding::DefaultFuchsiaResourceDialect,
13425 &mut self.f32_0,
13426 decoder,
13427 offset + 144,
13428 _depth
13429 )?;
13430 fidl::decode!(
13431 fidl::encoding::UnboundedVector<f64>,
13432 fidl::encoding::DefaultFuchsiaResourceDialect,
13433 &mut self.f64_0,
13434 decoder,
13435 offset + 160,
13436 _depth
13437 )?;
13438 fidl::decode!(
13439 fidl::encoding::UnboundedVector<
13440 fidl::encoding::HandleType<
13441 fidl::Handle,
13442 { fidl::ObjectType::NONE.into_raw() },
13443 2147483648,
13444 >,
13445 >,
13446 fidl::encoding::DefaultFuchsiaResourceDialect,
13447 &mut self.handle_0,
13448 decoder,
13449 offset + 176,
13450 _depth
13451 )?;
13452 fidl::decode!(
13453 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
13454 fidl::encoding::DefaultFuchsiaResourceDialect,
13455 &mut self.b_1,
13456 decoder,
13457 offset + 192,
13458 _depth
13459 )?;
13460 fidl::decode!(
13461 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
13462 fidl::encoding::DefaultFuchsiaResourceDialect,
13463 &mut self.i8_1,
13464 decoder,
13465 offset + 208,
13466 _depth
13467 )?;
13468 fidl::decode!(
13469 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
13470 fidl::encoding::DefaultFuchsiaResourceDialect,
13471 &mut self.i16_1,
13472 decoder,
13473 offset + 224,
13474 _depth
13475 )?;
13476 fidl::decode!(
13477 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
13478 fidl::encoding::DefaultFuchsiaResourceDialect,
13479 &mut self.i32_1,
13480 decoder,
13481 offset + 240,
13482 _depth
13483 )?;
13484 fidl::decode!(
13485 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
13486 fidl::encoding::DefaultFuchsiaResourceDialect,
13487 &mut self.i64_1,
13488 decoder,
13489 offset + 256,
13490 _depth
13491 )?;
13492 fidl::decode!(
13493 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
13494 fidl::encoding::DefaultFuchsiaResourceDialect,
13495 &mut self.u8_1,
13496 decoder,
13497 offset + 272,
13498 _depth
13499 )?;
13500 fidl::decode!(
13501 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
13502 fidl::encoding::DefaultFuchsiaResourceDialect,
13503 &mut self.u16_1,
13504 decoder,
13505 offset + 288,
13506 _depth
13507 )?;
13508 fidl::decode!(
13509 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
13510 fidl::encoding::DefaultFuchsiaResourceDialect,
13511 &mut self.u32_1,
13512 decoder,
13513 offset + 304,
13514 _depth
13515 )?;
13516 fidl::decode!(
13517 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
13518 fidl::encoding::DefaultFuchsiaResourceDialect,
13519 &mut self.u64_1,
13520 decoder,
13521 offset + 320,
13522 _depth
13523 )?;
13524 fidl::decode!(
13525 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
13526 fidl::encoding::DefaultFuchsiaResourceDialect,
13527 &mut self.f32_1,
13528 decoder,
13529 offset + 336,
13530 _depth
13531 )?;
13532 fidl::decode!(
13533 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
13534 fidl::encoding::DefaultFuchsiaResourceDialect,
13535 &mut self.f64_1,
13536 decoder,
13537 offset + 352,
13538 _depth
13539 )?;
13540 fidl::decode!(
13541 fidl::encoding::UnboundedVector<
13542 fidl::encoding::Vector<
13543 fidl::encoding::HandleType<
13544 fidl::Handle,
13545 { fidl::ObjectType::NONE.into_raw() },
13546 2147483648,
13547 >,
13548 2,
13549 >,
13550 >,
13551 fidl::encoding::DefaultFuchsiaResourceDialect,
13552 &mut self.handle_1,
13553 decoder,
13554 offset + 368,
13555 _depth
13556 )?;
13557 fidl::decode!(fidl::encoding::Vector<bool, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.b_sized_0, decoder, offset + 384, _depth)?;
13558 fidl::decode!(fidl::encoding::Vector<i8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i8_sized_0, decoder, offset + 400, _depth)?;
13559 fidl::decode!(fidl::encoding::Vector<i16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i16_sized_0, decoder, offset + 416, _depth)?;
13560 fidl::decode!(fidl::encoding::Vector<i32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i32_sized_0, decoder, offset + 432, _depth)?;
13561 fidl::decode!(fidl::encoding::Vector<i64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i64_sized_0, decoder, offset + 448, _depth)?;
13562 fidl::decode!(fidl::encoding::Vector<u8, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u8_sized_0, decoder, offset + 464, _depth)?;
13563 fidl::decode!(fidl::encoding::Vector<u16, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u16_sized_0, decoder, offset + 480, _depth)?;
13564 fidl::decode!(fidl::encoding::Vector<u32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u32_sized_0, decoder, offset + 496, _depth)?;
13565 fidl::decode!(fidl::encoding::Vector<u64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u64_sized_0, decoder, offset + 512, _depth)?;
13566 fidl::decode!(fidl::encoding::Vector<f32, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f32_sized_0, decoder, offset + 528, _depth)?;
13567 fidl::decode!(fidl::encoding::Vector<f64, 1>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f64_sized_0, decoder, offset + 544, _depth)?;
13568 fidl::decode!(
13569 fidl::encoding::Vector<
13570 fidl::encoding::HandleType<
13571 fidl::Handle,
13572 { fidl::ObjectType::NONE.into_raw() },
13573 2147483648,
13574 >,
13575 1,
13576 >,
13577 fidl::encoding::DefaultFuchsiaResourceDialect,
13578 &mut self.handle_sized_0,
13579 decoder,
13580 offset + 560,
13581 _depth
13582 )?;
13583 fidl::decode!(fidl::encoding::Vector<bool, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.b_sized_1, decoder, offset + 576, _depth)?;
13584 fidl::decode!(fidl::encoding::Vector<i8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i8_sized_1, decoder, offset + 592, _depth)?;
13585 fidl::decode!(fidl::encoding::Vector<i16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i16_sized_1, decoder, offset + 608, _depth)?;
13586 fidl::decode!(fidl::encoding::Vector<i32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i32_sized_1, decoder, offset + 624, _depth)?;
13587 fidl::decode!(fidl::encoding::Vector<i64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.i64_sized_1, decoder, offset + 640, _depth)?;
13588 fidl::decode!(fidl::encoding::Vector<u8, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u8_sized_1, decoder, offset + 656, _depth)?;
13589 fidl::decode!(fidl::encoding::Vector<u16, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u16_sized_1, decoder, offset + 672, _depth)?;
13590 fidl::decode!(fidl::encoding::Vector<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u32_sized_1, decoder, offset + 688, _depth)?;
13591 fidl::decode!(fidl::encoding::Vector<u64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.u64_sized_1, decoder, offset + 704, _depth)?;
13592 fidl::decode!(fidl::encoding::Vector<f32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f32_sized_1, decoder, offset + 720, _depth)?;
13593 fidl::decode!(fidl::encoding::Vector<f64, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.f64_sized_1, decoder, offset + 736, _depth)?;
13594 fidl::decode!(
13595 fidl::encoding::Vector<
13596 fidl::encoding::HandleType<
13597 fidl::Handle,
13598 { fidl::ObjectType::NONE.into_raw() },
13599 2147483648,
13600 >,
13601 3,
13602 >,
13603 fidl::encoding::DefaultFuchsiaResourceDialect,
13604 &mut self.handle_sized_1,
13605 decoder,
13606 offset + 752,
13607 _depth
13608 )?;
13609 fidl::decode!(
13610 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
13611 fidl::encoding::DefaultFuchsiaResourceDialect,
13612 &mut self.b_sized_2,
13613 decoder,
13614 offset + 768,
13615 _depth
13616 )?;
13617 fidl::decode!(
13618 fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>,
13619 fidl::encoding::DefaultFuchsiaResourceDialect,
13620 &mut self.i8_sized_2,
13621 decoder,
13622 offset + 784,
13623 _depth
13624 )?;
13625 fidl::decode!(
13626 fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>,
13627 fidl::encoding::DefaultFuchsiaResourceDialect,
13628 &mut self.i16_sized_2,
13629 decoder,
13630 offset + 800,
13631 _depth
13632 )?;
13633 fidl::decode!(
13634 fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>,
13635 fidl::encoding::DefaultFuchsiaResourceDialect,
13636 &mut self.i32_sized_2,
13637 decoder,
13638 offset + 816,
13639 _depth
13640 )?;
13641 fidl::decode!(
13642 fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>,
13643 fidl::encoding::DefaultFuchsiaResourceDialect,
13644 &mut self.i64_sized_2,
13645 decoder,
13646 offset + 832,
13647 _depth
13648 )?;
13649 fidl::decode!(
13650 fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>,
13651 fidl::encoding::DefaultFuchsiaResourceDialect,
13652 &mut self.u8_sized_2,
13653 decoder,
13654 offset + 848,
13655 _depth
13656 )?;
13657 fidl::decode!(
13658 fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>,
13659 fidl::encoding::DefaultFuchsiaResourceDialect,
13660 &mut self.u16_sized_2,
13661 decoder,
13662 offset + 864,
13663 _depth
13664 )?;
13665 fidl::decode!(
13666 fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>,
13667 fidl::encoding::DefaultFuchsiaResourceDialect,
13668 &mut self.u32_sized_2,
13669 decoder,
13670 offset + 880,
13671 _depth
13672 )?;
13673 fidl::decode!(
13674 fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>,
13675 fidl::encoding::DefaultFuchsiaResourceDialect,
13676 &mut self.u64_sized_2,
13677 decoder,
13678 offset + 896,
13679 _depth
13680 )?;
13681 fidl::decode!(
13682 fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>,
13683 fidl::encoding::DefaultFuchsiaResourceDialect,
13684 &mut self.f32_sized_2,
13685 decoder,
13686 offset + 912,
13687 _depth
13688 )?;
13689 fidl::decode!(
13690 fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>,
13691 fidl::encoding::DefaultFuchsiaResourceDialect,
13692 &mut self.f64_sized_2,
13693 decoder,
13694 offset + 928,
13695 _depth
13696 )?;
13697 fidl::decode!(
13698 fidl::encoding::Vector<
13699 fidl::encoding::Vector<
13700 fidl::encoding::HandleType<
13701 fidl::Handle,
13702 { fidl::ObjectType::NONE.into_raw() },
13703 2147483648,
13704 >,
13705 2,
13706 >,
13707 3,
13708 >,
13709 fidl::encoding::DefaultFuchsiaResourceDialect,
13710 &mut self.handle_sized_2,
13711 decoder,
13712 offset + 944,
13713 _depth
13714 )?;
13715 fidl::decode!(
13716 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
13717 fidl::encoding::DefaultFuchsiaResourceDialect,
13718 &mut self.b_nullable_0,
13719 decoder,
13720 offset + 960,
13721 _depth
13722 )?;
13723 fidl::decode!(
13724 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
13725 fidl::encoding::DefaultFuchsiaResourceDialect,
13726 &mut self.i8_nullable_0,
13727 decoder,
13728 offset + 976,
13729 _depth
13730 )?;
13731 fidl::decode!(
13732 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
13733 fidl::encoding::DefaultFuchsiaResourceDialect,
13734 &mut self.i16_nullable_0,
13735 decoder,
13736 offset + 992,
13737 _depth
13738 )?;
13739 fidl::decode!(
13740 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
13741 fidl::encoding::DefaultFuchsiaResourceDialect,
13742 &mut self.i32_nullable_0,
13743 decoder,
13744 offset + 1008,
13745 _depth
13746 )?;
13747 fidl::decode!(
13748 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
13749 fidl::encoding::DefaultFuchsiaResourceDialect,
13750 &mut self.i64_nullable_0,
13751 decoder,
13752 offset + 1024,
13753 _depth
13754 )?;
13755 fidl::decode!(
13756 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
13757 fidl::encoding::DefaultFuchsiaResourceDialect,
13758 &mut self.u8_nullable_0,
13759 decoder,
13760 offset + 1040,
13761 _depth
13762 )?;
13763 fidl::decode!(
13764 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
13765 fidl::encoding::DefaultFuchsiaResourceDialect,
13766 &mut self.u16_nullable_0,
13767 decoder,
13768 offset + 1056,
13769 _depth
13770 )?;
13771 fidl::decode!(
13772 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
13773 fidl::encoding::DefaultFuchsiaResourceDialect,
13774 &mut self.u32_nullable_0,
13775 decoder,
13776 offset + 1072,
13777 _depth
13778 )?;
13779 fidl::decode!(
13780 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
13781 fidl::encoding::DefaultFuchsiaResourceDialect,
13782 &mut self.u64_nullable_0,
13783 decoder,
13784 offset + 1088,
13785 _depth
13786 )?;
13787 fidl::decode!(
13788 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
13789 fidl::encoding::DefaultFuchsiaResourceDialect,
13790 &mut self.f32_nullable_0,
13791 decoder,
13792 offset + 1104,
13793 _depth
13794 )?;
13795 fidl::decode!(
13796 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
13797 fidl::encoding::DefaultFuchsiaResourceDialect,
13798 &mut self.f64_nullable_0,
13799 decoder,
13800 offset + 1120,
13801 _depth
13802 )?;
13803 fidl::decode!(
13804 fidl::encoding::Optional<
13805 fidl::encoding::Vector<
13806 fidl::encoding::HandleType<
13807 fidl::Handle,
13808 { fidl::ObjectType::NONE.into_raw() },
13809 2147483648,
13810 >,
13811 1,
13812 >,
13813 >,
13814 fidl::encoding::DefaultFuchsiaResourceDialect,
13815 &mut self.handle_nullable_0,
13816 decoder,
13817 offset + 1136,
13818 _depth
13819 )?;
13820 fidl::decode!(
13821 fidl::encoding::Optional<
13822 fidl::encoding::UnboundedVector<fidl::encoding::Vector<bool, 2>>,
13823 >,
13824 fidl::encoding::DefaultFuchsiaResourceDialect,
13825 &mut self.b_nullable_1,
13826 decoder,
13827 offset + 1152,
13828 _depth
13829 )?;
13830 fidl::decode!(
13831 fidl::encoding::Optional<
13832 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i8, 2>>,
13833 >,
13834 fidl::encoding::DefaultFuchsiaResourceDialect,
13835 &mut self.i8_nullable_1,
13836 decoder,
13837 offset + 1168,
13838 _depth
13839 )?;
13840 fidl::decode!(
13841 fidl::encoding::Optional<
13842 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i16, 2>>,
13843 >,
13844 fidl::encoding::DefaultFuchsiaResourceDialect,
13845 &mut self.i16_nullable_1,
13846 decoder,
13847 offset + 1184,
13848 _depth
13849 )?;
13850 fidl::decode!(
13851 fidl::encoding::Optional<
13852 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i32, 2>>,
13853 >,
13854 fidl::encoding::DefaultFuchsiaResourceDialect,
13855 &mut self.i32_nullable_1,
13856 decoder,
13857 offset + 1200,
13858 _depth
13859 )?;
13860 fidl::decode!(
13861 fidl::encoding::Optional<
13862 fidl::encoding::UnboundedVector<fidl::encoding::Vector<i64, 2>>,
13863 >,
13864 fidl::encoding::DefaultFuchsiaResourceDialect,
13865 &mut self.i64_nullable_1,
13866 decoder,
13867 offset + 1216,
13868 _depth
13869 )?;
13870 fidl::decode!(
13871 fidl::encoding::Optional<
13872 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 2>>,
13873 >,
13874 fidl::encoding::DefaultFuchsiaResourceDialect,
13875 &mut self.u8_nullable_1,
13876 decoder,
13877 offset + 1232,
13878 _depth
13879 )?;
13880 fidl::decode!(
13881 fidl::encoding::Optional<
13882 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u16, 2>>,
13883 >,
13884 fidl::encoding::DefaultFuchsiaResourceDialect,
13885 &mut self.u16_nullable_1,
13886 decoder,
13887 offset + 1248,
13888 _depth
13889 )?;
13890 fidl::decode!(
13891 fidl::encoding::Optional<
13892 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u32, 2>>,
13893 >,
13894 fidl::encoding::DefaultFuchsiaResourceDialect,
13895 &mut self.u32_nullable_1,
13896 decoder,
13897 offset + 1264,
13898 _depth
13899 )?;
13900 fidl::decode!(
13901 fidl::encoding::Optional<
13902 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u64, 2>>,
13903 >,
13904 fidl::encoding::DefaultFuchsiaResourceDialect,
13905 &mut self.u64_nullable_1,
13906 decoder,
13907 offset + 1280,
13908 _depth
13909 )?;
13910 fidl::decode!(
13911 fidl::encoding::Optional<
13912 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f32, 2>>,
13913 >,
13914 fidl::encoding::DefaultFuchsiaResourceDialect,
13915 &mut self.f32_nullable_1,
13916 decoder,
13917 offset + 1296,
13918 _depth
13919 )?;
13920 fidl::decode!(
13921 fidl::encoding::Optional<
13922 fidl::encoding::UnboundedVector<fidl::encoding::Vector<f64, 2>>,
13923 >,
13924 fidl::encoding::DefaultFuchsiaResourceDialect,
13925 &mut self.f64_nullable_1,
13926 decoder,
13927 offset + 1312,
13928 _depth
13929 )?;
13930 fidl::decode!(
13931 fidl::encoding::Optional<
13932 fidl::encoding::UnboundedVector<
13933 fidl::encoding::Vector<
13934 fidl::encoding::HandleType<
13935 fidl::Handle,
13936 { fidl::ObjectType::NONE.into_raw() },
13937 2147483648,
13938 >,
13939 2,
13940 >,
13941 >,
13942 >,
13943 fidl::encoding::DefaultFuchsiaResourceDialect,
13944 &mut self.handle_nullable_1,
13945 decoder,
13946 offset + 1328,
13947 _depth
13948 )?;
13949 fidl::decode!(
13950 fidl::encoding::Optional<fidl::encoding::Vector<bool, 1>>,
13951 fidl::encoding::DefaultFuchsiaResourceDialect,
13952 &mut self.b_nullable_sized_0,
13953 decoder,
13954 offset + 1344,
13955 _depth
13956 )?;
13957 fidl::decode!(
13958 fidl::encoding::Optional<fidl::encoding::Vector<i8, 1>>,
13959 fidl::encoding::DefaultFuchsiaResourceDialect,
13960 &mut self.i8_nullable_sized_0,
13961 decoder,
13962 offset + 1360,
13963 _depth
13964 )?;
13965 fidl::decode!(
13966 fidl::encoding::Optional<fidl::encoding::Vector<i16, 1>>,
13967 fidl::encoding::DefaultFuchsiaResourceDialect,
13968 &mut self.i16_nullable_sized_0,
13969 decoder,
13970 offset + 1376,
13971 _depth
13972 )?;
13973 fidl::decode!(
13974 fidl::encoding::Optional<fidl::encoding::Vector<i32, 1>>,
13975 fidl::encoding::DefaultFuchsiaResourceDialect,
13976 &mut self.i32_nullable_sized_0,
13977 decoder,
13978 offset + 1392,
13979 _depth
13980 )?;
13981 fidl::decode!(
13982 fidl::encoding::Optional<fidl::encoding::Vector<i64, 1>>,
13983 fidl::encoding::DefaultFuchsiaResourceDialect,
13984 &mut self.i64_nullable_sized_0,
13985 decoder,
13986 offset + 1408,
13987 _depth
13988 )?;
13989 fidl::decode!(
13990 fidl::encoding::Optional<fidl::encoding::Vector<u8, 1>>,
13991 fidl::encoding::DefaultFuchsiaResourceDialect,
13992 &mut self.u8_nullable_sized_0,
13993 decoder,
13994 offset + 1424,
13995 _depth
13996 )?;
13997 fidl::decode!(
13998 fidl::encoding::Optional<fidl::encoding::Vector<u16, 1>>,
13999 fidl::encoding::DefaultFuchsiaResourceDialect,
14000 &mut self.u16_nullable_sized_0,
14001 decoder,
14002 offset + 1440,
14003 _depth
14004 )?;
14005 fidl::decode!(
14006 fidl::encoding::Optional<fidl::encoding::Vector<u32, 1>>,
14007 fidl::encoding::DefaultFuchsiaResourceDialect,
14008 &mut self.u32_nullable_sized_0,
14009 decoder,
14010 offset + 1456,
14011 _depth
14012 )?;
14013 fidl::decode!(
14014 fidl::encoding::Optional<fidl::encoding::Vector<u64, 1>>,
14015 fidl::encoding::DefaultFuchsiaResourceDialect,
14016 &mut self.u64_nullable_sized_0,
14017 decoder,
14018 offset + 1472,
14019 _depth
14020 )?;
14021 fidl::decode!(
14022 fidl::encoding::Optional<fidl::encoding::Vector<f32, 1>>,
14023 fidl::encoding::DefaultFuchsiaResourceDialect,
14024 &mut self.f32_nullable_sized_0,
14025 decoder,
14026 offset + 1488,
14027 _depth
14028 )?;
14029 fidl::decode!(
14030 fidl::encoding::Optional<fidl::encoding::Vector<f64, 1>>,
14031 fidl::encoding::DefaultFuchsiaResourceDialect,
14032 &mut self.f64_nullable_sized_0,
14033 decoder,
14034 offset + 1504,
14035 _depth
14036 )?;
14037 fidl::decode!(
14038 fidl::encoding::Optional<
14039 fidl::encoding::Vector<
14040 fidl::encoding::HandleType<
14041 fidl::Handle,
14042 { fidl::ObjectType::NONE.into_raw() },
14043 2147483648,
14044 >,
14045 1,
14046 >,
14047 >,
14048 fidl::encoding::DefaultFuchsiaResourceDialect,
14049 &mut self.handle_nullable_sized_0,
14050 decoder,
14051 offset + 1520,
14052 _depth
14053 )?;
14054 fidl::decode!(
14055 fidl::encoding::Optional<fidl::encoding::Vector<bool, 3>>,
14056 fidl::encoding::DefaultFuchsiaResourceDialect,
14057 &mut self.b_nullable_sized_1,
14058 decoder,
14059 offset + 1536,
14060 _depth
14061 )?;
14062 fidl::decode!(
14063 fidl::encoding::Optional<fidl::encoding::Vector<i8, 3>>,
14064 fidl::encoding::DefaultFuchsiaResourceDialect,
14065 &mut self.i8_nullable_sized_1,
14066 decoder,
14067 offset + 1552,
14068 _depth
14069 )?;
14070 fidl::decode!(
14071 fidl::encoding::Optional<fidl::encoding::Vector<i16, 3>>,
14072 fidl::encoding::DefaultFuchsiaResourceDialect,
14073 &mut self.i16_nullable_sized_1,
14074 decoder,
14075 offset + 1568,
14076 _depth
14077 )?;
14078 fidl::decode!(
14079 fidl::encoding::Optional<fidl::encoding::Vector<i32, 3>>,
14080 fidl::encoding::DefaultFuchsiaResourceDialect,
14081 &mut self.i32_nullable_sized_1,
14082 decoder,
14083 offset + 1584,
14084 _depth
14085 )?;
14086 fidl::decode!(
14087 fidl::encoding::Optional<fidl::encoding::Vector<i64, 3>>,
14088 fidl::encoding::DefaultFuchsiaResourceDialect,
14089 &mut self.i64_nullable_sized_1,
14090 decoder,
14091 offset + 1600,
14092 _depth
14093 )?;
14094 fidl::decode!(
14095 fidl::encoding::Optional<fidl::encoding::Vector<u8, 3>>,
14096 fidl::encoding::DefaultFuchsiaResourceDialect,
14097 &mut self.u8_nullable_sized_1,
14098 decoder,
14099 offset + 1616,
14100 _depth
14101 )?;
14102 fidl::decode!(
14103 fidl::encoding::Optional<fidl::encoding::Vector<u16, 3>>,
14104 fidl::encoding::DefaultFuchsiaResourceDialect,
14105 &mut self.u16_nullable_sized_1,
14106 decoder,
14107 offset + 1632,
14108 _depth
14109 )?;
14110 fidl::decode!(
14111 fidl::encoding::Optional<fidl::encoding::Vector<u32, 3>>,
14112 fidl::encoding::DefaultFuchsiaResourceDialect,
14113 &mut self.u32_nullable_sized_1,
14114 decoder,
14115 offset + 1648,
14116 _depth
14117 )?;
14118 fidl::decode!(
14119 fidl::encoding::Optional<fidl::encoding::Vector<u64, 3>>,
14120 fidl::encoding::DefaultFuchsiaResourceDialect,
14121 &mut self.u64_nullable_sized_1,
14122 decoder,
14123 offset + 1664,
14124 _depth
14125 )?;
14126 fidl::decode!(
14127 fidl::encoding::Optional<fidl::encoding::Vector<f32, 3>>,
14128 fidl::encoding::DefaultFuchsiaResourceDialect,
14129 &mut self.f32_nullable_sized_1,
14130 decoder,
14131 offset + 1680,
14132 _depth
14133 )?;
14134 fidl::decode!(
14135 fidl::encoding::Optional<fidl::encoding::Vector<f64, 3>>,
14136 fidl::encoding::DefaultFuchsiaResourceDialect,
14137 &mut self.f64_nullable_sized_1,
14138 decoder,
14139 offset + 1696,
14140 _depth
14141 )?;
14142 fidl::decode!(
14143 fidl::encoding::Optional<
14144 fidl::encoding::Vector<
14145 fidl::encoding::HandleType<
14146 fidl::Handle,
14147 { fidl::ObjectType::NONE.into_raw() },
14148 2147483648,
14149 >,
14150 3,
14151 >,
14152 >,
14153 fidl::encoding::DefaultFuchsiaResourceDialect,
14154 &mut self.handle_nullable_sized_1,
14155 decoder,
14156 offset + 1712,
14157 _depth
14158 )?;
14159 fidl::decode!(
14160 fidl::encoding::Optional<
14161 fidl::encoding::Vector<fidl::encoding::Vector<bool, 2>, 3>,
14162 >,
14163 fidl::encoding::DefaultFuchsiaResourceDialect,
14164 &mut self.b_nullable_sized_2,
14165 decoder,
14166 offset + 1728,
14167 _depth
14168 )?;
14169 fidl::decode!(
14170 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i8, 2>, 3>>,
14171 fidl::encoding::DefaultFuchsiaResourceDialect,
14172 &mut self.i8_nullable_sized_2,
14173 decoder,
14174 offset + 1744,
14175 _depth
14176 )?;
14177 fidl::decode!(
14178 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i16, 2>, 3>>,
14179 fidl::encoding::DefaultFuchsiaResourceDialect,
14180 &mut self.i16_nullable_sized_2,
14181 decoder,
14182 offset + 1760,
14183 _depth
14184 )?;
14185 fidl::decode!(
14186 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i32, 2>, 3>>,
14187 fidl::encoding::DefaultFuchsiaResourceDialect,
14188 &mut self.i32_nullable_sized_2,
14189 decoder,
14190 offset + 1776,
14191 _depth
14192 )?;
14193 fidl::decode!(
14194 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<i64, 2>, 3>>,
14195 fidl::encoding::DefaultFuchsiaResourceDialect,
14196 &mut self.i64_nullable_sized_2,
14197 decoder,
14198 offset + 1792,
14199 _depth
14200 )?;
14201 fidl::decode!(
14202 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u8, 2>, 3>>,
14203 fidl::encoding::DefaultFuchsiaResourceDialect,
14204 &mut self.u8_nullable_sized_2,
14205 decoder,
14206 offset + 1808,
14207 _depth
14208 )?;
14209 fidl::decode!(
14210 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u16, 2>, 3>>,
14211 fidl::encoding::DefaultFuchsiaResourceDialect,
14212 &mut self.u16_nullable_sized_2,
14213 decoder,
14214 offset + 1824,
14215 _depth
14216 )?;
14217 fidl::decode!(
14218 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u32, 2>, 3>>,
14219 fidl::encoding::DefaultFuchsiaResourceDialect,
14220 &mut self.u32_nullable_sized_2,
14221 decoder,
14222 offset + 1840,
14223 _depth
14224 )?;
14225 fidl::decode!(
14226 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<u64, 2>, 3>>,
14227 fidl::encoding::DefaultFuchsiaResourceDialect,
14228 &mut self.u64_nullable_sized_2,
14229 decoder,
14230 offset + 1856,
14231 _depth
14232 )?;
14233 fidl::decode!(
14234 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f32, 2>, 3>>,
14235 fidl::encoding::DefaultFuchsiaResourceDialect,
14236 &mut self.f32_nullable_sized_2,
14237 decoder,
14238 offset + 1872,
14239 _depth
14240 )?;
14241 fidl::decode!(
14242 fidl::encoding::Optional<fidl::encoding::Vector<fidl::encoding::Vector<f64, 2>, 3>>,
14243 fidl::encoding::DefaultFuchsiaResourceDialect,
14244 &mut self.f64_nullable_sized_2,
14245 decoder,
14246 offset + 1888,
14247 _depth
14248 )?;
14249 fidl::decode!(
14250 fidl::encoding::Optional<
14251 fidl::encoding::Vector<
14252 fidl::encoding::Vector<
14253 fidl::encoding::HandleType<
14254 fidl::Handle,
14255 { fidl::ObjectType::NONE.into_raw() },
14256 2147483648,
14257 >,
14258 2,
14259 >,
14260 3,
14261 >,
14262 >,
14263 fidl::encoding::DefaultFuchsiaResourceDialect,
14264 &mut self.handle_nullable_sized_2,
14265 decoder,
14266 offset + 1904,
14267 _depth
14268 )?;
14269 Ok(())
14270 }
14271 }
14272
14273 impl AllTypesTable {
14274 #[inline(always)]
14275 fn max_ordinal_present(&self) -> u64 {
14276 if let Some(_) = self.xunion_member {
14277 return 21;
14278 }
14279 if let Some(_) = self.table_member {
14280 return 20;
14281 }
14282 if let Some(_) = self.vector_member {
14283 return 19;
14284 }
14285 if let Some(_) = self.array_member {
14286 return 18;
14287 }
14288 if let Some(_) = self.union_member {
14289 return 17;
14290 }
14291 if let Some(_) = self.struct_member {
14292 return 16;
14293 }
14294 if let Some(_) = self.string_member {
14295 return 15;
14296 }
14297 if let Some(_) = self.handle_member {
14298 return 14;
14299 }
14300 if let Some(_) = self.bits_member {
14301 return 13;
14302 }
14303 if let Some(_) = self.enum_member {
14304 return 12;
14305 }
14306 if let Some(_) = self.float64_member {
14307 return 11;
14308 }
14309 if let Some(_) = self.float32_member {
14310 return 10;
14311 }
14312 if let Some(_) = self.uint64_member {
14313 return 9;
14314 }
14315 if let Some(_) = self.uint32_member {
14316 return 8;
14317 }
14318 if let Some(_) = self.uint16_member {
14319 return 7;
14320 }
14321 if let Some(_) = self.uint8_member {
14322 return 6;
14323 }
14324 if let Some(_) = self.int64_member {
14325 return 5;
14326 }
14327 if let Some(_) = self.int32_member {
14328 return 4;
14329 }
14330 if let Some(_) = self.int16_member {
14331 return 3;
14332 }
14333 if let Some(_) = self.int8_member {
14334 return 2;
14335 }
14336 if let Some(_) = self.bool_member {
14337 return 1;
14338 }
14339 0
14340 }
14341 }
14342
14343 impl fidl::encoding::ResourceTypeMarker for AllTypesTable {
14344 type Borrowed<'a> = &'a mut Self;
14345 fn take_or_borrow<'a>(
14346 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
14347 ) -> Self::Borrowed<'a> {
14348 value
14349 }
14350 }
14351
14352 unsafe impl fidl::encoding::TypeMarker for AllTypesTable {
14353 type Owned = Self;
14354
14355 #[inline(always)]
14356 fn inline_align(_context: fidl::encoding::Context) -> usize {
14357 8
14358 }
14359
14360 #[inline(always)]
14361 fn inline_size(_context: fidl::encoding::Context) -> usize {
14362 16
14363 }
14364 }
14365
14366 unsafe impl fidl::encoding::Encode<AllTypesTable, fidl::encoding::DefaultFuchsiaResourceDialect>
14367 for &mut AllTypesTable
14368 {
14369 unsafe fn encode(
14370 self,
14371 encoder: &mut fidl::encoding::Encoder<
14372 '_,
14373 fidl::encoding::DefaultFuchsiaResourceDialect,
14374 >,
14375 offset: usize,
14376 mut depth: fidl::encoding::Depth,
14377 ) -> fidl::Result<()> {
14378 encoder.debug_check_bounds::<AllTypesTable>(offset);
14379 let max_ordinal: u64 = self.max_ordinal_present();
14381 encoder.write_num(max_ordinal, offset);
14382 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
14383 if max_ordinal == 0 {
14385 return Ok(());
14386 }
14387 depth.increment()?;
14388 let envelope_size = 8;
14389 let bytes_len = max_ordinal as usize * envelope_size;
14390 #[allow(unused_variables)]
14391 let offset = encoder.out_of_line_offset(bytes_len);
14392 let mut _prev_end_offset: usize = 0;
14393 if 1 > max_ordinal {
14394 return Ok(());
14395 }
14396
14397 let cur_offset: usize = (1 - 1) * envelope_size;
14400
14401 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14403
14404 fidl::encoding::encode_in_envelope_optional::<
14409 bool,
14410 fidl::encoding::DefaultFuchsiaResourceDialect,
14411 >(
14412 self.bool_member.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
14413 encoder,
14414 offset + cur_offset,
14415 depth,
14416 )?;
14417
14418 _prev_end_offset = cur_offset + envelope_size;
14419 if 2 > max_ordinal {
14420 return Ok(());
14421 }
14422
14423 let cur_offset: usize = (2 - 1) * envelope_size;
14426
14427 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14429
14430 fidl::encoding::encode_in_envelope_optional::<
14435 i8,
14436 fidl::encoding::DefaultFuchsiaResourceDialect,
14437 >(
14438 self.int8_member.as_ref().map(<i8 as fidl::encoding::ValueTypeMarker>::borrow),
14439 encoder,
14440 offset + cur_offset,
14441 depth,
14442 )?;
14443
14444 _prev_end_offset = cur_offset + envelope_size;
14445 if 3 > max_ordinal {
14446 return Ok(());
14447 }
14448
14449 let cur_offset: usize = (3 - 1) * envelope_size;
14452
14453 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14455
14456 fidl::encoding::encode_in_envelope_optional::<
14461 i16,
14462 fidl::encoding::DefaultFuchsiaResourceDialect,
14463 >(
14464 self.int16_member.as_ref().map(<i16 as fidl::encoding::ValueTypeMarker>::borrow),
14465 encoder,
14466 offset + cur_offset,
14467 depth,
14468 )?;
14469
14470 _prev_end_offset = cur_offset + envelope_size;
14471 if 4 > max_ordinal {
14472 return Ok(());
14473 }
14474
14475 let cur_offset: usize = (4 - 1) * envelope_size;
14478
14479 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14481
14482 fidl::encoding::encode_in_envelope_optional::<
14487 i32,
14488 fidl::encoding::DefaultFuchsiaResourceDialect,
14489 >(
14490 self.int32_member.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
14491 encoder,
14492 offset + cur_offset,
14493 depth,
14494 )?;
14495
14496 _prev_end_offset = cur_offset + envelope_size;
14497 if 5 > max_ordinal {
14498 return Ok(());
14499 }
14500
14501 let cur_offset: usize = (5 - 1) * envelope_size;
14504
14505 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14507
14508 fidl::encoding::encode_in_envelope_optional::<
14513 i64,
14514 fidl::encoding::DefaultFuchsiaResourceDialect,
14515 >(
14516 self.int64_member.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
14517 encoder,
14518 offset + cur_offset,
14519 depth,
14520 )?;
14521
14522 _prev_end_offset = cur_offset + envelope_size;
14523 if 6 > max_ordinal {
14524 return Ok(());
14525 }
14526
14527 let cur_offset: usize = (6 - 1) * envelope_size;
14530
14531 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14533
14534 fidl::encoding::encode_in_envelope_optional::<
14539 u8,
14540 fidl::encoding::DefaultFuchsiaResourceDialect,
14541 >(
14542 self.uint8_member.as_ref().map(<u8 as fidl::encoding::ValueTypeMarker>::borrow),
14543 encoder,
14544 offset + cur_offset,
14545 depth,
14546 )?;
14547
14548 _prev_end_offset = cur_offset + envelope_size;
14549 if 7 > max_ordinal {
14550 return Ok(());
14551 }
14552
14553 let cur_offset: usize = (7 - 1) * envelope_size;
14556
14557 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14559
14560 fidl::encoding::encode_in_envelope_optional::<
14565 u16,
14566 fidl::encoding::DefaultFuchsiaResourceDialect,
14567 >(
14568 self.uint16_member.as_ref().map(<u16 as fidl::encoding::ValueTypeMarker>::borrow),
14569 encoder,
14570 offset + cur_offset,
14571 depth,
14572 )?;
14573
14574 _prev_end_offset = cur_offset + envelope_size;
14575 if 8 > max_ordinal {
14576 return Ok(());
14577 }
14578
14579 let cur_offset: usize = (8 - 1) * envelope_size;
14582
14583 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14585
14586 fidl::encoding::encode_in_envelope_optional::<
14591 u32,
14592 fidl::encoding::DefaultFuchsiaResourceDialect,
14593 >(
14594 self.uint32_member.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
14595 encoder,
14596 offset + cur_offset,
14597 depth,
14598 )?;
14599
14600 _prev_end_offset = cur_offset + envelope_size;
14601 if 9 > max_ordinal {
14602 return Ok(());
14603 }
14604
14605 let cur_offset: usize = (9 - 1) * envelope_size;
14608
14609 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14611
14612 fidl::encoding::encode_in_envelope_optional::<
14617 u64,
14618 fidl::encoding::DefaultFuchsiaResourceDialect,
14619 >(
14620 self.uint64_member.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
14621 encoder,
14622 offset + cur_offset,
14623 depth,
14624 )?;
14625
14626 _prev_end_offset = cur_offset + envelope_size;
14627 if 10 > max_ordinal {
14628 return Ok(());
14629 }
14630
14631 let cur_offset: usize = (10 - 1) * envelope_size;
14634
14635 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14637
14638 fidl::encoding::encode_in_envelope_optional::<
14643 f32,
14644 fidl::encoding::DefaultFuchsiaResourceDialect,
14645 >(
14646 self.float32_member.as_ref().map(<f32 as fidl::encoding::ValueTypeMarker>::borrow),
14647 encoder,
14648 offset + cur_offset,
14649 depth,
14650 )?;
14651
14652 _prev_end_offset = cur_offset + envelope_size;
14653 if 11 > max_ordinal {
14654 return Ok(());
14655 }
14656
14657 let cur_offset: usize = (11 - 1) * envelope_size;
14660
14661 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14663
14664 fidl::encoding::encode_in_envelope_optional::<
14669 f64,
14670 fidl::encoding::DefaultFuchsiaResourceDialect,
14671 >(
14672 self.float64_member.as_ref().map(<f64 as fidl::encoding::ValueTypeMarker>::borrow),
14673 encoder,
14674 offset + cur_offset,
14675 depth,
14676 )?;
14677
14678 _prev_end_offset = cur_offset + envelope_size;
14679 if 12 > max_ordinal {
14680 return Ok(());
14681 }
14682
14683 let cur_offset: usize = (12 - 1) * envelope_size;
14686
14687 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14689
14690 fidl::encoding::encode_in_envelope_optional::<
14695 DefaultEnum,
14696 fidl::encoding::DefaultFuchsiaResourceDialect,
14697 >(
14698 self.enum_member
14699 .as_ref()
14700 .map(<DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow),
14701 encoder,
14702 offset + cur_offset,
14703 depth,
14704 )?;
14705
14706 _prev_end_offset = cur_offset + envelope_size;
14707 if 13 > max_ordinal {
14708 return Ok(());
14709 }
14710
14711 let cur_offset: usize = (13 - 1) * envelope_size;
14714
14715 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14717
14718 fidl::encoding::encode_in_envelope_optional::<
14723 DefaultBits,
14724 fidl::encoding::DefaultFuchsiaResourceDialect,
14725 >(
14726 self.bits_member
14727 .as_ref()
14728 .map(<DefaultBits as fidl::encoding::ValueTypeMarker>::borrow),
14729 encoder,
14730 offset + cur_offset,
14731 depth,
14732 )?;
14733
14734 _prev_end_offset = cur_offset + envelope_size;
14735 if 14 > max_ordinal {
14736 return Ok(());
14737 }
14738
14739 let cur_offset: usize = (14 - 1) * envelope_size;
14742
14743 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14745
14746 fidl::encoding::encode_in_envelope_optional::<
14751 fidl::encoding::HandleType<
14752 fidl::Handle,
14753 { fidl::ObjectType::NONE.into_raw() },
14754 2147483648,
14755 >,
14756 fidl::encoding::DefaultFuchsiaResourceDialect,
14757 >(
14758 self.handle_member.as_mut().map(
14759 <fidl::encoding::HandleType<
14760 fidl::Handle,
14761 { fidl::ObjectType::NONE.into_raw() },
14762 2147483648,
14763 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
14764 ),
14765 encoder,
14766 offset + cur_offset,
14767 depth,
14768 )?;
14769
14770 _prev_end_offset = cur_offset + envelope_size;
14771 if 15 > max_ordinal {
14772 return Ok(());
14773 }
14774
14775 let cur_offset: usize = (15 - 1) * envelope_size;
14778
14779 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14781
14782 fidl::encoding::encode_in_envelope_optional::<
14787 fidl::encoding::UnboundedString,
14788 fidl::encoding::DefaultFuchsiaResourceDialect,
14789 >(
14790 self.string_member.as_ref().map(
14791 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow,
14792 ),
14793 encoder,
14794 offset + cur_offset,
14795 depth,
14796 )?;
14797
14798 _prev_end_offset = cur_offset + envelope_size;
14799 if 16 > max_ordinal {
14800 return Ok(());
14801 }
14802
14803 let cur_offset: usize = (16 - 1) * envelope_size;
14806
14807 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14809
14810 fidl::encoding::encode_in_envelope_optional::<
14815 ThisIsAStruct,
14816 fidl::encoding::DefaultFuchsiaResourceDialect,
14817 >(
14818 self.struct_member
14819 .as_ref()
14820 .map(<ThisIsAStruct as fidl::encoding::ValueTypeMarker>::borrow),
14821 encoder,
14822 offset + cur_offset,
14823 depth,
14824 )?;
14825
14826 _prev_end_offset = cur_offset + envelope_size;
14827 if 17 > max_ordinal {
14828 return Ok(());
14829 }
14830
14831 let cur_offset: usize = (17 - 1) * envelope_size;
14834
14835 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14837
14838 fidl::encoding::encode_in_envelope_optional::<
14843 ThisIsAUnion,
14844 fidl::encoding::DefaultFuchsiaResourceDialect,
14845 >(
14846 self.union_member
14847 .as_ref()
14848 .map(<ThisIsAUnion as fidl::encoding::ValueTypeMarker>::borrow),
14849 encoder,
14850 offset + cur_offset,
14851 depth,
14852 )?;
14853
14854 _prev_end_offset = cur_offset + envelope_size;
14855 if 18 > max_ordinal {
14856 return Ok(());
14857 }
14858
14859 let cur_offset: usize = (18 - 1) * envelope_size;
14862
14863 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14865
14866 fidl::encoding::encode_in_envelope_optional::<
14871 fidl::encoding::Array<u32, 3>,
14872 fidl::encoding::DefaultFuchsiaResourceDialect,
14873 >(
14874 self.array_member.as_ref().map(
14875 <fidl::encoding::Array<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow,
14876 ),
14877 encoder,
14878 offset + cur_offset,
14879 depth,
14880 )?;
14881
14882 _prev_end_offset = cur_offset + envelope_size;
14883 if 19 > max_ordinal {
14884 return Ok(());
14885 }
14886
14887 let cur_offset: usize = (19 - 1) * envelope_size;
14890
14891 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14893
14894 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u32>, fidl::encoding::DefaultFuchsiaResourceDialect>(
14899 self.vector_member.as_ref().map(<fidl::encoding::UnboundedVector<u32> as fidl::encoding::ValueTypeMarker>::borrow),
14900 encoder, offset + cur_offset, depth
14901 )?;
14902
14903 _prev_end_offset = cur_offset + envelope_size;
14904 if 20 > max_ordinal {
14905 return Ok(());
14906 }
14907
14908 let cur_offset: usize = (20 - 1) * envelope_size;
14911
14912 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14914
14915 fidl::encoding::encode_in_envelope_optional::<
14920 ThisIsATable,
14921 fidl::encoding::DefaultFuchsiaResourceDialect,
14922 >(
14923 self.table_member
14924 .as_ref()
14925 .map(<ThisIsATable as fidl::encoding::ValueTypeMarker>::borrow),
14926 encoder,
14927 offset + cur_offset,
14928 depth,
14929 )?;
14930
14931 _prev_end_offset = cur_offset + envelope_size;
14932 if 21 > max_ordinal {
14933 return Ok(());
14934 }
14935
14936 let cur_offset: usize = (21 - 1) * envelope_size;
14939
14940 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
14942
14943 fidl::encoding::encode_in_envelope_optional::<
14948 ThisIsAXunion,
14949 fidl::encoding::DefaultFuchsiaResourceDialect,
14950 >(
14951 self.xunion_member
14952 .as_ref()
14953 .map(<ThisIsAXunion as fidl::encoding::ValueTypeMarker>::borrow),
14954 encoder,
14955 offset + cur_offset,
14956 depth,
14957 )?;
14958
14959 _prev_end_offset = cur_offset + envelope_size;
14960
14961 Ok(())
14962 }
14963 }
14964
14965 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for AllTypesTable {
14966 #[inline(always)]
14967 fn new_empty() -> Self {
14968 Self::default()
14969 }
14970
14971 unsafe fn decode(
14972 &mut self,
14973 decoder: &mut fidl::encoding::Decoder<
14974 '_,
14975 fidl::encoding::DefaultFuchsiaResourceDialect,
14976 >,
14977 offset: usize,
14978 mut depth: fidl::encoding::Depth,
14979 ) -> fidl::Result<()> {
14980 decoder.debug_check_bounds::<Self>(offset);
14981 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
14982 None => return Err(fidl::Error::NotNullable),
14983 Some(len) => len,
14984 };
14985 if len == 0 {
14987 return Ok(());
14988 };
14989 depth.increment()?;
14990 let envelope_size = 8;
14991 let bytes_len = len * envelope_size;
14992 let offset = decoder.out_of_line_offset(bytes_len)?;
14993 let mut _next_ordinal_to_read = 0;
14995 let mut next_offset = offset;
14996 let end_offset = offset + bytes_len;
14997 _next_ordinal_to_read += 1;
14998 if next_offset >= end_offset {
14999 return Ok(());
15000 }
15001
15002 while _next_ordinal_to_read < 1 {
15004 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15005 _next_ordinal_to_read += 1;
15006 next_offset += envelope_size;
15007 }
15008
15009 let next_out_of_line = decoder.next_out_of_line();
15010 let handles_before = decoder.remaining_handles();
15011 if let Some((inlined, num_bytes, num_handles)) =
15012 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15013 {
15014 let member_inline_size =
15015 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15016 if inlined != (member_inline_size <= 4) {
15017 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15018 }
15019 let inner_offset;
15020 let mut inner_depth = depth.clone();
15021 if inlined {
15022 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15023 inner_offset = next_offset;
15024 } else {
15025 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15026 inner_depth.increment()?;
15027 }
15028 let val_ref = self.bool_member.get_or_insert_with(|| {
15029 fidl::new_empty!(bool, fidl::encoding::DefaultFuchsiaResourceDialect)
15030 });
15031 fidl::decode!(
15032 bool,
15033 fidl::encoding::DefaultFuchsiaResourceDialect,
15034 val_ref,
15035 decoder,
15036 inner_offset,
15037 inner_depth
15038 )?;
15039 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15040 {
15041 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15042 }
15043 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15044 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15045 }
15046 }
15047
15048 next_offset += envelope_size;
15049 _next_ordinal_to_read += 1;
15050 if next_offset >= end_offset {
15051 return Ok(());
15052 }
15053
15054 while _next_ordinal_to_read < 2 {
15056 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15057 _next_ordinal_to_read += 1;
15058 next_offset += envelope_size;
15059 }
15060
15061 let next_out_of_line = decoder.next_out_of_line();
15062 let handles_before = decoder.remaining_handles();
15063 if let Some((inlined, num_bytes, num_handles)) =
15064 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15065 {
15066 let member_inline_size =
15067 <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15068 if inlined != (member_inline_size <= 4) {
15069 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15070 }
15071 let inner_offset;
15072 let mut inner_depth = depth.clone();
15073 if inlined {
15074 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15075 inner_offset = next_offset;
15076 } else {
15077 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15078 inner_depth.increment()?;
15079 }
15080 let val_ref = self.int8_member.get_or_insert_with(|| {
15081 fidl::new_empty!(i8, fidl::encoding::DefaultFuchsiaResourceDialect)
15082 });
15083 fidl::decode!(
15084 i8,
15085 fidl::encoding::DefaultFuchsiaResourceDialect,
15086 val_ref,
15087 decoder,
15088 inner_offset,
15089 inner_depth
15090 )?;
15091 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15092 {
15093 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15094 }
15095 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15096 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15097 }
15098 }
15099
15100 next_offset += envelope_size;
15101 _next_ordinal_to_read += 1;
15102 if next_offset >= end_offset {
15103 return Ok(());
15104 }
15105
15106 while _next_ordinal_to_read < 3 {
15108 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15109 _next_ordinal_to_read += 1;
15110 next_offset += envelope_size;
15111 }
15112
15113 let next_out_of_line = decoder.next_out_of_line();
15114 let handles_before = decoder.remaining_handles();
15115 if let Some((inlined, num_bytes, num_handles)) =
15116 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15117 {
15118 let member_inline_size =
15119 <i16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15120 if inlined != (member_inline_size <= 4) {
15121 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15122 }
15123 let inner_offset;
15124 let mut inner_depth = depth.clone();
15125 if inlined {
15126 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15127 inner_offset = next_offset;
15128 } else {
15129 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15130 inner_depth.increment()?;
15131 }
15132 let val_ref = self.int16_member.get_or_insert_with(|| {
15133 fidl::new_empty!(i16, fidl::encoding::DefaultFuchsiaResourceDialect)
15134 });
15135 fidl::decode!(
15136 i16,
15137 fidl::encoding::DefaultFuchsiaResourceDialect,
15138 val_ref,
15139 decoder,
15140 inner_offset,
15141 inner_depth
15142 )?;
15143 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15144 {
15145 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15146 }
15147 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15148 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15149 }
15150 }
15151
15152 next_offset += envelope_size;
15153 _next_ordinal_to_read += 1;
15154 if next_offset >= end_offset {
15155 return Ok(());
15156 }
15157
15158 while _next_ordinal_to_read < 4 {
15160 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15161 _next_ordinal_to_read += 1;
15162 next_offset += envelope_size;
15163 }
15164
15165 let next_out_of_line = decoder.next_out_of_line();
15166 let handles_before = decoder.remaining_handles();
15167 if let Some((inlined, num_bytes, num_handles)) =
15168 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15169 {
15170 let member_inline_size =
15171 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15172 if inlined != (member_inline_size <= 4) {
15173 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15174 }
15175 let inner_offset;
15176 let mut inner_depth = depth.clone();
15177 if inlined {
15178 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15179 inner_offset = next_offset;
15180 } else {
15181 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15182 inner_depth.increment()?;
15183 }
15184 let val_ref = self.int32_member.get_or_insert_with(|| {
15185 fidl::new_empty!(i32, fidl::encoding::DefaultFuchsiaResourceDialect)
15186 });
15187 fidl::decode!(
15188 i32,
15189 fidl::encoding::DefaultFuchsiaResourceDialect,
15190 val_ref,
15191 decoder,
15192 inner_offset,
15193 inner_depth
15194 )?;
15195 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15196 {
15197 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15198 }
15199 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15200 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15201 }
15202 }
15203
15204 next_offset += envelope_size;
15205 _next_ordinal_to_read += 1;
15206 if next_offset >= end_offset {
15207 return Ok(());
15208 }
15209
15210 while _next_ordinal_to_read < 5 {
15212 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15213 _next_ordinal_to_read += 1;
15214 next_offset += envelope_size;
15215 }
15216
15217 let next_out_of_line = decoder.next_out_of_line();
15218 let handles_before = decoder.remaining_handles();
15219 if let Some((inlined, num_bytes, num_handles)) =
15220 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15221 {
15222 let member_inline_size =
15223 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15224 if inlined != (member_inline_size <= 4) {
15225 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15226 }
15227 let inner_offset;
15228 let mut inner_depth = depth.clone();
15229 if inlined {
15230 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15231 inner_offset = next_offset;
15232 } else {
15233 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15234 inner_depth.increment()?;
15235 }
15236 let val_ref = self.int64_member.get_or_insert_with(|| {
15237 fidl::new_empty!(i64, fidl::encoding::DefaultFuchsiaResourceDialect)
15238 });
15239 fidl::decode!(
15240 i64,
15241 fidl::encoding::DefaultFuchsiaResourceDialect,
15242 val_ref,
15243 decoder,
15244 inner_offset,
15245 inner_depth
15246 )?;
15247 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15248 {
15249 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15250 }
15251 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15252 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15253 }
15254 }
15255
15256 next_offset += envelope_size;
15257 _next_ordinal_to_read += 1;
15258 if next_offset >= end_offset {
15259 return Ok(());
15260 }
15261
15262 while _next_ordinal_to_read < 6 {
15264 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15265 _next_ordinal_to_read += 1;
15266 next_offset += envelope_size;
15267 }
15268
15269 let next_out_of_line = decoder.next_out_of_line();
15270 let handles_before = decoder.remaining_handles();
15271 if let Some((inlined, num_bytes, num_handles)) =
15272 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15273 {
15274 let member_inline_size =
15275 <u8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15276 if inlined != (member_inline_size <= 4) {
15277 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15278 }
15279 let inner_offset;
15280 let mut inner_depth = depth.clone();
15281 if inlined {
15282 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15283 inner_offset = next_offset;
15284 } else {
15285 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15286 inner_depth.increment()?;
15287 }
15288 let val_ref = self.uint8_member.get_or_insert_with(|| {
15289 fidl::new_empty!(u8, fidl::encoding::DefaultFuchsiaResourceDialect)
15290 });
15291 fidl::decode!(
15292 u8,
15293 fidl::encoding::DefaultFuchsiaResourceDialect,
15294 val_ref,
15295 decoder,
15296 inner_offset,
15297 inner_depth
15298 )?;
15299 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15300 {
15301 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15302 }
15303 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15304 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15305 }
15306 }
15307
15308 next_offset += envelope_size;
15309 _next_ordinal_to_read += 1;
15310 if next_offset >= end_offset {
15311 return Ok(());
15312 }
15313
15314 while _next_ordinal_to_read < 7 {
15316 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15317 _next_ordinal_to_read += 1;
15318 next_offset += envelope_size;
15319 }
15320
15321 let next_out_of_line = decoder.next_out_of_line();
15322 let handles_before = decoder.remaining_handles();
15323 if let Some((inlined, num_bytes, num_handles)) =
15324 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15325 {
15326 let member_inline_size =
15327 <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15328 if inlined != (member_inline_size <= 4) {
15329 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15330 }
15331 let inner_offset;
15332 let mut inner_depth = depth.clone();
15333 if inlined {
15334 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15335 inner_offset = next_offset;
15336 } else {
15337 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15338 inner_depth.increment()?;
15339 }
15340 let val_ref = self.uint16_member.get_or_insert_with(|| {
15341 fidl::new_empty!(u16, fidl::encoding::DefaultFuchsiaResourceDialect)
15342 });
15343 fidl::decode!(
15344 u16,
15345 fidl::encoding::DefaultFuchsiaResourceDialect,
15346 val_ref,
15347 decoder,
15348 inner_offset,
15349 inner_depth
15350 )?;
15351 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15352 {
15353 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15354 }
15355 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15356 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15357 }
15358 }
15359
15360 next_offset += envelope_size;
15361 _next_ordinal_to_read += 1;
15362 if next_offset >= end_offset {
15363 return Ok(());
15364 }
15365
15366 while _next_ordinal_to_read < 8 {
15368 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15369 _next_ordinal_to_read += 1;
15370 next_offset += envelope_size;
15371 }
15372
15373 let next_out_of_line = decoder.next_out_of_line();
15374 let handles_before = decoder.remaining_handles();
15375 if let Some((inlined, num_bytes, num_handles)) =
15376 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15377 {
15378 let member_inline_size =
15379 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15380 if inlined != (member_inline_size <= 4) {
15381 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15382 }
15383 let inner_offset;
15384 let mut inner_depth = depth.clone();
15385 if inlined {
15386 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15387 inner_offset = next_offset;
15388 } else {
15389 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15390 inner_depth.increment()?;
15391 }
15392 let val_ref = self.uint32_member.get_or_insert_with(|| {
15393 fidl::new_empty!(u32, fidl::encoding::DefaultFuchsiaResourceDialect)
15394 });
15395 fidl::decode!(
15396 u32,
15397 fidl::encoding::DefaultFuchsiaResourceDialect,
15398 val_ref,
15399 decoder,
15400 inner_offset,
15401 inner_depth
15402 )?;
15403 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15404 {
15405 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15406 }
15407 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15408 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15409 }
15410 }
15411
15412 next_offset += envelope_size;
15413 _next_ordinal_to_read += 1;
15414 if next_offset >= end_offset {
15415 return Ok(());
15416 }
15417
15418 while _next_ordinal_to_read < 9 {
15420 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15421 _next_ordinal_to_read += 1;
15422 next_offset += envelope_size;
15423 }
15424
15425 let next_out_of_line = decoder.next_out_of_line();
15426 let handles_before = decoder.remaining_handles();
15427 if let Some((inlined, num_bytes, num_handles)) =
15428 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15429 {
15430 let member_inline_size =
15431 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15432 if inlined != (member_inline_size <= 4) {
15433 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15434 }
15435 let inner_offset;
15436 let mut inner_depth = depth.clone();
15437 if inlined {
15438 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15439 inner_offset = next_offset;
15440 } else {
15441 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15442 inner_depth.increment()?;
15443 }
15444 let val_ref = self.uint64_member.get_or_insert_with(|| {
15445 fidl::new_empty!(u64, fidl::encoding::DefaultFuchsiaResourceDialect)
15446 });
15447 fidl::decode!(
15448 u64,
15449 fidl::encoding::DefaultFuchsiaResourceDialect,
15450 val_ref,
15451 decoder,
15452 inner_offset,
15453 inner_depth
15454 )?;
15455 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15456 {
15457 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15458 }
15459 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15460 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15461 }
15462 }
15463
15464 next_offset += envelope_size;
15465 _next_ordinal_to_read += 1;
15466 if next_offset >= end_offset {
15467 return Ok(());
15468 }
15469
15470 while _next_ordinal_to_read < 10 {
15472 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15473 _next_ordinal_to_read += 1;
15474 next_offset += envelope_size;
15475 }
15476
15477 let next_out_of_line = decoder.next_out_of_line();
15478 let handles_before = decoder.remaining_handles();
15479 if let Some((inlined, num_bytes, num_handles)) =
15480 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15481 {
15482 let member_inline_size =
15483 <f32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15484 if inlined != (member_inline_size <= 4) {
15485 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15486 }
15487 let inner_offset;
15488 let mut inner_depth = depth.clone();
15489 if inlined {
15490 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15491 inner_offset = next_offset;
15492 } else {
15493 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15494 inner_depth.increment()?;
15495 }
15496 let val_ref = self.float32_member.get_or_insert_with(|| {
15497 fidl::new_empty!(f32, fidl::encoding::DefaultFuchsiaResourceDialect)
15498 });
15499 fidl::decode!(
15500 f32,
15501 fidl::encoding::DefaultFuchsiaResourceDialect,
15502 val_ref,
15503 decoder,
15504 inner_offset,
15505 inner_depth
15506 )?;
15507 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15508 {
15509 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15510 }
15511 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15512 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15513 }
15514 }
15515
15516 next_offset += envelope_size;
15517 _next_ordinal_to_read += 1;
15518 if next_offset >= end_offset {
15519 return Ok(());
15520 }
15521
15522 while _next_ordinal_to_read < 11 {
15524 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15525 _next_ordinal_to_read += 1;
15526 next_offset += envelope_size;
15527 }
15528
15529 let next_out_of_line = decoder.next_out_of_line();
15530 let handles_before = decoder.remaining_handles();
15531 if let Some((inlined, num_bytes, num_handles)) =
15532 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15533 {
15534 let member_inline_size =
15535 <f64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15536 if inlined != (member_inline_size <= 4) {
15537 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15538 }
15539 let inner_offset;
15540 let mut inner_depth = depth.clone();
15541 if inlined {
15542 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15543 inner_offset = next_offset;
15544 } else {
15545 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15546 inner_depth.increment()?;
15547 }
15548 let val_ref = self.float64_member.get_or_insert_with(|| {
15549 fidl::new_empty!(f64, fidl::encoding::DefaultFuchsiaResourceDialect)
15550 });
15551 fidl::decode!(
15552 f64,
15553 fidl::encoding::DefaultFuchsiaResourceDialect,
15554 val_ref,
15555 decoder,
15556 inner_offset,
15557 inner_depth
15558 )?;
15559 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15560 {
15561 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15562 }
15563 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15564 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15565 }
15566 }
15567
15568 next_offset += envelope_size;
15569 _next_ordinal_to_read += 1;
15570 if next_offset >= end_offset {
15571 return Ok(());
15572 }
15573
15574 while _next_ordinal_to_read < 12 {
15576 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15577 _next_ordinal_to_read += 1;
15578 next_offset += envelope_size;
15579 }
15580
15581 let next_out_of_line = decoder.next_out_of_line();
15582 let handles_before = decoder.remaining_handles();
15583 if let Some((inlined, num_bytes, num_handles)) =
15584 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15585 {
15586 let member_inline_size =
15587 <DefaultEnum as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15588 if inlined != (member_inline_size <= 4) {
15589 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15590 }
15591 let inner_offset;
15592 let mut inner_depth = depth.clone();
15593 if inlined {
15594 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15595 inner_offset = next_offset;
15596 } else {
15597 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15598 inner_depth.increment()?;
15599 }
15600 let val_ref = self.enum_member.get_or_insert_with(|| {
15601 fidl::new_empty!(DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect)
15602 });
15603 fidl::decode!(
15604 DefaultEnum,
15605 fidl::encoding::DefaultFuchsiaResourceDialect,
15606 val_ref,
15607 decoder,
15608 inner_offset,
15609 inner_depth
15610 )?;
15611 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15612 {
15613 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15614 }
15615 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15616 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15617 }
15618 }
15619
15620 next_offset += envelope_size;
15621 _next_ordinal_to_read += 1;
15622 if next_offset >= end_offset {
15623 return Ok(());
15624 }
15625
15626 while _next_ordinal_to_read < 13 {
15628 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15629 _next_ordinal_to_read += 1;
15630 next_offset += envelope_size;
15631 }
15632
15633 let next_out_of_line = decoder.next_out_of_line();
15634 let handles_before = decoder.remaining_handles();
15635 if let Some((inlined, num_bytes, num_handles)) =
15636 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15637 {
15638 let member_inline_size =
15639 <DefaultBits as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15640 if inlined != (member_inline_size <= 4) {
15641 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15642 }
15643 let inner_offset;
15644 let mut inner_depth = depth.clone();
15645 if inlined {
15646 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15647 inner_offset = next_offset;
15648 } else {
15649 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15650 inner_depth.increment()?;
15651 }
15652 let val_ref = self.bits_member.get_or_insert_with(|| {
15653 fidl::new_empty!(DefaultBits, fidl::encoding::DefaultFuchsiaResourceDialect)
15654 });
15655 fidl::decode!(
15656 DefaultBits,
15657 fidl::encoding::DefaultFuchsiaResourceDialect,
15658 val_ref,
15659 decoder,
15660 inner_offset,
15661 inner_depth
15662 )?;
15663 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15664 {
15665 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15666 }
15667 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15668 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15669 }
15670 }
15671
15672 next_offset += envelope_size;
15673 _next_ordinal_to_read += 1;
15674 if next_offset >= end_offset {
15675 return Ok(());
15676 }
15677
15678 while _next_ordinal_to_read < 14 {
15680 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15681 _next_ordinal_to_read += 1;
15682 next_offset += envelope_size;
15683 }
15684
15685 let next_out_of_line = decoder.next_out_of_line();
15686 let handles_before = decoder.remaining_handles();
15687 if let Some((inlined, num_bytes, num_handles)) =
15688 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15689 {
15690 let member_inline_size = <fidl::encoding::HandleType<
15691 fidl::Handle,
15692 { fidl::ObjectType::NONE.into_raw() },
15693 2147483648,
15694 > as fidl::encoding::TypeMarker>::inline_size(
15695 decoder.context
15696 );
15697 if inlined != (member_inline_size <= 4) {
15698 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15699 }
15700 let inner_offset;
15701 let mut inner_depth = depth.clone();
15702 if inlined {
15703 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15704 inner_offset = next_offset;
15705 } else {
15706 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15707 inner_depth.increment()?;
15708 }
15709 let val_ref =
15710 self.handle_member.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
15711 fidl::decode!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
15712 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15713 {
15714 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15715 }
15716 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15717 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15718 }
15719 }
15720
15721 next_offset += envelope_size;
15722 _next_ordinal_to_read += 1;
15723 if next_offset >= end_offset {
15724 return Ok(());
15725 }
15726
15727 while _next_ordinal_to_read < 15 {
15729 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15730 _next_ordinal_to_read += 1;
15731 next_offset += envelope_size;
15732 }
15733
15734 let next_out_of_line = decoder.next_out_of_line();
15735 let handles_before = decoder.remaining_handles();
15736 if let Some((inlined, num_bytes, num_handles)) =
15737 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15738 {
15739 let member_inline_size =
15740 <fidl::encoding::UnboundedString as fidl::encoding::TypeMarker>::inline_size(
15741 decoder.context,
15742 );
15743 if inlined != (member_inline_size <= 4) {
15744 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15745 }
15746 let inner_offset;
15747 let mut inner_depth = depth.clone();
15748 if inlined {
15749 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15750 inner_offset = next_offset;
15751 } else {
15752 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15753 inner_depth.increment()?;
15754 }
15755 let val_ref = self.string_member.get_or_insert_with(|| {
15756 fidl::new_empty!(
15757 fidl::encoding::UnboundedString,
15758 fidl::encoding::DefaultFuchsiaResourceDialect
15759 )
15760 });
15761 fidl::decode!(
15762 fidl::encoding::UnboundedString,
15763 fidl::encoding::DefaultFuchsiaResourceDialect,
15764 val_ref,
15765 decoder,
15766 inner_offset,
15767 inner_depth
15768 )?;
15769 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15770 {
15771 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15772 }
15773 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15774 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15775 }
15776 }
15777
15778 next_offset += envelope_size;
15779 _next_ordinal_to_read += 1;
15780 if next_offset >= end_offset {
15781 return Ok(());
15782 }
15783
15784 while _next_ordinal_to_read < 16 {
15786 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15787 _next_ordinal_to_read += 1;
15788 next_offset += envelope_size;
15789 }
15790
15791 let next_out_of_line = decoder.next_out_of_line();
15792 let handles_before = decoder.remaining_handles();
15793 if let Some((inlined, num_bytes, num_handles)) =
15794 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15795 {
15796 let member_inline_size =
15797 <ThisIsAStruct as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15798 if inlined != (member_inline_size <= 4) {
15799 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15800 }
15801 let inner_offset;
15802 let mut inner_depth = depth.clone();
15803 if inlined {
15804 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15805 inner_offset = next_offset;
15806 } else {
15807 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15808 inner_depth.increment()?;
15809 }
15810 let val_ref = self.struct_member.get_or_insert_with(|| {
15811 fidl::new_empty!(ThisIsAStruct, fidl::encoding::DefaultFuchsiaResourceDialect)
15812 });
15813 fidl::decode!(
15814 ThisIsAStruct,
15815 fidl::encoding::DefaultFuchsiaResourceDialect,
15816 val_ref,
15817 decoder,
15818 inner_offset,
15819 inner_depth
15820 )?;
15821 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15822 {
15823 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15824 }
15825 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15826 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15827 }
15828 }
15829
15830 next_offset += envelope_size;
15831 _next_ordinal_to_read += 1;
15832 if next_offset >= end_offset {
15833 return Ok(());
15834 }
15835
15836 while _next_ordinal_to_read < 17 {
15838 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15839 _next_ordinal_to_read += 1;
15840 next_offset += envelope_size;
15841 }
15842
15843 let next_out_of_line = decoder.next_out_of_line();
15844 let handles_before = decoder.remaining_handles();
15845 if let Some((inlined, num_bytes, num_handles)) =
15846 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15847 {
15848 let member_inline_size =
15849 <ThisIsAUnion as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15850 if inlined != (member_inline_size <= 4) {
15851 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15852 }
15853 let inner_offset;
15854 let mut inner_depth = depth.clone();
15855 if inlined {
15856 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15857 inner_offset = next_offset;
15858 } else {
15859 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15860 inner_depth.increment()?;
15861 }
15862 let val_ref = self.union_member.get_or_insert_with(|| {
15863 fidl::new_empty!(ThisIsAUnion, fidl::encoding::DefaultFuchsiaResourceDialect)
15864 });
15865 fidl::decode!(
15866 ThisIsAUnion,
15867 fidl::encoding::DefaultFuchsiaResourceDialect,
15868 val_ref,
15869 decoder,
15870 inner_offset,
15871 inner_depth
15872 )?;
15873 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15874 {
15875 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15876 }
15877 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15878 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15879 }
15880 }
15881
15882 next_offset += envelope_size;
15883 _next_ordinal_to_read += 1;
15884 if next_offset >= end_offset {
15885 return Ok(());
15886 }
15887
15888 while _next_ordinal_to_read < 18 {
15890 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15891 _next_ordinal_to_read += 1;
15892 next_offset += envelope_size;
15893 }
15894
15895 let next_out_of_line = decoder.next_out_of_line();
15896 let handles_before = decoder.remaining_handles();
15897 if let Some((inlined, num_bytes, num_handles)) =
15898 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15899 {
15900 let member_inline_size =
15901 <fidl::encoding::Array<u32, 3> as fidl::encoding::TypeMarker>::inline_size(
15902 decoder.context,
15903 );
15904 if inlined != (member_inline_size <= 4) {
15905 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15906 }
15907 let inner_offset;
15908 let mut inner_depth = depth.clone();
15909 if inlined {
15910 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15911 inner_offset = next_offset;
15912 } else {
15913 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15914 inner_depth.increment()?;
15915 }
15916 let val_ref =
15917 self.array_member.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect));
15918 fidl::decode!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
15919 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15920 {
15921 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15922 }
15923 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15924 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15925 }
15926 }
15927
15928 next_offset += envelope_size;
15929 _next_ordinal_to_read += 1;
15930 if next_offset >= end_offset {
15931 return Ok(());
15932 }
15933
15934 while _next_ordinal_to_read < 19 {
15936 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15937 _next_ordinal_to_read += 1;
15938 next_offset += envelope_size;
15939 }
15940
15941 let next_out_of_line = decoder.next_out_of_line();
15942 let handles_before = decoder.remaining_handles();
15943 if let Some((inlined, num_bytes, num_handles)) =
15944 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15945 {
15946 let member_inline_size = <fidl::encoding::UnboundedVector<u32> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
15947 if inlined != (member_inline_size <= 4) {
15948 return Err(fidl::Error::InvalidInlineBitInEnvelope);
15949 }
15950 let inner_offset;
15951 let mut inner_depth = depth.clone();
15952 if inlined {
15953 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
15954 inner_offset = next_offset;
15955 } else {
15956 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
15957 inner_depth.increment()?;
15958 }
15959 let val_ref = self.vector_member.get_or_insert_with(|| {
15960 fidl::new_empty!(
15961 fidl::encoding::UnboundedVector<u32>,
15962 fidl::encoding::DefaultFuchsiaResourceDialect
15963 )
15964 });
15965 fidl::decode!(
15966 fidl::encoding::UnboundedVector<u32>,
15967 fidl::encoding::DefaultFuchsiaResourceDialect,
15968 val_ref,
15969 decoder,
15970 inner_offset,
15971 inner_depth
15972 )?;
15973 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
15974 {
15975 return Err(fidl::Error::InvalidNumBytesInEnvelope);
15976 }
15977 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
15978 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
15979 }
15980 }
15981
15982 next_offset += envelope_size;
15983 _next_ordinal_to_read += 1;
15984 if next_offset >= end_offset {
15985 return Ok(());
15986 }
15987
15988 while _next_ordinal_to_read < 20 {
15990 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
15991 _next_ordinal_to_read += 1;
15992 next_offset += envelope_size;
15993 }
15994
15995 let next_out_of_line = decoder.next_out_of_line();
15996 let handles_before = decoder.remaining_handles();
15997 if let Some((inlined, num_bytes, num_handles)) =
15998 fidl::encoding::decode_envelope_header(decoder, next_offset)?
15999 {
16000 let member_inline_size =
16001 <ThisIsATable as fidl::encoding::TypeMarker>::inline_size(decoder.context);
16002 if inlined != (member_inline_size <= 4) {
16003 return Err(fidl::Error::InvalidInlineBitInEnvelope);
16004 }
16005 let inner_offset;
16006 let mut inner_depth = depth.clone();
16007 if inlined {
16008 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
16009 inner_offset = next_offset;
16010 } else {
16011 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
16012 inner_depth.increment()?;
16013 }
16014 let val_ref = self.table_member.get_or_insert_with(|| {
16015 fidl::new_empty!(ThisIsATable, fidl::encoding::DefaultFuchsiaResourceDialect)
16016 });
16017 fidl::decode!(
16018 ThisIsATable,
16019 fidl::encoding::DefaultFuchsiaResourceDialect,
16020 val_ref,
16021 decoder,
16022 inner_offset,
16023 inner_depth
16024 )?;
16025 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
16026 {
16027 return Err(fidl::Error::InvalidNumBytesInEnvelope);
16028 }
16029 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
16030 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
16031 }
16032 }
16033
16034 next_offset += envelope_size;
16035 _next_ordinal_to_read += 1;
16036 if next_offset >= end_offset {
16037 return Ok(());
16038 }
16039
16040 while _next_ordinal_to_read < 21 {
16042 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
16043 _next_ordinal_to_read += 1;
16044 next_offset += envelope_size;
16045 }
16046
16047 let next_out_of_line = decoder.next_out_of_line();
16048 let handles_before = decoder.remaining_handles();
16049 if let Some((inlined, num_bytes, num_handles)) =
16050 fidl::encoding::decode_envelope_header(decoder, next_offset)?
16051 {
16052 let member_inline_size =
16053 <ThisIsAXunion as fidl::encoding::TypeMarker>::inline_size(decoder.context);
16054 if inlined != (member_inline_size <= 4) {
16055 return Err(fidl::Error::InvalidInlineBitInEnvelope);
16056 }
16057 let inner_offset;
16058 let mut inner_depth = depth.clone();
16059 if inlined {
16060 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
16061 inner_offset = next_offset;
16062 } else {
16063 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
16064 inner_depth.increment()?;
16065 }
16066 let val_ref = self.xunion_member.get_or_insert_with(|| {
16067 fidl::new_empty!(ThisIsAXunion, fidl::encoding::DefaultFuchsiaResourceDialect)
16068 });
16069 fidl::decode!(
16070 ThisIsAXunion,
16071 fidl::encoding::DefaultFuchsiaResourceDialect,
16072 val_ref,
16073 decoder,
16074 inner_offset,
16075 inner_depth
16076 )?;
16077 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
16078 {
16079 return Err(fidl::Error::InvalidNumBytesInEnvelope);
16080 }
16081 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
16082 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
16083 }
16084 }
16085
16086 next_offset += envelope_size;
16087
16088 while next_offset < end_offset {
16090 _next_ordinal_to_read += 1;
16091 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
16092 next_offset += envelope_size;
16093 }
16094
16095 Ok(())
16096 }
16097 }
16098
16099 impl fidl::encoding::ResourceTypeMarker for AllTypesXunion {
16100 type Borrowed<'a> = &'a mut Self;
16101 fn take_or_borrow<'a>(
16102 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16103 ) -> Self::Borrowed<'a> {
16104 value
16105 }
16106 }
16107
16108 unsafe impl fidl::encoding::TypeMarker for AllTypesXunion {
16109 type Owned = Self;
16110
16111 #[inline(always)]
16112 fn inline_align(_context: fidl::encoding::Context) -> usize {
16113 8
16114 }
16115
16116 #[inline(always)]
16117 fn inline_size(_context: fidl::encoding::Context) -> usize {
16118 16
16119 }
16120 }
16121
16122 unsafe impl
16123 fidl::encoding::Encode<AllTypesXunion, fidl::encoding::DefaultFuchsiaResourceDialect>
16124 for &mut AllTypesXunion
16125 {
16126 #[inline]
16127 unsafe fn encode(
16128 self,
16129 encoder: &mut fidl::encoding::Encoder<
16130 '_,
16131 fidl::encoding::DefaultFuchsiaResourceDialect,
16132 >,
16133 offset: usize,
16134 _depth: fidl::encoding::Depth,
16135 ) -> fidl::Result<()> {
16136 encoder.debug_check_bounds::<AllTypesXunion>(offset);
16137 encoder.write_num::<u64>(self.ordinal(), offset);
16138 match self {
16139 AllTypesXunion::BoolMember(ref val) => {
16140 fidl::encoding::encode_in_envelope::<bool, fidl::encoding::DefaultFuchsiaResourceDialect>(
16141 <bool as fidl::encoding::ValueTypeMarker>::borrow(val),
16142 encoder, offset + 8, _depth
16143 )
16144 }
16145 AllTypesXunion::Int8Member(ref val) => {
16146 fidl::encoding::encode_in_envelope::<i8, fidl::encoding::DefaultFuchsiaResourceDialect>(
16147 <i8 as fidl::encoding::ValueTypeMarker>::borrow(val),
16148 encoder, offset + 8, _depth
16149 )
16150 }
16151 AllTypesXunion::Int16Member(ref val) => {
16152 fidl::encoding::encode_in_envelope::<i16, fidl::encoding::DefaultFuchsiaResourceDialect>(
16153 <i16 as fidl::encoding::ValueTypeMarker>::borrow(val),
16154 encoder, offset + 8, _depth
16155 )
16156 }
16157 AllTypesXunion::Int32Member(ref val) => {
16158 fidl::encoding::encode_in_envelope::<i32, fidl::encoding::DefaultFuchsiaResourceDialect>(
16159 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
16160 encoder, offset + 8, _depth
16161 )
16162 }
16163 AllTypesXunion::Int64Member(ref val) => {
16164 fidl::encoding::encode_in_envelope::<i64, fidl::encoding::DefaultFuchsiaResourceDialect>(
16165 <i64 as fidl::encoding::ValueTypeMarker>::borrow(val),
16166 encoder, offset + 8, _depth
16167 )
16168 }
16169 AllTypesXunion::Uint8Member(ref val) => {
16170 fidl::encoding::encode_in_envelope::<u8, fidl::encoding::DefaultFuchsiaResourceDialect>(
16171 <u8 as fidl::encoding::ValueTypeMarker>::borrow(val),
16172 encoder, offset + 8, _depth
16173 )
16174 }
16175 AllTypesXunion::Uint16Member(ref val) => {
16176 fidl::encoding::encode_in_envelope::<u16, fidl::encoding::DefaultFuchsiaResourceDialect>(
16177 <u16 as fidl::encoding::ValueTypeMarker>::borrow(val),
16178 encoder, offset + 8, _depth
16179 )
16180 }
16181 AllTypesXunion::Uint32Member(ref val) => {
16182 fidl::encoding::encode_in_envelope::<u32, fidl::encoding::DefaultFuchsiaResourceDialect>(
16183 <u32 as fidl::encoding::ValueTypeMarker>::borrow(val),
16184 encoder, offset + 8, _depth
16185 )
16186 }
16187 AllTypesXunion::Uint64Member(ref val) => {
16188 fidl::encoding::encode_in_envelope::<u64, fidl::encoding::DefaultFuchsiaResourceDialect>(
16189 <u64 as fidl::encoding::ValueTypeMarker>::borrow(val),
16190 encoder, offset + 8, _depth
16191 )
16192 }
16193 AllTypesXunion::Float32Member(ref val) => {
16194 fidl::encoding::encode_in_envelope::<f32, fidl::encoding::DefaultFuchsiaResourceDialect>(
16195 <f32 as fidl::encoding::ValueTypeMarker>::borrow(val),
16196 encoder, offset + 8, _depth
16197 )
16198 }
16199 AllTypesXunion::Float64Member(ref val) => {
16200 fidl::encoding::encode_in_envelope::<f64, fidl::encoding::DefaultFuchsiaResourceDialect>(
16201 <f64 as fidl::encoding::ValueTypeMarker>::borrow(val),
16202 encoder, offset + 8, _depth
16203 )
16204 }
16205 AllTypesXunion::EnumMember(ref val) => {
16206 fidl::encoding::encode_in_envelope::<DefaultEnum, fidl::encoding::DefaultFuchsiaResourceDialect>(
16207 <DefaultEnum as fidl::encoding::ValueTypeMarker>::borrow(val),
16208 encoder, offset + 8, _depth
16209 )
16210 }
16211 AllTypesXunion::BitsMember(ref val) => {
16212 fidl::encoding::encode_in_envelope::<DefaultBits, fidl::encoding::DefaultFuchsiaResourceDialect>(
16213 <DefaultBits as fidl::encoding::ValueTypeMarker>::borrow(val),
16214 encoder, offset + 8, _depth
16215 )
16216 }
16217 AllTypesXunion::HandleMember(ref mut val) => {
16218 fidl::encoding::encode_in_envelope::<fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect>(
16219 <fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
16220 encoder, offset + 8, _depth
16221 )
16222 }
16223 AllTypesXunion::StringMember(ref val) => {
16224 fidl::encoding::encode_in_envelope::<fidl::encoding::UnboundedString, fidl::encoding::DefaultFuchsiaResourceDialect>(
16225 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(val),
16226 encoder, offset + 8, _depth
16227 )
16228 }
16229 AllTypesXunion::StructMember(ref val) => {
16230 fidl::encoding::encode_in_envelope::<ThisIsAStruct, fidl::encoding::DefaultFuchsiaResourceDialect>(
16231 <ThisIsAStruct as fidl::encoding::ValueTypeMarker>::borrow(val),
16232 encoder, offset + 8, _depth
16233 )
16234 }
16235 AllTypesXunion::UnionMember(ref val) => {
16236 fidl::encoding::encode_in_envelope::<ThisIsAUnion, fidl::encoding::DefaultFuchsiaResourceDialect>(
16237 <ThisIsAUnion as fidl::encoding::ValueTypeMarker>::borrow(val),
16238 encoder, offset + 8, _depth
16239 )
16240 }
16241 AllTypesXunion::ArrayMember(ref val) => {
16242 fidl::encoding::encode_in_envelope::<fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect>(
16243 <fidl::encoding::Array<u32, 3> as fidl::encoding::ValueTypeMarker>::borrow(val),
16244 encoder, offset + 8, _depth
16245 )
16246 }
16247 AllTypesXunion::VectorMember(ref val) => {
16248 fidl::encoding::encode_in_envelope::<fidl::encoding::UnboundedVector<u32>, fidl::encoding::DefaultFuchsiaResourceDialect>(
16249 <fidl::encoding::UnboundedVector<u32> as fidl::encoding::ValueTypeMarker>::borrow(val),
16250 encoder, offset + 8, _depth
16251 )
16252 }
16253 AllTypesXunion::TableMember(ref val) => {
16254 fidl::encoding::encode_in_envelope::<ThisIsATable, fidl::encoding::DefaultFuchsiaResourceDialect>(
16255 <ThisIsATable as fidl::encoding::ValueTypeMarker>::borrow(val),
16256 encoder, offset + 8, _depth
16257 )
16258 }
16259 AllTypesXunion::XunionMember(ref val) => {
16260 fidl::encoding::encode_in_envelope::<ThisIsAXunion, fidl::encoding::DefaultFuchsiaResourceDialect>(
16261 <ThisIsAXunion as fidl::encoding::ValueTypeMarker>::borrow(val),
16262 encoder, offset + 8, _depth
16263 )
16264 }
16265 AllTypesXunion::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
16266 }
16267 }
16268 }
16269
16270 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16271 for AllTypesXunion
16272 {
16273 #[inline(always)]
16274 fn new_empty() -> Self {
16275 Self::__SourceBreaking { unknown_ordinal: 0 }
16276 }
16277
16278 #[inline]
16279 unsafe fn decode(
16280 &mut self,
16281 decoder: &mut fidl::encoding::Decoder<
16282 '_,
16283 fidl::encoding::DefaultFuchsiaResourceDialect,
16284 >,
16285 offset: usize,
16286 mut depth: fidl::encoding::Depth,
16287 ) -> fidl::Result<()> {
16288 decoder.debug_check_bounds::<Self>(offset);
16289 #[allow(unused_variables)]
16290 let next_out_of_line = decoder.next_out_of_line();
16291 let handles_before = decoder.remaining_handles();
16292 let (ordinal, inlined, num_bytes, num_handles) =
16293 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
16294
16295 let member_inline_size = match ordinal {
16296 1 => <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16297 2 => <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16298 3 => <i16 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16299 4 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16300 5 => <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16301 6 => <u8 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16302 7 => <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16303 8 => <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16304 9 => <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16305 10 => <f32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16306 11 => <f64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16307 12 => <DefaultEnum as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16308 13 => <DefaultBits as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16309 14 => <fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16310 15 => <fidl::encoding::UnboundedString as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16311 16 => <ThisIsAStruct as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16312 17 => <ThisIsAUnion as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16313 18 => <fidl::encoding::Array<u32, 3> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16314 19 => <fidl::encoding::UnboundedVector<u32> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16315 20 => <ThisIsATable as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16316 21 => <ThisIsAXunion as fidl::encoding::TypeMarker>::inline_size(decoder.context),
16317 0 => return Err(fidl::Error::UnknownUnionTag),
16318 _ => num_bytes as usize,
16319 };
16320
16321 if inlined != (member_inline_size <= 4) {
16322 return Err(fidl::Error::InvalidInlineBitInEnvelope);
16323 }
16324 let _inner_offset;
16325 if inlined {
16326 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
16327 _inner_offset = offset + 8;
16328 } else {
16329 depth.increment()?;
16330 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
16331 }
16332 match ordinal {
16333 1 => {
16334 #[allow(irrefutable_let_patterns)]
16335 if let AllTypesXunion::BoolMember(_) = self {
16336 } else {
16338 *self = AllTypesXunion::BoolMember(fidl::new_empty!(
16340 bool,
16341 fidl::encoding::DefaultFuchsiaResourceDialect
16342 ));
16343 }
16344 #[allow(irrefutable_let_patterns)]
16345 if let AllTypesXunion::BoolMember(ref mut val) = self {
16346 fidl::decode!(
16347 bool,
16348 fidl::encoding::DefaultFuchsiaResourceDialect,
16349 val,
16350 decoder,
16351 _inner_offset,
16352 depth
16353 )?;
16354 } else {
16355 unreachable!()
16356 }
16357 }
16358 2 => {
16359 #[allow(irrefutable_let_patterns)]
16360 if let AllTypesXunion::Int8Member(_) = self {
16361 } else {
16363 *self = AllTypesXunion::Int8Member(fidl::new_empty!(
16365 i8,
16366 fidl::encoding::DefaultFuchsiaResourceDialect
16367 ));
16368 }
16369 #[allow(irrefutable_let_patterns)]
16370 if let AllTypesXunion::Int8Member(ref mut val) = self {
16371 fidl::decode!(
16372 i8,
16373 fidl::encoding::DefaultFuchsiaResourceDialect,
16374 val,
16375 decoder,
16376 _inner_offset,
16377 depth
16378 )?;
16379 } else {
16380 unreachable!()
16381 }
16382 }
16383 3 => {
16384 #[allow(irrefutable_let_patterns)]
16385 if let AllTypesXunion::Int16Member(_) = self {
16386 } else {
16388 *self = AllTypesXunion::Int16Member(fidl::new_empty!(
16390 i16,
16391 fidl::encoding::DefaultFuchsiaResourceDialect
16392 ));
16393 }
16394 #[allow(irrefutable_let_patterns)]
16395 if let AllTypesXunion::Int16Member(ref mut val) = self {
16396 fidl::decode!(
16397 i16,
16398 fidl::encoding::DefaultFuchsiaResourceDialect,
16399 val,
16400 decoder,
16401 _inner_offset,
16402 depth
16403 )?;
16404 } else {
16405 unreachable!()
16406 }
16407 }
16408 4 => {
16409 #[allow(irrefutable_let_patterns)]
16410 if let AllTypesXunion::Int32Member(_) = self {
16411 } else {
16413 *self = AllTypesXunion::Int32Member(fidl::new_empty!(
16415 i32,
16416 fidl::encoding::DefaultFuchsiaResourceDialect
16417 ));
16418 }
16419 #[allow(irrefutable_let_patterns)]
16420 if let AllTypesXunion::Int32Member(ref mut val) = self {
16421 fidl::decode!(
16422 i32,
16423 fidl::encoding::DefaultFuchsiaResourceDialect,
16424 val,
16425 decoder,
16426 _inner_offset,
16427 depth
16428 )?;
16429 } else {
16430 unreachable!()
16431 }
16432 }
16433 5 => {
16434 #[allow(irrefutable_let_patterns)]
16435 if let AllTypesXunion::Int64Member(_) = self {
16436 } else {
16438 *self = AllTypesXunion::Int64Member(fidl::new_empty!(
16440 i64,
16441 fidl::encoding::DefaultFuchsiaResourceDialect
16442 ));
16443 }
16444 #[allow(irrefutable_let_patterns)]
16445 if let AllTypesXunion::Int64Member(ref mut val) = self {
16446 fidl::decode!(
16447 i64,
16448 fidl::encoding::DefaultFuchsiaResourceDialect,
16449 val,
16450 decoder,
16451 _inner_offset,
16452 depth
16453 )?;
16454 } else {
16455 unreachable!()
16456 }
16457 }
16458 6 => {
16459 #[allow(irrefutable_let_patterns)]
16460 if let AllTypesXunion::Uint8Member(_) = self {
16461 } else {
16463 *self = AllTypesXunion::Uint8Member(fidl::new_empty!(
16465 u8,
16466 fidl::encoding::DefaultFuchsiaResourceDialect
16467 ));
16468 }
16469 #[allow(irrefutable_let_patterns)]
16470 if let AllTypesXunion::Uint8Member(ref mut val) = self {
16471 fidl::decode!(
16472 u8,
16473 fidl::encoding::DefaultFuchsiaResourceDialect,
16474 val,
16475 decoder,
16476 _inner_offset,
16477 depth
16478 )?;
16479 } else {
16480 unreachable!()
16481 }
16482 }
16483 7 => {
16484 #[allow(irrefutable_let_patterns)]
16485 if let AllTypesXunion::Uint16Member(_) = self {
16486 } else {
16488 *self = AllTypesXunion::Uint16Member(fidl::new_empty!(
16490 u16,
16491 fidl::encoding::DefaultFuchsiaResourceDialect
16492 ));
16493 }
16494 #[allow(irrefutable_let_patterns)]
16495 if let AllTypesXunion::Uint16Member(ref mut val) = self {
16496 fidl::decode!(
16497 u16,
16498 fidl::encoding::DefaultFuchsiaResourceDialect,
16499 val,
16500 decoder,
16501 _inner_offset,
16502 depth
16503 )?;
16504 } else {
16505 unreachable!()
16506 }
16507 }
16508 8 => {
16509 #[allow(irrefutable_let_patterns)]
16510 if let AllTypesXunion::Uint32Member(_) = self {
16511 } else {
16513 *self = AllTypesXunion::Uint32Member(fidl::new_empty!(
16515 u32,
16516 fidl::encoding::DefaultFuchsiaResourceDialect
16517 ));
16518 }
16519 #[allow(irrefutable_let_patterns)]
16520 if let AllTypesXunion::Uint32Member(ref mut val) = self {
16521 fidl::decode!(
16522 u32,
16523 fidl::encoding::DefaultFuchsiaResourceDialect,
16524 val,
16525 decoder,
16526 _inner_offset,
16527 depth
16528 )?;
16529 } else {
16530 unreachable!()
16531 }
16532 }
16533 9 => {
16534 #[allow(irrefutable_let_patterns)]
16535 if let AllTypesXunion::Uint64Member(_) = self {
16536 } else {
16538 *self = AllTypesXunion::Uint64Member(fidl::new_empty!(
16540 u64,
16541 fidl::encoding::DefaultFuchsiaResourceDialect
16542 ));
16543 }
16544 #[allow(irrefutable_let_patterns)]
16545 if let AllTypesXunion::Uint64Member(ref mut val) = self {
16546 fidl::decode!(
16547 u64,
16548 fidl::encoding::DefaultFuchsiaResourceDialect,
16549 val,
16550 decoder,
16551 _inner_offset,
16552 depth
16553 )?;
16554 } else {
16555 unreachable!()
16556 }
16557 }
16558 10 => {
16559 #[allow(irrefutable_let_patterns)]
16560 if let AllTypesXunion::Float32Member(_) = self {
16561 } else {
16563 *self = AllTypesXunion::Float32Member(fidl::new_empty!(
16565 f32,
16566 fidl::encoding::DefaultFuchsiaResourceDialect
16567 ));
16568 }
16569 #[allow(irrefutable_let_patterns)]
16570 if let AllTypesXunion::Float32Member(ref mut val) = self {
16571 fidl::decode!(
16572 f32,
16573 fidl::encoding::DefaultFuchsiaResourceDialect,
16574 val,
16575 decoder,
16576 _inner_offset,
16577 depth
16578 )?;
16579 } else {
16580 unreachable!()
16581 }
16582 }
16583 11 => {
16584 #[allow(irrefutable_let_patterns)]
16585 if let AllTypesXunion::Float64Member(_) = self {
16586 } else {
16588 *self = AllTypesXunion::Float64Member(fidl::new_empty!(
16590 f64,
16591 fidl::encoding::DefaultFuchsiaResourceDialect
16592 ));
16593 }
16594 #[allow(irrefutable_let_patterns)]
16595 if let AllTypesXunion::Float64Member(ref mut val) = self {
16596 fidl::decode!(
16597 f64,
16598 fidl::encoding::DefaultFuchsiaResourceDialect,
16599 val,
16600 decoder,
16601 _inner_offset,
16602 depth
16603 )?;
16604 } else {
16605 unreachable!()
16606 }
16607 }
16608 12 => {
16609 #[allow(irrefutable_let_patterns)]
16610 if let AllTypesXunion::EnumMember(_) = self {
16611 } else {
16613 *self = AllTypesXunion::EnumMember(fidl::new_empty!(
16615 DefaultEnum,
16616 fidl::encoding::DefaultFuchsiaResourceDialect
16617 ));
16618 }
16619 #[allow(irrefutable_let_patterns)]
16620 if let AllTypesXunion::EnumMember(ref mut val) = self {
16621 fidl::decode!(
16622 DefaultEnum,
16623 fidl::encoding::DefaultFuchsiaResourceDialect,
16624 val,
16625 decoder,
16626 _inner_offset,
16627 depth
16628 )?;
16629 } else {
16630 unreachable!()
16631 }
16632 }
16633 13 => {
16634 #[allow(irrefutable_let_patterns)]
16635 if let AllTypesXunion::BitsMember(_) = self {
16636 } else {
16638 *self = AllTypesXunion::BitsMember(fidl::new_empty!(
16640 DefaultBits,
16641 fidl::encoding::DefaultFuchsiaResourceDialect
16642 ));
16643 }
16644 #[allow(irrefutable_let_patterns)]
16645 if let AllTypesXunion::BitsMember(ref mut val) = self {
16646 fidl::decode!(
16647 DefaultBits,
16648 fidl::encoding::DefaultFuchsiaResourceDialect,
16649 val,
16650 decoder,
16651 _inner_offset,
16652 depth
16653 )?;
16654 } else {
16655 unreachable!()
16656 }
16657 }
16658 14 => {
16659 #[allow(irrefutable_let_patterns)]
16660 if let AllTypesXunion::HandleMember(_) = self {
16661 } else {
16663 *self = AllTypesXunion::HandleMember(
16665 fidl::new_empty!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16666 );
16667 }
16668 #[allow(irrefutable_let_patterns)]
16669 if let AllTypesXunion::HandleMember(ref mut val) = self {
16670 fidl::decode!(fidl::encoding::HandleType<fidl::Handle, { fidl::ObjectType::NONE.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val, decoder, _inner_offset, depth)?;
16671 } else {
16672 unreachable!()
16673 }
16674 }
16675 15 => {
16676 #[allow(irrefutable_let_patterns)]
16677 if let AllTypesXunion::StringMember(_) = self {
16678 } else {
16680 *self = AllTypesXunion::StringMember(fidl::new_empty!(
16682 fidl::encoding::UnboundedString,
16683 fidl::encoding::DefaultFuchsiaResourceDialect
16684 ));
16685 }
16686 #[allow(irrefutable_let_patterns)]
16687 if let AllTypesXunion::StringMember(ref mut val) = self {
16688 fidl::decode!(
16689 fidl::encoding::UnboundedString,
16690 fidl::encoding::DefaultFuchsiaResourceDialect,
16691 val,
16692 decoder,
16693 _inner_offset,
16694 depth
16695 )?;
16696 } else {
16697 unreachable!()
16698 }
16699 }
16700 16 => {
16701 #[allow(irrefutable_let_patterns)]
16702 if let AllTypesXunion::StructMember(_) = self {
16703 } else {
16705 *self = AllTypesXunion::StructMember(fidl::new_empty!(
16707 ThisIsAStruct,
16708 fidl::encoding::DefaultFuchsiaResourceDialect
16709 ));
16710 }
16711 #[allow(irrefutable_let_patterns)]
16712 if let AllTypesXunion::StructMember(ref mut val) = self {
16713 fidl::decode!(
16714 ThisIsAStruct,
16715 fidl::encoding::DefaultFuchsiaResourceDialect,
16716 val,
16717 decoder,
16718 _inner_offset,
16719 depth
16720 )?;
16721 } else {
16722 unreachable!()
16723 }
16724 }
16725 17 => {
16726 #[allow(irrefutable_let_patterns)]
16727 if let AllTypesXunion::UnionMember(_) = self {
16728 } else {
16730 *self = AllTypesXunion::UnionMember(fidl::new_empty!(
16732 ThisIsAUnion,
16733 fidl::encoding::DefaultFuchsiaResourceDialect
16734 ));
16735 }
16736 #[allow(irrefutable_let_patterns)]
16737 if let AllTypesXunion::UnionMember(ref mut val) = self {
16738 fidl::decode!(
16739 ThisIsAUnion,
16740 fidl::encoding::DefaultFuchsiaResourceDialect,
16741 val,
16742 decoder,
16743 _inner_offset,
16744 depth
16745 )?;
16746 } else {
16747 unreachable!()
16748 }
16749 }
16750 18 => {
16751 #[allow(irrefutable_let_patterns)]
16752 if let AllTypesXunion::ArrayMember(_) = self {
16753 } else {
16755 *self = AllTypesXunion::ArrayMember(
16757 fidl::new_empty!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect),
16758 );
16759 }
16760 #[allow(irrefutable_let_patterns)]
16761 if let AllTypesXunion::ArrayMember(ref mut val) = self {
16762 fidl::decode!(fidl::encoding::Array<u32, 3>, fidl::encoding::DefaultFuchsiaResourceDialect, val, decoder, _inner_offset, depth)?;
16763 } else {
16764 unreachable!()
16765 }
16766 }
16767 19 => {
16768 #[allow(irrefutable_let_patterns)]
16769 if let AllTypesXunion::VectorMember(_) = self {
16770 } else {
16772 *self = AllTypesXunion::VectorMember(fidl::new_empty!(
16774 fidl::encoding::UnboundedVector<u32>,
16775 fidl::encoding::DefaultFuchsiaResourceDialect
16776 ));
16777 }
16778 #[allow(irrefutable_let_patterns)]
16779 if let AllTypesXunion::VectorMember(ref mut val) = self {
16780 fidl::decode!(
16781 fidl::encoding::UnboundedVector<u32>,
16782 fidl::encoding::DefaultFuchsiaResourceDialect,
16783 val,
16784 decoder,
16785 _inner_offset,
16786 depth
16787 )?;
16788 } else {
16789 unreachable!()
16790 }
16791 }
16792 20 => {
16793 #[allow(irrefutable_let_patterns)]
16794 if let AllTypesXunion::TableMember(_) = self {
16795 } else {
16797 *self = AllTypesXunion::TableMember(fidl::new_empty!(
16799 ThisIsATable,
16800 fidl::encoding::DefaultFuchsiaResourceDialect
16801 ));
16802 }
16803 #[allow(irrefutable_let_patterns)]
16804 if let AllTypesXunion::TableMember(ref mut val) = self {
16805 fidl::decode!(
16806 ThisIsATable,
16807 fidl::encoding::DefaultFuchsiaResourceDialect,
16808 val,
16809 decoder,
16810 _inner_offset,
16811 depth
16812 )?;
16813 } else {
16814 unreachable!()
16815 }
16816 }
16817 21 => {
16818 #[allow(irrefutable_let_patterns)]
16819 if let AllTypesXunion::XunionMember(_) = self {
16820 } else {
16822 *self = AllTypesXunion::XunionMember(fidl::new_empty!(
16824 ThisIsAXunion,
16825 fidl::encoding::DefaultFuchsiaResourceDialect
16826 ));
16827 }
16828 #[allow(irrefutable_let_patterns)]
16829 if let AllTypesXunion::XunionMember(ref mut val) = self {
16830 fidl::decode!(
16831 ThisIsAXunion,
16832 fidl::encoding::DefaultFuchsiaResourceDialect,
16833 val,
16834 decoder,
16835 _inner_offset,
16836 depth
16837 )?;
16838 } else {
16839 unreachable!()
16840 }
16841 }
16842 #[allow(deprecated)]
16843 ordinal => {
16844 for _ in 0..num_handles {
16845 decoder.drop_next_handle()?;
16846 }
16847 *self = AllTypesXunion::__SourceBreaking { unknown_ordinal: ordinal };
16848 }
16849 }
16850 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
16851 return Err(fidl::Error::InvalidNumBytesInEnvelope);
16852 }
16853 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
16854 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
16855 }
16856 Ok(())
16857 }
16858 }
16859}