1#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
8use futures::future::{self, MaybeDone, TryFutureExt};
9use zx_status;
10
11pub const ROOT_ID: u32 = 0;
14
15#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
17pub enum DiffType {
18 Full,
20 Diff,
22 Both,
24 #[doc(hidden)]
25 __SourceBreaking { unknown_ordinal: u32 },
26}
27
28#[macro_export]
30macro_rules! DiffTypeUnknown {
31 () => {
32 _
33 };
34}
35
36impl DiffType {
37 #[inline]
38 pub fn from_primitive(prim: u32) -> Option<Self> {
39 match prim {
40 0 => Some(Self::Full),
41 1 => Some(Self::Diff),
42 2 => Some(Self::Both),
43 _ => None,
44 }
45 }
46
47 #[inline]
48 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
49 match prim {
50 0 => Self::Full,
51 1 => Self::Diff,
52 2 => Self::Both,
53 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
54 }
55 }
56
57 #[inline]
58 pub fn unknown() -> Self {
59 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
60 }
61
62 #[inline]
63 pub const fn into_primitive(self) -> u32 {
64 match self {
65 Self::Full => 0,
66 Self::Diff => 1,
67 Self::Both => 2,
68 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
69 }
70 }
71
72 #[inline]
73 pub fn is_unknown(&self) -> bool {
74 match self {
75 Self::__SourceBreaking { unknown_ordinal: _ } => true,
76 _ => false,
77 }
78 }
79}
80
81#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
82#[repr(u32)]
83pub enum LinkDisposition {
84 Child = 0,
85 Inline = 1,
86}
87
88impl LinkDisposition {
89 #[inline]
90 pub fn from_primitive(prim: u32) -> Option<Self> {
91 match prim {
92 0 => Some(Self::Child),
93 1 => Some(Self::Inline),
94 _ => None,
95 }
96 }
97
98 #[inline]
99 pub const fn into_primitive(self) -> u32 {
100 self as u32
101 }
102}
103
104#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
106pub enum TestResult {
107 Ok,
109 Unimplemented,
111 Failed,
113 Illegal,
115 #[doc(hidden)]
116 __SourceBreaking { unknown_ordinal: u32 },
117}
118
119#[macro_export]
121macro_rules! TestResultUnknown {
122 () => {
123 _
124 };
125}
126
127impl TestResult {
128 #[inline]
129 pub fn from_primitive(prim: u32) -> Option<Self> {
130 match prim {
131 0 => Some(Self::Ok),
132 1 => Some(Self::Unimplemented),
133 2 => Some(Self::Failed),
134 3 => Some(Self::Illegal),
135 _ => None,
136 }
137 }
138
139 #[inline]
140 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
141 match prim {
142 0 => Self::Ok,
143 1 => Self::Unimplemented,
144 2 => Self::Failed,
145 3 => Self::Illegal,
146 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
147 }
148 }
149
150 #[inline]
151 pub fn unknown() -> Self {
152 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
153 }
154
155 #[inline]
156 pub const fn into_primitive(self) -> u32 {
157 match self {
158 Self::Ok => 0,
159 Self::Unimplemented => 1,
160 Self::Failed => 2,
161 Self::Illegal => 3,
162 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
163 }
164 }
165
166 #[inline]
167 pub fn is_unknown(&self) -> bool {
168 match self {
169 Self::__SourceBreaking { unknown_ordinal: _ } => true,
170 _ => false,
171 }
172 }
173}
174
175#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
176pub enum ValueType {
177 Int,
178 Uint,
179 Double,
180 String,
181 #[doc(hidden)]
182 __SourceBreaking {
183 unknown_ordinal: u8,
184 },
185}
186
187#[macro_export]
189macro_rules! ValueTypeUnknown {
190 () => {
191 _
192 };
193}
194
195impl ValueType {
196 #[inline]
197 pub fn from_primitive(prim: u8) -> Option<Self> {
198 match prim {
199 1 => Some(Self::Int),
200 2 => Some(Self::Uint),
201 3 => Some(Self::Double),
202 4 => Some(Self::String),
203 _ => None,
204 }
205 }
206
207 #[inline]
208 pub fn from_primitive_allow_unknown(prim: u8) -> Self {
209 match prim {
210 1 => Self::Int,
211 2 => Self::Uint,
212 3 => Self::Double,
213 4 => Self::String,
214 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
215 }
216 }
217
218 #[inline]
219 pub fn unknown() -> Self {
220 Self::__SourceBreaking { unknown_ordinal: 0xff }
221 }
222
223 #[inline]
224 pub const fn into_primitive(self) -> u8 {
225 match self {
226 Self::Int => 1,
227 Self::Uint => 2,
228 Self::Double => 3,
229 Self::String => 4,
230 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
231 }
232 }
233
234 #[inline]
235 pub fn is_unknown(&self) -> bool {
236 match self {
237 Self::__SourceBreaking { unknown_ordinal: _ } => true,
238 _ => false,
239 }
240 }
241}
242
243#[derive(Clone, Debug, PartialEq)]
244pub struct AddNumber {
245 pub id: u32,
246 pub value: Value,
247}
248
249impl fidl::Persistable for AddNumber {}
250
251#[derive(Clone, Debug, PartialEq)]
252pub struct ArrayAdd {
253 pub id: u32,
254 pub index: u64,
255 pub value: Value,
256}
257
258impl fidl::Persistable for ArrayAdd {}
259
260#[derive(Clone, Debug, PartialEq)]
261pub struct ArraySet {
262 pub id: u32,
263 pub index: u64,
264 pub value: Value,
265}
266
267impl fidl::Persistable for ArraySet {}
268
269#[derive(Clone, Debug, PartialEq)]
270pub struct ArraySubtract {
271 pub id: u32,
272 pub index: u64,
273 pub value: Value,
274}
275
276impl fidl::Persistable for ArraySubtract {}
277
278#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
279pub struct CreateArrayProperty {
280 pub parent: u32,
281 pub id: u32,
282 pub name: String,
283 pub slots: u64,
284 pub value_type: ValueType,
285}
286
287impl fidl::Persistable for CreateArrayProperty {}
288
289#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
291pub struct CreateBoolProperty {
292 pub parent: u32,
293 pub id: u32,
294 pub name: String,
295 pub value: bool,
296}
297
298impl fidl::Persistable for CreateBoolProperty {}
299
300#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
302pub struct CreateBytesProperty {
303 pub parent: u32,
304 pub id: u32,
305 pub name: String,
306 pub value: Vec<u8>,
307}
308
309impl fidl::Persistable for CreateBytesProperty {}
310
311#[derive(Clone, Debug, PartialEq)]
312pub struct CreateExponentialHistogram {
313 pub parent: u32,
314 pub id: u32,
315 pub name: String,
316 pub floor: Value,
317 pub initial_step: Value,
318 pub step_multiplier: Value,
319 pub buckets: u64,
320}
321
322impl fidl::Persistable for CreateExponentialHistogram {}
323
324#[derive(Clone, Debug, PartialEq)]
325pub struct CreateLazyNode {
326 pub parent: u32,
327 pub id: u32,
328 pub name: String,
329 pub disposition: LinkDisposition,
330 pub actions: Vec<Action>,
331}
332
333impl fidl::Persistable for CreateLazyNode {}
334
335#[derive(Clone, Debug, PartialEq)]
336pub struct CreateLinearHistogram {
337 pub parent: u32,
338 pub id: u32,
339 pub name: String,
340 pub floor: Value,
341 pub step_size: Value,
342 pub buckets: u64,
343}
344
345impl fidl::Persistable for CreateLinearHistogram {}
346
347#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
350pub struct CreateNode {
351 pub parent: u32,
352 pub id: u32,
353 pub name: String,
354}
355
356impl fidl::Persistable for CreateNode {}
357
358#[derive(Clone, Debug, PartialEq)]
360pub struct CreateNumericProperty {
361 pub parent: u32,
362 pub id: u32,
363 pub name: String,
364 pub value: Value,
365}
366
367impl fidl::Persistable for CreateNumericProperty {}
368
369#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
371pub struct CreateStringProperty {
372 pub parent: u32,
373 pub id: u32,
374 pub name: String,
375 pub value: String,
376}
377
378impl fidl::Persistable for CreateStringProperty {}
379
380#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
381#[repr(C)]
382pub struct DeleteLazyNode {
383 pub id: u32,
384}
385
386impl fidl::Persistable for DeleteLazyNode {}
387
388#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
390#[repr(C)]
391pub struct DeleteNode {
392 pub id: u32,
393}
394
395impl fidl::Persistable for DeleteNode {}
396
397#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
399#[repr(C)]
400pub struct DeleteProperty {
401 pub id: u32,
402}
403
404impl fidl::Persistable for DeleteProperty {}
405
406#[derive(Clone, Debug, PartialEq)]
407pub struct Insert {
408 pub id: u32,
409 pub value: Value,
410}
411
412impl fidl::Persistable for Insert {}
413
414#[derive(Clone, Debug, PartialEq)]
415pub struct InsertMultiple {
416 pub id: u32,
417 pub value: Value,
418 pub count: u64,
419}
420
421impl fidl::Persistable for InsertMultiple {}
422
423#[derive(Clone, Debug, PartialEq)]
424pub struct InspectPuppetActLazyRequest {
425 pub lazy_action: LazyAction,
426}
427
428impl fidl::Persistable for InspectPuppetActLazyRequest {}
429
430#[derive(Clone, Debug, PartialEq)]
431pub struct InspectPuppetActLazyThreadLocalRequest {
432 pub lazy_action: LazyAction,
433}
434
435impl fidl::Persistable for InspectPuppetActLazyThreadLocalRequest {}
436
437#[derive(Clone, Debug, PartialEq)]
438pub struct InspectPuppetActRequest {
439 pub action: Action,
440}
441
442impl fidl::Persistable for InspectPuppetActRequest {}
443
444#[derive(Clone, Debug, PartialEq)]
445pub struct InspectPuppetInitializeRequest {
446 pub params: InitializationParams,
447}
448
449impl fidl::Persistable for InspectPuppetInitializeRequest {}
450
451#[derive(Clone, Debug, PartialEq)]
452pub struct InspectPuppetInitializeTreeRequest {
453 pub params: InitializationParams,
454}
455
456impl fidl::Persistable for InspectPuppetInitializeTreeRequest {}
457
458#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
459pub struct InspectPuppetActLazyThreadLocalResponse {
460 pub result: TestResult,
461}
462
463impl fidl::Persistable for InspectPuppetActLazyThreadLocalResponse {}
464
465#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
466pub struct InspectPuppetActLazyResponse {
467 pub result: TestResult,
468}
469
470impl fidl::Persistable for InspectPuppetActLazyResponse {}
471
472#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
473pub struct InspectPuppetActResponse {
474 pub result: TestResult,
475}
476
477impl fidl::Persistable for InspectPuppetActResponse {}
478
479#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
480pub struct InspectPuppetPublishResponse {
481 pub result: TestResult,
482}
483
484impl fidl::Persistable for InspectPuppetPublishResponse {}
485
486#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
487pub struct SetBool {
488 pub id: u32,
489 pub value: bool,
490}
491
492impl fidl::Persistable for SetBool {}
493
494#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
495pub struct SetBytes {
496 pub id: u32,
497 pub value: Vec<u8>,
498}
499
500impl fidl::Persistable for SetBytes {}
501
502#[derive(Clone, Debug, PartialEq)]
503pub struct SetNumber {
504 pub id: u32,
505 pub value: Value,
506}
507
508impl fidl::Persistable for SetNumber {}
509
510#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
511pub struct SetString {
512 pub id: u32,
513 pub value: String,
514}
515
516impl fidl::Persistable for SetString {}
517
518#[derive(Clone, Debug, PartialEq)]
519pub struct SubtractNumber {
520 pub id: u32,
521 pub value: Value,
522}
523
524impl fidl::Persistable for SubtractNumber {}
525
526#[derive(Clone, Debug, Default, PartialEq)]
528pub struct InitializationParams {
529 pub vmo_size: Option<u64>,
530 #[doc(hidden)]
531 pub __source_breaking: fidl::marker::SourceBreaking,
532}
533
534impl fidl::Persistable for InitializationParams {}
535
536#[derive(Clone, Debug)]
538pub enum Action {
539 CreateNode(CreateNode),
540 DeleteNode(DeleteNode),
541 CreateNumericProperty(CreateNumericProperty),
542 CreateBytesProperty(CreateBytesProperty),
543 CreateStringProperty(CreateStringProperty),
544 DeleteProperty(DeleteProperty),
545 SetNumber(SetNumber),
546 SetString(SetString),
547 SetBytes(SetBytes),
548 AddNumber(AddNumber),
549 SubtractNumber(SubtractNumber),
550 CreateArrayProperty(CreateArrayProperty),
551 ArraySet(ArraySet),
552 ArrayAdd(ArrayAdd),
553 ArraySubtract(ArraySubtract),
554 CreateLinearHistogram(CreateLinearHistogram),
555 CreateExponentialHistogram(CreateExponentialHistogram),
556 Insert(Insert),
557 InsertMultiple(InsertMultiple),
558 CreateBoolProperty(CreateBoolProperty),
559 SetBool(SetBool),
560 #[doc(hidden)]
561 __SourceBreaking {
562 unknown_ordinal: u64,
563 },
564}
565
566#[macro_export]
568macro_rules! ActionUnknown {
569 () => {
570 _
571 };
572}
573
574impl PartialEq for Action {
576 fn eq(&self, other: &Self) -> bool {
577 match (self, other) {
578 (Self::CreateNode(x), Self::CreateNode(y)) => *x == *y,
579 (Self::DeleteNode(x), Self::DeleteNode(y)) => *x == *y,
580 (Self::CreateNumericProperty(x), Self::CreateNumericProperty(y)) => *x == *y,
581 (Self::CreateBytesProperty(x), Self::CreateBytesProperty(y)) => *x == *y,
582 (Self::CreateStringProperty(x), Self::CreateStringProperty(y)) => *x == *y,
583 (Self::DeleteProperty(x), Self::DeleteProperty(y)) => *x == *y,
584 (Self::SetNumber(x), Self::SetNumber(y)) => *x == *y,
585 (Self::SetString(x), Self::SetString(y)) => *x == *y,
586 (Self::SetBytes(x), Self::SetBytes(y)) => *x == *y,
587 (Self::AddNumber(x), Self::AddNumber(y)) => *x == *y,
588 (Self::SubtractNumber(x), Self::SubtractNumber(y)) => *x == *y,
589 (Self::CreateArrayProperty(x), Self::CreateArrayProperty(y)) => *x == *y,
590 (Self::ArraySet(x), Self::ArraySet(y)) => *x == *y,
591 (Self::ArrayAdd(x), Self::ArrayAdd(y)) => *x == *y,
592 (Self::ArraySubtract(x), Self::ArraySubtract(y)) => *x == *y,
593 (Self::CreateLinearHistogram(x), Self::CreateLinearHistogram(y)) => *x == *y,
594 (Self::CreateExponentialHistogram(x), Self::CreateExponentialHistogram(y)) => *x == *y,
595 (Self::Insert(x), Self::Insert(y)) => *x == *y,
596 (Self::InsertMultiple(x), Self::InsertMultiple(y)) => *x == *y,
597 (Self::CreateBoolProperty(x), Self::CreateBoolProperty(y)) => *x == *y,
598 (Self::SetBool(x), Self::SetBool(y)) => *x == *y,
599 _ => false,
600 }
601 }
602}
603
604impl Action {
605 #[inline]
606 pub fn ordinal(&self) -> u64 {
607 match *self {
608 Self::CreateNode(_) => 1,
609 Self::DeleteNode(_) => 2,
610 Self::CreateNumericProperty(_) => 3,
611 Self::CreateBytesProperty(_) => 4,
612 Self::CreateStringProperty(_) => 5,
613 Self::DeleteProperty(_) => 6,
614 Self::SetNumber(_) => 7,
615 Self::SetString(_) => 8,
616 Self::SetBytes(_) => 9,
617 Self::AddNumber(_) => 10,
618 Self::SubtractNumber(_) => 11,
619 Self::CreateArrayProperty(_) => 12,
620 Self::ArraySet(_) => 13,
621 Self::ArrayAdd(_) => 14,
622 Self::ArraySubtract(_) => 15,
623 Self::CreateLinearHistogram(_) => 16,
624 Self::CreateExponentialHistogram(_) => 17,
625 Self::Insert(_) => 18,
626 Self::InsertMultiple(_) => 19,
627 Self::CreateBoolProperty(_) => 20,
628 Self::SetBool(_) => 21,
629 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
630 }
631 }
632
633 #[inline]
634 pub fn unknown_variant_for_testing() -> Self {
635 Self::__SourceBreaking { unknown_ordinal: 0 }
636 }
637
638 #[inline]
639 pub fn is_unknown(&self) -> bool {
640 match self {
641 Self::__SourceBreaking { .. } => true,
642 _ => false,
643 }
644 }
645}
646
647impl fidl::Persistable for Action {}
648
649#[derive(Clone, Debug)]
651pub enum LazyAction {
652 CreateLazyNode(CreateLazyNode),
653 DeleteLazyNode(DeleteLazyNode),
654 #[doc(hidden)]
655 __SourceBreaking {
656 unknown_ordinal: u64,
657 },
658}
659
660#[macro_export]
662macro_rules! LazyActionUnknown {
663 () => {
664 _
665 };
666}
667
668impl PartialEq for LazyAction {
670 fn eq(&self, other: &Self) -> bool {
671 match (self, other) {
672 (Self::CreateLazyNode(x), Self::CreateLazyNode(y)) => *x == *y,
673 (Self::DeleteLazyNode(x), Self::DeleteLazyNode(y)) => *x == *y,
674 _ => false,
675 }
676 }
677}
678
679impl LazyAction {
680 #[inline]
681 pub fn ordinal(&self) -> u64 {
682 match *self {
683 Self::CreateLazyNode(_) => 1,
684 Self::DeleteLazyNode(_) => 2,
685 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
686 }
687 }
688
689 #[inline]
690 pub fn unknown_variant_for_testing() -> Self {
691 Self::__SourceBreaking { unknown_ordinal: 0 }
692 }
693
694 #[inline]
695 pub fn is_unknown(&self) -> bool {
696 match self {
697 Self::__SourceBreaking { .. } => true,
698 _ => false,
699 }
700 }
701}
702
703impl fidl::Persistable for LazyAction {}
704
705#[derive(Clone, Debug)]
706pub enum Value {
707 IntT(i64),
708 UintT(u64),
709 DoubleT(f64),
710 StringT(String),
711 #[doc(hidden)]
712 __SourceBreaking {
713 unknown_ordinal: u64,
714 },
715}
716
717#[macro_export]
719macro_rules! ValueUnknown {
720 () => {
721 _
722 };
723}
724
725impl PartialEq for Value {
727 fn eq(&self, other: &Self) -> bool {
728 match (self, other) {
729 (Self::IntT(x), Self::IntT(y)) => *x == *y,
730 (Self::UintT(x), Self::UintT(y)) => *x == *y,
731 (Self::DoubleT(x), Self::DoubleT(y)) => *x == *y,
732 (Self::StringT(x), Self::StringT(y)) => *x == *y,
733 _ => false,
734 }
735 }
736}
737
738impl Value {
739 #[inline]
740 pub fn ordinal(&self) -> u64 {
741 match *self {
742 Self::IntT(_) => 1,
743 Self::UintT(_) => 2,
744 Self::DoubleT(_) => 3,
745 Self::StringT(_) => 4,
746 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
747 }
748 }
749
750 #[inline]
751 pub fn unknown_variant_for_testing() -> Self {
752 Self::__SourceBreaking { unknown_ordinal: 0 }
753 }
754
755 #[inline]
756 pub fn is_unknown(&self) -> bool {
757 match self {
758 Self::__SourceBreaking { .. } => true,
759 _ => false,
760 }
761 }
762}
763
764impl fidl::Persistable for Value {}
765
766pub mod inspect_puppet_ordinals {
767 pub const INITIALIZE: u64 = 0x6f6c1f23e5665591;
768 pub const GET_CONFIG: u64 = 0x61588d76bae449fd;
769 pub const INITIALIZE_TREE: u64 = 0x1dba90332d970658;
770 pub const PUBLISH: u64 = 0x2cb88b53aa897dd8;
771 pub const ACT: u64 = 0x72760753739e292f;
772 pub const ACT_LAZY: u64 = 0x2d43263540a22a5f;
773 pub const ACT_LAZY_THREAD_LOCAL: u64 = 0x258a20305861670;
774}
775
776mod internal {
777 use super::*;
778 unsafe impl fidl::encoding::TypeMarker for DiffType {
779 type Owned = Self;
780
781 #[inline(always)]
782 fn inline_align(_context: fidl::encoding::Context) -> usize {
783 std::mem::align_of::<u32>()
784 }
785
786 #[inline(always)]
787 fn inline_size(_context: fidl::encoding::Context) -> usize {
788 std::mem::size_of::<u32>()
789 }
790
791 #[inline(always)]
792 fn encode_is_copy() -> bool {
793 false
794 }
795
796 #[inline(always)]
797 fn decode_is_copy() -> bool {
798 false
799 }
800 }
801
802 impl fidl::encoding::ValueTypeMarker for DiffType {
803 type Borrowed<'a> = Self;
804 #[inline(always)]
805 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
806 *value
807 }
808 }
809
810 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for DiffType {
811 #[inline]
812 unsafe fn encode(
813 self,
814 encoder: &mut fidl::encoding::Encoder<'_, D>,
815 offset: usize,
816 _depth: fidl::encoding::Depth,
817 ) -> fidl::Result<()> {
818 encoder.debug_check_bounds::<Self>(offset);
819 encoder.write_num(self.into_primitive(), offset);
820 Ok(())
821 }
822 }
823
824 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DiffType {
825 #[inline(always)]
826 fn new_empty() -> Self {
827 Self::unknown()
828 }
829
830 #[inline]
831 unsafe fn decode(
832 &mut self,
833 decoder: &mut fidl::encoding::Decoder<'_, D>,
834 offset: usize,
835 _depth: fidl::encoding::Depth,
836 ) -> fidl::Result<()> {
837 decoder.debug_check_bounds::<Self>(offset);
838 let prim = decoder.read_num::<u32>(offset);
839
840 *self = Self::from_primitive_allow_unknown(prim);
841 Ok(())
842 }
843 }
844 unsafe impl fidl::encoding::TypeMarker for LinkDisposition {
845 type Owned = Self;
846
847 #[inline(always)]
848 fn inline_align(_context: fidl::encoding::Context) -> usize {
849 std::mem::align_of::<u32>()
850 }
851
852 #[inline(always)]
853 fn inline_size(_context: fidl::encoding::Context) -> usize {
854 std::mem::size_of::<u32>()
855 }
856
857 #[inline(always)]
858 fn encode_is_copy() -> bool {
859 true
860 }
861
862 #[inline(always)]
863 fn decode_is_copy() -> bool {
864 false
865 }
866 }
867
868 impl fidl::encoding::ValueTypeMarker for LinkDisposition {
869 type Borrowed<'a> = Self;
870 #[inline(always)]
871 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
872 *value
873 }
874 }
875
876 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
877 for LinkDisposition
878 {
879 #[inline]
880 unsafe fn encode(
881 self,
882 encoder: &mut fidl::encoding::Encoder<'_, D>,
883 offset: usize,
884 _depth: fidl::encoding::Depth,
885 ) -> fidl::Result<()> {
886 encoder.debug_check_bounds::<Self>(offset);
887 encoder.write_num(self.into_primitive(), offset);
888 Ok(())
889 }
890 }
891
892 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for LinkDisposition {
893 #[inline(always)]
894 fn new_empty() -> Self {
895 Self::Child
896 }
897
898 #[inline]
899 unsafe fn decode(
900 &mut self,
901 decoder: &mut fidl::encoding::Decoder<'_, D>,
902 offset: usize,
903 _depth: fidl::encoding::Depth,
904 ) -> fidl::Result<()> {
905 decoder.debug_check_bounds::<Self>(offset);
906 let prim = decoder.read_num::<u32>(offset);
907
908 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
909 Ok(())
910 }
911 }
912 unsafe impl fidl::encoding::TypeMarker for TestResult {
913 type Owned = Self;
914
915 #[inline(always)]
916 fn inline_align(_context: fidl::encoding::Context) -> usize {
917 std::mem::align_of::<u32>()
918 }
919
920 #[inline(always)]
921 fn inline_size(_context: fidl::encoding::Context) -> usize {
922 std::mem::size_of::<u32>()
923 }
924
925 #[inline(always)]
926 fn encode_is_copy() -> bool {
927 false
928 }
929
930 #[inline(always)]
931 fn decode_is_copy() -> bool {
932 false
933 }
934 }
935
936 impl fidl::encoding::ValueTypeMarker for TestResult {
937 type Borrowed<'a> = Self;
938 #[inline(always)]
939 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
940 *value
941 }
942 }
943
944 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for TestResult {
945 #[inline]
946 unsafe fn encode(
947 self,
948 encoder: &mut fidl::encoding::Encoder<'_, D>,
949 offset: usize,
950 _depth: fidl::encoding::Depth,
951 ) -> fidl::Result<()> {
952 encoder.debug_check_bounds::<Self>(offset);
953 encoder.write_num(self.into_primitive(), offset);
954 Ok(())
955 }
956 }
957
958 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for TestResult {
959 #[inline(always)]
960 fn new_empty() -> Self {
961 Self::unknown()
962 }
963
964 #[inline]
965 unsafe fn decode(
966 &mut self,
967 decoder: &mut fidl::encoding::Decoder<'_, D>,
968 offset: usize,
969 _depth: fidl::encoding::Depth,
970 ) -> fidl::Result<()> {
971 decoder.debug_check_bounds::<Self>(offset);
972 let prim = decoder.read_num::<u32>(offset);
973
974 *self = Self::from_primitive_allow_unknown(prim);
975 Ok(())
976 }
977 }
978 unsafe impl fidl::encoding::TypeMarker for ValueType {
979 type Owned = Self;
980
981 #[inline(always)]
982 fn inline_align(_context: fidl::encoding::Context) -> usize {
983 std::mem::align_of::<u8>()
984 }
985
986 #[inline(always)]
987 fn inline_size(_context: fidl::encoding::Context) -> usize {
988 std::mem::size_of::<u8>()
989 }
990
991 #[inline(always)]
992 fn encode_is_copy() -> bool {
993 false
994 }
995
996 #[inline(always)]
997 fn decode_is_copy() -> bool {
998 false
999 }
1000 }
1001
1002 impl fidl::encoding::ValueTypeMarker for ValueType {
1003 type Borrowed<'a> = Self;
1004 #[inline(always)]
1005 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1006 *value
1007 }
1008 }
1009
1010 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ValueType {
1011 #[inline]
1012 unsafe fn encode(
1013 self,
1014 encoder: &mut fidl::encoding::Encoder<'_, D>,
1015 offset: usize,
1016 _depth: fidl::encoding::Depth,
1017 ) -> fidl::Result<()> {
1018 encoder.debug_check_bounds::<Self>(offset);
1019 encoder.write_num(self.into_primitive(), offset);
1020 Ok(())
1021 }
1022 }
1023
1024 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ValueType {
1025 #[inline(always)]
1026 fn new_empty() -> Self {
1027 Self::unknown()
1028 }
1029
1030 #[inline]
1031 unsafe fn decode(
1032 &mut self,
1033 decoder: &mut fidl::encoding::Decoder<'_, D>,
1034 offset: usize,
1035 _depth: fidl::encoding::Depth,
1036 ) -> fidl::Result<()> {
1037 decoder.debug_check_bounds::<Self>(offset);
1038 let prim = decoder.read_num::<u8>(offset);
1039
1040 *self = Self::from_primitive_allow_unknown(prim);
1041 Ok(())
1042 }
1043 }
1044
1045 impl fidl::encoding::ValueTypeMarker for AddNumber {
1046 type Borrowed<'a> = &'a Self;
1047 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1048 value
1049 }
1050 }
1051
1052 unsafe impl fidl::encoding::TypeMarker for AddNumber {
1053 type Owned = Self;
1054
1055 #[inline(always)]
1056 fn inline_align(_context: fidl::encoding::Context) -> usize {
1057 8
1058 }
1059
1060 #[inline(always)]
1061 fn inline_size(_context: fidl::encoding::Context) -> usize {
1062 24
1063 }
1064 }
1065
1066 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AddNumber, D>
1067 for &AddNumber
1068 {
1069 #[inline]
1070 unsafe fn encode(
1071 self,
1072 encoder: &mut fidl::encoding::Encoder<'_, D>,
1073 offset: usize,
1074 _depth: fidl::encoding::Depth,
1075 ) -> fidl::Result<()> {
1076 encoder.debug_check_bounds::<AddNumber>(offset);
1077 fidl::encoding::Encode::<AddNumber, D>::encode(
1079 (
1080 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1081 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
1082 ),
1083 encoder,
1084 offset,
1085 _depth,
1086 )
1087 }
1088 }
1089 unsafe impl<
1090 D: fidl::encoding::ResourceDialect,
1091 T0: fidl::encoding::Encode<u32, D>,
1092 T1: fidl::encoding::Encode<Value, D>,
1093 > fidl::encoding::Encode<AddNumber, D> for (T0, T1)
1094 {
1095 #[inline]
1096 unsafe fn encode(
1097 self,
1098 encoder: &mut fidl::encoding::Encoder<'_, D>,
1099 offset: usize,
1100 depth: fidl::encoding::Depth,
1101 ) -> fidl::Result<()> {
1102 encoder.debug_check_bounds::<AddNumber>(offset);
1103 unsafe {
1106 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
1107 (ptr as *mut u64).write_unaligned(0);
1108 }
1109 self.0.encode(encoder, offset + 0, depth)?;
1111 self.1.encode(encoder, offset + 8, depth)?;
1112 Ok(())
1113 }
1114 }
1115
1116 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AddNumber {
1117 #[inline(always)]
1118 fn new_empty() -> Self {
1119 Self { id: fidl::new_empty!(u32, D), value: fidl::new_empty!(Value, D) }
1120 }
1121
1122 #[inline]
1123 unsafe fn decode(
1124 &mut self,
1125 decoder: &mut fidl::encoding::Decoder<'_, D>,
1126 offset: usize,
1127 _depth: fidl::encoding::Depth,
1128 ) -> fidl::Result<()> {
1129 decoder.debug_check_bounds::<Self>(offset);
1130 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
1132 let padval = unsafe { (ptr as *const u64).read_unaligned() };
1133 let mask = 0xffffffff00000000u64;
1134 let maskedval = padval & mask;
1135 if maskedval != 0 {
1136 return Err(fidl::Error::NonZeroPadding {
1137 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
1138 });
1139 }
1140 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
1141 fidl::decode!(Value, D, &mut self.value, decoder, offset + 8, _depth)?;
1142 Ok(())
1143 }
1144 }
1145
1146 impl fidl::encoding::ValueTypeMarker for ArrayAdd {
1147 type Borrowed<'a> = &'a Self;
1148 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1149 value
1150 }
1151 }
1152
1153 unsafe impl fidl::encoding::TypeMarker for ArrayAdd {
1154 type Owned = Self;
1155
1156 #[inline(always)]
1157 fn inline_align(_context: fidl::encoding::Context) -> usize {
1158 8
1159 }
1160
1161 #[inline(always)]
1162 fn inline_size(_context: fidl::encoding::Context) -> usize {
1163 32
1164 }
1165 }
1166
1167 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ArrayAdd, D> for &ArrayAdd {
1168 #[inline]
1169 unsafe fn encode(
1170 self,
1171 encoder: &mut fidl::encoding::Encoder<'_, D>,
1172 offset: usize,
1173 _depth: fidl::encoding::Depth,
1174 ) -> fidl::Result<()> {
1175 encoder.debug_check_bounds::<ArrayAdd>(offset);
1176 fidl::encoding::Encode::<ArrayAdd, D>::encode(
1178 (
1179 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1180 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.index),
1181 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
1182 ),
1183 encoder,
1184 offset,
1185 _depth,
1186 )
1187 }
1188 }
1189 unsafe impl<
1190 D: fidl::encoding::ResourceDialect,
1191 T0: fidl::encoding::Encode<u32, D>,
1192 T1: fidl::encoding::Encode<u64, D>,
1193 T2: fidl::encoding::Encode<Value, D>,
1194 > fidl::encoding::Encode<ArrayAdd, D> for (T0, T1, T2)
1195 {
1196 #[inline]
1197 unsafe fn encode(
1198 self,
1199 encoder: &mut fidl::encoding::Encoder<'_, D>,
1200 offset: usize,
1201 depth: fidl::encoding::Depth,
1202 ) -> fidl::Result<()> {
1203 encoder.debug_check_bounds::<ArrayAdd>(offset);
1204 unsafe {
1207 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
1208 (ptr as *mut u64).write_unaligned(0);
1209 }
1210 self.0.encode(encoder, offset + 0, depth)?;
1212 self.1.encode(encoder, offset + 8, depth)?;
1213 self.2.encode(encoder, offset + 16, depth)?;
1214 Ok(())
1215 }
1216 }
1217
1218 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ArrayAdd {
1219 #[inline(always)]
1220 fn new_empty() -> Self {
1221 Self {
1222 id: fidl::new_empty!(u32, D),
1223 index: fidl::new_empty!(u64, D),
1224 value: fidl::new_empty!(Value, D),
1225 }
1226 }
1227
1228 #[inline]
1229 unsafe fn decode(
1230 &mut self,
1231 decoder: &mut fidl::encoding::Decoder<'_, D>,
1232 offset: usize,
1233 _depth: fidl::encoding::Depth,
1234 ) -> fidl::Result<()> {
1235 decoder.debug_check_bounds::<Self>(offset);
1236 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
1238 let padval = unsafe { (ptr as *const u64).read_unaligned() };
1239 let mask = 0xffffffff00000000u64;
1240 let maskedval = padval & mask;
1241 if maskedval != 0 {
1242 return Err(fidl::Error::NonZeroPadding {
1243 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
1244 });
1245 }
1246 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
1247 fidl::decode!(u64, D, &mut self.index, decoder, offset + 8, _depth)?;
1248 fidl::decode!(Value, D, &mut self.value, decoder, offset + 16, _depth)?;
1249 Ok(())
1250 }
1251 }
1252
1253 impl fidl::encoding::ValueTypeMarker for ArraySet {
1254 type Borrowed<'a> = &'a Self;
1255 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1256 value
1257 }
1258 }
1259
1260 unsafe impl fidl::encoding::TypeMarker for ArraySet {
1261 type Owned = Self;
1262
1263 #[inline(always)]
1264 fn inline_align(_context: fidl::encoding::Context) -> usize {
1265 8
1266 }
1267
1268 #[inline(always)]
1269 fn inline_size(_context: fidl::encoding::Context) -> usize {
1270 32
1271 }
1272 }
1273
1274 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ArraySet, D> for &ArraySet {
1275 #[inline]
1276 unsafe fn encode(
1277 self,
1278 encoder: &mut fidl::encoding::Encoder<'_, D>,
1279 offset: usize,
1280 _depth: fidl::encoding::Depth,
1281 ) -> fidl::Result<()> {
1282 encoder.debug_check_bounds::<ArraySet>(offset);
1283 fidl::encoding::Encode::<ArraySet, D>::encode(
1285 (
1286 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1287 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.index),
1288 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
1289 ),
1290 encoder,
1291 offset,
1292 _depth,
1293 )
1294 }
1295 }
1296 unsafe impl<
1297 D: fidl::encoding::ResourceDialect,
1298 T0: fidl::encoding::Encode<u32, D>,
1299 T1: fidl::encoding::Encode<u64, D>,
1300 T2: fidl::encoding::Encode<Value, D>,
1301 > fidl::encoding::Encode<ArraySet, D> for (T0, T1, T2)
1302 {
1303 #[inline]
1304 unsafe fn encode(
1305 self,
1306 encoder: &mut fidl::encoding::Encoder<'_, D>,
1307 offset: usize,
1308 depth: fidl::encoding::Depth,
1309 ) -> fidl::Result<()> {
1310 encoder.debug_check_bounds::<ArraySet>(offset);
1311 unsafe {
1314 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
1315 (ptr as *mut u64).write_unaligned(0);
1316 }
1317 self.0.encode(encoder, offset + 0, depth)?;
1319 self.1.encode(encoder, offset + 8, depth)?;
1320 self.2.encode(encoder, offset + 16, depth)?;
1321 Ok(())
1322 }
1323 }
1324
1325 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ArraySet {
1326 #[inline(always)]
1327 fn new_empty() -> Self {
1328 Self {
1329 id: fidl::new_empty!(u32, D),
1330 index: fidl::new_empty!(u64, D),
1331 value: fidl::new_empty!(Value, D),
1332 }
1333 }
1334
1335 #[inline]
1336 unsafe fn decode(
1337 &mut self,
1338 decoder: &mut fidl::encoding::Decoder<'_, D>,
1339 offset: usize,
1340 _depth: fidl::encoding::Depth,
1341 ) -> fidl::Result<()> {
1342 decoder.debug_check_bounds::<Self>(offset);
1343 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
1345 let padval = unsafe { (ptr as *const u64).read_unaligned() };
1346 let mask = 0xffffffff00000000u64;
1347 let maskedval = padval & mask;
1348 if maskedval != 0 {
1349 return Err(fidl::Error::NonZeroPadding {
1350 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
1351 });
1352 }
1353 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
1354 fidl::decode!(u64, D, &mut self.index, decoder, offset + 8, _depth)?;
1355 fidl::decode!(Value, D, &mut self.value, decoder, offset + 16, _depth)?;
1356 Ok(())
1357 }
1358 }
1359
1360 impl fidl::encoding::ValueTypeMarker for ArraySubtract {
1361 type Borrowed<'a> = &'a Self;
1362 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1363 value
1364 }
1365 }
1366
1367 unsafe impl fidl::encoding::TypeMarker for ArraySubtract {
1368 type Owned = Self;
1369
1370 #[inline(always)]
1371 fn inline_align(_context: fidl::encoding::Context) -> usize {
1372 8
1373 }
1374
1375 #[inline(always)]
1376 fn inline_size(_context: fidl::encoding::Context) -> usize {
1377 32
1378 }
1379 }
1380
1381 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ArraySubtract, D>
1382 for &ArraySubtract
1383 {
1384 #[inline]
1385 unsafe fn encode(
1386 self,
1387 encoder: &mut fidl::encoding::Encoder<'_, D>,
1388 offset: usize,
1389 _depth: fidl::encoding::Depth,
1390 ) -> fidl::Result<()> {
1391 encoder.debug_check_bounds::<ArraySubtract>(offset);
1392 fidl::encoding::Encode::<ArraySubtract, D>::encode(
1394 (
1395 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1396 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.index),
1397 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
1398 ),
1399 encoder,
1400 offset,
1401 _depth,
1402 )
1403 }
1404 }
1405 unsafe impl<
1406 D: fidl::encoding::ResourceDialect,
1407 T0: fidl::encoding::Encode<u32, D>,
1408 T1: fidl::encoding::Encode<u64, D>,
1409 T2: fidl::encoding::Encode<Value, D>,
1410 > fidl::encoding::Encode<ArraySubtract, D> for (T0, T1, T2)
1411 {
1412 #[inline]
1413 unsafe fn encode(
1414 self,
1415 encoder: &mut fidl::encoding::Encoder<'_, D>,
1416 offset: usize,
1417 depth: fidl::encoding::Depth,
1418 ) -> fidl::Result<()> {
1419 encoder.debug_check_bounds::<ArraySubtract>(offset);
1420 unsafe {
1423 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
1424 (ptr as *mut u64).write_unaligned(0);
1425 }
1426 self.0.encode(encoder, offset + 0, depth)?;
1428 self.1.encode(encoder, offset + 8, depth)?;
1429 self.2.encode(encoder, offset + 16, depth)?;
1430 Ok(())
1431 }
1432 }
1433
1434 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ArraySubtract {
1435 #[inline(always)]
1436 fn new_empty() -> Self {
1437 Self {
1438 id: fidl::new_empty!(u32, D),
1439 index: fidl::new_empty!(u64, D),
1440 value: fidl::new_empty!(Value, D),
1441 }
1442 }
1443
1444 #[inline]
1445 unsafe fn decode(
1446 &mut self,
1447 decoder: &mut fidl::encoding::Decoder<'_, D>,
1448 offset: usize,
1449 _depth: fidl::encoding::Depth,
1450 ) -> fidl::Result<()> {
1451 decoder.debug_check_bounds::<Self>(offset);
1452 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
1454 let padval = unsafe { (ptr as *const u64).read_unaligned() };
1455 let mask = 0xffffffff00000000u64;
1456 let maskedval = padval & mask;
1457 if maskedval != 0 {
1458 return Err(fidl::Error::NonZeroPadding {
1459 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
1460 });
1461 }
1462 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
1463 fidl::decode!(u64, D, &mut self.index, decoder, offset + 8, _depth)?;
1464 fidl::decode!(Value, D, &mut self.value, decoder, offset + 16, _depth)?;
1465 Ok(())
1466 }
1467 }
1468
1469 impl fidl::encoding::ValueTypeMarker for CreateArrayProperty {
1470 type Borrowed<'a> = &'a Self;
1471 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1472 value
1473 }
1474 }
1475
1476 unsafe impl fidl::encoding::TypeMarker for CreateArrayProperty {
1477 type Owned = Self;
1478
1479 #[inline(always)]
1480 fn inline_align(_context: fidl::encoding::Context) -> usize {
1481 8
1482 }
1483
1484 #[inline(always)]
1485 fn inline_size(_context: fidl::encoding::Context) -> usize {
1486 40
1487 }
1488 }
1489
1490 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CreateArrayProperty, D>
1491 for &CreateArrayProperty
1492 {
1493 #[inline]
1494 unsafe fn encode(
1495 self,
1496 encoder: &mut fidl::encoding::Encoder<'_, D>,
1497 offset: usize,
1498 _depth: fidl::encoding::Depth,
1499 ) -> fidl::Result<()> {
1500 encoder.debug_check_bounds::<CreateArrayProperty>(offset);
1501 fidl::encoding::Encode::<CreateArrayProperty, D>::encode(
1503 (
1504 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
1505 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1506 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
1507 &self.name,
1508 ),
1509 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.slots),
1510 <ValueType as fidl::encoding::ValueTypeMarker>::borrow(&self.value_type),
1511 ),
1512 encoder,
1513 offset,
1514 _depth,
1515 )
1516 }
1517 }
1518 unsafe impl<
1519 D: fidl::encoding::ResourceDialect,
1520 T0: fidl::encoding::Encode<u32, D>,
1521 T1: fidl::encoding::Encode<u32, D>,
1522 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
1523 T3: fidl::encoding::Encode<u64, D>,
1524 T4: fidl::encoding::Encode<ValueType, D>,
1525 > fidl::encoding::Encode<CreateArrayProperty, D> for (T0, T1, T2, T3, T4)
1526 {
1527 #[inline]
1528 unsafe fn encode(
1529 self,
1530 encoder: &mut fidl::encoding::Encoder<'_, D>,
1531 offset: usize,
1532 depth: fidl::encoding::Depth,
1533 ) -> fidl::Result<()> {
1534 encoder.debug_check_bounds::<CreateArrayProperty>(offset);
1535 unsafe {
1538 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
1539 (ptr as *mut u64).write_unaligned(0);
1540 }
1541 self.0.encode(encoder, offset + 0, depth)?;
1543 self.1.encode(encoder, offset + 4, depth)?;
1544 self.2.encode(encoder, offset + 8, depth)?;
1545 self.3.encode(encoder, offset + 24, depth)?;
1546 self.4.encode(encoder, offset + 32, depth)?;
1547 Ok(())
1548 }
1549 }
1550
1551 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CreateArrayProperty {
1552 #[inline(always)]
1553 fn new_empty() -> Self {
1554 Self {
1555 parent: fidl::new_empty!(u32, D),
1556 id: fidl::new_empty!(u32, D),
1557 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
1558 slots: fidl::new_empty!(u64, D),
1559 value_type: fidl::new_empty!(ValueType, D),
1560 }
1561 }
1562
1563 #[inline]
1564 unsafe fn decode(
1565 &mut self,
1566 decoder: &mut fidl::encoding::Decoder<'_, D>,
1567 offset: usize,
1568 _depth: fidl::encoding::Depth,
1569 ) -> fidl::Result<()> {
1570 decoder.debug_check_bounds::<Self>(offset);
1571 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
1573 let padval = unsafe { (ptr as *const u64).read_unaligned() };
1574 let mask = 0xffffffffffffff00u64;
1575 let maskedval = padval & mask;
1576 if maskedval != 0 {
1577 return Err(fidl::Error::NonZeroPadding {
1578 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
1579 });
1580 }
1581 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
1582 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
1583 fidl::decode!(
1584 fidl::encoding::UnboundedString,
1585 D,
1586 &mut self.name,
1587 decoder,
1588 offset + 8,
1589 _depth
1590 )?;
1591 fidl::decode!(u64, D, &mut self.slots, decoder, offset + 24, _depth)?;
1592 fidl::decode!(ValueType, D, &mut self.value_type, decoder, offset + 32, _depth)?;
1593 Ok(())
1594 }
1595 }
1596
1597 impl fidl::encoding::ValueTypeMarker for CreateBoolProperty {
1598 type Borrowed<'a> = &'a Self;
1599 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1600 value
1601 }
1602 }
1603
1604 unsafe impl fidl::encoding::TypeMarker for CreateBoolProperty {
1605 type Owned = Self;
1606
1607 #[inline(always)]
1608 fn inline_align(_context: fidl::encoding::Context) -> usize {
1609 8
1610 }
1611
1612 #[inline(always)]
1613 fn inline_size(_context: fidl::encoding::Context) -> usize {
1614 32
1615 }
1616 }
1617
1618 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CreateBoolProperty, D>
1619 for &CreateBoolProperty
1620 {
1621 #[inline]
1622 unsafe fn encode(
1623 self,
1624 encoder: &mut fidl::encoding::Encoder<'_, D>,
1625 offset: usize,
1626 _depth: fidl::encoding::Depth,
1627 ) -> fidl::Result<()> {
1628 encoder.debug_check_bounds::<CreateBoolProperty>(offset);
1629 fidl::encoding::Encode::<CreateBoolProperty, D>::encode(
1631 (
1632 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
1633 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1634 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
1635 &self.name,
1636 ),
1637 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
1638 ),
1639 encoder,
1640 offset,
1641 _depth,
1642 )
1643 }
1644 }
1645 unsafe impl<
1646 D: fidl::encoding::ResourceDialect,
1647 T0: fidl::encoding::Encode<u32, D>,
1648 T1: fidl::encoding::Encode<u32, D>,
1649 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
1650 T3: fidl::encoding::Encode<bool, D>,
1651 > fidl::encoding::Encode<CreateBoolProperty, D> for (T0, T1, T2, T3)
1652 {
1653 #[inline]
1654 unsafe fn encode(
1655 self,
1656 encoder: &mut fidl::encoding::Encoder<'_, D>,
1657 offset: usize,
1658 depth: fidl::encoding::Depth,
1659 ) -> fidl::Result<()> {
1660 encoder.debug_check_bounds::<CreateBoolProperty>(offset);
1661 unsafe {
1664 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
1665 (ptr as *mut u64).write_unaligned(0);
1666 }
1667 self.0.encode(encoder, offset + 0, depth)?;
1669 self.1.encode(encoder, offset + 4, depth)?;
1670 self.2.encode(encoder, offset + 8, depth)?;
1671 self.3.encode(encoder, offset + 24, depth)?;
1672 Ok(())
1673 }
1674 }
1675
1676 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CreateBoolProperty {
1677 #[inline(always)]
1678 fn new_empty() -> Self {
1679 Self {
1680 parent: fidl::new_empty!(u32, D),
1681 id: fidl::new_empty!(u32, D),
1682 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
1683 value: fidl::new_empty!(bool, D),
1684 }
1685 }
1686
1687 #[inline]
1688 unsafe fn decode(
1689 &mut self,
1690 decoder: &mut fidl::encoding::Decoder<'_, D>,
1691 offset: usize,
1692 _depth: fidl::encoding::Depth,
1693 ) -> fidl::Result<()> {
1694 decoder.debug_check_bounds::<Self>(offset);
1695 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
1697 let padval = unsafe { (ptr as *const u64).read_unaligned() };
1698 let mask = 0xffffffffffffff00u64;
1699 let maskedval = padval & mask;
1700 if maskedval != 0 {
1701 return Err(fidl::Error::NonZeroPadding {
1702 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
1703 });
1704 }
1705 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
1706 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
1707 fidl::decode!(
1708 fidl::encoding::UnboundedString,
1709 D,
1710 &mut self.name,
1711 decoder,
1712 offset + 8,
1713 _depth
1714 )?;
1715 fidl::decode!(bool, D, &mut self.value, decoder, offset + 24, _depth)?;
1716 Ok(())
1717 }
1718 }
1719
1720 impl fidl::encoding::ValueTypeMarker for CreateBytesProperty {
1721 type Borrowed<'a> = &'a Self;
1722 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1723 value
1724 }
1725 }
1726
1727 unsafe impl fidl::encoding::TypeMarker for CreateBytesProperty {
1728 type Owned = Self;
1729
1730 #[inline(always)]
1731 fn inline_align(_context: fidl::encoding::Context) -> usize {
1732 8
1733 }
1734
1735 #[inline(always)]
1736 fn inline_size(_context: fidl::encoding::Context) -> usize {
1737 40
1738 }
1739 }
1740
1741 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CreateBytesProperty, D>
1742 for &CreateBytesProperty
1743 {
1744 #[inline]
1745 unsafe fn encode(
1746 self,
1747 encoder: &mut fidl::encoding::Encoder<'_, D>,
1748 offset: usize,
1749 _depth: fidl::encoding::Depth,
1750 ) -> fidl::Result<()> {
1751 encoder.debug_check_bounds::<CreateBytesProperty>(offset);
1752 fidl::encoding::Encode::<CreateBytesProperty, D>::encode(
1754 (
1755 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
1756 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1757 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(&self.name),
1758 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
1759 ),
1760 encoder, offset, _depth
1761 )
1762 }
1763 }
1764 unsafe impl<
1765 D: fidl::encoding::ResourceDialect,
1766 T0: fidl::encoding::Encode<u32, D>,
1767 T1: fidl::encoding::Encode<u32, D>,
1768 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
1769 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
1770 > fidl::encoding::Encode<CreateBytesProperty, D> for (T0, T1, T2, T3)
1771 {
1772 #[inline]
1773 unsafe fn encode(
1774 self,
1775 encoder: &mut fidl::encoding::Encoder<'_, D>,
1776 offset: usize,
1777 depth: fidl::encoding::Depth,
1778 ) -> fidl::Result<()> {
1779 encoder.debug_check_bounds::<CreateBytesProperty>(offset);
1780 self.0.encode(encoder, offset + 0, depth)?;
1784 self.1.encode(encoder, offset + 4, depth)?;
1785 self.2.encode(encoder, offset + 8, depth)?;
1786 self.3.encode(encoder, offset + 24, depth)?;
1787 Ok(())
1788 }
1789 }
1790
1791 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CreateBytesProperty {
1792 #[inline(always)]
1793 fn new_empty() -> Self {
1794 Self {
1795 parent: fidl::new_empty!(u32, D),
1796 id: fidl::new_empty!(u32, D),
1797 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
1798 value: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
1799 }
1800 }
1801
1802 #[inline]
1803 unsafe fn decode(
1804 &mut self,
1805 decoder: &mut fidl::encoding::Decoder<'_, D>,
1806 offset: usize,
1807 _depth: fidl::encoding::Depth,
1808 ) -> fidl::Result<()> {
1809 decoder.debug_check_bounds::<Self>(offset);
1810 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
1812 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
1813 fidl::decode!(
1814 fidl::encoding::UnboundedString,
1815 D,
1816 &mut self.name,
1817 decoder,
1818 offset + 8,
1819 _depth
1820 )?;
1821 fidl::decode!(
1822 fidl::encoding::UnboundedVector<u8>,
1823 D,
1824 &mut self.value,
1825 decoder,
1826 offset + 24,
1827 _depth
1828 )?;
1829 Ok(())
1830 }
1831 }
1832
1833 impl fidl::encoding::ValueTypeMarker for CreateExponentialHistogram {
1834 type Borrowed<'a> = &'a Self;
1835 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1836 value
1837 }
1838 }
1839
1840 unsafe impl fidl::encoding::TypeMarker for CreateExponentialHistogram {
1841 type Owned = Self;
1842
1843 #[inline(always)]
1844 fn inline_align(_context: fidl::encoding::Context) -> usize {
1845 8
1846 }
1847
1848 #[inline(always)]
1849 fn inline_size(_context: fidl::encoding::Context) -> usize {
1850 80
1851 }
1852 }
1853
1854 unsafe impl<D: fidl::encoding::ResourceDialect>
1855 fidl::encoding::Encode<CreateExponentialHistogram, D> for &CreateExponentialHistogram
1856 {
1857 #[inline]
1858 unsafe fn encode(
1859 self,
1860 encoder: &mut fidl::encoding::Encoder<'_, D>,
1861 offset: usize,
1862 _depth: fidl::encoding::Depth,
1863 ) -> fidl::Result<()> {
1864 encoder.debug_check_bounds::<CreateExponentialHistogram>(offset);
1865 fidl::encoding::Encode::<CreateExponentialHistogram, D>::encode(
1867 (
1868 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
1869 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1870 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
1871 &self.name,
1872 ),
1873 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.floor),
1874 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.initial_step),
1875 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.step_multiplier),
1876 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.buckets),
1877 ),
1878 encoder,
1879 offset,
1880 _depth,
1881 )
1882 }
1883 }
1884 unsafe impl<
1885 D: fidl::encoding::ResourceDialect,
1886 T0: fidl::encoding::Encode<u32, D>,
1887 T1: fidl::encoding::Encode<u32, D>,
1888 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
1889 T3: fidl::encoding::Encode<Value, D>,
1890 T4: fidl::encoding::Encode<Value, D>,
1891 T5: fidl::encoding::Encode<Value, D>,
1892 T6: fidl::encoding::Encode<u64, D>,
1893 > fidl::encoding::Encode<CreateExponentialHistogram, D> for (T0, T1, T2, T3, T4, T5, T6)
1894 {
1895 #[inline]
1896 unsafe fn encode(
1897 self,
1898 encoder: &mut fidl::encoding::Encoder<'_, D>,
1899 offset: usize,
1900 depth: fidl::encoding::Depth,
1901 ) -> fidl::Result<()> {
1902 encoder.debug_check_bounds::<CreateExponentialHistogram>(offset);
1903 self.0.encode(encoder, offset + 0, depth)?;
1907 self.1.encode(encoder, offset + 4, depth)?;
1908 self.2.encode(encoder, offset + 8, depth)?;
1909 self.3.encode(encoder, offset + 24, depth)?;
1910 self.4.encode(encoder, offset + 40, depth)?;
1911 self.5.encode(encoder, offset + 56, depth)?;
1912 self.6.encode(encoder, offset + 72, depth)?;
1913 Ok(())
1914 }
1915 }
1916
1917 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1918 for CreateExponentialHistogram
1919 {
1920 #[inline(always)]
1921 fn new_empty() -> Self {
1922 Self {
1923 parent: fidl::new_empty!(u32, D),
1924 id: fidl::new_empty!(u32, D),
1925 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
1926 floor: fidl::new_empty!(Value, D),
1927 initial_step: fidl::new_empty!(Value, D),
1928 step_multiplier: fidl::new_empty!(Value, D),
1929 buckets: fidl::new_empty!(u64, D),
1930 }
1931 }
1932
1933 #[inline]
1934 unsafe fn decode(
1935 &mut self,
1936 decoder: &mut fidl::encoding::Decoder<'_, D>,
1937 offset: usize,
1938 _depth: fidl::encoding::Depth,
1939 ) -> fidl::Result<()> {
1940 decoder.debug_check_bounds::<Self>(offset);
1941 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
1943 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
1944 fidl::decode!(
1945 fidl::encoding::UnboundedString,
1946 D,
1947 &mut self.name,
1948 decoder,
1949 offset + 8,
1950 _depth
1951 )?;
1952 fidl::decode!(Value, D, &mut self.floor, decoder, offset + 24, _depth)?;
1953 fidl::decode!(Value, D, &mut self.initial_step, decoder, offset + 40, _depth)?;
1954 fidl::decode!(Value, D, &mut self.step_multiplier, decoder, offset + 56, _depth)?;
1955 fidl::decode!(u64, D, &mut self.buckets, decoder, offset + 72, _depth)?;
1956 Ok(())
1957 }
1958 }
1959
1960 impl fidl::encoding::ValueTypeMarker for CreateLazyNode {
1961 type Borrowed<'a> = &'a Self;
1962 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1963 value
1964 }
1965 }
1966
1967 unsafe impl fidl::encoding::TypeMarker for CreateLazyNode {
1968 type Owned = Self;
1969
1970 #[inline(always)]
1971 fn inline_align(_context: fidl::encoding::Context) -> usize {
1972 8
1973 }
1974
1975 #[inline(always)]
1976 fn inline_size(_context: fidl::encoding::Context) -> usize {
1977 48
1978 }
1979 }
1980
1981 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CreateLazyNode, D>
1982 for &CreateLazyNode
1983 {
1984 #[inline]
1985 unsafe fn encode(
1986 self,
1987 encoder: &mut fidl::encoding::Encoder<'_, D>,
1988 offset: usize,
1989 _depth: fidl::encoding::Depth,
1990 ) -> fidl::Result<()> {
1991 encoder.debug_check_bounds::<CreateLazyNode>(offset);
1992 fidl::encoding::Encode::<CreateLazyNode, D>::encode(
1994 (
1995 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
1996 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
1997 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(&self.name),
1998 <LinkDisposition as fidl::encoding::ValueTypeMarker>::borrow(&self.disposition),
1999 <fidl::encoding::UnboundedVector<Action> as fidl::encoding::ValueTypeMarker>::borrow(&self.actions),
2000 ),
2001 encoder, offset, _depth
2002 )
2003 }
2004 }
2005 unsafe impl<
2006 D: fidl::encoding::ResourceDialect,
2007 T0: fidl::encoding::Encode<u32, D>,
2008 T1: fidl::encoding::Encode<u32, D>,
2009 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
2010 T3: fidl::encoding::Encode<LinkDisposition, D>,
2011 T4: fidl::encoding::Encode<fidl::encoding::UnboundedVector<Action>, D>,
2012 > fidl::encoding::Encode<CreateLazyNode, D> for (T0, T1, T2, T3, T4)
2013 {
2014 #[inline]
2015 unsafe fn encode(
2016 self,
2017 encoder: &mut fidl::encoding::Encoder<'_, D>,
2018 offset: usize,
2019 depth: fidl::encoding::Depth,
2020 ) -> fidl::Result<()> {
2021 encoder.debug_check_bounds::<CreateLazyNode>(offset);
2022 unsafe {
2025 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
2026 (ptr as *mut u64).write_unaligned(0);
2027 }
2028 self.0.encode(encoder, offset + 0, depth)?;
2030 self.1.encode(encoder, offset + 4, depth)?;
2031 self.2.encode(encoder, offset + 8, depth)?;
2032 self.3.encode(encoder, offset + 24, depth)?;
2033 self.4.encode(encoder, offset + 32, depth)?;
2034 Ok(())
2035 }
2036 }
2037
2038 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CreateLazyNode {
2039 #[inline(always)]
2040 fn new_empty() -> Self {
2041 Self {
2042 parent: fidl::new_empty!(u32, D),
2043 id: fidl::new_empty!(u32, D),
2044 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
2045 disposition: fidl::new_empty!(LinkDisposition, D),
2046 actions: fidl::new_empty!(fidl::encoding::UnboundedVector<Action>, D),
2047 }
2048 }
2049
2050 #[inline]
2051 unsafe fn decode(
2052 &mut self,
2053 decoder: &mut fidl::encoding::Decoder<'_, D>,
2054 offset: usize,
2055 _depth: fidl::encoding::Depth,
2056 ) -> fidl::Result<()> {
2057 decoder.debug_check_bounds::<Self>(offset);
2058 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
2060 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2061 let mask = 0xffffffff00000000u64;
2062 let maskedval = padval & mask;
2063 if maskedval != 0 {
2064 return Err(fidl::Error::NonZeroPadding {
2065 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
2066 });
2067 }
2068 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
2069 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
2070 fidl::decode!(
2071 fidl::encoding::UnboundedString,
2072 D,
2073 &mut self.name,
2074 decoder,
2075 offset + 8,
2076 _depth
2077 )?;
2078 fidl::decode!(LinkDisposition, D, &mut self.disposition, decoder, offset + 24, _depth)?;
2079 fidl::decode!(
2080 fidl::encoding::UnboundedVector<Action>,
2081 D,
2082 &mut self.actions,
2083 decoder,
2084 offset + 32,
2085 _depth
2086 )?;
2087 Ok(())
2088 }
2089 }
2090
2091 impl fidl::encoding::ValueTypeMarker for CreateLinearHistogram {
2092 type Borrowed<'a> = &'a Self;
2093 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2094 value
2095 }
2096 }
2097
2098 unsafe impl fidl::encoding::TypeMarker for CreateLinearHistogram {
2099 type Owned = Self;
2100
2101 #[inline(always)]
2102 fn inline_align(_context: fidl::encoding::Context) -> usize {
2103 8
2104 }
2105
2106 #[inline(always)]
2107 fn inline_size(_context: fidl::encoding::Context) -> usize {
2108 64
2109 }
2110 }
2111
2112 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CreateLinearHistogram, D>
2113 for &CreateLinearHistogram
2114 {
2115 #[inline]
2116 unsafe fn encode(
2117 self,
2118 encoder: &mut fidl::encoding::Encoder<'_, D>,
2119 offset: usize,
2120 _depth: fidl::encoding::Depth,
2121 ) -> fidl::Result<()> {
2122 encoder.debug_check_bounds::<CreateLinearHistogram>(offset);
2123 fidl::encoding::Encode::<CreateLinearHistogram, D>::encode(
2125 (
2126 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
2127 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
2128 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
2129 &self.name,
2130 ),
2131 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.floor),
2132 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.step_size),
2133 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.buckets),
2134 ),
2135 encoder,
2136 offset,
2137 _depth,
2138 )
2139 }
2140 }
2141 unsafe impl<
2142 D: fidl::encoding::ResourceDialect,
2143 T0: fidl::encoding::Encode<u32, D>,
2144 T1: fidl::encoding::Encode<u32, D>,
2145 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
2146 T3: fidl::encoding::Encode<Value, D>,
2147 T4: fidl::encoding::Encode<Value, D>,
2148 T5: fidl::encoding::Encode<u64, D>,
2149 > fidl::encoding::Encode<CreateLinearHistogram, D> for (T0, T1, T2, T3, T4, T5)
2150 {
2151 #[inline]
2152 unsafe fn encode(
2153 self,
2154 encoder: &mut fidl::encoding::Encoder<'_, D>,
2155 offset: usize,
2156 depth: fidl::encoding::Depth,
2157 ) -> fidl::Result<()> {
2158 encoder.debug_check_bounds::<CreateLinearHistogram>(offset);
2159 self.0.encode(encoder, offset + 0, depth)?;
2163 self.1.encode(encoder, offset + 4, depth)?;
2164 self.2.encode(encoder, offset + 8, depth)?;
2165 self.3.encode(encoder, offset + 24, depth)?;
2166 self.4.encode(encoder, offset + 40, depth)?;
2167 self.5.encode(encoder, offset + 56, depth)?;
2168 Ok(())
2169 }
2170 }
2171
2172 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CreateLinearHistogram {
2173 #[inline(always)]
2174 fn new_empty() -> Self {
2175 Self {
2176 parent: fidl::new_empty!(u32, D),
2177 id: fidl::new_empty!(u32, D),
2178 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
2179 floor: fidl::new_empty!(Value, D),
2180 step_size: fidl::new_empty!(Value, D),
2181 buckets: fidl::new_empty!(u64, D),
2182 }
2183 }
2184
2185 #[inline]
2186 unsafe fn decode(
2187 &mut self,
2188 decoder: &mut fidl::encoding::Decoder<'_, D>,
2189 offset: usize,
2190 _depth: fidl::encoding::Depth,
2191 ) -> fidl::Result<()> {
2192 decoder.debug_check_bounds::<Self>(offset);
2193 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
2195 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
2196 fidl::decode!(
2197 fidl::encoding::UnboundedString,
2198 D,
2199 &mut self.name,
2200 decoder,
2201 offset + 8,
2202 _depth
2203 )?;
2204 fidl::decode!(Value, D, &mut self.floor, decoder, offset + 24, _depth)?;
2205 fidl::decode!(Value, D, &mut self.step_size, decoder, offset + 40, _depth)?;
2206 fidl::decode!(u64, D, &mut self.buckets, decoder, offset + 56, _depth)?;
2207 Ok(())
2208 }
2209 }
2210
2211 impl fidl::encoding::ValueTypeMarker for CreateNode {
2212 type Borrowed<'a> = &'a Self;
2213 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2214 value
2215 }
2216 }
2217
2218 unsafe impl fidl::encoding::TypeMarker for CreateNode {
2219 type Owned = Self;
2220
2221 #[inline(always)]
2222 fn inline_align(_context: fidl::encoding::Context) -> usize {
2223 8
2224 }
2225
2226 #[inline(always)]
2227 fn inline_size(_context: fidl::encoding::Context) -> usize {
2228 24
2229 }
2230 }
2231
2232 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CreateNode, D>
2233 for &CreateNode
2234 {
2235 #[inline]
2236 unsafe fn encode(
2237 self,
2238 encoder: &mut fidl::encoding::Encoder<'_, D>,
2239 offset: usize,
2240 _depth: fidl::encoding::Depth,
2241 ) -> fidl::Result<()> {
2242 encoder.debug_check_bounds::<CreateNode>(offset);
2243 fidl::encoding::Encode::<CreateNode, D>::encode(
2245 (
2246 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
2247 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
2248 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
2249 &self.name,
2250 ),
2251 ),
2252 encoder,
2253 offset,
2254 _depth,
2255 )
2256 }
2257 }
2258 unsafe impl<
2259 D: fidl::encoding::ResourceDialect,
2260 T0: fidl::encoding::Encode<u32, D>,
2261 T1: fidl::encoding::Encode<u32, D>,
2262 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
2263 > fidl::encoding::Encode<CreateNode, D> for (T0, T1, T2)
2264 {
2265 #[inline]
2266 unsafe fn encode(
2267 self,
2268 encoder: &mut fidl::encoding::Encoder<'_, D>,
2269 offset: usize,
2270 depth: fidl::encoding::Depth,
2271 ) -> fidl::Result<()> {
2272 encoder.debug_check_bounds::<CreateNode>(offset);
2273 self.0.encode(encoder, offset + 0, depth)?;
2277 self.1.encode(encoder, offset + 4, depth)?;
2278 self.2.encode(encoder, offset + 8, depth)?;
2279 Ok(())
2280 }
2281 }
2282
2283 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CreateNode {
2284 #[inline(always)]
2285 fn new_empty() -> Self {
2286 Self {
2287 parent: fidl::new_empty!(u32, D),
2288 id: fidl::new_empty!(u32, D),
2289 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
2290 }
2291 }
2292
2293 #[inline]
2294 unsafe fn decode(
2295 &mut self,
2296 decoder: &mut fidl::encoding::Decoder<'_, D>,
2297 offset: usize,
2298 _depth: fidl::encoding::Depth,
2299 ) -> fidl::Result<()> {
2300 decoder.debug_check_bounds::<Self>(offset);
2301 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
2303 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
2304 fidl::decode!(
2305 fidl::encoding::UnboundedString,
2306 D,
2307 &mut self.name,
2308 decoder,
2309 offset + 8,
2310 _depth
2311 )?;
2312 Ok(())
2313 }
2314 }
2315
2316 impl fidl::encoding::ValueTypeMarker for CreateNumericProperty {
2317 type Borrowed<'a> = &'a Self;
2318 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2319 value
2320 }
2321 }
2322
2323 unsafe impl fidl::encoding::TypeMarker for CreateNumericProperty {
2324 type Owned = Self;
2325
2326 #[inline(always)]
2327 fn inline_align(_context: fidl::encoding::Context) -> usize {
2328 8
2329 }
2330
2331 #[inline(always)]
2332 fn inline_size(_context: fidl::encoding::Context) -> usize {
2333 40
2334 }
2335 }
2336
2337 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CreateNumericProperty, D>
2338 for &CreateNumericProperty
2339 {
2340 #[inline]
2341 unsafe fn encode(
2342 self,
2343 encoder: &mut fidl::encoding::Encoder<'_, D>,
2344 offset: usize,
2345 _depth: fidl::encoding::Depth,
2346 ) -> fidl::Result<()> {
2347 encoder.debug_check_bounds::<CreateNumericProperty>(offset);
2348 fidl::encoding::Encode::<CreateNumericProperty, D>::encode(
2350 (
2351 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
2352 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
2353 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
2354 &self.name,
2355 ),
2356 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
2357 ),
2358 encoder,
2359 offset,
2360 _depth,
2361 )
2362 }
2363 }
2364 unsafe impl<
2365 D: fidl::encoding::ResourceDialect,
2366 T0: fidl::encoding::Encode<u32, D>,
2367 T1: fidl::encoding::Encode<u32, D>,
2368 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
2369 T3: fidl::encoding::Encode<Value, D>,
2370 > fidl::encoding::Encode<CreateNumericProperty, D> for (T0, T1, T2, T3)
2371 {
2372 #[inline]
2373 unsafe fn encode(
2374 self,
2375 encoder: &mut fidl::encoding::Encoder<'_, D>,
2376 offset: usize,
2377 depth: fidl::encoding::Depth,
2378 ) -> fidl::Result<()> {
2379 encoder.debug_check_bounds::<CreateNumericProperty>(offset);
2380 self.0.encode(encoder, offset + 0, depth)?;
2384 self.1.encode(encoder, offset + 4, depth)?;
2385 self.2.encode(encoder, offset + 8, depth)?;
2386 self.3.encode(encoder, offset + 24, depth)?;
2387 Ok(())
2388 }
2389 }
2390
2391 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CreateNumericProperty {
2392 #[inline(always)]
2393 fn new_empty() -> Self {
2394 Self {
2395 parent: fidl::new_empty!(u32, D),
2396 id: fidl::new_empty!(u32, D),
2397 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
2398 value: fidl::new_empty!(Value, D),
2399 }
2400 }
2401
2402 #[inline]
2403 unsafe fn decode(
2404 &mut self,
2405 decoder: &mut fidl::encoding::Decoder<'_, D>,
2406 offset: usize,
2407 _depth: fidl::encoding::Depth,
2408 ) -> fidl::Result<()> {
2409 decoder.debug_check_bounds::<Self>(offset);
2410 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
2412 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
2413 fidl::decode!(
2414 fidl::encoding::UnboundedString,
2415 D,
2416 &mut self.name,
2417 decoder,
2418 offset + 8,
2419 _depth
2420 )?;
2421 fidl::decode!(Value, D, &mut self.value, decoder, offset + 24, _depth)?;
2422 Ok(())
2423 }
2424 }
2425
2426 impl fidl::encoding::ValueTypeMarker for CreateStringProperty {
2427 type Borrowed<'a> = &'a Self;
2428 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2429 value
2430 }
2431 }
2432
2433 unsafe impl fidl::encoding::TypeMarker for CreateStringProperty {
2434 type Owned = Self;
2435
2436 #[inline(always)]
2437 fn inline_align(_context: fidl::encoding::Context) -> usize {
2438 8
2439 }
2440
2441 #[inline(always)]
2442 fn inline_size(_context: fidl::encoding::Context) -> usize {
2443 40
2444 }
2445 }
2446
2447 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CreateStringProperty, D>
2448 for &CreateStringProperty
2449 {
2450 #[inline]
2451 unsafe fn encode(
2452 self,
2453 encoder: &mut fidl::encoding::Encoder<'_, D>,
2454 offset: usize,
2455 _depth: fidl::encoding::Depth,
2456 ) -> fidl::Result<()> {
2457 encoder.debug_check_bounds::<CreateStringProperty>(offset);
2458 fidl::encoding::Encode::<CreateStringProperty, D>::encode(
2460 (
2461 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.parent),
2462 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
2463 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
2464 &self.name,
2465 ),
2466 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
2467 &self.value,
2468 ),
2469 ),
2470 encoder,
2471 offset,
2472 _depth,
2473 )
2474 }
2475 }
2476 unsafe impl<
2477 D: fidl::encoding::ResourceDialect,
2478 T0: fidl::encoding::Encode<u32, D>,
2479 T1: fidl::encoding::Encode<u32, D>,
2480 T2: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
2481 T3: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
2482 > fidl::encoding::Encode<CreateStringProperty, D> for (T0, T1, T2, T3)
2483 {
2484 #[inline]
2485 unsafe fn encode(
2486 self,
2487 encoder: &mut fidl::encoding::Encoder<'_, D>,
2488 offset: usize,
2489 depth: fidl::encoding::Depth,
2490 ) -> fidl::Result<()> {
2491 encoder.debug_check_bounds::<CreateStringProperty>(offset);
2492 self.0.encode(encoder, offset + 0, depth)?;
2496 self.1.encode(encoder, offset + 4, depth)?;
2497 self.2.encode(encoder, offset + 8, depth)?;
2498 self.3.encode(encoder, offset + 24, depth)?;
2499 Ok(())
2500 }
2501 }
2502
2503 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CreateStringProperty {
2504 #[inline(always)]
2505 fn new_empty() -> Self {
2506 Self {
2507 parent: fidl::new_empty!(u32, D),
2508 id: fidl::new_empty!(u32, D),
2509 name: fidl::new_empty!(fidl::encoding::UnboundedString, D),
2510 value: fidl::new_empty!(fidl::encoding::UnboundedString, D),
2511 }
2512 }
2513
2514 #[inline]
2515 unsafe fn decode(
2516 &mut self,
2517 decoder: &mut fidl::encoding::Decoder<'_, D>,
2518 offset: usize,
2519 _depth: fidl::encoding::Depth,
2520 ) -> fidl::Result<()> {
2521 decoder.debug_check_bounds::<Self>(offset);
2522 fidl::decode!(u32, D, &mut self.parent, decoder, offset + 0, _depth)?;
2524 fidl::decode!(u32, D, &mut self.id, decoder, offset + 4, _depth)?;
2525 fidl::decode!(
2526 fidl::encoding::UnboundedString,
2527 D,
2528 &mut self.name,
2529 decoder,
2530 offset + 8,
2531 _depth
2532 )?;
2533 fidl::decode!(
2534 fidl::encoding::UnboundedString,
2535 D,
2536 &mut self.value,
2537 decoder,
2538 offset + 24,
2539 _depth
2540 )?;
2541 Ok(())
2542 }
2543 }
2544
2545 impl fidl::encoding::ValueTypeMarker for DeleteLazyNode {
2546 type Borrowed<'a> = &'a Self;
2547 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2548 value
2549 }
2550 }
2551
2552 unsafe impl fidl::encoding::TypeMarker for DeleteLazyNode {
2553 type Owned = Self;
2554
2555 #[inline(always)]
2556 fn inline_align(_context: fidl::encoding::Context) -> usize {
2557 4
2558 }
2559
2560 #[inline(always)]
2561 fn inline_size(_context: fidl::encoding::Context) -> usize {
2562 4
2563 }
2564 #[inline(always)]
2565 fn encode_is_copy() -> bool {
2566 true
2567 }
2568
2569 #[inline(always)]
2570 fn decode_is_copy() -> bool {
2571 true
2572 }
2573 }
2574
2575 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteLazyNode, D>
2576 for &DeleteLazyNode
2577 {
2578 #[inline]
2579 unsafe fn encode(
2580 self,
2581 encoder: &mut fidl::encoding::Encoder<'_, D>,
2582 offset: usize,
2583 _depth: fidl::encoding::Depth,
2584 ) -> fidl::Result<()> {
2585 encoder.debug_check_bounds::<DeleteLazyNode>(offset);
2586 unsafe {
2587 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2589 (buf_ptr as *mut DeleteLazyNode)
2590 .write_unaligned((self as *const DeleteLazyNode).read());
2591 }
2594 Ok(())
2595 }
2596 }
2597 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
2598 fidl::encoding::Encode<DeleteLazyNode, D> for (T0,)
2599 {
2600 #[inline]
2601 unsafe fn encode(
2602 self,
2603 encoder: &mut fidl::encoding::Encoder<'_, D>,
2604 offset: usize,
2605 depth: fidl::encoding::Depth,
2606 ) -> fidl::Result<()> {
2607 encoder.debug_check_bounds::<DeleteLazyNode>(offset);
2608 self.0.encode(encoder, offset + 0, depth)?;
2612 Ok(())
2613 }
2614 }
2615
2616 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteLazyNode {
2617 #[inline(always)]
2618 fn new_empty() -> Self {
2619 Self { id: fidl::new_empty!(u32, D) }
2620 }
2621
2622 #[inline]
2623 unsafe fn decode(
2624 &mut self,
2625 decoder: &mut fidl::encoding::Decoder<'_, D>,
2626 offset: usize,
2627 _depth: fidl::encoding::Depth,
2628 ) -> fidl::Result<()> {
2629 decoder.debug_check_bounds::<Self>(offset);
2630 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2631 unsafe {
2634 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2635 }
2636 Ok(())
2637 }
2638 }
2639
2640 impl fidl::encoding::ValueTypeMarker for DeleteNode {
2641 type Borrowed<'a> = &'a Self;
2642 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2643 value
2644 }
2645 }
2646
2647 unsafe impl fidl::encoding::TypeMarker for DeleteNode {
2648 type Owned = Self;
2649
2650 #[inline(always)]
2651 fn inline_align(_context: fidl::encoding::Context) -> usize {
2652 4
2653 }
2654
2655 #[inline(always)]
2656 fn inline_size(_context: fidl::encoding::Context) -> usize {
2657 4
2658 }
2659 #[inline(always)]
2660 fn encode_is_copy() -> bool {
2661 true
2662 }
2663
2664 #[inline(always)]
2665 fn decode_is_copy() -> bool {
2666 true
2667 }
2668 }
2669
2670 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteNode, D>
2671 for &DeleteNode
2672 {
2673 #[inline]
2674 unsafe fn encode(
2675 self,
2676 encoder: &mut fidl::encoding::Encoder<'_, D>,
2677 offset: usize,
2678 _depth: fidl::encoding::Depth,
2679 ) -> fidl::Result<()> {
2680 encoder.debug_check_bounds::<DeleteNode>(offset);
2681 unsafe {
2682 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2684 (buf_ptr as *mut DeleteNode).write_unaligned((self as *const DeleteNode).read());
2685 }
2688 Ok(())
2689 }
2690 }
2691 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
2692 fidl::encoding::Encode<DeleteNode, D> for (T0,)
2693 {
2694 #[inline]
2695 unsafe fn encode(
2696 self,
2697 encoder: &mut fidl::encoding::Encoder<'_, D>,
2698 offset: usize,
2699 depth: fidl::encoding::Depth,
2700 ) -> fidl::Result<()> {
2701 encoder.debug_check_bounds::<DeleteNode>(offset);
2702 self.0.encode(encoder, offset + 0, depth)?;
2706 Ok(())
2707 }
2708 }
2709
2710 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteNode {
2711 #[inline(always)]
2712 fn new_empty() -> Self {
2713 Self { id: fidl::new_empty!(u32, D) }
2714 }
2715
2716 #[inline]
2717 unsafe fn decode(
2718 &mut self,
2719 decoder: &mut fidl::encoding::Decoder<'_, D>,
2720 offset: usize,
2721 _depth: fidl::encoding::Depth,
2722 ) -> fidl::Result<()> {
2723 decoder.debug_check_bounds::<Self>(offset);
2724 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2725 unsafe {
2728 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2729 }
2730 Ok(())
2731 }
2732 }
2733
2734 impl fidl::encoding::ValueTypeMarker for DeleteProperty {
2735 type Borrowed<'a> = &'a Self;
2736 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2737 value
2738 }
2739 }
2740
2741 unsafe impl fidl::encoding::TypeMarker for DeleteProperty {
2742 type Owned = Self;
2743
2744 #[inline(always)]
2745 fn inline_align(_context: fidl::encoding::Context) -> usize {
2746 4
2747 }
2748
2749 #[inline(always)]
2750 fn inline_size(_context: fidl::encoding::Context) -> usize {
2751 4
2752 }
2753 #[inline(always)]
2754 fn encode_is_copy() -> bool {
2755 true
2756 }
2757
2758 #[inline(always)]
2759 fn decode_is_copy() -> bool {
2760 true
2761 }
2762 }
2763
2764 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteProperty, D>
2765 for &DeleteProperty
2766 {
2767 #[inline]
2768 unsafe fn encode(
2769 self,
2770 encoder: &mut fidl::encoding::Encoder<'_, D>,
2771 offset: usize,
2772 _depth: fidl::encoding::Depth,
2773 ) -> fidl::Result<()> {
2774 encoder.debug_check_bounds::<DeleteProperty>(offset);
2775 unsafe {
2776 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2778 (buf_ptr as *mut DeleteProperty)
2779 .write_unaligned((self as *const DeleteProperty).read());
2780 }
2783 Ok(())
2784 }
2785 }
2786 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
2787 fidl::encoding::Encode<DeleteProperty, D> for (T0,)
2788 {
2789 #[inline]
2790 unsafe fn encode(
2791 self,
2792 encoder: &mut fidl::encoding::Encoder<'_, D>,
2793 offset: usize,
2794 depth: fidl::encoding::Depth,
2795 ) -> fidl::Result<()> {
2796 encoder.debug_check_bounds::<DeleteProperty>(offset);
2797 self.0.encode(encoder, offset + 0, depth)?;
2801 Ok(())
2802 }
2803 }
2804
2805 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteProperty {
2806 #[inline(always)]
2807 fn new_empty() -> Self {
2808 Self { id: fidl::new_empty!(u32, D) }
2809 }
2810
2811 #[inline]
2812 unsafe fn decode(
2813 &mut self,
2814 decoder: &mut fidl::encoding::Decoder<'_, D>,
2815 offset: usize,
2816 _depth: fidl::encoding::Depth,
2817 ) -> fidl::Result<()> {
2818 decoder.debug_check_bounds::<Self>(offset);
2819 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2820 unsafe {
2823 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2824 }
2825 Ok(())
2826 }
2827 }
2828
2829 impl fidl::encoding::ValueTypeMarker for Insert {
2830 type Borrowed<'a> = &'a Self;
2831 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2832 value
2833 }
2834 }
2835
2836 unsafe impl fidl::encoding::TypeMarker for Insert {
2837 type Owned = Self;
2838
2839 #[inline(always)]
2840 fn inline_align(_context: fidl::encoding::Context) -> usize {
2841 8
2842 }
2843
2844 #[inline(always)]
2845 fn inline_size(_context: fidl::encoding::Context) -> usize {
2846 24
2847 }
2848 }
2849
2850 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Insert, D> for &Insert {
2851 #[inline]
2852 unsafe fn encode(
2853 self,
2854 encoder: &mut fidl::encoding::Encoder<'_, D>,
2855 offset: usize,
2856 _depth: fidl::encoding::Depth,
2857 ) -> fidl::Result<()> {
2858 encoder.debug_check_bounds::<Insert>(offset);
2859 fidl::encoding::Encode::<Insert, D>::encode(
2861 (
2862 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
2863 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
2864 ),
2865 encoder,
2866 offset,
2867 _depth,
2868 )
2869 }
2870 }
2871 unsafe impl<
2872 D: fidl::encoding::ResourceDialect,
2873 T0: fidl::encoding::Encode<u32, D>,
2874 T1: fidl::encoding::Encode<Value, D>,
2875 > fidl::encoding::Encode<Insert, D> for (T0, T1)
2876 {
2877 #[inline]
2878 unsafe fn encode(
2879 self,
2880 encoder: &mut fidl::encoding::Encoder<'_, D>,
2881 offset: usize,
2882 depth: fidl::encoding::Depth,
2883 ) -> fidl::Result<()> {
2884 encoder.debug_check_bounds::<Insert>(offset);
2885 unsafe {
2888 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2889 (ptr as *mut u64).write_unaligned(0);
2890 }
2891 self.0.encode(encoder, offset + 0, depth)?;
2893 self.1.encode(encoder, offset + 8, depth)?;
2894 Ok(())
2895 }
2896 }
2897
2898 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Insert {
2899 #[inline(always)]
2900 fn new_empty() -> Self {
2901 Self { id: fidl::new_empty!(u32, D), value: fidl::new_empty!(Value, D) }
2902 }
2903
2904 #[inline]
2905 unsafe fn decode(
2906 &mut self,
2907 decoder: &mut fidl::encoding::Decoder<'_, D>,
2908 offset: usize,
2909 _depth: fidl::encoding::Depth,
2910 ) -> fidl::Result<()> {
2911 decoder.debug_check_bounds::<Self>(offset);
2912 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2914 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2915 let mask = 0xffffffff00000000u64;
2916 let maskedval = padval & mask;
2917 if maskedval != 0 {
2918 return Err(fidl::Error::NonZeroPadding {
2919 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2920 });
2921 }
2922 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
2923 fidl::decode!(Value, D, &mut self.value, decoder, offset + 8, _depth)?;
2924 Ok(())
2925 }
2926 }
2927
2928 impl fidl::encoding::ValueTypeMarker for InsertMultiple {
2929 type Borrowed<'a> = &'a Self;
2930 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2931 value
2932 }
2933 }
2934
2935 unsafe impl fidl::encoding::TypeMarker for InsertMultiple {
2936 type Owned = Self;
2937
2938 #[inline(always)]
2939 fn inline_align(_context: fidl::encoding::Context) -> usize {
2940 8
2941 }
2942
2943 #[inline(always)]
2944 fn inline_size(_context: fidl::encoding::Context) -> usize {
2945 32
2946 }
2947 }
2948
2949 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<InsertMultiple, D>
2950 for &InsertMultiple
2951 {
2952 #[inline]
2953 unsafe fn encode(
2954 self,
2955 encoder: &mut fidl::encoding::Encoder<'_, D>,
2956 offset: usize,
2957 _depth: fidl::encoding::Depth,
2958 ) -> fidl::Result<()> {
2959 encoder.debug_check_bounds::<InsertMultiple>(offset);
2960 fidl::encoding::Encode::<InsertMultiple, D>::encode(
2962 (
2963 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
2964 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
2965 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.count),
2966 ),
2967 encoder,
2968 offset,
2969 _depth,
2970 )
2971 }
2972 }
2973 unsafe impl<
2974 D: fidl::encoding::ResourceDialect,
2975 T0: fidl::encoding::Encode<u32, D>,
2976 T1: fidl::encoding::Encode<Value, D>,
2977 T2: fidl::encoding::Encode<u64, D>,
2978 > fidl::encoding::Encode<InsertMultiple, D> for (T0, T1, T2)
2979 {
2980 #[inline]
2981 unsafe fn encode(
2982 self,
2983 encoder: &mut fidl::encoding::Encoder<'_, D>,
2984 offset: usize,
2985 depth: fidl::encoding::Depth,
2986 ) -> fidl::Result<()> {
2987 encoder.debug_check_bounds::<InsertMultiple>(offset);
2988 unsafe {
2991 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2992 (ptr as *mut u64).write_unaligned(0);
2993 }
2994 self.0.encode(encoder, offset + 0, depth)?;
2996 self.1.encode(encoder, offset + 8, depth)?;
2997 self.2.encode(encoder, offset + 24, depth)?;
2998 Ok(())
2999 }
3000 }
3001
3002 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for InsertMultiple {
3003 #[inline(always)]
3004 fn new_empty() -> Self {
3005 Self {
3006 id: fidl::new_empty!(u32, D),
3007 value: fidl::new_empty!(Value, D),
3008 count: fidl::new_empty!(u64, D),
3009 }
3010 }
3011
3012 #[inline]
3013 unsafe fn decode(
3014 &mut self,
3015 decoder: &mut fidl::encoding::Decoder<'_, D>,
3016 offset: usize,
3017 _depth: fidl::encoding::Depth,
3018 ) -> fidl::Result<()> {
3019 decoder.debug_check_bounds::<Self>(offset);
3020 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3022 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3023 let mask = 0xffffffff00000000u64;
3024 let maskedval = padval & mask;
3025 if maskedval != 0 {
3026 return Err(fidl::Error::NonZeroPadding {
3027 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3028 });
3029 }
3030 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
3031 fidl::decode!(Value, D, &mut self.value, decoder, offset + 8, _depth)?;
3032 fidl::decode!(u64, D, &mut self.count, decoder, offset + 24, _depth)?;
3033 Ok(())
3034 }
3035 }
3036
3037 impl fidl::encoding::ValueTypeMarker for InspectPuppetActLazyRequest {
3038 type Borrowed<'a> = &'a Self;
3039 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3040 value
3041 }
3042 }
3043
3044 unsafe impl fidl::encoding::TypeMarker for InspectPuppetActLazyRequest {
3045 type Owned = Self;
3046
3047 #[inline(always)]
3048 fn inline_align(_context: fidl::encoding::Context) -> usize {
3049 8
3050 }
3051
3052 #[inline(always)]
3053 fn inline_size(_context: fidl::encoding::Context) -> usize {
3054 16
3055 }
3056 }
3057
3058 unsafe impl<D: fidl::encoding::ResourceDialect>
3059 fidl::encoding::Encode<InspectPuppetActLazyRequest, D> for &InspectPuppetActLazyRequest
3060 {
3061 #[inline]
3062 unsafe fn encode(
3063 self,
3064 encoder: &mut fidl::encoding::Encoder<'_, D>,
3065 offset: usize,
3066 _depth: fidl::encoding::Depth,
3067 ) -> fidl::Result<()> {
3068 encoder.debug_check_bounds::<InspectPuppetActLazyRequest>(offset);
3069 fidl::encoding::Encode::<InspectPuppetActLazyRequest, D>::encode(
3071 (<LazyAction as fidl::encoding::ValueTypeMarker>::borrow(&self.lazy_action),),
3072 encoder,
3073 offset,
3074 _depth,
3075 )
3076 }
3077 }
3078 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<LazyAction, D>>
3079 fidl::encoding::Encode<InspectPuppetActLazyRequest, D> for (T0,)
3080 {
3081 #[inline]
3082 unsafe fn encode(
3083 self,
3084 encoder: &mut fidl::encoding::Encoder<'_, D>,
3085 offset: usize,
3086 depth: fidl::encoding::Depth,
3087 ) -> fidl::Result<()> {
3088 encoder.debug_check_bounds::<InspectPuppetActLazyRequest>(offset);
3089 self.0.encode(encoder, offset + 0, depth)?;
3093 Ok(())
3094 }
3095 }
3096
3097 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3098 for InspectPuppetActLazyRequest
3099 {
3100 #[inline(always)]
3101 fn new_empty() -> Self {
3102 Self { lazy_action: fidl::new_empty!(LazyAction, D) }
3103 }
3104
3105 #[inline]
3106 unsafe fn decode(
3107 &mut self,
3108 decoder: &mut fidl::encoding::Decoder<'_, D>,
3109 offset: usize,
3110 _depth: fidl::encoding::Depth,
3111 ) -> fidl::Result<()> {
3112 decoder.debug_check_bounds::<Self>(offset);
3113 fidl::decode!(LazyAction, D, &mut self.lazy_action, decoder, offset + 0, _depth)?;
3115 Ok(())
3116 }
3117 }
3118
3119 impl fidl::encoding::ValueTypeMarker for InspectPuppetActLazyThreadLocalRequest {
3120 type Borrowed<'a> = &'a Self;
3121 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3122 value
3123 }
3124 }
3125
3126 unsafe impl fidl::encoding::TypeMarker for InspectPuppetActLazyThreadLocalRequest {
3127 type Owned = Self;
3128
3129 #[inline(always)]
3130 fn inline_align(_context: fidl::encoding::Context) -> usize {
3131 8
3132 }
3133
3134 #[inline(always)]
3135 fn inline_size(_context: fidl::encoding::Context) -> usize {
3136 16
3137 }
3138 }
3139
3140 unsafe impl<D: fidl::encoding::ResourceDialect>
3141 fidl::encoding::Encode<InspectPuppetActLazyThreadLocalRequest, D>
3142 for &InspectPuppetActLazyThreadLocalRequest
3143 {
3144 #[inline]
3145 unsafe fn encode(
3146 self,
3147 encoder: &mut fidl::encoding::Encoder<'_, D>,
3148 offset: usize,
3149 _depth: fidl::encoding::Depth,
3150 ) -> fidl::Result<()> {
3151 encoder.debug_check_bounds::<InspectPuppetActLazyThreadLocalRequest>(offset);
3152 fidl::encoding::Encode::<InspectPuppetActLazyThreadLocalRequest, D>::encode(
3154 (<LazyAction as fidl::encoding::ValueTypeMarker>::borrow(&self.lazy_action),),
3155 encoder,
3156 offset,
3157 _depth,
3158 )
3159 }
3160 }
3161 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<LazyAction, D>>
3162 fidl::encoding::Encode<InspectPuppetActLazyThreadLocalRequest, D> for (T0,)
3163 {
3164 #[inline]
3165 unsafe fn encode(
3166 self,
3167 encoder: &mut fidl::encoding::Encoder<'_, D>,
3168 offset: usize,
3169 depth: fidl::encoding::Depth,
3170 ) -> fidl::Result<()> {
3171 encoder.debug_check_bounds::<InspectPuppetActLazyThreadLocalRequest>(offset);
3172 self.0.encode(encoder, offset + 0, depth)?;
3176 Ok(())
3177 }
3178 }
3179
3180 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3181 for InspectPuppetActLazyThreadLocalRequest
3182 {
3183 #[inline(always)]
3184 fn new_empty() -> Self {
3185 Self { lazy_action: fidl::new_empty!(LazyAction, D) }
3186 }
3187
3188 #[inline]
3189 unsafe fn decode(
3190 &mut self,
3191 decoder: &mut fidl::encoding::Decoder<'_, D>,
3192 offset: usize,
3193 _depth: fidl::encoding::Depth,
3194 ) -> fidl::Result<()> {
3195 decoder.debug_check_bounds::<Self>(offset);
3196 fidl::decode!(LazyAction, D, &mut self.lazy_action, decoder, offset + 0, _depth)?;
3198 Ok(())
3199 }
3200 }
3201
3202 impl fidl::encoding::ValueTypeMarker for InspectPuppetActRequest {
3203 type Borrowed<'a> = &'a Self;
3204 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3205 value
3206 }
3207 }
3208
3209 unsafe impl fidl::encoding::TypeMarker for InspectPuppetActRequest {
3210 type Owned = Self;
3211
3212 #[inline(always)]
3213 fn inline_align(_context: fidl::encoding::Context) -> usize {
3214 8
3215 }
3216
3217 #[inline(always)]
3218 fn inline_size(_context: fidl::encoding::Context) -> usize {
3219 16
3220 }
3221 }
3222
3223 unsafe impl<D: fidl::encoding::ResourceDialect>
3224 fidl::encoding::Encode<InspectPuppetActRequest, D> for &InspectPuppetActRequest
3225 {
3226 #[inline]
3227 unsafe fn encode(
3228 self,
3229 encoder: &mut fidl::encoding::Encoder<'_, D>,
3230 offset: usize,
3231 _depth: fidl::encoding::Depth,
3232 ) -> fidl::Result<()> {
3233 encoder.debug_check_bounds::<InspectPuppetActRequest>(offset);
3234 fidl::encoding::Encode::<InspectPuppetActRequest, D>::encode(
3236 (<Action as fidl::encoding::ValueTypeMarker>::borrow(&self.action),),
3237 encoder,
3238 offset,
3239 _depth,
3240 )
3241 }
3242 }
3243 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<Action, D>>
3244 fidl::encoding::Encode<InspectPuppetActRequest, D> for (T0,)
3245 {
3246 #[inline]
3247 unsafe fn encode(
3248 self,
3249 encoder: &mut fidl::encoding::Encoder<'_, D>,
3250 offset: usize,
3251 depth: fidl::encoding::Depth,
3252 ) -> fidl::Result<()> {
3253 encoder.debug_check_bounds::<InspectPuppetActRequest>(offset);
3254 self.0.encode(encoder, offset + 0, depth)?;
3258 Ok(())
3259 }
3260 }
3261
3262 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3263 for InspectPuppetActRequest
3264 {
3265 #[inline(always)]
3266 fn new_empty() -> Self {
3267 Self { action: fidl::new_empty!(Action, D) }
3268 }
3269
3270 #[inline]
3271 unsafe fn decode(
3272 &mut self,
3273 decoder: &mut fidl::encoding::Decoder<'_, D>,
3274 offset: usize,
3275 _depth: fidl::encoding::Depth,
3276 ) -> fidl::Result<()> {
3277 decoder.debug_check_bounds::<Self>(offset);
3278 fidl::decode!(Action, D, &mut self.action, decoder, offset + 0, _depth)?;
3280 Ok(())
3281 }
3282 }
3283
3284 impl fidl::encoding::ValueTypeMarker for InspectPuppetInitializeRequest {
3285 type Borrowed<'a> = &'a Self;
3286 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3287 value
3288 }
3289 }
3290
3291 unsafe impl fidl::encoding::TypeMarker for InspectPuppetInitializeRequest {
3292 type Owned = Self;
3293
3294 #[inline(always)]
3295 fn inline_align(_context: fidl::encoding::Context) -> usize {
3296 8
3297 }
3298
3299 #[inline(always)]
3300 fn inline_size(_context: fidl::encoding::Context) -> usize {
3301 16
3302 }
3303 }
3304
3305 unsafe impl<D: fidl::encoding::ResourceDialect>
3306 fidl::encoding::Encode<InspectPuppetInitializeRequest, D>
3307 for &InspectPuppetInitializeRequest
3308 {
3309 #[inline]
3310 unsafe fn encode(
3311 self,
3312 encoder: &mut fidl::encoding::Encoder<'_, D>,
3313 offset: usize,
3314 _depth: fidl::encoding::Depth,
3315 ) -> fidl::Result<()> {
3316 encoder.debug_check_bounds::<InspectPuppetInitializeRequest>(offset);
3317 fidl::encoding::Encode::<InspectPuppetInitializeRequest, D>::encode(
3319 (<InitializationParams as fidl::encoding::ValueTypeMarker>::borrow(&self.params),),
3320 encoder,
3321 offset,
3322 _depth,
3323 )
3324 }
3325 }
3326 unsafe impl<
3327 D: fidl::encoding::ResourceDialect,
3328 T0: fidl::encoding::Encode<InitializationParams, D>,
3329 > fidl::encoding::Encode<InspectPuppetInitializeRequest, D> for (T0,)
3330 {
3331 #[inline]
3332 unsafe fn encode(
3333 self,
3334 encoder: &mut fidl::encoding::Encoder<'_, D>,
3335 offset: usize,
3336 depth: fidl::encoding::Depth,
3337 ) -> fidl::Result<()> {
3338 encoder.debug_check_bounds::<InspectPuppetInitializeRequest>(offset);
3339 self.0.encode(encoder, offset + 0, depth)?;
3343 Ok(())
3344 }
3345 }
3346
3347 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3348 for InspectPuppetInitializeRequest
3349 {
3350 #[inline(always)]
3351 fn new_empty() -> Self {
3352 Self { params: fidl::new_empty!(InitializationParams, D) }
3353 }
3354
3355 #[inline]
3356 unsafe fn decode(
3357 &mut self,
3358 decoder: &mut fidl::encoding::Decoder<'_, D>,
3359 offset: usize,
3360 _depth: fidl::encoding::Depth,
3361 ) -> fidl::Result<()> {
3362 decoder.debug_check_bounds::<Self>(offset);
3363 fidl::decode!(InitializationParams, D, &mut self.params, decoder, offset + 0, _depth)?;
3365 Ok(())
3366 }
3367 }
3368
3369 impl fidl::encoding::ValueTypeMarker for InspectPuppetInitializeTreeRequest {
3370 type Borrowed<'a> = &'a Self;
3371 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3372 value
3373 }
3374 }
3375
3376 unsafe impl fidl::encoding::TypeMarker for InspectPuppetInitializeTreeRequest {
3377 type Owned = Self;
3378
3379 #[inline(always)]
3380 fn inline_align(_context: fidl::encoding::Context) -> usize {
3381 8
3382 }
3383
3384 #[inline(always)]
3385 fn inline_size(_context: fidl::encoding::Context) -> usize {
3386 16
3387 }
3388 }
3389
3390 unsafe impl<D: fidl::encoding::ResourceDialect>
3391 fidl::encoding::Encode<InspectPuppetInitializeTreeRequest, D>
3392 for &InspectPuppetInitializeTreeRequest
3393 {
3394 #[inline]
3395 unsafe fn encode(
3396 self,
3397 encoder: &mut fidl::encoding::Encoder<'_, D>,
3398 offset: usize,
3399 _depth: fidl::encoding::Depth,
3400 ) -> fidl::Result<()> {
3401 encoder.debug_check_bounds::<InspectPuppetInitializeTreeRequest>(offset);
3402 fidl::encoding::Encode::<InspectPuppetInitializeTreeRequest, D>::encode(
3404 (<InitializationParams as fidl::encoding::ValueTypeMarker>::borrow(&self.params),),
3405 encoder,
3406 offset,
3407 _depth,
3408 )
3409 }
3410 }
3411 unsafe impl<
3412 D: fidl::encoding::ResourceDialect,
3413 T0: fidl::encoding::Encode<InitializationParams, D>,
3414 > fidl::encoding::Encode<InspectPuppetInitializeTreeRequest, D> for (T0,)
3415 {
3416 #[inline]
3417 unsafe fn encode(
3418 self,
3419 encoder: &mut fidl::encoding::Encoder<'_, D>,
3420 offset: usize,
3421 depth: fidl::encoding::Depth,
3422 ) -> fidl::Result<()> {
3423 encoder.debug_check_bounds::<InspectPuppetInitializeTreeRequest>(offset);
3424 self.0.encode(encoder, offset + 0, depth)?;
3428 Ok(())
3429 }
3430 }
3431
3432 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3433 for InspectPuppetInitializeTreeRequest
3434 {
3435 #[inline(always)]
3436 fn new_empty() -> Self {
3437 Self { params: fidl::new_empty!(InitializationParams, D) }
3438 }
3439
3440 #[inline]
3441 unsafe fn decode(
3442 &mut self,
3443 decoder: &mut fidl::encoding::Decoder<'_, D>,
3444 offset: usize,
3445 _depth: fidl::encoding::Depth,
3446 ) -> fidl::Result<()> {
3447 decoder.debug_check_bounds::<Self>(offset);
3448 fidl::decode!(InitializationParams, D, &mut self.params, decoder, offset + 0, _depth)?;
3450 Ok(())
3451 }
3452 }
3453
3454 impl fidl::encoding::ValueTypeMarker for InspectPuppetActLazyThreadLocalResponse {
3455 type Borrowed<'a> = &'a Self;
3456 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3457 value
3458 }
3459 }
3460
3461 unsafe impl fidl::encoding::TypeMarker for InspectPuppetActLazyThreadLocalResponse {
3462 type Owned = Self;
3463
3464 #[inline(always)]
3465 fn inline_align(_context: fidl::encoding::Context) -> usize {
3466 4
3467 }
3468
3469 #[inline(always)]
3470 fn inline_size(_context: fidl::encoding::Context) -> usize {
3471 4
3472 }
3473 }
3474
3475 unsafe impl<D: fidl::encoding::ResourceDialect>
3476 fidl::encoding::Encode<InspectPuppetActLazyThreadLocalResponse, D>
3477 for &InspectPuppetActLazyThreadLocalResponse
3478 {
3479 #[inline]
3480 unsafe fn encode(
3481 self,
3482 encoder: &mut fidl::encoding::Encoder<'_, D>,
3483 offset: usize,
3484 _depth: fidl::encoding::Depth,
3485 ) -> fidl::Result<()> {
3486 encoder.debug_check_bounds::<InspectPuppetActLazyThreadLocalResponse>(offset);
3487 fidl::encoding::Encode::<InspectPuppetActLazyThreadLocalResponse, D>::encode(
3489 (<TestResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
3490 encoder,
3491 offset,
3492 _depth,
3493 )
3494 }
3495 }
3496 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<TestResult, D>>
3497 fidl::encoding::Encode<InspectPuppetActLazyThreadLocalResponse, D> for (T0,)
3498 {
3499 #[inline]
3500 unsafe fn encode(
3501 self,
3502 encoder: &mut fidl::encoding::Encoder<'_, D>,
3503 offset: usize,
3504 depth: fidl::encoding::Depth,
3505 ) -> fidl::Result<()> {
3506 encoder.debug_check_bounds::<InspectPuppetActLazyThreadLocalResponse>(offset);
3507 self.0.encode(encoder, offset + 0, depth)?;
3511 Ok(())
3512 }
3513 }
3514
3515 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3516 for InspectPuppetActLazyThreadLocalResponse
3517 {
3518 #[inline(always)]
3519 fn new_empty() -> Self {
3520 Self { result: fidl::new_empty!(TestResult, D) }
3521 }
3522
3523 #[inline]
3524 unsafe fn decode(
3525 &mut self,
3526 decoder: &mut fidl::encoding::Decoder<'_, D>,
3527 offset: usize,
3528 _depth: fidl::encoding::Depth,
3529 ) -> fidl::Result<()> {
3530 decoder.debug_check_bounds::<Self>(offset);
3531 fidl::decode!(TestResult, D, &mut self.result, decoder, offset + 0, _depth)?;
3533 Ok(())
3534 }
3535 }
3536
3537 impl fidl::encoding::ValueTypeMarker for InspectPuppetActLazyResponse {
3538 type Borrowed<'a> = &'a Self;
3539 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3540 value
3541 }
3542 }
3543
3544 unsafe impl fidl::encoding::TypeMarker for InspectPuppetActLazyResponse {
3545 type Owned = Self;
3546
3547 #[inline(always)]
3548 fn inline_align(_context: fidl::encoding::Context) -> usize {
3549 4
3550 }
3551
3552 #[inline(always)]
3553 fn inline_size(_context: fidl::encoding::Context) -> usize {
3554 4
3555 }
3556 }
3557
3558 unsafe impl<D: fidl::encoding::ResourceDialect>
3559 fidl::encoding::Encode<InspectPuppetActLazyResponse, D> for &InspectPuppetActLazyResponse
3560 {
3561 #[inline]
3562 unsafe fn encode(
3563 self,
3564 encoder: &mut fidl::encoding::Encoder<'_, D>,
3565 offset: usize,
3566 _depth: fidl::encoding::Depth,
3567 ) -> fidl::Result<()> {
3568 encoder.debug_check_bounds::<InspectPuppetActLazyResponse>(offset);
3569 fidl::encoding::Encode::<InspectPuppetActLazyResponse, D>::encode(
3571 (<TestResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
3572 encoder,
3573 offset,
3574 _depth,
3575 )
3576 }
3577 }
3578 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<TestResult, D>>
3579 fidl::encoding::Encode<InspectPuppetActLazyResponse, D> for (T0,)
3580 {
3581 #[inline]
3582 unsafe fn encode(
3583 self,
3584 encoder: &mut fidl::encoding::Encoder<'_, D>,
3585 offset: usize,
3586 depth: fidl::encoding::Depth,
3587 ) -> fidl::Result<()> {
3588 encoder.debug_check_bounds::<InspectPuppetActLazyResponse>(offset);
3589 self.0.encode(encoder, offset + 0, depth)?;
3593 Ok(())
3594 }
3595 }
3596
3597 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3598 for InspectPuppetActLazyResponse
3599 {
3600 #[inline(always)]
3601 fn new_empty() -> Self {
3602 Self { result: fidl::new_empty!(TestResult, D) }
3603 }
3604
3605 #[inline]
3606 unsafe fn decode(
3607 &mut self,
3608 decoder: &mut fidl::encoding::Decoder<'_, D>,
3609 offset: usize,
3610 _depth: fidl::encoding::Depth,
3611 ) -> fidl::Result<()> {
3612 decoder.debug_check_bounds::<Self>(offset);
3613 fidl::decode!(TestResult, D, &mut self.result, decoder, offset + 0, _depth)?;
3615 Ok(())
3616 }
3617 }
3618
3619 impl fidl::encoding::ValueTypeMarker for InspectPuppetActResponse {
3620 type Borrowed<'a> = &'a Self;
3621 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3622 value
3623 }
3624 }
3625
3626 unsafe impl fidl::encoding::TypeMarker for InspectPuppetActResponse {
3627 type Owned = Self;
3628
3629 #[inline(always)]
3630 fn inline_align(_context: fidl::encoding::Context) -> usize {
3631 4
3632 }
3633
3634 #[inline(always)]
3635 fn inline_size(_context: fidl::encoding::Context) -> usize {
3636 4
3637 }
3638 }
3639
3640 unsafe impl<D: fidl::encoding::ResourceDialect>
3641 fidl::encoding::Encode<InspectPuppetActResponse, D> for &InspectPuppetActResponse
3642 {
3643 #[inline]
3644 unsafe fn encode(
3645 self,
3646 encoder: &mut fidl::encoding::Encoder<'_, D>,
3647 offset: usize,
3648 _depth: fidl::encoding::Depth,
3649 ) -> fidl::Result<()> {
3650 encoder.debug_check_bounds::<InspectPuppetActResponse>(offset);
3651 fidl::encoding::Encode::<InspectPuppetActResponse, D>::encode(
3653 (<TestResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
3654 encoder,
3655 offset,
3656 _depth,
3657 )
3658 }
3659 }
3660 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<TestResult, D>>
3661 fidl::encoding::Encode<InspectPuppetActResponse, D> for (T0,)
3662 {
3663 #[inline]
3664 unsafe fn encode(
3665 self,
3666 encoder: &mut fidl::encoding::Encoder<'_, D>,
3667 offset: usize,
3668 depth: fidl::encoding::Depth,
3669 ) -> fidl::Result<()> {
3670 encoder.debug_check_bounds::<InspectPuppetActResponse>(offset);
3671 self.0.encode(encoder, offset + 0, depth)?;
3675 Ok(())
3676 }
3677 }
3678
3679 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3680 for InspectPuppetActResponse
3681 {
3682 #[inline(always)]
3683 fn new_empty() -> Self {
3684 Self { result: fidl::new_empty!(TestResult, D) }
3685 }
3686
3687 #[inline]
3688 unsafe fn decode(
3689 &mut self,
3690 decoder: &mut fidl::encoding::Decoder<'_, D>,
3691 offset: usize,
3692 _depth: fidl::encoding::Depth,
3693 ) -> fidl::Result<()> {
3694 decoder.debug_check_bounds::<Self>(offset);
3695 fidl::decode!(TestResult, D, &mut self.result, decoder, offset + 0, _depth)?;
3697 Ok(())
3698 }
3699 }
3700
3701 impl fidl::encoding::ValueTypeMarker for InspectPuppetPublishResponse {
3702 type Borrowed<'a> = &'a Self;
3703 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3704 value
3705 }
3706 }
3707
3708 unsafe impl fidl::encoding::TypeMarker for InspectPuppetPublishResponse {
3709 type Owned = Self;
3710
3711 #[inline(always)]
3712 fn inline_align(_context: fidl::encoding::Context) -> usize {
3713 4
3714 }
3715
3716 #[inline(always)]
3717 fn inline_size(_context: fidl::encoding::Context) -> usize {
3718 4
3719 }
3720 }
3721
3722 unsafe impl<D: fidl::encoding::ResourceDialect>
3723 fidl::encoding::Encode<InspectPuppetPublishResponse, D> for &InspectPuppetPublishResponse
3724 {
3725 #[inline]
3726 unsafe fn encode(
3727 self,
3728 encoder: &mut fidl::encoding::Encoder<'_, D>,
3729 offset: usize,
3730 _depth: fidl::encoding::Depth,
3731 ) -> fidl::Result<()> {
3732 encoder.debug_check_bounds::<InspectPuppetPublishResponse>(offset);
3733 fidl::encoding::Encode::<InspectPuppetPublishResponse, D>::encode(
3735 (<TestResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
3736 encoder,
3737 offset,
3738 _depth,
3739 )
3740 }
3741 }
3742 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<TestResult, D>>
3743 fidl::encoding::Encode<InspectPuppetPublishResponse, D> for (T0,)
3744 {
3745 #[inline]
3746 unsafe fn encode(
3747 self,
3748 encoder: &mut fidl::encoding::Encoder<'_, D>,
3749 offset: usize,
3750 depth: fidl::encoding::Depth,
3751 ) -> fidl::Result<()> {
3752 encoder.debug_check_bounds::<InspectPuppetPublishResponse>(offset);
3753 self.0.encode(encoder, offset + 0, depth)?;
3757 Ok(())
3758 }
3759 }
3760
3761 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3762 for InspectPuppetPublishResponse
3763 {
3764 #[inline(always)]
3765 fn new_empty() -> Self {
3766 Self { result: fidl::new_empty!(TestResult, D) }
3767 }
3768
3769 #[inline]
3770 unsafe fn decode(
3771 &mut self,
3772 decoder: &mut fidl::encoding::Decoder<'_, D>,
3773 offset: usize,
3774 _depth: fidl::encoding::Depth,
3775 ) -> fidl::Result<()> {
3776 decoder.debug_check_bounds::<Self>(offset);
3777 fidl::decode!(TestResult, D, &mut self.result, decoder, offset + 0, _depth)?;
3779 Ok(())
3780 }
3781 }
3782
3783 impl fidl::encoding::ValueTypeMarker for SetBool {
3784 type Borrowed<'a> = &'a Self;
3785 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3786 value
3787 }
3788 }
3789
3790 unsafe impl fidl::encoding::TypeMarker for SetBool {
3791 type Owned = Self;
3792
3793 #[inline(always)]
3794 fn inline_align(_context: fidl::encoding::Context) -> usize {
3795 4
3796 }
3797
3798 #[inline(always)]
3799 fn inline_size(_context: fidl::encoding::Context) -> usize {
3800 8
3801 }
3802 }
3803
3804 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetBool, D> for &SetBool {
3805 #[inline]
3806 unsafe fn encode(
3807 self,
3808 encoder: &mut fidl::encoding::Encoder<'_, D>,
3809 offset: usize,
3810 _depth: fidl::encoding::Depth,
3811 ) -> fidl::Result<()> {
3812 encoder.debug_check_bounds::<SetBool>(offset);
3813 fidl::encoding::Encode::<SetBool, D>::encode(
3815 (
3816 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
3817 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
3818 ),
3819 encoder,
3820 offset,
3821 _depth,
3822 )
3823 }
3824 }
3825 unsafe impl<
3826 D: fidl::encoding::ResourceDialect,
3827 T0: fidl::encoding::Encode<u32, D>,
3828 T1: fidl::encoding::Encode<bool, D>,
3829 > fidl::encoding::Encode<SetBool, D> for (T0, T1)
3830 {
3831 #[inline]
3832 unsafe fn encode(
3833 self,
3834 encoder: &mut fidl::encoding::Encoder<'_, D>,
3835 offset: usize,
3836 depth: fidl::encoding::Depth,
3837 ) -> fidl::Result<()> {
3838 encoder.debug_check_bounds::<SetBool>(offset);
3839 unsafe {
3842 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
3843 (ptr as *mut u32).write_unaligned(0);
3844 }
3845 self.0.encode(encoder, offset + 0, depth)?;
3847 self.1.encode(encoder, offset + 4, depth)?;
3848 Ok(())
3849 }
3850 }
3851
3852 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetBool {
3853 #[inline(always)]
3854 fn new_empty() -> Self {
3855 Self { id: fidl::new_empty!(u32, D), value: fidl::new_empty!(bool, D) }
3856 }
3857
3858 #[inline]
3859 unsafe fn decode(
3860 &mut self,
3861 decoder: &mut fidl::encoding::Decoder<'_, D>,
3862 offset: usize,
3863 _depth: fidl::encoding::Depth,
3864 ) -> fidl::Result<()> {
3865 decoder.debug_check_bounds::<Self>(offset);
3866 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
3868 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3869 let mask = 0xffffff00u32;
3870 let maskedval = padval & mask;
3871 if maskedval != 0 {
3872 return Err(fidl::Error::NonZeroPadding {
3873 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
3874 });
3875 }
3876 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
3877 fidl::decode!(bool, D, &mut self.value, decoder, offset + 4, _depth)?;
3878 Ok(())
3879 }
3880 }
3881
3882 impl fidl::encoding::ValueTypeMarker for SetBytes {
3883 type Borrowed<'a> = &'a Self;
3884 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3885 value
3886 }
3887 }
3888
3889 unsafe impl fidl::encoding::TypeMarker for SetBytes {
3890 type Owned = Self;
3891
3892 #[inline(always)]
3893 fn inline_align(_context: fidl::encoding::Context) -> usize {
3894 8
3895 }
3896
3897 #[inline(always)]
3898 fn inline_size(_context: fidl::encoding::Context) -> usize {
3899 24
3900 }
3901 }
3902
3903 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetBytes, D> for &SetBytes {
3904 #[inline]
3905 unsafe fn encode(
3906 self,
3907 encoder: &mut fidl::encoding::Encoder<'_, D>,
3908 offset: usize,
3909 _depth: fidl::encoding::Depth,
3910 ) -> fidl::Result<()> {
3911 encoder.debug_check_bounds::<SetBytes>(offset);
3912 fidl::encoding::Encode::<SetBytes, D>::encode(
3914 (
3915 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
3916 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
3917 ),
3918 encoder, offset, _depth
3919 )
3920 }
3921 }
3922 unsafe impl<
3923 D: fidl::encoding::ResourceDialect,
3924 T0: fidl::encoding::Encode<u32, D>,
3925 T1: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
3926 > fidl::encoding::Encode<SetBytes, D> for (T0, T1)
3927 {
3928 #[inline]
3929 unsafe fn encode(
3930 self,
3931 encoder: &mut fidl::encoding::Encoder<'_, D>,
3932 offset: usize,
3933 depth: fidl::encoding::Depth,
3934 ) -> fidl::Result<()> {
3935 encoder.debug_check_bounds::<SetBytes>(offset);
3936 unsafe {
3939 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3940 (ptr as *mut u64).write_unaligned(0);
3941 }
3942 self.0.encode(encoder, offset + 0, depth)?;
3944 self.1.encode(encoder, offset + 8, depth)?;
3945 Ok(())
3946 }
3947 }
3948
3949 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetBytes {
3950 #[inline(always)]
3951 fn new_empty() -> Self {
3952 Self {
3953 id: fidl::new_empty!(u32, D),
3954 value: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
3955 }
3956 }
3957
3958 #[inline]
3959 unsafe fn decode(
3960 &mut self,
3961 decoder: &mut fidl::encoding::Decoder<'_, D>,
3962 offset: usize,
3963 _depth: fidl::encoding::Depth,
3964 ) -> fidl::Result<()> {
3965 decoder.debug_check_bounds::<Self>(offset);
3966 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3968 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3969 let mask = 0xffffffff00000000u64;
3970 let maskedval = padval & mask;
3971 if maskedval != 0 {
3972 return Err(fidl::Error::NonZeroPadding {
3973 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3974 });
3975 }
3976 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
3977 fidl::decode!(
3978 fidl::encoding::UnboundedVector<u8>,
3979 D,
3980 &mut self.value,
3981 decoder,
3982 offset + 8,
3983 _depth
3984 )?;
3985 Ok(())
3986 }
3987 }
3988
3989 impl fidl::encoding::ValueTypeMarker for SetNumber {
3990 type Borrowed<'a> = &'a Self;
3991 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3992 value
3993 }
3994 }
3995
3996 unsafe impl fidl::encoding::TypeMarker for SetNumber {
3997 type Owned = Self;
3998
3999 #[inline(always)]
4000 fn inline_align(_context: fidl::encoding::Context) -> usize {
4001 8
4002 }
4003
4004 #[inline(always)]
4005 fn inline_size(_context: fidl::encoding::Context) -> usize {
4006 24
4007 }
4008 }
4009
4010 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetNumber, D>
4011 for &SetNumber
4012 {
4013 #[inline]
4014 unsafe fn encode(
4015 self,
4016 encoder: &mut fidl::encoding::Encoder<'_, D>,
4017 offset: usize,
4018 _depth: fidl::encoding::Depth,
4019 ) -> fidl::Result<()> {
4020 encoder.debug_check_bounds::<SetNumber>(offset);
4021 fidl::encoding::Encode::<SetNumber, D>::encode(
4023 (
4024 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
4025 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
4026 ),
4027 encoder,
4028 offset,
4029 _depth,
4030 )
4031 }
4032 }
4033 unsafe impl<
4034 D: fidl::encoding::ResourceDialect,
4035 T0: fidl::encoding::Encode<u32, D>,
4036 T1: fidl::encoding::Encode<Value, D>,
4037 > fidl::encoding::Encode<SetNumber, D> for (T0, T1)
4038 {
4039 #[inline]
4040 unsafe fn encode(
4041 self,
4042 encoder: &mut fidl::encoding::Encoder<'_, D>,
4043 offset: usize,
4044 depth: fidl::encoding::Depth,
4045 ) -> fidl::Result<()> {
4046 encoder.debug_check_bounds::<SetNumber>(offset);
4047 unsafe {
4050 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
4051 (ptr as *mut u64).write_unaligned(0);
4052 }
4053 self.0.encode(encoder, offset + 0, depth)?;
4055 self.1.encode(encoder, offset + 8, depth)?;
4056 Ok(())
4057 }
4058 }
4059
4060 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetNumber {
4061 #[inline(always)]
4062 fn new_empty() -> Self {
4063 Self { id: fidl::new_empty!(u32, D), value: fidl::new_empty!(Value, D) }
4064 }
4065
4066 #[inline]
4067 unsafe fn decode(
4068 &mut self,
4069 decoder: &mut fidl::encoding::Decoder<'_, D>,
4070 offset: usize,
4071 _depth: fidl::encoding::Depth,
4072 ) -> fidl::Result<()> {
4073 decoder.debug_check_bounds::<Self>(offset);
4074 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
4076 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4077 let mask = 0xffffffff00000000u64;
4078 let maskedval = padval & mask;
4079 if maskedval != 0 {
4080 return Err(fidl::Error::NonZeroPadding {
4081 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
4082 });
4083 }
4084 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
4085 fidl::decode!(Value, D, &mut self.value, decoder, offset + 8, _depth)?;
4086 Ok(())
4087 }
4088 }
4089
4090 impl fidl::encoding::ValueTypeMarker for SetString {
4091 type Borrowed<'a> = &'a Self;
4092 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4093 value
4094 }
4095 }
4096
4097 unsafe impl fidl::encoding::TypeMarker for SetString {
4098 type Owned = Self;
4099
4100 #[inline(always)]
4101 fn inline_align(_context: fidl::encoding::Context) -> usize {
4102 8
4103 }
4104
4105 #[inline(always)]
4106 fn inline_size(_context: fidl::encoding::Context) -> usize {
4107 24
4108 }
4109 }
4110
4111 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetString, D>
4112 for &SetString
4113 {
4114 #[inline]
4115 unsafe fn encode(
4116 self,
4117 encoder: &mut fidl::encoding::Encoder<'_, D>,
4118 offset: usize,
4119 _depth: fidl::encoding::Depth,
4120 ) -> fidl::Result<()> {
4121 encoder.debug_check_bounds::<SetString>(offset);
4122 fidl::encoding::Encode::<SetString, D>::encode(
4124 (
4125 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
4126 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
4127 &self.value,
4128 ),
4129 ),
4130 encoder,
4131 offset,
4132 _depth,
4133 )
4134 }
4135 }
4136 unsafe impl<
4137 D: fidl::encoding::ResourceDialect,
4138 T0: fidl::encoding::Encode<u32, D>,
4139 T1: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
4140 > fidl::encoding::Encode<SetString, D> for (T0, T1)
4141 {
4142 #[inline]
4143 unsafe fn encode(
4144 self,
4145 encoder: &mut fidl::encoding::Encoder<'_, D>,
4146 offset: usize,
4147 depth: fidl::encoding::Depth,
4148 ) -> fidl::Result<()> {
4149 encoder.debug_check_bounds::<SetString>(offset);
4150 unsafe {
4153 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
4154 (ptr as *mut u64).write_unaligned(0);
4155 }
4156 self.0.encode(encoder, offset + 0, depth)?;
4158 self.1.encode(encoder, offset + 8, depth)?;
4159 Ok(())
4160 }
4161 }
4162
4163 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetString {
4164 #[inline(always)]
4165 fn new_empty() -> Self {
4166 Self {
4167 id: fidl::new_empty!(u32, D),
4168 value: fidl::new_empty!(fidl::encoding::UnboundedString, D),
4169 }
4170 }
4171
4172 #[inline]
4173 unsafe fn decode(
4174 &mut self,
4175 decoder: &mut fidl::encoding::Decoder<'_, D>,
4176 offset: usize,
4177 _depth: fidl::encoding::Depth,
4178 ) -> fidl::Result<()> {
4179 decoder.debug_check_bounds::<Self>(offset);
4180 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
4182 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4183 let mask = 0xffffffff00000000u64;
4184 let maskedval = padval & mask;
4185 if maskedval != 0 {
4186 return Err(fidl::Error::NonZeroPadding {
4187 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
4188 });
4189 }
4190 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
4191 fidl::decode!(
4192 fidl::encoding::UnboundedString,
4193 D,
4194 &mut self.value,
4195 decoder,
4196 offset + 8,
4197 _depth
4198 )?;
4199 Ok(())
4200 }
4201 }
4202
4203 impl fidl::encoding::ValueTypeMarker for SubtractNumber {
4204 type Borrowed<'a> = &'a Self;
4205 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4206 value
4207 }
4208 }
4209
4210 unsafe impl fidl::encoding::TypeMarker for SubtractNumber {
4211 type Owned = Self;
4212
4213 #[inline(always)]
4214 fn inline_align(_context: fidl::encoding::Context) -> usize {
4215 8
4216 }
4217
4218 #[inline(always)]
4219 fn inline_size(_context: fidl::encoding::Context) -> usize {
4220 24
4221 }
4222 }
4223
4224 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SubtractNumber, D>
4225 for &SubtractNumber
4226 {
4227 #[inline]
4228 unsafe fn encode(
4229 self,
4230 encoder: &mut fidl::encoding::Encoder<'_, D>,
4231 offset: usize,
4232 _depth: fidl::encoding::Depth,
4233 ) -> fidl::Result<()> {
4234 encoder.debug_check_bounds::<SubtractNumber>(offset);
4235 fidl::encoding::Encode::<SubtractNumber, D>::encode(
4237 (
4238 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
4239 <Value as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
4240 ),
4241 encoder,
4242 offset,
4243 _depth,
4244 )
4245 }
4246 }
4247 unsafe impl<
4248 D: fidl::encoding::ResourceDialect,
4249 T0: fidl::encoding::Encode<u32, D>,
4250 T1: fidl::encoding::Encode<Value, D>,
4251 > fidl::encoding::Encode<SubtractNumber, D> for (T0, T1)
4252 {
4253 #[inline]
4254 unsafe fn encode(
4255 self,
4256 encoder: &mut fidl::encoding::Encoder<'_, D>,
4257 offset: usize,
4258 depth: fidl::encoding::Depth,
4259 ) -> fidl::Result<()> {
4260 encoder.debug_check_bounds::<SubtractNumber>(offset);
4261 unsafe {
4264 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
4265 (ptr as *mut u64).write_unaligned(0);
4266 }
4267 self.0.encode(encoder, offset + 0, depth)?;
4269 self.1.encode(encoder, offset + 8, depth)?;
4270 Ok(())
4271 }
4272 }
4273
4274 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SubtractNumber {
4275 #[inline(always)]
4276 fn new_empty() -> Self {
4277 Self { id: fidl::new_empty!(u32, D), value: fidl::new_empty!(Value, D) }
4278 }
4279
4280 #[inline]
4281 unsafe fn decode(
4282 &mut self,
4283 decoder: &mut fidl::encoding::Decoder<'_, D>,
4284 offset: usize,
4285 _depth: fidl::encoding::Depth,
4286 ) -> fidl::Result<()> {
4287 decoder.debug_check_bounds::<Self>(offset);
4288 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
4290 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4291 let mask = 0xffffffff00000000u64;
4292 let maskedval = padval & mask;
4293 if maskedval != 0 {
4294 return Err(fidl::Error::NonZeroPadding {
4295 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
4296 });
4297 }
4298 fidl::decode!(u32, D, &mut self.id, decoder, offset + 0, _depth)?;
4299 fidl::decode!(Value, D, &mut self.value, decoder, offset + 8, _depth)?;
4300 Ok(())
4301 }
4302 }
4303
4304 impl InitializationParams {
4305 #[inline(always)]
4306 fn max_ordinal_present(&self) -> u64 {
4307 if let Some(_) = self.vmo_size {
4308 return 1;
4309 }
4310 0
4311 }
4312 }
4313
4314 impl fidl::encoding::ValueTypeMarker for InitializationParams {
4315 type Borrowed<'a> = &'a Self;
4316 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4317 value
4318 }
4319 }
4320
4321 unsafe impl fidl::encoding::TypeMarker for InitializationParams {
4322 type Owned = Self;
4323
4324 #[inline(always)]
4325 fn inline_align(_context: fidl::encoding::Context) -> usize {
4326 8
4327 }
4328
4329 #[inline(always)]
4330 fn inline_size(_context: fidl::encoding::Context) -> usize {
4331 16
4332 }
4333 }
4334
4335 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<InitializationParams, D>
4336 for &InitializationParams
4337 {
4338 unsafe fn encode(
4339 self,
4340 encoder: &mut fidl::encoding::Encoder<'_, D>,
4341 offset: usize,
4342 mut depth: fidl::encoding::Depth,
4343 ) -> fidl::Result<()> {
4344 encoder.debug_check_bounds::<InitializationParams>(offset);
4345 let max_ordinal: u64 = self.max_ordinal_present();
4347 encoder.write_num(max_ordinal, offset);
4348 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4349 if max_ordinal == 0 {
4351 return Ok(());
4352 }
4353 depth.increment()?;
4354 let envelope_size = 8;
4355 let bytes_len = max_ordinal as usize * envelope_size;
4356 #[allow(unused_variables)]
4357 let offset = encoder.out_of_line_offset(bytes_len);
4358 let mut _prev_end_offset: usize = 0;
4359 if 1 > max_ordinal {
4360 return Ok(());
4361 }
4362
4363 let cur_offset: usize = (1 - 1) * envelope_size;
4366
4367 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4369
4370 fidl::encoding::encode_in_envelope_optional::<u64, D>(
4375 self.vmo_size.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
4376 encoder,
4377 offset + cur_offset,
4378 depth,
4379 )?;
4380
4381 _prev_end_offset = cur_offset + envelope_size;
4382
4383 Ok(())
4384 }
4385 }
4386
4387 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for InitializationParams {
4388 #[inline(always)]
4389 fn new_empty() -> Self {
4390 Self::default()
4391 }
4392
4393 unsafe fn decode(
4394 &mut self,
4395 decoder: &mut fidl::encoding::Decoder<'_, D>,
4396 offset: usize,
4397 mut depth: fidl::encoding::Depth,
4398 ) -> fidl::Result<()> {
4399 decoder.debug_check_bounds::<Self>(offset);
4400 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4401 None => return Err(fidl::Error::NotNullable),
4402 Some(len) => len,
4403 };
4404 if len == 0 {
4406 return Ok(());
4407 };
4408 depth.increment()?;
4409 let envelope_size = 8;
4410 let bytes_len = len * envelope_size;
4411 let offset = decoder.out_of_line_offset(bytes_len)?;
4412 let mut _next_ordinal_to_read = 0;
4414 let mut next_offset = offset;
4415 let end_offset = offset + bytes_len;
4416 _next_ordinal_to_read += 1;
4417 if next_offset >= end_offset {
4418 return Ok(());
4419 }
4420
4421 while _next_ordinal_to_read < 1 {
4423 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4424 _next_ordinal_to_read += 1;
4425 next_offset += envelope_size;
4426 }
4427
4428 let next_out_of_line = decoder.next_out_of_line();
4429 let handles_before = decoder.remaining_handles();
4430 if let Some((inlined, num_bytes, num_handles)) =
4431 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4432 {
4433 let member_inline_size =
4434 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4435 if inlined != (member_inline_size <= 4) {
4436 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4437 }
4438 let inner_offset;
4439 let mut inner_depth = depth.clone();
4440 if inlined {
4441 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4442 inner_offset = next_offset;
4443 } else {
4444 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4445 inner_depth.increment()?;
4446 }
4447 let val_ref = self.vmo_size.get_or_insert_with(|| fidl::new_empty!(u64, D));
4448 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
4449 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4450 {
4451 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4452 }
4453 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4454 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4455 }
4456 }
4457
4458 next_offset += envelope_size;
4459
4460 while next_offset < end_offset {
4462 _next_ordinal_to_read += 1;
4463 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4464 next_offset += envelope_size;
4465 }
4466
4467 Ok(())
4468 }
4469 }
4470
4471 impl fidl::encoding::ValueTypeMarker for Action {
4472 type Borrowed<'a> = &'a Self;
4473 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4474 value
4475 }
4476 }
4477
4478 unsafe impl fidl::encoding::TypeMarker for Action {
4479 type Owned = Self;
4480
4481 #[inline(always)]
4482 fn inline_align(_context: fidl::encoding::Context) -> usize {
4483 8
4484 }
4485
4486 #[inline(always)]
4487 fn inline_size(_context: fidl::encoding::Context) -> usize {
4488 16
4489 }
4490 }
4491
4492 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Action, D> for &Action {
4493 #[inline]
4494 unsafe fn encode(
4495 self,
4496 encoder: &mut fidl::encoding::Encoder<'_, D>,
4497 offset: usize,
4498 _depth: fidl::encoding::Depth,
4499 ) -> fidl::Result<()> {
4500 encoder.debug_check_bounds::<Action>(offset);
4501 encoder.write_num::<u64>(self.ordinal(), offset);
4502 match self {
4503 Action::CreateNode(ref val) => fidl::encoding::encode_in_envelope::<CreateNode, D>(
4504 <CreateNode as fidl::encoding::ValueTypeMarker>::borrow(val),
4505 encoder,
4506 offset + 8,
4507 _depth,
4508 ),
4509 Action::DeleteNode(ref val) => fidl::encoding::encode_in_envelope::<DeleteNode, D>(
4510 <DeleteNode as fidl::encoding::ValueTypeMarker>::borrow(val),
4511 encoder,
4512 offset + 8,
4513 _depth,
4514 ),
4515 Action::CreateNumericProperty(ref val) => {
4516 fidl::encoding::encode_in_envelope::<CreateNumericProperty, D>(
4517 <CreateNumericProperty as fidl::encoding::ValueTypeMarker>::borrow(val),
4518 encoder,
4519 offset + 8,
4520 _depth,
4521 )
4522 }
4523 Action::CreateBytesProperty(ref val) => {
4524 fidl::encoding::encode_in_envelope::<CreateBytesProperty, D>(
4525 <CreateBytesProperty as fidl::encoding::ValueTypeMarker>::borrow(val),
4526 encoder,
4527 offset + 8,
4528 _depth,
4529 )
4530 }
4531 Action::CreateStringProperty(ref val) => {
4532 fidl::encoding::encode_in_envelope::<CreateStringProperty, D>(
4533 <CreateStringProperty as fidl::encoding::ValueTypeMarker>::borrow(val),
4534 encoder,
4535 offset + 8,
4536 _depth,
4537 )
4538 }
4539 Action::DeleteProperty(ref val) => {
4540 fidl::encoding::encode_in_envelope::<DeleteProperty, D>(
4541 <DeleteProperty as fidl::encoding::ValueTypeMarker>::borrow(val),
4542 encoder,
4543 offset + 8,
4544 _depth,
4545 )
4546 }
4547 Action::SetNumber(ref val) => fidl::encoding::encode_in_envelope::<SetNumber, D>(
4548 <SetNumber as fidl::encoding::ValueTypeMarker>::borrow(val),
4549 encoder,
4550 offset + 8,
4551 _depth,
4552 ),
4553 Action::SetString(ref val) => fidl::encoding::encode_in_envelope::<SetString, D>(
4554 <SetString as fidl::encoding::ValueTypeMarker>::borrow(val),
4555 encoder,
4556 offset + 8,
4557 _depth,
4558 ),
4559 Action::SetBytes(ref val) => fidl::encoding::encode_in_envelope::<SetBytes, D>(
4560 <SetBytes as fidl::encoding::ValueTypeMarker>::borrow(val),
4561 encoder,
4562 offset + 8,
4563 _depth,
4564 ),
4565 Action::AddNumber(ref val) => fidl::encoding::encode_in_envelope::<AddNumber, D>(
4566 <AddNumber as fidl::encoding::ValueTypeMarker>::borrow(val),
4567 encoder,
4568 offset + 8,
4569 _depth,
4570 ),
4571 Action::SubtractNumber(ref val) => {
4572 fidl::encoding::encode_in_envelope::<SubtractNumber, D>(
4573 <SubtractNumber as fidl::encoding::ValueTypeMarker>::borrow(val),
4574 encoder,
4575 offset + 8,
4576 _depth,
4577 )
4578 }
4579 Action::CreateArrayProperty(ref val) => {
4580 fidl::encoding::encode_in_envelope::<CreateArrayProperty, D>(
4581 <CreateArrayProperty as fidl::encoding::ValueTypeMarker>::borrow(val),
4582 encoder,
4583 offset + 8,
4584 _depth,
4585 )
4586 }
4587 Action::ArraySet(ref val) => fidl::encoding::encode_in_envelope::<ArraySet, D>(
4588 <ArraySet as fidl::encoding::ValueTypeMarker>::borrow(val),
4589 encoder,
4590 offset + 8,
4591 _depth,
4592 ),
4593 Action::ArrayAdd(ref val) => fidl::encoding::encode_in_envelope::<ArrayAdd, D>(
4594 <ArrayAdd as fidl::encoding::ValueTypeMarker>::borrow(val),
4595 encoder,
4596 offset + 8,
4597 _depth,
4598 ),
4599 Action::ArraySubtract(ref val) => {
4600 fidl::encoding::encode_in_envelope::<ArraySubtract, D>(
4601 <ArraySubtract as fidl::encoding::ValueTypeMarker>::borrow(val),
4602 encoder,
4603 offset + 8,
4604 _depth,
4605 )
4606 }
4607 Action::CreateLinearHistogram(ref val) => {
4608 fidl::encoding::encode_in_envelope::<CreateLinearHistogram, D>(
4609 <CreateLinearHistogram as fidl::encoding::ValueTypeMarker>::borrow(val),
4610 encoder,
4611 offset + 8,
4612 _depth,
4613 )
4614 }
4615 Action::CreateExponentialHistogram(ref val) => {
4616 fidl::encoding::encode_in_envelope::<CreateExponentialHistogram, D>(
4617 <CreateExponentialHistogram as fidl::encoding::ValueTypeMarker>::borrow(
4618 val,
4619 ),
4620 encoder,
4621 offset + 8,
4622 _depth,
4623 )
4624 }
4625 Action::Insert(ref val) => fidl::encoding::encode_in_envelope::<Insert, D>(
4626 <Insert as fidl::encoding::ValueTypeMarker>::borrow(val),
4627 encoder,
4628 offset + 8,
4629 _depth,
4630 ),
4631 Action::InsertMultiple(ref val) => {
4632 fidl::encoding::encode_in_envelope::<InsertMultiple, D>(
4633 <InsertMultiple as fidl::encoding::ValueTypeMarker>::borrow(val),
4634 encoder,
4635 offset + 8,
4636 _depth,
4637 )
4638 }
4639 Action::CreateBoolProperty(ref val) => {
4640 fidl::encoding::encode_in_envelope::<CreateBoolProperty, D>(
4641 <CreateBoolProperty as fidl::encoding::ValueTypeMarker>::borrow(val),
4642 encoder,
4643 offset + 8,
4644 _depth,
4645 )
4646 }
4647 Action::SetBool(ref val) => fidl::encoding::encode_in_envelope::<SetBool, D>(
4648 <SetBool as fidl::encoding::ValueTypeMarker>::borrow(val),
4649 encoder,
4650 offset + 8,
4651 _depth,
4652 ),
4653 Action::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
4654 }
4655 }
4656 }
4657
4658 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Action {
4659 #[inline(always)]
4660 fn new_empty() -> Self {
4661 Self::__SourceBreaking { unknown_ordinal: 0 }
4662 }
4663
4664 #[inline]
4665 unsafe fn decode(
4666 &mut self,
4667 decoder: &mut fidl::encoding::Decoder<'_, D>,
4668 offset: usize,
4669 mut depth: fidl::encoding::Depth,
4670 ) -> fidl::Result<()> {
4671 decoder.debug_check_bounds::<Self>(offset);
4672 #[allow(unused_variables)]
4673 let next_out_of_line = decoder.next_out_of_line();
4674 let handles_before = decoder.remaining_handles();
4675 let (ordinal, inlined, num_bytes, num_handles) =
4676 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
4677
4678 let member_inline_size = match ordinal {
4679 1 => <CreateNode as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4680 2 => <DeleteNode as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4681 3 => <CreateNumericProperty as fidl::encoding::TypeMarker>::inline_size(
4682 decoder.context,
4683 ),
4684 4 => <CreateBytesProperty as fidl::encoding::TypeMarker>::inline_size(
4685 decoder.context,
4686 ),
4687 5 => <CreateStringProperty as fidl::encoding::TypeMarker>::inline_size(
4688 decoder.context,
4689 ),
4690 6 => <DeleteProperty as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4691 7 => <SetNumber as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4692 8 => <SetString as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4693 9 => <SetBytes as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4694 10 => <AddNumber as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4695 11 => <SubtractNumber as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4696 12 => <CreateArrayProperty as fidl::encoding::TypeMarker>::inline_size(
4697 decoder.context,
4698 ),
4699 13 => <ArraySet as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4700 14 => <ArrayAdd as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4701 15 => <ArraySubtract as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4702 16 => <CreateLinearHistogram as fidl::encoding::TypeMarker>::inline_size(
4703 decoder.context,
4704 ),
4705 17 => <CreateExponentialHistogram as fidl::encoding::TypeMarker>::inline_size(
4706 decoder.context,
4707 ),
4708 18 => <Insert as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4709 19 => <InsertMultiple as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4710 20 => {
4711 <CreateBoolProperty as fidl::encoding::TypeMarker>::inline_size(decoder.context)
4712 }
4713 21 => <SetBool as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4714 0 => return Err(fidl::Error::UnknownUnionTag),
4715 _ => num_bytes as usize,
4716 };
4717
4718 if inlined != (member_inline_size <= 4) {
4719 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4720 }
4721 let _inner_offset;
4722 if inlined {
4723 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
4724 _inner_offset = offset + 8;
4725 } else {
4726 depth.increment()?;
4727 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4728 }
4729 match ordinal {
4730 1 => {
4731 #[allow(irrefutable_let_patterns)]
4732 if let Action::CreateNode(_) = self {
4733 } else {
4735 *self = Action::CreateNode(fidl::new_empty!(CreateNode, D));
4737 }
4738 #[allow(irrefutable_let_patterns)]
4739 if let Action::CreateNode(ref mut val) = self {
4740 fidl::decode!(CreateNode, D, val, decoder, _inner_offset, depth)?;
4741 } else {
4742 unreachable!()
4743 }
4744 }
4745 2 => {
4746 #[allow(irrefutable_let_patterns)]
4747 if let Action::DeleteNode(_) = self {
4748 } else {
4750 *self = Action::DeleteNode(fidl::new_empty!(DeleteNode, D));
4752 }
4753 #[allow(irrefutable_let_patterns)]
4754 if let Action::DeleteNode(ref mut val) = self {
4755 fidl::decode!(DeleteNode, D, val, decoder, _inner_offset, depth)?;
4756 } else {
4757 unreachable!()
4758 }
4759 }
4760 3 => {
4761 #[allow(irrefutable_let_patterns)]
4762 if let Action::CreateNumericProperty(_) = self {
4763 } else {
4765 *self = Action::CreateNumericProperty(fidl::new_empty!(
4767 CreateNumericProperty,
4768 D
4769 ));
4770 }
4771 #[allow(irrefutable_let_patterns)]
4772 if let Action::CreateNumericProperty(ref mut val) = self {
4773 fidl::decode!(
4774 CreateNumericProperty,
4775 D,
4776 val,
4777 decoder,
4778 _inner_offset,
4779 depth
4780 )?;
4781 } else {
4782 unreachable!()
4783 }
4784 }
4785 4 => {
4786 #[allow(irrefutable_let_patterns)]
4787 if let Action::CreateBytesProperty(_) = self {
4788 } else {
4790 *self =
4792 Action::CreateBytesProperty(fidl::new_empty!(CreateBytesProperty, D));
4793 }
4794 #[allow(irrefutable_let_patterns)]
4795 if let Action::CreateBytesProperty(ref mut val) = self {
4796 fidl::decode!(CreateBytesProperty, D, val, decoder, _inner_offset, depth)?;
4797 } else {
4798 unreachable!()
4799 }
4800 }
4801 5 => {
4802 #[allow(irrefutable_let_patterns)]
4803 if let Action::CreateStringProperty(_) = self {
4804 } else {
4806 *self =
4808 Action::CreateStringProperty(fidl::new_empty!(CreateStringProperty, D));
4809 }
4810 #[allow(irrefutable_let_patterns)]
4811 if let Action::CreateStringProperty(ref mut val) = self {
4812 fidl::decode!(CreateStringProperty, D, val, decoder, _inner_offset, depth)?;
4813 } else {
4814 unreachable!()
4815 }
4816 }
4817 6 => {
4818 #[allow(irrefutable_let_patterns)]
4819 if let Action::DeleteProperty(_) = self {
4820 } else {
4822 *self = Action::DeleteProperty(fidl::new_empty!(DeleteProperty, D));
4824 }
4825 #[allow(irrefutable_let_patterns)]
4826 if let Action::DeleteProperty(ref mut val) = self {
4827 fidl::decode!(DeleteProperty, D, val, decoder, _inner_offset, depth)?;
4828 } else {
4829 unreachable!()
4830 }
4831 }
4832 7 => {
4833 #[allow(irrefutable_let_patterns)]
4834 if let Action::SetNumber(_) = self {
4835 } else {
4837 *self = Action::SetNumber(fidl::new_empty!(SetNumber, D));
4839 }
4840 #[allow(irrefutable_let_patterns)]
4841 if let Action::SetNumber(ref mut val) = self {
4842 fidl::decode!(SetNumber, D, val, decoder, _inner_offset, depth)?;
4843 } else {
4844 unreachable!()
4845 }
4846 }
4847 8 => {
4848 #[allow(irrefutable_let_patterns)]
4849 if let Action::SetString(_) = self {
4850 } else {
4852 *self = Action::SetString(fidl::new_empty!(SetString, D));
4854 }
4855 #[allow(irrefutable_let_patterns)]
4856 if let Action::SetString(ref mut val) = self {
4857 fidl::decode!(SetString, D, val, decoder, _inner_offset, depth)?;
4858 } else {
4859 unreachable!()
4860 }
4861 }
4862 9 => {
4863 #[allow(irrefutable_let_patterns)]
4864 if let Action::SetBytes(_) = self {
4865 } else {
4867 *self = Action::SetBytes(fidl::new_empty!(SetBytes, D));
4869 }
4870 #[allow(irrefutable_let_patterns)]
4871 if let Action::SetBytes(ref mut val) = self {
4872 fidl::decode!(SetBytes, D, val, decoder, _inner_offset, depth)?;
4873 } else {
4874 unreachable!()
4875 }
4876 }
4877 10 => {
4878 #[allow(irrefutable_let_patterns)]
4879 if let Action::AddNumber(_) = self {
4880 } else {
4882 *self = Action::AddNumber(fidl::new_empty!(AddNumber, D));
4884 }
4885 #[allow(irrefutable_let_patterns)]
4886 if let Action::AddNumber(ref mut val) = self {
4887 fidl::decode!(AddNumber, D, val, decoder, _inner_offset, depth)?;
4888 } else {
4889 unreachable!()
4890 }
4891 }
4892 11 => {
4893 #[allow(irrefutable_let_patterns)]
4894 if let Action::SubtractNumber(_) = self {
4895 } else {
4897 *self = Action::SubtractNumber(fidl::new_empty!(SubtractNumber, D));
4899 }
4900 #[allow(irrefutable_let_patterns)]
4901 if let Action::SubtractNumber(ref mut val) = self {
4902 fidl::decode!(SubtractNumber, D, val, decoder, _inner_offset, depth)?;
4903 } else {
4904 unreachable!()
4905 }
4906 }
4907 12 => {
4908 #[allow(irrefutable_let_patterns)]
4909 if let Action::CreateArrayProperty(_) = self {
4910 } else {
4912 *self =
4914 Action::CreateArrayProperty(fidl::new_empty!(CreateArrayProperty, D));
4915 }
4916 #[allow(irrefutable_let_patterns)]
4917 if let Action::CreateArrayProperty(ref mut val) = self {
4918 fidl::decode!(CreateArrayProperty, D, val, decoder, _inner_offset, depth)?;
4919 } else {
4920 unreachable!()
4921 }
4922 }
4923 13 => {
4924 #[allow(irrefutable_let_patterns)]
4925 if let Action::ArraySet(_) = self {
4926 } else {
4928 *self = Action::ArraySet(fidl::new_empty!(ArraySet, D));
4930 }
4931 #[allow(irrefutable_let_patterns)]
4932 if let Action::ArraySet(ref mut val) = self {
4933 fidl::decode!(ArraySet, D, val, decoder, _inner_offset, depth)?;
4934 } else {
4935 unreachable!()
4936 }
4937 }
4938 14 => {
4939 #[allow(irrefutable_let_patterns)]
4940 if let Action::ArrayAdd(_) = self {
4941 } else {
4943 *self = Action::ArrayAdd(fidl::new_empty!(ArrayAdd, D));
4945 }
4946 #[allow(irrefutable_let_patterns)]
4947 if let Action::ArrayAdd(ref mut val) = self {
4948 fidl::decode!(ArrayAdd, D, val, decoder, _inner_offset, depth)?;
4949 } else {
4950 unreachable!()
4951 }
4952 }
4953 15 => {
4954 #[allow(irrefutable_let_patterns)]
4955 if let Action::ArraySubtract(_) = self {
4956 } else {
4958 *self = Action::ArraySubtract(fidl::new_empty!(ArraySubtract, D));
4960 }
4961 #[allow(irrefutable_let_patterns)]
4962 if let Action::ArraySubtract(ref mut val) = self {
4963 fidl::decode!(ArraySubtract, D, val, decoder, _inner_offset, depth)?;
4964 } else {
4965 unreachable!()
4966 }
4967 }
4968 16 => {
4969 #[allow(irrefutable_let_patterns)]
4970 if let Action::CreateLinearHistogram(_) = self {
4971 } else {
4973 *self = Action::CreateLinearHistogram(fidl::new_empty!(
4975 CreateLinearHistogram,
4976 D
4977 ));
4978 }
4979 #[allow(irrefutable_let_patterns)]
4980 if let Action::CreateLinearHistogram(ref mut val) = self {
4981 fidl::decode!(
4982 CreateLinearHistogram,
4983 D,
4984 val,
4985 decoder,
4986 _inner_offset,
4987 depth
4988 )?;
4989 } else {
4990 unreachable!()
4991 }
4992 }
4993 17 => {
4994 #[allow(irrefutable_let_patterns)]
4995 if let Action::CreateExponentialHistogram(_) = self {
4996 } else {
4998 *self = Action::CreateExponentialHistogram(fidl::new_empty!(
5000 CreateExponentialHistogram,
5001 D
5002 ));
5003 }
5004 #[allow(irrefutable_let_patterns)]
5005 if let Action::CreateExponentialHistogram(ref mut val) = self {
5006 fidl::decode!(
5007 CreateExponentialHistogram,
5008 D,
5009 val,
5010 decoder,
5011 _inner_offset,
5012 depth
5013 )?;
5014 } else {
5015 unreachable!()
5016 }
5017 }
5018 18 => {
5019 #[allow(irrefutable_let_patterns)]
5020 if let Action::Insert(_) = self {
5021 } else {
5023 *self = Action::Insert(fidl::new_empty!(Insert, D));
5025 }
5026 #[allow(irrefutable_let_patterns)]
5027 if let Action::Insert(ref mut val) = self {
5028 fidl::decode!(Insert, D, val, decoder, _inner_offset, depth)?;
5029 } else {
5030 unreachable!()
5031 }
5032 }
5033 19 => {
5034 #[allow(irrefutable_let_patterns)]
5035 if let Action::InsertMultiple(_) = self {
5036 } else {
5038 *self = Action::InsertMultiple(fidl::new_empty!(InsertMultiple, D));
5040 }
5041 #[allow(irrefutable_let_patterns)]
5042 if let Action::InsertMultiple(ref mut val) = self {
5043 fidl::decode!(InsertMultiple, D, val, decoder, _inner_offset, depth)?;
5044 } else {
5045 unreachable!()
5046 }
5047 }
5048 20 => {
5049 #[allow(irrefutable_let_patterns)]
5050 if let Action::CreateBoolProperty(_) = self {
5051 } else {
5053 *self = Action::CreateBoolProperty(fidl::new_empty!(CreateBoolProperty, D));
5055 }
5056 #[allow(irrefutable_let_patterns)]
5057 if let Action::CreateBoolProperty(ref mut val) = self {
5058 fidl::decode!(CreateBoolProperty, D, val, decoder, _inner_offset, depth)?;
5059 } else {
5060 unreachable!()
5061 }
5062 }
5063 21 => {
5064 #[allow(irrefutable_let_patterns)]
5065 if let Action::SetBool(_) = self {
5066 } else {
5068 *self = Action::SetBool(fidl::new_empty!(SetBool, D));
5070 }
5071 #[allow(irrefutable_let_patterns)]
5072 if let Action::SetBool(ref mut val) = self {
5073 fidl::decode!(SetBool, D, val, decoder, _inner_offset, depth)?;
5074 } else {
5075 unreachable!()
5076 }
5077 }
5078 #[allow(deprecated)]
5079 ordinal => {
5080 for _ in 0..num_handles {
5081 decoder.drop_next_handle()?;
5082 }
5083 *self = Action::__SourceBreaking { unknown_ordinal: ordinal };
5084 }
5085 }
5086 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
5087 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5088 }
5089 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5090 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5091 }
5092 Ok(())
5093 }
5094 }
5095
5096 impl fidl::encoding::ValueTypeMarker for LazyAction {
5097 type Borrowed<'a> = &'a Self;
5098 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5099 value
5100 }
5101 }
5102
5103 unsafe impl fidl::encoding::TypeMarker for LazyAction {
5104 type Owned = Self;
5105
5106 #[inline(always)]
5107 fn inline_align(_context: fidl::encoding::Context) -> usize {
5108 8
5109 }
5110
5111 #[inline(always)]
5112 fn inline_size(_context: fidl::encoding::Context) -> usize {
5113 16
5114 }
5115 }
5116
5117 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<LazyAction, D>
5118 for &LazyAction
5119 {
5120 #[inline]
5121 unsafe fn encode(
5122 self,
5123 encoder: &mut fidl::encoding::Encoder<'_, D>,
5124 offset: usize,
5125 _depth: fidl::encoding::Depth,
5126 ) -> fidl::Result<()> {
5127 encoder.debug_check_bounds::<LazyAction>(offset);
5128 encoder.write_num::<u64>(self.ordinal(), offset);
5129 match self {
5130 LazyAction::CreateLazyNode(ref val) => {
5131 fidl::encoding::encode_in_envelope::<CreateLazyNode, D>(
5132 <CreateLazyNode as fidl::encoding::ValueTypeMarker>::borrow(val),
5133 encoder,
5134 offset + 8,
5135 _depth,
5136 )
5137 }
5138 LazyAction::DeleteLazyNode(ref val) => {
5139 fidl::encoding::encode_in_envelope::<DeleteLazyNode, D>(
5140 <DeleteLazyNode as fidl::encoding::ValueTypeMarker>::borrow(val),
5141 encoder,
5142 offset + 8,
5143 _depth,
5144 )
5145 }
5146 LazyAction::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
5147 }
5148 }
5149 }
5150
5151 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for LazyAction {
5152 #[inline(always)]
5153 fn new_empty() -> Self {
5154 Self::__SourceBreaking { unknown_ordinal: 0 }
5155 }
5156
5157 #[inline]
5158 unsafe fn decode(
5159 &mut self,
5160 decoder: &mut fidl::encoding::Decoder<'_, D>,
5161 offset: usize,
5162 mut depth: fidl::encoding::Depth,
5163 ) -> fidl::Result<()> {
5164 decoder.debug_check_bounds::<Self>(offset);
5165 #[allow(unused_variables)]
5166 let next_out_of_line = decoder.next_out_of_line();
5167 let handles_before = decoder.remaining_handles();
5168 let (ordinal, inlined, num_bytes, num_handles) =
5169 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
5170
5171 let member_inline_size = match ordinal {
5172 1 => <CreateLazyNode as fidl::encoding::TypeMarker>::inline_size(decoder.context),
5173 2 => <DeleteLazyNode as fidl::encoding::TypeMarker>::inline_size(decoder.context),
5174 0 => return Err(fidl::Error::UnknownUnionTag),
5175 _ => num_bytes as usize,
5176 };
5177
5178 if inlined != (member_inline_size <= 4) {
5179 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5180 }
5181 let _inner_offset;
5182 if inlined {
5183 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
5184 _inner_offset = offset + 8;
5185 } else {
5186 depth.increment()?;
5187 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5188 }
5189 match ordinal {
5190 1 => {
5191 #[allow(irrefutable_let_patterns)]
5192 if let LazyAction::CreateLazyNode(_) = self {
5193 } else {
5195 *self = LazyAction::CreateLazyNode(fidl::new_empty!(CreateLazyNode, D));
5197 }
5198 #[allow(irrefutable_let_patterns)]
5199 if let LazyAction::CreateLazyNode(ref mut val) = self {
5200 fidl::decode!(CreateLazyNode, D, val, decoder, _inner_offset, depth)?;
5201 } else {
5202 unreachable!()
5203 }
5204 }
5205 2 => {
5206 #[allow(irrefutable_let_patterns)]
5207 if let LazyAction::DeleteLazyNode(_) = self {
5208 } else {
5210 *self = LazyAction::DeleteLazyNode(fidl::new_empty!(DeleteLazyNode, D));
5212 }
5213 #[allow(irrefutable_let_patterns)]
5214 if let LazyAction::DeleteLazyNode(ref mut val) = self {
5215 fidl::decode!(DeleteLazyNode, D, val, decoder, _inner_offset, depth)?;
5216 } else {
5217 unreachable!()
5218 }
5219 }
5220 #[allow(deprecated)]
5221 ordinal => {
5222 for _ in 0..num_handles {
5223 decoder.drop_next_handle()?;
5224 }
5225 *self = LazyAction::__SourceBreaking { unknown_ordinal: ordinal };
5226 }
5227 }
5228 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
5229 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5230 }
5231 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5232 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5233 }
5234 Ok(())
5235 }
5236 }
5237
5238 impl fidl::encoding::ValueTypeMarker for Value {
5239 type Borrowed<'a> = &'a Self;
5240 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5241 value
5242 }
5243 }
5244
5245 unsafe impl fidl::encoding::TypeMarker for Value {
5246 type Owned = Self;
5247
5248 #[inline(always)]
5249 fn inline_align(_context: fidl::encoding::Context) -> usize {
5250 8
5251 }
5252
5253 #[inline(always)]
5254 fn inline_size(_context: fidl::encoding::Context) -> usize {
5255 16
5256 }
5257 }
5258
5259 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Value, D> for &Value {
5260 #[inline]
5261 unsafe fn encode(
5262 self,
5263 encoder: &mut fidl::encoding::Encoder<'_, D>,
5264 offset: usize,
5265 _depth: fidl::encoding::Depth,
5266 ) -> fidl::Result<()> {
5267 encoder.debug_check_bounds::<Value>(offset);
5268 encoder.write_num::<u64>(self.ordinal(), offset);
5269 match self {
5270 Value::IntT(ref val) => fidl::encoding::encode_in_envelope::<i64, D>(
5271 <i64 as fidl::encoding::ValueTypeMarker>::borrow(val),
5272 encoder,
5273 offset + 8,
5274 _depth,
5275 ),
5276 Value::UintT(ref val) => fidl::encoding::encode_in_envelope::<u64, D>(
5277 <u64 as fidl::encoding::ValueTypeMarker>::borrow(val),
5278 encoder,
5279 offset + 8,
5280 _depth,
5281 ),
5282 Value::DoubleT(ref val) => fidl::encoding::encode_in_envelope::<f64, D>(
5283 <f64 as fidl::encoding::ValueTypeMarker>::borrow(val),
5284 encoder,
5285 offset + 8,
5286 _depth,
5287 ),
5288 Value::StringT(ref val) => fidl::encoding::encode_in_envelope::<
5289 fidl::encoding::UnboundedString,
5290 D,
5291 >(
5292 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
5293 val,
5294 ),
5295 encoder,
5296 offset + 8,
5297 _depth,
5298 ),
5299 Value::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
5300 }
5301 }
5302 }
5303
5304 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Value {
5305 #[inline(always)]
5306 fn new_empty() -> Self {
5307 Self::__SourceBreaking { unknown_ordinal: 0 }
5308 }
5309
5310 #[inline]
5311 unsafe fn decode(
5312 &mut self,
5313 decoder: &mut fidl::encoding::Decoder<'_, D>,
5314 offset: usize,
5315 mut depth: fidl::encoding::Depth,
5316 ) -> fidl::Result<()> {
5317 decoder.debug_check_bounds::<Self>(offset);
5318 #[allow(unused_variables)]
5319 let next_out_of_line = decoder.next_out_of_line();
5320 let handles_before = decoder.remaining_handles();
5321 let (ordinal, inlined, num_bytes, num_handles) =
5322 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
5323
5324 let member_inline_size = match ordinal {
5325 1 => <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
5326 2 => <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
5327 3 => <f64 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
5328 4 => <fidl::encoding::UnboundedString as fidl::encoding::TypeMarker>::inline_size(
5329 decoder.context,
5330 ),
5331 0 => return Err(fidl::Error::UnknownUnionTag),
5332 _ => num_bytes as usize,
5333 };
5334
5335 if inlined != (member_inline_size <= 4) {
5336 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5337 }
5338 let _inner_offset;
5339 if inlined {
5340 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
5341 _inner_offset = offset + 8;
5342 } else {
5343 depth.increment()?;
5344 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5345 }
5346 match ordinal {
5347 1 => {
5348 #[allow(irrefutable_let_patterns)]
5349 if let Value::IntT(_) = self {
5350 } else {
5352 *self = Value::IntT(fidl::new_empty!(i64, D));
5354 }
5355 #[allow(irrefutable_let_patterns)]
5356 if let Value::IntT(ref mut val) = self {
5357 fidl::decode!(i64, D, val, decoder, _inner_offset, depth)?;
5358 } else {
5359 unreachable!()
5360 }
5361 }
5362 2 => {
5363 #[allow(irrefutable_let_patterns)]
5364 if let Value::UintT(_) = self {
5365 } else {
5367 *self = Value::UintT(fidl::new_empty!(u64, D));
5369 }
5370 #[allow(irrefutable_let_patterns)]
5371 if let Value::UintT(ref mut val) = self {
5372 fidl::decode!(u64, D, val, decoder, _inner_offset, depth)?;
5373 } else {
5374 unreachable!()
5375 }
5376 }
5377 3 => {
5378 #[allow(irrefutable_let_patterns)]
5379 if let Value::DoubleT(_) = self {
5380 } else {
5382 *self = Value::DoubleT(fidl::new_empty!(f64, D));
5384 }
5385 #[allow(irrefutable_let_patterns)]
5386 if let Value::DoubleT(ref mut val) = self {
5387 fidl::decode!(f64, D, val, decoder, _inner_offset, depth)?;
5388 } else {
5389 unreachable!()
5390 }
5391 }
5392 4 => {
5393 #[allow(irrefutable_let_patterns)]
5394 if let Value::StringT(_) = self {
5395 } else {
5397 *self =
5399 Value::StringT(fidl::new_empty!(fidl::encoding::UnboundedString, D));
5400 }
5401 #[allow(irrefutable_let_patterns)]
5402 if let Value::StringT(ref mut val) = self {
5403 fidl::decode!(
5404 fidl::encoding::UnboundedString,
5405 D,
5406 val,
5407 decoder,
5408 _inner_offset,
5409 depth
5410 )?;
5411 } else {
5412 unreachable!()
5413 }
5414 }
5415 #[allow(deprecated)]
5416 ordinal => {
5417 for _ in 0..num_handles {
5418 decoder.drop_next_handle()?;
5419 }
5420 *self = Value::__SourceBreaking { unknown_ordinal: ordinal };
5421 }
5422 }
5423 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
5424 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5425 }
5426 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5427 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5428 }
5429 Ok(())
5430 }
5431 }
5432}