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 DONE_MARKER: &str =
24 "DONE: A long-running `fuchsia.fuzzer.Controller` workflow is complete.";
25
26pub const FUZZ_MODE: &str = "--fuzz";
35
36pub const MAX_COVERAGE_DATA: u64 = 4096;
40
41pub const MAX_PARAMETERS: u16 = 128;
42
43pub const MAX_PARAMETER_LEN: u16 = 256;
44
45pub const MAX_PROCESS_STATS: u16 = 256;
48
49pub const MAX_SANITIZER_OPTIONS_NAME_SIZE: u16 = 32;
55
56pub const MAX_SANITIZER_OPTIONS_VALUE_SIZE: u16 = 8192;
64
65bitflags! {
66 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
72 pub struct OutputFlags: u32 {
73 const CLOSE_STDOUT = 1;
76 const CLOSE_STDERR = 2;
80 const VERBOSE = 4;
84 const LIBFUZZER = 8;
88 }
89}
90
91impl OutputFlags {
92 #[deprecated = "Strict bits should not use `has_unknown_bits`"]
93 #[inline(always)]
94 pub fn has_unknown_bits(&self) -> bool {
95 false
96 }
97
98 #[deprecated = "Strict bits should not use `get_unknown_bits`"]
99 #[inline(always)]
100 pub fn get_unknown_bits(&self) -> u32 {
101 0
102 }
103}
104
105#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
107pub enum Corpus {
108 Seed,
111 Live,
114 #[doc(hidden)]
115 __SourceBreaking { unknown_ordinal: u8 },
116}
117
118#[macro_export]
120macro_rules! CorpusUnknown {
121 () => {
122 _
123 };
124}
125
126impl Corpus {
127 #[inline]
128 pub fn from_primitive(prim: u8) -> Option<Self> {
129 match prim {
130 1 => Some(Self::Seed),
131 2 => Some(Self::Live),
132 _ => None,
133 }
134 }
135
136 #[inline]
137 pub fn from_primitive_allow_unknown(prim: u8) -> Self {
138 match prim {
139 1 => Self::Seed,
140 2 => Self::Live,
141 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
142 }
143 }
144
145 #[inline]
146 pub fn unknown() -> Self {
147 Self::__SourceBreaking { unknown_ordinal: 0xff }
148 }
149
150 #[inline]
151 pub const fn into_primitive(self) -> u8 {
152 match self {
153 Self::Seed => 1,
154 Self::Live => 2,
155 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
156 }
157 }
158
159 #[inline]
160 pub fn is_unknown(&self) -> bool {
161 match self {
162 Self::__SourceBreaking { unknown_ordinal: _ } => true,
163 _ => false,
164 }
165 }
166}
167
168#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
182pub enum Result_ {
183 NoErrors,
185 BadMalloc,
190 Crash,
193 Death,
196 Exit,
200 Leak,
203 Oom,
206 Timeout,
208 Minimized,
211 Cleansed,
215 Merged,
219 #[doc(hidden)]
220 __SourceBreaking { unknown_ordinal: u32 },
221}
222
223#[macro_export]
225macro_rules! Result_Unknown {
226 () => {
227 _
228 };
229}
230
231impl Result_ {
232 #[inline]
233 pub fn from_primitive(prim: u32) -> Option<Self> {
234 match prim {
235 1 => Some(Self::NoErrors),
236 2 => Some(Self::BadMalloc),
237 3 => Some(Self::Crash),
238 4 => Some(Self::Death),
239 5 => Some(Self::Exit),
240 6 => Some(Self::Leak),
241 7 => Some(Self::Oom),
242 8 => Some(Self::Timeout),
243 9 => Some(Self::Minimized),
244 10 => Some(Self::Cleansed),
245 11 => Some(Self::Merged),
246 _ => None,
247 }
248 }
249
250 #[inline]
251 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
252 match prim {
253 1 => Self::NoErrors,
254 2 => Self::BadMalloc,
255 3 => Self::Crash,
256 4 => Self::Death,
257 5 => Self::Exit,
258 6 => Self::Leak,
259 7 => Self::Oom,
260 8 => Self::Timeout,
261 9 => Self::Minimized,
262 10 => Self::Cleansed,
263 11 => Self::Merged,
264 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
265 }
266 }
267
268 #[inline]
269 pub fn unknown() -> Self {
270 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
271 }
272
273 #[inline]
274 pub const fn into_primitive(self) -> u32 {
275 match self {
276 Self::NoErrors => 1,
277 Self::BadMalloc => 2,
278 Self::Crash => 3,
279 Self::Death => 4,
280 Self::Exit => 5,
281 Self::Leak => 6,
282 Self::Oom => 7,
283 Self::Timeout => 8,
284 Self::Minimized => 9,
285 Self::Cleansed => 10,
286 Self::Merged => 11,
287 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
288 }
289 }
290
291 #[inline]
292 pub fn is_unknown(&self) -> bool {
293 match self {
294 Self::__SourceBreaking { unknown_ordinal: _ } => true,
295 _ => false,
296 }
297 }
298}
299
300#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
306pub enum TestOutput {
307 Stdout,
309 Stderr,
311 Syslog,
313 #[doc(hidden)]
314 __SourceBreaking { unknown_ordinal: u32 },
315}
316
317#[macro_export]
319macro_rules! TestOutputUnknown {
320 () => {
321 _
322 };
323}
324
325impl TestOutput {
326 #[inline]
327 pub fn from_primitive(prim: u32) -> Option<Self> {
328 match prim {
329 1 => Some(Self::Stdout),
330 2 => Some(Self::Stderr),
331 3 => Some(Self::Syslog),
332 _ => None,
333 }
334 }
335
336 #[inline]
337 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
338 match prim {
339 1 => Self::Stdout,
340 2 => Self::Stderr,
341 3 => Self::Syslog,
342 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
343 }
344 }
345
346 #[inline]
347 pub fn unknown() -> Self {
348 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
349 }
350
351 #[inline]
352 pub const fn into_primitive(self) -> u32 {
353 match self {
354 Self::Stdout => 1,
355 Self::Stderr => 2,
356 Self::Syslog => 3,
357 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
358 }
359 }
360
361 #[inline]
362 pub fn is_unknown(&self) -> bool {
363 match self {
364 Self::__SourceBreaking { unknown_ordinal: _ } => true,
365 _ => false,
366 }
367 }
368}
369
370#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
372pub enum UpdateReason {
373 Misc,
376 Init,
379 New,
381 Pulse,
383 Reduce,
385 Done,
387 #[doc(hidden)]
388 __SourceBreaking { unknown_ordinal: u8 },
389}
390
391#[macro_export]
393macro_rules! UpdateReasonUnknown {
394 () => {
395 _
396 };
397}
398
399impl UpdateReason {
400 #[inline]
401 pub fn from_primitive(prim: u8) -> Option<Self> {
402 match prim {
403 1 => Some(Self::Misc),
404 2 => Some(Self::Init),
405 3 => Some(Self::New),
406 4 => Some(Self::Pulse),
407 5 => Some(Self::Reduce),
408 6 => Some(Self::Done),
409 _ => None,
410 }
411 }
412
413 #[inline]
414 pub fn from_primitive_allow_unknown(prim: u8) -> Self {
415 match prim {
416 1 => Self::Misc,
417 2 => Self::Init,
418 3 => Self::New,
419 4 => Self::Pulse,
420 5 => Self::Reduce,
421 6 => Self::Done,
422 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
423 }
424 }
425
426 #[inline]
427 pub fn unknown() -> Self {
428 Self::__SourceBreaking { unknown_ordinal: 0xff }
429 }
430
431 #[inline]
432 pub const fn into_primitive(self) -> u8 {
433 match self {
434 Self::Misc => 1,
435 Self::Init => 2,
436 Self::New => 3,
437 Self::Pulse => 4,
438 Self::Reduce => 5,
439 Self::Done => 6,
440 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
441 }
442 }
443
444 #[inline]
445 pub fn is_unknown(&self) -> bool {
446 match self {
447 Self::__SourceBreaking { unknown_ordinal: _ } => true,
448 _ => false,
449 }
450 }
451}
452
453#[derive(Clone, Debug, PartialEq)]
454pub struct ControllerConfigureRequest {
455 pub options: Options,
456}
457
458impl fidl::Persistable for ControllerConfigureRequest {}
459
460#[derive(Clone, Debug, PartialEq)]
461pub struct ControllerGetOptionsResponse {
462 pub options: Options,
463}
464
465impl fidl::Persistable for ControllerGetOptionsResponse {}
466
467#[derive(Clone, Debug, PartialEq)]
468pub struct ControllerGetStatusResponse {
469 pub status: Status,
470}
471
472impl fidl::Persistable for ControllerGetStatusResponse {}
473
474#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
475#[repr(C)]
476pub struct CorpusReaderNextResponse {
477 pub result: i32,
478}
479
480impl fidl::Persistable for CorpusReaderNextResponse {}
481
482#[derive(Clone, Debug, PartialEq)]
483pub struct CoverageDataCollectorInitializeResponse {
484 pub options: Options,
485}
486
487impl fidl::Persistable for CoverageDataCollectorInitializeResponse {}
488
489#[derive(Clone, Debug, PartialEq)]
490pub struct CoverageDataProviderSetOptionsRequest {
491 pub options: Options,
492}
493
494impl fidl::Persistable for CoverageDataProviderSetOptionsRequest {}
495
496#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
497pub struct ManagerStopRequest {
498 pub fuzzer_url: String,
499}
500
501impl fidl::Persistable for ManagerStopRequest {}
502
503#[derive(Clone, Debug, PartialEq)]
504pub struct MonitorUpdateRequest {
505 pub reason: UpdateReason,
506 pub status: Status,
507}
508
509impl fidl::Persistable for MonitorUpdateRequest {}
510
511#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
518#[repr(C)]
519pub struct ProcessStats {
520 pub koid: u64,
522 pub mem_mapped_bytes: u64,
524 pub mem_private_bytes: u64,
526 pub mem_shared_bytes: u64,
529 pub mem_scaled_shared_bytes: u64,
531 pub cpu_time: i64,
534 pub queue_time: i64,
537 pub page_fault_time: i64,
539 pub lock_contention_time: i64,
542}
543
544impl fidl::Persistable for ProcessStats {}
545
546#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
547pub struct RegistryDisconnectRequest {
548 pub fuzzer_url: String,
549}
550
551impl fidl::Persistable for RegistryDisconnectRequest {}
552
553#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
564pub struct SanitizerOptions {
565 pub name: String,
566 pub value: String,
567}
568
569impl fidl::Persistable for SanitizerOptions {}
570
571#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
572pub struct TargetAdapterGetParametersResponse {
573 pub parameters: Vec<String>,
574}
575
576impl fidl::Persistable for TargetAdapterGetParametersResponse {}
577
578#[derive(Clone, Debug, Default, PartialEq)]
580pub struct Options {
581 pub runs: Option<u32>,
584 pub max_total_time: Option<i64>,
587 pub seed: Option<u32>,
591 pub max_input_size: Option<u64>,
594 pub mutation_depth: Option<u16>,
597 pub dictionary_level: Option<u16>,
601 pub detect_exits: Option<bool>,
604 pub detect_leaks: Option<bool>,
609 pub run_limit: Option<i64>,
612 pub malloc_limit: Option<u64>,
615 pub oom_limit: Option<u64>,
619 pub purge_interval: Option<i64>,
623 pub malloc_exitcode: Option<i32>,
627 pub death_exitcode: Option<i32>,
631 pub leak_exitcode: Option<i32>,
635 pub oom_exitcode: Option<i32>,
639 pub pulse_interval: Option<i64>,
642 pub debug: Option<bool>,
648 pub print_final_stats: Option<bool>,
651 pub use_value_profile: Option<bool>,
655 pub sanitizer_options: Option<SanitizerOptions>,
657 pub output_flags: Option<OutputFlags>,
659 #[doc(hidden)]
660 pub __source_breaking: fidl::marker::SourceBreaking,
661}
662
663impl fidl::Persistable for Options {}
664
665#[derive(Clone, Debug, Default, PartialEq)]
667pub struct Status {
668 pub running: Option<bool>,
670 pub runs: Option<u32>,
672 pub elapsed: Option<i64>,
674 pub covered_pcs: Option<u64>,
676 pub covered_features: Option<u64>,
678 pub corpus_num_inputs: Option<u64>,
680 pub corpus_total_size: Option<u64>,
682 pub process_stats: Option<Vec<ProcessStats>>,
684 #[doc(hidden)]
685 pub __source_breaking: fidl::marker::SourceBreaking,
686}
687
688impl fidl::Persistable for Status {}
689
690mod internal {
691 use super::*;
692 unsafe impl fidl::encoding::TypeMarker for OutputFlags {
693 type Owned = Self;
694
695 #[inline(always)]
696 fn inline_align(_context: fidl::encoding::Context) -> usize {
697 4
698 }
699
700 #[inline(always)]
701 fn inline_size(_context: fidl::encoding::Context) -> usize {
702 4
703 }
704 }
705
706 impl fidl::encoding::ValueTypeMarker for OutputFlags {
707 type Borrowed<'a> = Self;
708 #[inline(always)]
709 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
710 *value
711 }
712 }
713
714 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for OutputFlags {
715 #[inline]
716 unsafe fn encode(
717 self,
718 encoder: &mut fidl::encoding::Encoder<'_, D>,
719 offset: usize,
720 _depth: fidl::encoding::Depth,
721 ) -> fidl::Result<()> {
722 encoder.debug_check_bounds::<Self>(offset);
723 if self.bits() & Self::all().bits() != self.bits() {
724 return Err(fidl::Error::InvalidBitsValue);
725 }
726 encoder.write_num(self.bits(), offset);
727 Ok(())
728 }
729 }
730
731 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for OutputFlags {
732 #[inline(always)]
733 fn new_empty() -> Self {
734 Self::empty()
735 }
736
737 #[inline]
738 unsafe fn decode(
739 &mut self,
740 decoder: &mut fidl::encoding::Decoder<'_, D>,
741 offset: usize,
742 _depth: fidl::encoding::Depth,
743 ) -> fidl::Result<()> {
744 decoder.debug_check_bounds::<Self>(offset);
745 let prim = decoder.read_num::<u32>(offset);
746 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
747 Ok(())
748 }
749 }
750 unsafe impl fidl::encoding::TypeMarker for Corpus {
751 type Owned = Self;
752
753 #[inline(always)]
754 fn inline_align(_context: fidl::encoding::Context) -> usize {
755 std::mem::align_of::<u8>()
756 }
757
758 #[inline(always)]
759 fn inline_size(_context: fidl::encoding::Context) -> usize {
760 std::mem::size_of::<u8>()
761 }
762
763 #[inline(always)]
764 fn encode_is_copy() -> bool {
765 false
766 }
767
768 #[inline(always)]
769 fn decode_is_copy() -> bool {
770 false
771 }
772 }
773
774 impl fidl::encoding::ValueTypeMarker for Corpus {
775 type Borrowed<'a> = Self;
776 #[inline(always)]
777 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
778 *value
779 }
780 }
781
782 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for Corpus {
783 #[inline]
784 unsafe fn encode(
785 self,
786 encoder: &mut fidl::encoding::Encoder<'_, D>,
787 offset: usize,
788 _depth: fidl::encoding::Depth,
789 ) -> fidl::Result<()> {
790 encoder.debug_check_bounds::<Self>(offset);
791 encoder.write_num(self.into_primitive(), offset);
792 Ok(())
793 }
794 }
795
796 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Corpus {
797 #[inline(always)]
798 fn new_empty() -> Self {
799 Self::unknown()
800 }
801
802 #[inline]
803 unsafe fn decode(
804 &mut self,
805 decoder: &mut fidl::encoding::Decoder<'_, D>,
806 offset: usize,
807 _depth: fidl::encoding::Depth,
808 ) -> fidl::Result<()> {
809 decoder.debug_check_bounds::<Self>(offset);
810 let prim = decoder.read_num::<u8>(offset);
811
812 *self = Self::from_primitive_allow_unknown(prim);
813 Ok(())
814 }
815 }
816 unsafe impl fidl::encoding::TypeMarker for Result_ {
817 type Owned = Self;
818
819 #[inline(always)]
820 fn inline_align(_context: fidl::encoding::Context) -> usize {
821 std::mem::align_of::<u32>()
822 }
823
824 #[inline(always)]
825 fn inline_size(_context: fidl::encoding::Context) -> usize {
826 std::mem::size_of::<u32>()
827 }
828
829 #[inline(always)]
830 fn encode_is_copy() -> bool {
831 false
832 }
833
834 #[inline(always)]
835 fn decode_is_copy() -> bool {
836 false
837 }
838 }
839
840 impl fidl::encoding::ValueTypeMarker for Result_ {
841 type Borrowed<'a> = Self;
842 #[inline(always)]
843 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
844 *value
845 }
846 }
847
848 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for Result_ {
849 #[inline]
850 unsafe fn encode(
851 self,
852 encoder: &mut fidl::encoding::Encoder<'_, D>,
853 offset: usize,
854 _depth: fidl::encoding::Depth,
855 ) -> fidl::Result<()> {
856 encoder.debug_check_bounds::<Self>(offset);
857 encoder.write_num(self.into_primitive(), offset);
858 Ok(())
859 }
860 }
861
862 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Result_ {
863 #[inline(always)]
864 fn new_empty() -> Self {
865 Self::unknown()
866 }
867
868 #[inline]
869 unsafe fn decode(
870 &mut self,
871 decoder: &mut fidl::encoding::Decoder<'_, D>,
872 offset: usize,
873 _depth: fidl::encoding::Depth,
874 ) -> fidl::Result<()> {
875 decoder.debug_check_bounds::<Self>(offset);
876 let prim = decoder.read_num::<u32>(offset);
877
878 *self = Self::from_primitive_allow_unknown(prim);
879 Ok(())
880 }
881 }
882 unsafe impl fidl::encoding::TypeMarker for TestOutput {
883 type Owned = Self;
884
885 #[inline(always)]
886 fn inline_align(_context: fidl::encoding::Context) -> usize {
887 std::mem::align_of::<u32>()
888 }
889
890 #[inline(always)]
891 fn inline_size(_context: fidl::encoding::Context) -> usize {
892 std::mem::size_of::<u32>()
893 }
894
895 #[inline(always)]
896 fn encode_is_copy() -> bool {
897 false
898 }
899
900 #[inline(always)]
901 fn decode_is_copy() -> bool {
902 false
903 }
904 }
905
906 impl fidl::encoding::ValueTypeMarker for TestOutput {
907 type Borrowed<'a> = Self;
908 #[inline(always)]
909 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
910 *value
911 }
912 }
913
914 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for TestOutput {
915 #[inline]
916 unsafe fn encode(
917 self,
918 encoder: &mut fidl::encoding::Encoder<'_, D>,
919 offset: usize,
920 _depth: fidl::encoding::Depth,
921 ) -> fidl::Result<()> {
922 encoder.debug_check_bounds::<Self>(offset);
923 encoder.write_num(self.into_primitive(), offset);
924 Ok(())
925 }
926 }
927
928 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for TestOutput {
929 #[inline(always)]
930 fn new_empty() -> Self {
931 Self::unknown()
932 }
933
934 #[inline]
935 unsafe fn decode(
936 &mut self,
937 decoder: &mut fidl::encoding::Decoder<'_, D>,
938 offset: usize,
939 _depth: fidl::encoding::Depth,
940 ) -> fidl::Result<()> {
941 decoder.debug_check_bounds::<Self>(offset);
942 let prim = decoder.read_num::<u32>(offset);
943
944 *self = Self::from_primitive_allow_unknown(prim);
945 Ok(())
946 }
947 }
948 unsafe impl fidl::encoding::TypeMarker for UpdateReason {
949 type Owned = Self;
950
951 #[inline(always)]
952 fn inline_align(_context: fidl::encoding::Context) -> usize {
953 std::mem::align_of::<u8>()
954 }
955
956 #[inline(always)]
957 fn inline_size(_context: fidl::encoding::Context) -> usize {
958 std::mem::size_of::<u8>()
959 }
960
961 #[inline(always)]
962 fn encode_is_copy() -> bool {
963 false
964 }
965
966 #[inline(always)]
967 fn decode_is_copy() -> bool {
968 false
969 }
970 }
971
972 impl fidl::encoding::ValueTypeMarker for UpdateReason {
973 type Borrowed<'a> = Self;
974 #[inline(always)]
975 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
976 *value
977 }
978 }
979
980 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for UpdateReason {
981 #[inline]
982 unsafe fn encode(
983 self,
984 encoder: &mut fidl::encoding::Encoder<'_, D>,
985 offset: usize,
986 _depth: fidl::encoding::Depth,
987 ) -> fidl::Result<()> {
988 encoder.debug_check_bounds::<Self>(offset);
989 encoder.write_num(self.into_primitive(), offset);
990 Ok(())
991 }
992 }
993
994 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for UpdateReason {
995 #[inline(always)]
996 fn new_empty() -> Self {
997 Self::unknown()
998 }
999
1000 #[inline]
1001 unsafe fn decode(
1002 &mut self,
1003 decoder: &mut fidl::encoding::Decoder<'_, D>,
1004 offset: usize,
1005 _depth: fidl::encoding::Depth,
1006 ) -> fidl::Result<()> {
1007 decoder.debug_check_bounds::<Self>(offset);
1008 let prim = decoder.read_num::<u8>(offset);
1009
1010 *self = Self::from_primitive_allow_unknown(prim);
1011 Ok(())
1012 }
1013 }
1014
1015 impl fidl::encoding::ValueTypeMarker for ControllerConfigureRequest {
1016 type Borrowed<'a> = &'a Self;
1017 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1018 value
1019 }
1020 }
1021
1022 unsafe impl fidl::encoding::TypeMarker for ControllerConfigureRequest {
1023 type Owned = Self;
1024
1025 #[inline(always)]
1026 fn inline_align(_context: fidl::encoding::Context) -> usize {
1027 8
1028 }
1029
1030 #[inline(always)]
1031 fn inline_size(_context: fidl::encoding::Context) -> usize {
1032 16
1033 }
1034 }
1035
1036 unsafe impl<D: fidl::encoding::ResourceDialect>
1037 fidl::encoding::Encode<ControllerConfigureRequest, D> for &ControllerConfigureRequest
1038 {
1039 #[inline]
1040 unsafe fn encode(
1041 self,
1042 encoder: &mut fidl::encoding::Encoder<'_, D>,
1043 offset: usize,
1044 _depth: fidl::encoding::Depth,
1045 ) -> fidl::Result<()> {
1046 encoder.debug_check_bounds::<ControllerConfigureRequest>(offset);
1047 fidl::encoding::Encode::<ControllerConfigureRequest, D>::encode(
1049 (<Options as fidl::encoding::ValueTypeMarker>::borrow(&self.options),),
1050 encoder,
1051 offset,
1052 _depth,
1053 )
1054 }
1055 }
1056 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<Options, D>>
1057 fidl::encoding::Encode<ControllerConfigureRequest, D> for (T0,)
1058 {
1059 #[inline]
1060 unsafe fn encode(
1061 self,
1062 encoder: &mut fidl::encoding::Encoder<'_, D>,
1063 offset: usize,
1064 depth: fidl::encoding::Depth,
1065 ) -> fidl::Result<()> {
1066 encoder.debug_check_bounds::<ControllerConfigureRequest>(offset);
1067 self.0.encode(encoder, offset + 0, depth)?;
1071 Ok(())
1072 }
1073 }
1074
1075 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1076 for ControllerConfigureRequest
1077 {
1078 #[inline(always)]
1079 fn new_empty() -> Self {
1080 Self { options: fidl::new_empty!(Options, D) }
1081 }
1082
1083 #[inline]
1084 unsafe fn decode(
1085 &mut self,
1086 decoder: &mut fidl::encoding::Decoder<'_, D>,
1087 offset: usize,
1088 _depth: fidl::encoding::Depth,
1089 ) -> fidl::Result<()> {
1090 decoder.debug_check_bounds::<Self>(offset);
1091 fidl::decode!(Options, D, &mut self.options, decoder, offset + 0, _depth)?;
1093 Ok(())
1094 }
1095 }
1096
1097 impl fidl::encoding::ValueTypeMarker for ControllerGetOptionsResponse {
1098 type Borrowed<'a> = &'a Self;
1099 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1100 value
1101 }
1102 }
1103
1104 unsafe impl fidl::encoding::TypeMarker for ControllerGetOptionsResponse {
1105 type Owned = Self;
1106
1107 #[inline(always)]
1108 fn inline_align(_context: fidl::encoding::Context) -> usize {
1109 8
1110 }
1111
1112 #[inline(always)]
1113 fn inline_size(_context: fidl::encoding::Context) -> usize {
1114 16
1115 }
1116 }
1117
1118 unsafe impl<D: fidl::encoding::ResourceDialect>
1119 fidl::encoding::Encode<ControllerGetOptionsResponse, D> for &ControllerGetOptionsResponse
1120 {
1121 #[inline]
1122 unsafe fn encode(
1123 self,
1124 encoder: &mut fidl::encoding::Encoder<'_, D>,
1125 offset: usize,
1126 _depth: fidl::encoding::Depth,
1127 ) -> fidl::Result<()> {
1128 encoder.debug_check_bounds::<ControllerGetOptionsResponse>(offset);
1129 fidl::encoding::Encode::<ControllerGetOptionsResponse, D>::encode(
1131 (<Options as fidl::encoding::ValueTypeMarker>::borrow(&self.options),),
1132 encoder,
1133 offset,
1134 _depth,
1135 )
1136 }
1137 }
1138 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<Options, D>>
1139 fidl::encoding::Encode<ControllerGetOptionsResponse, D> for (T0,)
1140 {
1141 #[inline]
1142 unsafe fn encode(
1143 self,
1144 encoder: &mut fidl::encoding::Encoder<'_, D>,
1145 offset: usize,
1146 depth: fidl::encoding::Depth,
1147 ) -> fidl::Result<()> {
1148 encoder.debug_check_bounds::<ControllerGetOptionsResponse>(offset);
1149 self.0.encode(encoder, offset + 0, depth)?;
1153 Ok(())
1154 }
1155 }
1156
1157 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1158 for ControllerGetOptionsResponse
1159 {
1160 #[inline(always)]
1161 fn new_empty() -> Self {
1162 Self { options: fidl::new_empty!(Options, D) }
1163 }
1164
1165 #[inline]
1166 unsafe fn decode(
1167 &mut self,
1168 decoder: &mut fidl::encoding::Decoder<'_, D>,
1169 offset: usize,
1170 _depth: fidl::encoding::Depth,
1171 ) -> fidl::Result<()> {
1172 decoder.debug_check_bounds::<Self>(offset);
1173 fidl::decode!(Options, D, &mut self.options, decoder, offset + 0, _depth)?;
1175 Ok(())
1176 }
1177 }
1178
1179 impl fidl::encoding::ValueTypeMarker for ControllerGetStatusResponse {
1180 type Borrowed<'a> = &'a Self;
1181 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1182 value
1183 }
1184 }
1185
1186 unsafe impl fidl::encoding::TypeMarker for ControllerGetStatusResponse {
1187 type Owned = Self;
1188
1189 #[inline(always)]
1190 fn inline_align(_context: fidl::encoding::Context) -> usize {
1191 8
1192 }
1193
1194 #[inline(always)]
1195 fn inline_size(_context: fidl::encoding::Context) -> usize {
1196 16
1197 }
1198 }
1199
1200 unsafe impl<D: fidl::encoding::ResourceDialect>
1201 fidl::encoding::Encode<ControllerGetStatusResponse, D> for &ControllerGetStatusResponse
1202 {
1203 #[inline]
1204 unsafe fn encode(
1205 self,
1206 encoder: &mut fidl::encoding::Encoder<'_, D>,
1207 offset: usize,
1208 _depth: fidl::encoding::Depth,
1209 ) -> fidl::Result<()> {
1210 encoder.debug_check_bounds::<ControllerGetStatusResponse>(offset);
1211 fidl::encoding::Encode::<ControllerGetStatusResponse, D>::encode(
1213 (<Status as fidl::encoding::ValueTypeMarker>::borrow(&self.status),),
1214 encoder,
1215 offset,
1216 _depth,
1217 )
1218 }
1219 }
1220 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<Status, D>>
1221 fidl::encoding::Encode<ControllerGetStatusResponse, D> for (T0,)
1222 {
1223 #[inline]
1224 unsafe fn encode(
1225 self,
1226 encoder: &mut fidl::encoding::Encoder<'_, D>,
1227 offset: usize,
1228 depth: fidl::encoding::Depth,
1229 ) -> fidl::Result<()> {
1230 encoder.debug_check_bounds::<ControllerGetStatusResponse>(offset);
1231 self.0.encode(encoder, offset + 0, depth)?;
1235 Ok(())
1236 }
1237 }
1238
1239 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1240 for ControllerGetStatusResponse
1241 {
1242 #[inline(always)]
1243 fn new_empty() -> Self {
1244 Self { status: fidl::new_empty!(Status, D) }
1245 }
1246
1247 #[inline]
1248 unsafe fn decode(
1249 &mut self,
1250 decoder: &mut fidl::encoding::Decoder<'_, D>,
1251 offset: usize,
1252 _depth: fidl::encoding::Depth,
1253 ) -> fidl::Result<()> {
1254 decoder.debug_check_bounds::<Self>(offset);
1255 fidl::decode!(Status, D, &mut self.status, decoder, offset + 0, _depth)?;
1257 Ok(())
1258 }
1259 }
1260
1261 impl fidl::encoding::ValueTypeMarker for CorpusReaderNextResponse {
1262 type Borrowed<'a> = &'a Self;
1263 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1264 value
1265 }
1266 }
1267
1268 unsafe impl fidl::encoding::TypeMarker for CorpusReaderNextResponse {
1269 type Owned = Self;
1270
1271 #[inline(always)]
1272 fn inline_align(_context: fidl::encoding::Context) -> usize {
1273 4
1274 }
1275
1276 #[inline(always)]
1277 fn inline_size(_context: fidl::encoding::Context) -> usize {
1278 4
1279 }
1280 #[inline(always)]
1281 fn encode_is_copy() -> bool {
1282 true
1283 }
1284
1285 #[inline(always)]
1286 fn decode_is_copy() -> bool {
1287 true
1288 }
1289 }
1290
1291 unsafe impl<D: fidl::encoding::ResourceDialect>
1292 fidl::encoding::Encode<CorpusReaderNextResponse, D> for &CorpusReaderNextResponse
1293 {
1294 #[inline]
1295 unsafe fn encode(
1296 self,
1297 encoder: &mut fidl::encoding::Encoder<'_, D>,
1298 offset: usize,
1299 _depth: fidl::encoding::Depth,
1300 ) -> fidl::Result<()> {
1301 encoder.debug_check_bounds::<CorpusReaderNextResponse>(offset);
1302 unsafe {
1303 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1305 (buf_ptr as *mut CorpusReaderNextResponse)
1306 .write_unaligned((self as *const CorpusReaderNextResponse).read());
1307 }
1310 Ok(())
1311 }
1312 }
1313 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
1314 fidl::encoding::Encode<CorpusReaderNextResponse, D> for (T0,)
1315 {
1316 #[inline]
1317 unsafe fn encode(
1318 self,
1319 encoder: &mut fidl::encoding::Encoder<'_, D>,
1320 offset: usize,
1321 depth: fidl::encoding::Depth,
1322 ) -> fidl::Result<()> {
1323 encoder.debug_check_bounds::<CorpusReaderNextResponse>(offset);
1324 self.0.encode(encoder, offset + 0, depth)?;
1328 Ok(())
1329 }
1330 }
1331
1332 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1333 for CorpusReaderNextResponse
1334 {
1335 #[inline(always)]
1336 fn new_empty() -> Self {
1337 Self { result: fidl::new_empty!(i32, D) }
1338 }
1339
1340 #[inline]
1341 unsafe fn decode(
1342 &mut self,
1343 decoder: &mut fidl::encoding::Decoder<'_, D>,
1344 offset: usize,
1345 _depth: fidl::encoding::Depth,
1346 ) -> fidl::Result<()> {
1347 decoder.debug_check_bounds::<Self>(offset);
1348 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1349 unsafe {
1352 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
1353 }
1354 Ok(())
1355 }
1356 }
1357
1358 impl fidl::encoding::ValueTypeMarker for CoverageDataCollectorInitializeResponse {
1359 type Borrowed<'a> = &'a Self;
1360 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1361 value
1362 }
1363 }
1364
1365 unsafe impl fidl::encoding::TypeMarker for CoverageDataCollectorInitializeResponse {
1366 type Owned = Self;
1367
1368 #[inline(always)]
1369 fn inline_align(_context: fidl::encoding::Context) -> usize {
1370 8
1371 }
1372
1373 #[inline(always)]
1374 fn inline_size(_context: fidl::encoding::Context) -> usize {
1375 16
1376 }
1377 }
1378
1379 unsafe impl<D: fidl::encoding::ResourceDialect>
1380 fidl::encoding::Encode<CoverageDataCollectorInitializeResponse, D>
1381 for &CoverageDataCollectorInitializeResponse
1382 {
1383 #[inline]
1384 unsafe fn encode(
1385 self,
1386 encoder: &mut fidl::encoding::Encoder<'_, D>,
1387 offset: usize,
1388 _depth: fidl::encoding::Depth,
1389 ) -> fidl::Result<()> {
1390 encoder.debug_check_bounds::<CoverageDataCollectorInitializeResponse>(offset);
1391 fidl::encoding::Encode::<CoverageDataCollectorInitializeResponse, D>::encode(
1393 (<Options as fidl::encoding::ValueTypeMarker>::borrow(&self.options),),
1394 encoder,
1395 offset,
1396 _depth,
1397 )
1398 }
1399 }
1400 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<Options, D>>
1401 fidl::encoding::Encode<CoverageDataCollectorInitializeResponse, D> for (T0,)
1402 {
1403 #[inline]
1404 unsafe fn encode(
1405 self,
1406 encoder: &mut fidl::encoding::Encoder<'_, D>,
1407 offset: usize,
1408 depth: fidl::encoding::Depth,
1409 ) -> fidl::Result<()> {
1410 encoder.debug_check_bounds::<CoverageDataCollectorInitializeResponse>(offset);
1411 self.0.encode(encoder, offset + 0, depth)?;
1415 Ok(())
1416 }
1417 }
1418
1419 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1420 for CoverageDataCollectorInitializeResponse
1421 {
1422 #[inline(always)]
1423 fn new_empty() -> Self {
1424 Self { options: fidl::new_empty!(Options, D) }
1425 }
1426
1427 #[inline]
1428 unsafe fn decode(
1429 &mut self,
1430 decoder: &mut fidl::encoding::Decoder<'_, D>,
1431 offset: usize,
1432 _depth: fidl::encoding::Depth,
1433 ) -> fidl::Result<()> {
1434 decoder.debug_check_bounds::<Self>(offset);
1435 fidl::decode!(Options, D, &mut self.options, decoder, offset + 0, _depth)?;
1437 Ok(())
1438 }
1439 }
1440
1441 impl fidl::encoding::ValueTypeMarker for CoverageDataProviderSetOptionsRequest {
1442 type Borrowed<'a> = &'a Self;
1443 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1444 value
1445 }
1446 }
1447
1448 unsafe impl fidl::encoding::TypeMarker for CoverageDataProviderSetOptionsRequest {
1449 type Owned = Self;
1450
1451 #[inline(always)]
1452 fn inline_align(_context: fidl::encoding::Context) -> usize {
1453 8
1454 }
1455
1456 #[inline(always)]
1457 fn inline_size(_context: fidl::encoding::Context) -> usize {
1458 16
1459 }
1460 }
1461
1462 unsafe impl<D: fidl::encoding::ResourceDialect>
1463 fidl::encoding::Encode<CoverageDataProviderSetOptionsRequest, D>
1464 for &CoverageDataProviderSetOptionsRequest
1465 {
1466 #[inline]
1467 unsafe fn encode(
1468 self,
1469 encoder: &mut fidl::encoding::Encoder<'_, D>,
1470 offset: usize,
1471 _depth: fidl::encoding::Depth,
1472 ) -> fidl::Result<()> {
1473 encoder.debug_check_bounds::<CoverageDataProviderSetOptionsRequest>(offset);
1474 fidl::encoding::Encode::<CoverageDataProviderSetOptionsRequest, D>::encode(
1476 (<Options as fidl::encoding::ValueTypeMarker>::borrow(&self.options),),
1477 encoder,
1478 offset,
1479 _depth,
1480 )
1481 }
1482 }
1483 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<Options, D>>
1484 fidl::encoding::Encode<CoverageDataProviderSetOptionsRequest, D> for (T0,)
1485 {
1486 #[inline]
1487 unsafe fn encode(
1488 self,
1489 encoder: &mut fidl::encoding::Encoder<'_, D>,
1490 offset: usize,
1491 depth: fidl::encoding::Depth,
1492 ) -> fidl::Result<()> {
1493 encoder.debug_check_bounds::<CoverageDataProviderSetOptionsRequest>(offset);
1494 self.0.encode(encoder, offset + 0, depth)?;
1498 Ok(())
1499 }
1500 }
1501
1502 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1503 for CoverageDataProviderSetOptionsRequest
1504 {
1505 #[inline(always)]
1506 fn new_empty() -> Self {
1507 Self { options: fidl::new_empty!(Options, D) }
1508 }
1509
1510 #[inline]
1511 unsafe fn decode(
1512 &mut self,
1513 decoder: &mut fidl::encoding::Decoder<'_, D>,
1514 offset: usize,
1515 _depth: fidl::encoding::Depth,
1516 ) -> fidl::Result<()> {
1517 decoder.debug_check_bounds::<Self>(offset);
1518 fidl::decode!(Options, D, &mut self.options, decoder, offset + 0, _depth)?;
1520 Ok(())
1521 }
1522 }
1523
1524 impl fidl::encoding::ValueTypeMarker for ManagerStopRequest {
1525 type Borrowed<'a> = &'a Self;
1526 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1527 value
1528 }
1529 }
1530
1531 unsafe impl fidl::encoding::TypeMarker for ManagerStopRequest {
1532 type Owned = Self;
1533
1534 #[inline(always)]
1535 fn inline_align(_context: fidl::encoding::Context) -> usize {
1536 8
1537 }
1538
1539 #[inline(always)]
1540 fn inline_size(_context: fidl::encoding::Context) -> usize {
1541 16
1542 }
1543 }
1544
1545 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ManagerStopRequest, D>
1546 for &ManagerStopRequest
1547 {
1548 #[inline]
1549 unsafe fn encode(
1550 self,
1551 encoder: &mut fidl::encoding::Encoder<'_, D>,
1552 offset: usize,
1553 _depth: fidl::encoding::Depth,
1554 ) -> fidl::Result<()> {
1555 encoder.debug_check_bounds::<ManagerStopRequest>(offset);
1556 fidl::encoding::Encode::<ManagerStopRequest, D>::encode(
1558 (<fidl::encoding::BoundedString<4096> as fidl::encoding::ValueTypeMarker>::borrow(
1559 &self.fuzzer_url,
1560 ),),
1561 encoder,
1562 offset,
1563 _depth,
1564 )
1565 }
1566 }
1567 unsafe impl<
1568 D: fidl::encoding::ResourceDialect,
1569 T0: fidl::encoding::Encode<fidl::encoding::BoundedString<4096>, D>,
1570 > fidl::encoding::Encode<ManagerStopRequest, D> for (T0,)
1571 {
1572 #[inline]
1573 unsafe fn encode(
1574 self,
1575 encoder: &mut fidl::encoding::Encoder<'_, D>,
1576 offset: usize,
1577 depth: fidl::encoding::Depth,
1578 ) -> fidl::Result<()> {
1579 encoder.debug_check_bounds::<ManagerStopRequest>(offset);
1580 self.0.encode(encoder, offset + 0, depth)?;
1584 Ok(())
1585 }
1586 }
1587
1588 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ManagerStopRequest {
1589 #[inline(always)]
1590 fn new_empty() -> Self {
1591 Self { fuzzer_url: fidl::new_empty!(fidl::encoding::BoundedString<4096>, D) }
1592 }
1593
1594 #[inline]
1595 unsafe fn decode(
1596 &mut self,
1597 decoder: &mut fidl::encoding::Decoder<'_, D>,
1598 offset: usize,
1599 _depth: fidl::encoding::Depth,
1600 ) -> fidl::Result<()> {
1601 decoder.debug_check_bounds::<Self>(offset);
1602 fidl::decode!(
1604 fidl::encoding::BoundedString<4096>,
1605 D,
1606 &mut self.fuzzer_url,
1607 decoder,
1608 offset + 0,
1609 _depth
1610 )?;
1611 Ok(())
1612 }
1613 }
1614
1615 impl fidl::encoding::ValueTypeMarker for MonitorUpdateRequest {
1616 type Borrowed<'a> = &'a Self;
1617 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1618 value
1619 }
1620 }
1621
1622 unsafe impl fidl::encoding::TypeMarker for MonitorUpdateRequest {
1623 type Owned = Self;
1624
1625 #[inline(always)]
1626 fn inline_align(_context: fidl::encoding::Context) -> usize {
1627 8
1628 }
1629
1630 #[inline(always)]
1631 fn inline_size(_context: fidl::encoding::Context) -> usize {
1632 24
1633 }
1634 }
1635
1636 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MonitorUpdateRequest, D>
1637 for &MonitorUpdateRequest
1638 {
1639 #[inline]
1640 unsafe fn encode(
1641 self,
1642 encoder: &mut fidl::encoding::Encoder<'_, D>,
1643 offset: usize,
1644 _depth: fidl::encoding::Depth,
1645 ) -> fidl::Result<()> {
1646 encoder.debug_check_bounds::<MonitorUpdateRequest>(offset);
1647 fidl::encoding::Encode::<MonitorUpdateRequest, D>::encode(
1649 (
1650 <UpdateReason as fidl::encoding::ValueTypeMarker>::borrow(&self.reason),
1651 <Status as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
1652 ),
1653 encoder,
1654 offset,
1655 _depth,
1656 )
1657 }
1658 }
1659 unsafe impl<
1660 D: fidl::encoding::ResourceDialect,
1661 T0: fidl::encoding::Encode<UpdateReason, D>,
1662 T1: fidl::encoding::Encode<Status, D>,
1663 > fidl::encoding::Encode<MonitorUpdateRequest, D> for (T0, T1)
1664 {
1665 #[inline]
1666 unsafe fn encode(
1667 self,
1668 encoder: &mut fidl::encoding::Encoder<'_, D>,
1669 offset: usize,
1670 depth: fidl::encoding::Depth,
1671 ) -> fidl::Result<()> {
1672 encoder.debug_check_bounds::<MonitorUpdateRequest>(offset);
1673 unsafe {
1676 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
1677 (ptr as *mut u64).write_unaligned(0);
1678 }
1679 self.0.encode(encoder, offset + 0, depth)?;
1681 self.1.encode(encoder, offset + 8, depth)?;
1682 Ok(())
1683 }
1684 }
1685
1686 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MonitorUpdateRequest {
1687 #[inline(always)]
1688 fn new_empty() -> Self {
1689 Self { reason: fidl::new_empty!(UpdateReason, D), status: fidl::new_empty!(Status, D) }
1690 }
1691
1692 #[inline]
1693 unsafe fn decode(
1694 &mut self,
1695 decoder: &mut fidl::encoding::Decoder<'_, D>,
1696 offset: usize,
1697 _depth: fidl::encoding::Depth,
1698 ) -> fidl::Result<()> {
1699 decoder.debug_check_bounds::<Self>(offset);
1700 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
1702 let padval = unsafe { (ptr as *const u64).read_unaligned() };
1703 let mask = 0xffffffffffffff00u64;
1704 let maskedval = padval & mask;
1705 if maskedval != 0 {
1706 return Err(fidl::Error::NonZeroPadding {
1707 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
1708 });
1709 }
1710 fidl::decode!(UpdateReason, D, &mut self.reason, decoder, offset + 0, _depth)?;
1711 fidl::decode!(Status, D, &mut self.status, decoder, offset + 8, _depth)?;
1712 Ok(())
1713 }
1714 }
1715
1716 impl fidl::encoding::ValueTypeMarker for ProcessStats {
1717 type Borrowed<'a> = &'a Self;
1718 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1719 value
1720 }
1721 }
1722
1723 unsafe impl fidl::encoding::TypeMarker for ProcessStats {
1724 type Owned = Self;
1725
1726 #[inline(always)]
1727 fn inline_align(_context: fidl::encoding::Context) -> usize {
1728 8
1729 }
1730
1731 #[inline(always)]
1732 fn inline_size(_context: fidl::encoding::Context) -> usize {
1733 72
1734 }
1735 #[inline(always)]
1736 fn encode_is_copy() -> bool {
1737 true
1738 }
1739
1740 #[inline(always)]
1741 fn decode_is_copy() -> bool {
1742 true
1743 }
1744 }
1745
1746 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ProcessStats, D>
1747 for &ProcessStats
1748 {
1749 #[inline]
1750 unsafe fn encode(
1751 self,
1752 encoder: &mut fidl::encoding::Encoder<'_, D>,
1753 offset: usize,
1754 _depth: fidl::encoding::Depth,
1755 ) -> fidl::Result<()> {
1756 encoder.debug_check_bounds::<ProcessStats>(offset);
1757 unsafe {
1758 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1760 (buf_ptr as *mut ProcessStats)
1761 .write_unaligned((self as *const ProcessStats).read());
1762 }
1765 Ok(())
1766 }
1767 }
1768 unsafe impl<
1769 D: fidl::encoding::ResourceDialect,
1770 T0: fidl::encoding::Encode<u64, D>,
1771 T1: fidl::encoding::Encode<u64, D>,
1772 T2: fidl::encoding::Encode<u64, D>,
1773 T3: fidl::encoding::Encode<u64, D>,
1774 T4: fidl::encoding::Encode<u64, D>,
1775 T5: fidl::encoding::Encode<i64, D>,
1776 T6: fidl::encoding::Encode<i64, D>,
1777 T7: fidl::encoding::Encode<i64, D>,
1778 T8: fidl::encoding::Encode<i64, D>,
1779 > fidl::encoding::Encode<ProcessStats, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
1780 {
1781 #[inline]
1782 unsafe fn encode(
1783 self,
1784 encoder: &mut fidl::encoding::Encoder<'_, D>,
1785 offset: usize,
1786 depth: fidl::encoding::Depth,
1787 ) -> fidl::Result<()> {
1788 encoder.debug_check_bounds::<ProcessStats>(offset);
1789 self.0.encode(encoder, offset + 0, depth)?;
1793 self.1.encode(encoder, offset + 8, depth)?;
1794 self.2.encode(encoder, offset + 16, depth)?;
1795 self.3.encode(encoder, offset + 24, depth)?;
1796 self.4.encode(encoder, offset + 32, depth)?;
1797 self.5.encode(encoder, offset + 40, depth)?;
1798 self.6.encode(encoder, offset + 48, depth)?;
1799 self.7.encode(encoder, offset + 56, depth)?;
1800 self.8.encode(encoder, offset + 64, depth)?;
1801 Ok(())
1802 }
1803 }
1804
1805 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ProcessStats {
1806 #[inline(always)]
1807 fn new_empty() -> Self {
1808 Self {
1809 koid: fidl::new_empty!(u64, D),
1810 mem_mapped_bytes: fidl::new_empty!(u64, D),
1811 mem_private_bytes: fidl::new_empty!(u64, D),
1812 mem_shared_bytes: fidl::new_empty!(u64, D),
1813 mem_scaled_shared_bytes: fidl::new_empty!(u64, D),
1814 cpu_time: fidl::new_empty!(i64, D),
1815 queue_time: fidl::new_empty!(i64, D),
1816 page_fault_time: fidl::new_empty!(i64, D),
1817 lock_contention_time: fidl::new_empty!(i64, D),
1818 }
1819 }
1820
1821 #[inline]
1822 unsafe fn decode(
1823 &mut self,
1824 decoder: &mut fidl::encoding::Decoder<'_, D>,
1825 offset: usize,
1826 _depth: fidl::encoding::Depth,
1827 ) -> fidl::Result<()> {
1828 decoder.debug_check_bounds::<Self>(offset);
1829 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1830 unsafe {
1833 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 72);
1834 }
1835 Ok(())
1836 }
1837 }
1838
1839 impl fidl::encoding::ValueTypeMarker for RegistryDisconnectRequest {
1840 type Borrowed<'a> = &'a Self;
1841 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1842 value
1843 }
1844 }
1845
1846 unsafe impl fidl::encoding::TypeMarker for RegistryDisconnectRequest {
1847 type Owned = Self;
1848
1849 #[inline(always)]
1850 fn inline_align(_context: fidl::encoding::Context) -> usize {
1851 8
1852 }
1853
1854 #[inline(always)]
1855 fn inline_size(_context: fidl::encoding::Context) -> usize {
1856 16
1857 }
1858 }
1859
1860 unsafe impl<D: fidl::encoding::ResourceDialect>
1861 fidl::encoding::Encode<RegistryDisconnectRequest, D> for &RegistryDisconnectRequest
1862 {
1863 #[inline]
1864 unsafe fn encode(
1865 self,
1866 encoder: &mut fidl::encoding::Encoder<'_, D>,
1867 offset: usize,
1868 _depth: fidl::encoding::Depth,
1869 ) -> fidl::Result<()> {
1870 encoder.debug_check_bounds::<RegistryDisconnectRequest>(offset);
1871 fidl::encoding::Encode::<RegistryDisconnectRequest, D>::encode(
1873 (<fidl::encoding::BoundedString<4096> as fidl::encoding::ValueTypeMarker>::borrow(
1874 &self.fuzzer_url,
1875 ),),
1876 encoder,
1877 offset,
1878 _depth,
1879 )
1880 }
1881 }
1882 unsafe impl<
1883 D: fidl::encoding::ResourceDialect,
1884 T0: fidl::encoding::Encode<fidl::encoding::BoundedString<4096>, D>,
1885 > fidl::encoding::Encode<RegistryDisconnectRequest, D> for (T0,)
1886 {
1887 #[inline]
1888 unsafe fn encode(
1889 self,
1890 encoder: &mut fidl::encoding::Encoder<'_, D>,
1891 offset: usize,
1892 depth: fidl::encoding::Depth,
1893 ) -> fidl::Result<()> {
1894 encoder.debug_check_bounds::<RegistryDisconnectRequest>(offset);
1895 self.0.encode(encoder, offset + 0, depth)?;
1899 Ok(())
1900 }
1901 }
1902
1903 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1904 for RegistryDisconnectRequest
1905 {
1906 #[inline(always)]
1907 fn new_empty() -> Self {
1908 Self { fuzzer_url: fidl::new_empty!(fidl::encoding::BoundedString<4096>, D) }
1909 }
1910
1911 #[inline]
1912 unsafe fn decode(
1913 &mut self,
1914 decoder: &mut fidl::encoding::Decoder<'_, D>,
1915 offset: usize,
1916 _depth: fidl::encoding::Depth,
1917 ) -> fidl::Result<()> {
1918 decoder.debug_check_bounds::<Self>(offset);
1919 fidl::decode!(
1921 fidl::encoding::BoundedString<4096>,
1922 D,
1923 &mut self.fuzzer_url,
1924 decoder,
1925 offset + 0,
1926 _depth
1927 )?;
1928 Ok(())
1929 }
1930 }
1931
1932 impl fidl::encoding::ValueTypeMarker for SanitizerOptions {
1933 type Borrowed<'a> = &'a Self;
1934 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1935 value
1936 }
1937 }
1938
1939 unsafe impl fidl::encoding::TypeMarker for SanitizerOptions {
1940 type Owned = Self;
1941
1942 #[inline(always)]
1943 fn inline_align(_context: fidl::encoding::Context) -> usize {
1944 8
1945 }
1946
1947 #[inline(always)]
1948 fn inline_size(_context: fidl::encoding::Context) -> usize {
1949 32
1950 }
1951 }
1952
1953 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SanitizerOptions, D>
1954 for &SanitizerOptions
1955 {
1956 #[inline]
1957 unsafe fn encode(
1958 self,
1959 encoder: &mut fidl::encoding::Encoder<'_, D>,
1960 offset: usize,
1961 _depth: fidl::encoding::Depth,
1962 ) -> fidl::Result<()> {
1963 encoder.debug_check_bounds::<SanitizerOptions>(offset);
1964 fidl::encoding::Encode::<SanitizerOptions, D>::encode(
1966 (
1967 <fidl::encoding::BoundedString<32> as fidl::encoding::ValueTypeMarker>::borrow(&self.name),
1968 <fidl::encoding::BoundedString<8192> as fidl::encoding::ValueTypeMarker>::borrow(&self.value),
1969 ),
1970 encoder, offset, _depth
1971 )
1972 }
1973 }
1974 unsafe impl<
1975 D: fidl::encoding::ResourceDialect,
1976 T0: fidl::encoding::Encode<fidl::encoding::BoundedString<32>, D>,
1977 T1: fidl::encoding::Encode<fidl::encoding::BoundedString<8192>, D>,
1978 > fidl::encoding::Encode<SanitizerOptions, D> for (T0, T1)
1979 {
1980 #[inline]
1981 unsafe fn encode(
1982 self,
1983 encoder: &mut fidl::encoding::Encoder<'_, D>,
1984 offset: usize,
1985 depth: fidl::encoding::Depth,
1986 ) -> fidl::Result<()> {
1987 encoder.debug_check_bounds::<SanitizerOptions>(offset);
1988 self.0.encode(encoder, offset + 0, depth)?;
1992 self.1.encode(encoder, offset + 16, depth)?;
1993 Ok(())
1994 }
1995 }
1996
1997 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SanitizerOptions {
1998 #[inline(always)]
1999 fn new_empty() -> Self {
2000 Self {
2001 name: fidl::new_empty!(fidl::encoding::BoundedString<32>, D),
2002 value: fidl::new_empty!(fidl::encoding::BoundedString<8192>, D),
2003 }
2004 }
2005
2006 #[inline]
2007 unsafe fn decode(
2008 &mut self,
2009 decoder: &mut fidl::encoding::Decoder<'_, D>,
2010 offset: usize,
2011 _depth: fidl::encoding::Depth,
2012 ) -> fidl::Result<()> {
2013 decoder.debug_check_bounds::<Self>(offset);
2014 fidl::decode!(
2016 fidl::encoding::BoundedString<32>,
2017 D,
2018 &mut self.name,
2019 decoder,
2020 offset + 0,
2021 _depth
2022 )?;
2023 fidl::decode!(
2024 fidl::encoding::BoundedString<8192>,
2025 D,
2026 &mut self.value,
2027 decoder,
2028 offset + 16,
2029 _depth
2030 )?;
2031 Ok(())
2032 }
2033 }
2034
2035 impl fidl::encoding::ValueTypeMarker for TargetAdapterGetParametersResponse {
2036 type Borrowed<'a> = &'a Self;
2037 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2038 value
2039 }
2040 }
2041
2042 unsafe impl fidl::encoding::TypeMarker for TargetAdapterGetParametersResponse {
2043 type Owned = Self;
2044
2045 #[inline(always)]
2046 fn inline_align(_context: fidl::encoding::Context) -> usize {
2047 8
2048 }
2049
2050 #[inline(always)]
2051 fn inline_size(_context: fidl::encoding::Context) -> usize {
2052 16
2053 }
2054 }
2055
2056 unsafe impl<D: fidl::encoding::ResourceDialect>
2057 fidl::encoding::Encode<TargetAdapterGetParametersResponse, D>
2058 for &TargetAdapterGetParametersResponse
2059 {
2060 #[inline]
2061 unsafe fn encode(
2062 self,
2063 encoder: &mut fidl::encoding::Encoder<'_, D>,
2064 offset: usize,
2065 _depth: fidl::encoding::Depth,
2066 ) -> fidl::Result<()> {
2067 encoder.debug_check_bounds::<TargetAdapterGetParametersResponse>(offset);
2068 fidl::encoding::Encode::<TargetAdapterGetParametersResponse, D>::encode(
2070 (
2071 <fidl::encoding::Vector<fidl::encoding::BoundedString<256>, 128> as fidl::encoding::ValueTypeMarker>::borrow(&self.parameters),
2072 ),
2073 encoder, offset, _depth
2074 )
2075 }
2076 }
2077 unsafe impl<
2078 D: fidl::encoding::ResourceDialect,
2079 T0: fidl::encoding::Encode<
2080 fidl::encoding::Vector<fidl::encoding::BoundedString<256>, 128>,
2081 D,
2082 >,
2083 > fidl::encoding::Encode<TargetAdapterGetParametersResponse, D> for (T0,)
2084 {
2085 #[inline]
2086 unsafe fn encode(
2087 self,
2088 encoder: &mut fidl::encoding::Encoder<'_, D>,
2089 offset: usize,
2090 depth: fidl::encoding::Depth,
2091 ) -> fidl::Result<()> {
2092 encoder.debug_check_bounds::<TargetAdapterGetParametersResponse>(offset);
2093 self.0.encode(encoder, offset + 0, depth)?;
2097 Ok(())
2098 }
2099 }
2100
2101 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2102 for TargetAdapterGetParametersResponse
2103 {
2104 #[inline(always)]
2105 fn new_empty() -> Self {
2106 Self {
2107 parameters: fidl::new_empty!(
2108 fidl::encoding::Vector<fidl::encoding::BoundedString<256>, 128>,
2109 D
2110 ),
2111 }
2112 }
2113
2114 #[inline]
2115 unsafe fn decode(
2116 &mut self,
2117 decoder: &mut fidl::encoding::Decoder<'_, D>,
2118 offset: usize,
2119 _depth: fidl::encoding::Depth,
2120 ) -> fidl::Result<()> {
2121 decoder.debug_check_bounds::<Self>(offset);
2122 fidl::decode!(
2124 fidl::encoding::Vector<fidl::encoding::BoundedString<256>, 128>,
2125 D,
2126 &mut self.parameters,
2127 decoder,
2128 offset + 0,
2129 _depth
2130 )?;
2131 Ok(())
2132 }
2133 }
2134
2135 impl Options {
2136 #[inline(always)]
2137 fn max_ordinal_present(&self) -> u64 {
2138 if let Some(_) = self.output_flags {
2139 return 22;
2140 }
2141 if let Some(_) = self.sanitizer_options {
2142 return 21;
2143 }
2144 if let Some(_) = self.use_value_profile {
2145 return 20;
2146 }
2147 if let Some(_) = self.print_final_stats {
2148 return 19;
2149 }
2150 if let Some(_) = self.debug {
2151 return 18;
2152 }
2153 if let Some(_) = self.pulse_interval {
2154 return 17;
2155 }
2156 if let Some(_) = self.oom_exitcode {
2157 return 16;
2158 }
2159 if let Some(_) = self.leak_exitcode {
2160 return 15;
2161 }
2162 if let Some(_) = self.death_exitcode {
2163 return 14;
2164 }
2165 if let Some(_) = self.malloc_exitcode {
2166 return 13;
2167 }
2168 if let Some(_) = self.purge_interval {
2169 return 12;
2170 }
2171 if let Some(_) = self.oom_limit {
2172 return 11;
2173 }
2174 if let Some(_) = self.malloc_limit {
2175 return 10;
2176 }
2177 if let Some(_) = self.run_limit {
2178 return 9;
2179 }
2180 if let Some(_) = self.detect_leaks {
2181 return 8;
2182 }
2183 if let Some(_) = self.detect_exits {
2184 return 7;
2185 }
2186 if let Some(_) = self.dictionary_level {
2187 return 6;
2188 }
2189 if let Some(_) = self.mutation_depth {
2190 return 5;
2191 }
2192 if let Some(_) = self.max_input_size {
2193 return 4;
2194 }
2195 if let Some(_) = self.seed {
2196 return 3;
2197 }
2198 if let Some(_) = self.max_total_time {
2199 return 2;
2200 }
2201 if let Some(_) = self.runs {
2202 return 1;
2203 }
2204 0
2205 }
2206 }
2207
2208 impl fidl::encoding::ValueTypeMarker for Options {
2209 type Borrowed<'a> = &'a Self;
2210 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2211 value
2212 }
2213 }
2214
2215 unsafe impl fidl::encoding::TypeMarker for Options {
2216 type Owned = Self;
2217
2218 #[inline(always)]
2219 fn inline_align(_context: fidl::encoding::Context) -> usize {
2220 8
2221 }
2222
2223 #[inline(always)]
2224 fn inline_size(_context: fidl::encoding::Context) -> usize {
2225 16
2226 }
2227 }
2228
2229 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Options, D> for &Options {
2230 unsafe fn encode(
2231 self,
2232 encoder: &mut fidl::encoding::Encoder<'_, D>,
2233 offset: usize,
2234 mut depth: fidl::encoding::Depth,
2235 ) -> fidl::Result<()> {
2236 encoder.debug_check_bounds::<Options>(offset);
2237 let max_ordinal: u64 = self.max_ordinal_present();
2239 encoder.write_num(max_ordinal, offset);
2240 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2241 if max_ordinal == 0 {
2243 return Ok(());
2244 }
2245 depth.increment()?;
2246 let envelope_size = 8;
2247 let bytes_len = max_ordinal as usize * envelope_size;
2248 #[allow(unused_variables)]
2249 let offset = encoder.out_of_line_offset(bytes_len);
2250 let mut _prev_end_offset: usize = 0;
2251 if 1 > max_ordinal {
2252 return Ok(());
2253 }
2254
2255 let cur_offset: usize = (1 - 1) * envelope_size;
2258
2259 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2261
2262 fidl::encoding::encode_in_envelope_optional::<u32, D>(
2267 self.runs.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
2268 encoder,
2269 offset + cur_offset,
2270 depth,
2271 )?;
2272
2273 _prev_end_offset = cur_offset + envelope_size;
2274 if 2 > max_ordinal {
2275 return Ok(());
2276 }
2277
2278 let cur_offset: usize = (2 - 1) * envelope_size;
2281
2282 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2284
2285 fidl::encoding::encode_in_envelope_optional::<i64, D>(
2290 self.max_total_time.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
2291 encoder,
2292 offset + cur_offset,
2293 depth,
2294 )?;
2295
2296 _prev_end_offset = cur_offset + envelope_size;
2297 if 3 > max_ordinal {
2298 return Ok(());
2299 }
2300
2301 let cur_offset: usize = (3 - 1) * envelope_size;
2304
2305 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2307
2308 fidl::encoding::encode_in_envelope_optional::<u32, D>(
2313 self.seed.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
2314 encoder,
2315 offset + cur_offset,
2316 depth,
2317 )?;
2318
2319 _prev_end_offset = cur_offset + envelope_size;
2320 if 4 > max_ordinal {
2321 return Ok(());
2322 }
2323
2324 let cur_offset: usize = (4 - 1) * envelope_size;
2327
2328 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2330
2331 fidl::encoding::encode_in_envelope_optional::<u64, D>(
2336 self.max_input_size.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
2337 encoder,
2338 offset + cur_offset,
2339 depth,
2340 )?;
2341
2342 _prev_end_offset = cur_offset + envelope_size;
2343 if 5 > max_ordinal {
2344 return Ok(());
2345 }
2346
2347 let cur_offset: usize = (5 - 1) * envelope_size;
2350
2351 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2353
2354 fidl::encoding::encode_in_envelope_optional::<u16, D>(
2359 self.mutation_depth.as_ref().map(<u16 as fidl::encoding::ValueTypeMarker>::borrow),
2360 encoder,
2361 offset + cur_offset,
2362 depth,
2363 )?;
2364
2365 _prev_end_offset = cur_offset + envelope_size;
2366 if 6 > max_ordinal {
2367 return Ok(());
2368 }
2369
2370 let cur_offset: usize = (6 - 1) * envelope_size;
2373
2374 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2376
2377 fidl::encoding::encode_in_envelope_optional::<u16, D>(
2382 self.dictionary_level
2383 .as_ref()
2384 .map(<u16 as fidl::encoding::ValueTypeMarker>::borrow),
2385 encoder,
2386 offset + cur_offset,
2387 depth,
2388 )?;
2389
2390 _prev_end_offset = cur_offset + envelope_size;
2391 if 7 > max_ordinal {
2392 return Ok(());
2393 }
2394
2395 let cur_offset: usize = (7 - 1) * envelope_size;
2398
2399 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2401
2402 fidl::encoding::encode_in_envelope_optional::<bool, D>(
2407 self.detect_exits.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
2408 encoder,
2409 offset + cur_offset,
2410 depth,
2411 )?;
2412
2413 _prev_end_offset = cur_offset + envelope_size;
2414 if 8 > max_ordinal {
2415 return Ok(());
2416 }
2417
2418 let cur_offset: usize = (8 - 1) * envelope_size;
2421
2422 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2424
2425 fidl::encoding::encode_in_envelope_optional::<bool, D>(
2430 self.detect_leaks.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
2431 encoder,
2432 offset + cur_offset,
2433 depth,
2434 )?;
2435
2436 _prev_end_offset = cur_offset + envelope_size;
2437 if 9 > max_ordinal {
2438 return Ok(());
2439 }
2440
2441 let cur_offset: usize = (9 - 1) * envelope_size;
2444
2445 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2447
2448 fidl::encoding::encode_in_envelope_optional::<i64, D>(
2453 self.run_limit.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
2454 encoder,
2455 offset + cur_offset,
2456 depth,
2457 )?;
2458
2459 _prev_end_offset = cur_offset + envelope_size;
2460 if 10 > max_ordinal {
2461 return Ok(());
2462 }
2463
2464 let cur_offset: usize = (10 - 1) * envelope_size;
2467
2468 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2470
2471 fidl::encoding::encode_in_envelope_optional::<u64, D>(
2476 self.malloc_limit.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
2477 encoder,
2478 offset + cur_offset,
2479 depth,
2480 )?;
2481
2482 _prev_end_offset = cur_offset + envelope_size;
2483 if 11 > max_ordinal {
2484 return Ok(());
2485 }
2486
2487 let cur_offset: usize = (11 - 1) * envelope_size;
2490
2491 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2493
2494 fidl::encoding::encode_in_envelope_optional::<u64, D>(
2499 self.oom_limit.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
2500 encoder,
2501 offset + cur_offset,
2502 depth,
2503 )?;
2504
2505 _prev_end_offset = cur_offset + envelope_size;
2506 if 12 > max_ordinal {
2507 return Ok(());
2508 }
2509
2510 let cur_offset: usize = (12 - 1) * envelope_size;
2513
2514 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2516
2517 fidl::encoding::encode_in_envelope_optional::<i64, D>(
2522 self.purge_interval.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
2523 encoder,
2524 offset + cur_offset,
2525 depth,
2526 )?;
2527
2528 _prev_end_offset = cur_offset + envelope_size;
2529 if 13 > max_ordinal {
2530 return Ok(());
2531 }
2532
2533 let cur_offset: usize = (13 - 1) * envelope_size;
2536
2537 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2539
2540 fidl::encoding::encode_in_envelope_optional::<i32, D>(
2545 self.malloc_exitcode.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
2546 encoder,
2547 offset + cur_offset,
2548 depth,
2549 )?;
2550
2551 _prev_end_offset = cur_offset + envelope_size;
2552 if 14 > max_ordinal {
2553 return Ok(());
2554 }
2555
2556 let cur_offset: usize = (14 - 1) * envelope_size;
2559
2560 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2562
2563 fidl::encoding::encode_in_envelope_optional::<i32, D>(
2568 self.death_exitcode.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
2569 encoder,
2570 offset + cur_offset,
2571 depth,
2572 )?;
2573
2574 _prev_end_offset = cur_offset + envelope_size;
2575 if 15 > max_ordinal {
2576 return Ok(());
2577 }
2578
2579 let cur_offset: usize = (15 - 1) * envelope_size;
2582
2583 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2585
2586 fidl::encoding::encode_in_envelope_optional::<i32, D>(
2591 self.leak_exitcode.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
2592 encoder,
2593 offset + cur_offset,
2594 depth,
2595 )?;
2596
2597 _prev_end_offset = cur_offset + envelope_size;
2598 if 16 > max_ordinal {
2599 return Ok(());
2600 }
2601
2602 let cur_offset: usize = (16 - 1) * envelope_size;
2605
2606 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2608
2609 fidl::encoding::encode_in_envelope_optional::<i32, D>(
2614 self.oom_exitcode.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
2615 encoder,
2616 offset + cur_offset,
2617 depth,
2618 )?;
2619
2620 _prev_end_offset = cur_offset + envelope_size;
2621 if 17 > max_ordinal {
2622 return Ok(());
2623 }
2624
2625 let cur_offset: usize = (17 - 1) * envelope_size;
2628
2629 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2631
2632 fidl::encoding::encode_in_envelope_optional::<i64, D>(
2637 self.pulse_interval.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
2638 encoder,
2639 offset + cur_offset,
2640 depth,
2641 )?;
2642
2643 _prev_end_offset = cur_offset + envelope_size;
2644 if 18 > max_ordinal {
2645 return Ok(());
2646 }
2647
2648 let cur_offset: usize = (18 - 1) * envelope_size;
2651
2652 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2654
2655 fidl::encoding::encode_in_envelope_optional::<bool, D>(
2660 self.debug.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
2661 encoder,
2662 offset + cur_offset,
2663 depth,
2664 )?;
2665
2666 _prev_end_offset = cur_offset + envelope_size;
2667 if 19 > max_ordinal {
2668 return Ok(());
2669 }
2670
2671 let cur_offset: usize = (19 - 1) * envelope_size;
2674
2675 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2677
2678 fidl::encoding::encode_in_envelope_optional::<bool, D>(
2683 self.print_final_stats
2684 .as_ref()
2685 .map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
2686 encoder,
2687 offset + cur_offset,
2688 depth,
2689 )?;
2690
2691 _prev_end_offset = cur_offset + envelope_size;
2692 if 20 > max_ordinal {
2693 return Ok(());
2694 }
2695
2696 let cur_offset: usize = (20 - 1) * envelope_size;
2699
2700 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2702
2703 fidl::encoding::encode_in_envelope_optional::<bool, D>(
2708 self.use_value_profile
2709 .as_ref()
2710 .map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
2711 encoder,
2712 offset + cur_offset,
2713 depth,
2714 )?;
2715
2716 _prev_end_offset = cur_offset + envelope_size;
2717 if 21 > max_ordinal {
2718 return Ok(());
2719 }
2720
2721 let cur_offset: usize = (21 - 1) * envelope_size;
2724
2725 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2727
2728 fidl::encoding::encode_in_envelope_optional::<SanitizerOptions, D>(
2733 self.sanitizer_options
2734 .as_ref()
2735 .map(<SanitizerOptions as fidl::encoding::ValueTypeMarker>::borrow),
2736 encoder,
2737 offset + cur_offset,
2738 depth,
2739 )?;
2740
2741 _prev_end_offset = cur_offset + envelope_size;
2742 if 22 > max_ordinal {
2743 return Ok(());
2744 }
2745
2746 let cur_offset: usize = (22 - 1) * envelope_size;
2749
2750 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2752
2753 fidl::encoding::encode_in_envelope_optional::<OutputFlags, D>(
2758 self.output_flags
2759 .as_ref()
2760 .map(<OutputFlags as fidl::encoding::ValueTypeMarker>::borrow),
2761 encoder,
2762 offset + cur_offset,
2763 depth,
2764 )?;
2765
2766 _prev_end_offset = cur_offset + envelope_size;
2767
2768 Ok(())
2769 }
2770 }
2771
2772 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Options {
2773 #[inline(always)]
2774 fn new_empty() -> Self {
2775 Self::default()
2776 }
2777
2778 unsafe fn decode(
2779 &mut self,
2780 decoder: &mut fidl::encoding::Decoder<'_, D>,
2781 offset: usize,
2782 mut depth: fidl::encoding::Depth,
2783 ) -> fidl::Result<()> {
2784 decoder.debug_check_bounds::<Self>(offset);
2785 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2786 None => return Err(fidl::Error::NotNullable),
2787 Some(len) => len,
2788 };
2789 if len == 0 {
2791 return Ok(());
2792 };
2793 depth.increment()?;
2794 let envelope_size = 8;
2795 let bytes_len = len * envelope_size;
2796 let offset = decoder.out_of_line_offset(bytes_len)?;
2797 let mut _next_ordinal_to_read = 0;
2799 let mut next_offset = offset;
2800 let end_offset = offset + bytes_len;
2801 _next_ordinal_to_read += 1;
2802 if next_offset >= end_offset {
2803 return Ok(());
2804 }
2805
2806 while _next_ordinal_to_read < 1 {
2808 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2809 _next_ordinal_to_read += 1;
2810 next_offset += envelope_size;
2811 }
2812
2813 let next_out_of_line = decoder.next_out_of_line();
2814 let handles_before = decoder.remaining_handles();
2815 if let Some((inlined, num_bytes, num_handles)) =
2816 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2817 {
2818 let member_inline_size =
2819 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2820 if inlined != (member_inline_size <= 4) {
2821 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2822 }
2823 let inner_offset;
2824 let mut inner_depth = depth.clone();
2825 if inlined {
2826 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2827 inner_offset = next_offset;
2828 } else {
2829 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2830 inner_depth.increment()?;
2831 }
2832 let val_ref = self.runs.get_or_insert_with(|| fidl::new_empty!(u32, D));
2833 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
2834 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2835 {
2836 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2837 }
2838 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2839 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2840 }
2841 }
2842
2843 next_offset += envelope_size;
2844 _next_ordinal_to_read += 1;
2845 if next_offset >= end_offset {
2846 return Ok(());
2847 }
2848
2849 while _next_ordinal_to_read < 2 {
2851 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2852 _next_ordinal_to_read += 1;
2853 next_offset += envelope_size;
2854 }
2855
2856 let next_out_of_line = decoder.next_out_of_line();
2857 let handles_before = decoder.remaining_handles();
2858 if let Some((inlined, num_bytes, num_handles)) =
2859 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2860 {
2861 let member_inline_size =
2862 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2863 if inlined != (member_inline_size <= 4) {
2864 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2865 }
2866 let inner_offset;
2867 let mut inner_depth = depth.clone();
2868 if inlined {
2869 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2870 inner_offset = next_offset;
2871 } else {
2872 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2873 inner_depth.increment()?;
2874 }
2875 let val_ref = self.max_total_time.get_or_insert_with(|| fidl::new_empty!(i64, D));
2876 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
2877 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2878 {
2879 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2880 }
2881 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2882 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2883 }
2884 }
2885
2886 next_offset += envelope_size;
2887 _next_ordinal_to_read += 1;
2888 if next_offset >= end_offset {
2889 return Ok(());
2890 }
2891
2892 while _next_ordinal_to_read < 3 {
2894 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2895 _next_ordinal_to_read += 1;
2896 next_offset += envelope_size;
2897 }
2898
2899 let next_out_of_line = decoder.next_out_of_line();
2900 let handles_before = decoder.remaining_handles();
2901 if let Some((inlined, num_bytes, num_handles)) =
2902 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2903 {
2904 let member_inline_size =
2905 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2906 if inlined != (member_inline_size <= 4) {
2907 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2908 }
2909 let inner_offset;
2910 let mut inner_depth = depth.clone();
2911 if inlined {
2912 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2913 inner_offset = next_offset;
2914 } else {
2915 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2916 inner_depth.increment()?;
2917 }
2918 let val_ref = self.seed.get_or_insert_with(|| fidl::new_empty!(u32, D));
2919 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
2920 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2921 {
2922 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2923 }
2924 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2925 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2926 }
2927 }
2928
2929 next_offset += envelope_size;
2930 _next_ordinal_to_read += 1;
2931 if next_offset >= end_offset {
2932 return Ok(());
2933 }
2934
2935 while _next_ordinal_to_read < 4 {
2937 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2938 _next_ordinal_to_read += 1;
2939 next_offset += envelope_size;
2940 }
2941
2942 let next_out_of_line = decoder.next_out_of_line();
2943 let handles_before = decoder.remaining_handles();
2944 if let Some((inlined, num_bytes, num_handles)) =
2945 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2946 {
2947 let member_inline_size =
2948 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2949 if inlined != (member_inline_size <= 4) {
2950 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2951 }
2952 let inner_offset;
2953 let mut inner_depth = depth.clone();
2954 if inlined {
2955 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2956 inner_offset = next_offset;
2957 } else {
2958 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2959 inner_depth.increment()?;
2960 }
2961 let val_ref = self.max_input_size.get_or_insert_with(|| fidl::new_empty!(u64, D));
2962 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
2963 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2964 {
2965 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2966 }
2967 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2968 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2969 }
2970 }
2971
2972 next_offset += envelope_size;
2973 _next_ordinal_to_read += 1;
2974 if next_offset >= end_offset {
2975 return Ok(());
2976 }
2977
2978 while _next_ordinal_to_read < 5 {
2980 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2981 _next_ordinal_to_read += 1;
2982 next_offset += envelope_size;
2983 }
2984
2985 let next_out_of_line = decoder.next_out_of_line();
2986 let handles_before = decoder.remaining_handles();
2987 if let Some((inlined, num_bytes, num_handles)) =
2988 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2989 {
2990 let member_inline_size =
2991 <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2992 if inlined != (member_inline_size <= 4) {
2993 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2994 }
2995 let inner_offset;
2996 let mut inner_depth = depth.clone();
2997 if inlined {
2998 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2999 inner_offset = next_offset;
3000 } else {
3001 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3002 inner_depth.increment()?;
3003 }
3004 let val_ref = self.mutation_depth.get_or_insert_with(|| fidl::new_empty!(u16, D));
3005 fidl::decode!(u16, D, val_ref, decoder, inner_offset, inner_depth)?;
3006 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3007 {
3008 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3009 }
3010 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3011 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3012 }
3013 }
3014
3015 next_offset += envelope_size;
3016 _next_ordinal_to_read += 1;
3017 if next_offset >= end_offset {
3018 return Ok(());
3019 }
3020
3021 while _next_ordinal_to_read < 6 {
3023 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3024 _next_ordinal_to_read += 1;
3025 next_offset += envelope_size;
3026 }
3027
3028 let next_out_of_line = decoder.next_out_of_line();
3029 let handles_before = decoder.remaining_handles();
3030 if let Some((inlined, num_bytes, num_handles)) =
3031 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3032 {
3033 let member_inline_size =
3034 <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3035 if inlined != (member_inline_size <= 4) {
3036 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3037 }
3038 let inner_offset;
3039 let mut inner_depth = depth.clone();
3040 if inlined {
3041 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3042 inner_offset = next_offset;
3043 } else {
3044 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3045 inner_depth.increment()?;
3046 }
3047 let val_ref = self.dictionary_level.get_or_insert_with(|| fidl::new_empty!(u16, D));
3048 fidl::decode!(u16, D, val_ref, decoder, inner_offset, inner_depth)?;
3049 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3050 {
3051 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3052 }
3053 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3054 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3055 }
3056 }
3057
3058 next_offset += envelope_size;
3059 _next_ordinal_to_read += 1;
3060 if next_offset >= end_offset {
3061 return Ok(());
3062 }
3063
3064 while _next_ordinal_to_read < 7 {
3066 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3067 _next_ordinal_to_read += 1;
3068 next_offset += envelope_size;
3069 }
3070
3071 let next_out_of_line = decoder.next_out_of_line();
3072 let handles_before = decoder.remaining_handles();
3073 if let Some((inlined, num_bytes, num_handles)) =
3074 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3075 {
3076 let member_inline_size =
3077 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3078 if inlined != (member_inline_size <= 4) {
3079 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3080 }
3081 let inner_offset;
3082 let mut inner_depth = depth.clone();
3083 if inlined {
3084 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3085 inner_offset = next_offset;
3086 } else {
3087 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3088 inner_depth.increment()?;
3089 }
3090 let val_ref = self.detect_exits.get_or_insert_with(|| fidl::new_empty!(bool, D));
3091 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3092 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3093 {
3094 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3095 }
3096 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3097 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3098 }
3099 }
3100
3101 next_offset += envelope_size;
3102 _next_ordinal_to_read += 1;
3103 if next_offset >= end_offset {
3104 return Ok(());
3105 }
3106
3107 while _next_ordinal_to_read < 8 {
3109 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3110 _next_ordinal_to_read += 1;
3111 next_offset += envelope_size;
3112 }
3113
3114 let next_out_of_line = decoder.next_out_of_line();
3115 let handles_before = decoder.remaining_handles();
3116 if let Some((inlined, num_bytes, num_handles)) =
3117 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3118 {
3119 let member_inline_size =
3120 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3121 if inlined != (member_inline_size <= 4) {
3122 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3123 }
3124 let inner_offset;
3125 let mut inner_depth = depth.clone();
3126 if inlined {
3127 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3128 inner_offset = next_offset;
3129 } else {
3130 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3131 inner_depth.increment()?;
3132 }
3133 let val_ref = self.detect_leaks.get_or_insert_with(|| fidl::new_empty!(bool, D));
3134 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3135 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3136 {
3137 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3138 }
3139 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3140 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3141 }
3142 }
3143
3144 next_offset += envelope_size;
3145 _next_ordinal_to_read += 1;
3146 if next_offset >= end_offset {
3147 return Ok(());
3148 }
3149
3150 while _next_ordinal_to_read < 9 {
3152 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3153 _next_ordinal_to_read += 1;
3154 next_offset += envelope_size;
3155 }
3156
3157 let next_out_of_line = decoder.next_out_of_line();
3158 let handles_before = decoder.remaining_handles();
3159 if let Some((inlined, num_bytes, num_handles)) =
3160 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3161 {
3162 let member_inline_size =
3163 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3164 if inlined != (member_inline_size <= 4) {
3165 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3166 }
3167 let inner_offset;
3168 let mut inner_depth = depth.clone();
3169 if inlined {
3170 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3171 inner_offset = next_offset;
3172 } else {
3173 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3174 inner_depth.increment()?;
3175 }
3176 let val_ref = self.run_limit.get_or_insert_with(|| fidl::new_empty!(i64, D));
3177 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
3178 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3179 {
3180 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3181 }
3182 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3183 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3184 }
3185 }
3186
3187 next_offset += envelope_size;
3188 _next_ordinal_to_read += 1;
3189 if next_offset >= end_offset {
3190 return Ok(());
3191 }
3192
3193 while _next_ordinal_to_read < 10 {
3195 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3196 _next_ordinal_to_read += 1;
3197 next_offset += envelope_size;
3198 }
3199
3200 let next_out_of_line = decoder.next_out_of_line();
3201 let handles_before = decoder.remaining_handles();
3202 if let Some((inlined, num_bytes, num_handles)) =
3203 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3204 {
3205 let member_inline_size =
3206 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3207 if inlined != (member_inline_size <= 4) {
3208 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3209 }
3210 let inner_offset;
3211 let mut inner_depth = depth.clone();
3212 if inlined {
3213 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3214 inner_offset = next_offset;
3215 } else {
3216 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3217 inner_depth.increment()?;
3218 }
3219 let val_ref = self.malloc_limit.get_or_insert_with(|| fidl::new_empty!(u64, D));
3220 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
3221 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3222 {
3223 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3224 }
3225 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3226 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3227 }
3228 }
3229
3230 next_offset += envelope_size;
3231 _next_ordinal_to_read += 1;
3232 if next_offset >= end_offset {
3233 return Ok(());
3234 }
3235
3236 while _next_ordinal_to_read < 11 {
3238 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3239 _next_ordinal_to_read += 1;
3240 next_offset += envelope_size;
3241 }
3242
3243 let next_out_of_line = decoder.next_out_of_line();
3244 let handles_before = decoder.remaining_handles();
3245 if let Some((inlined, num_bytes, num_handles)) =
3246 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3247 {
3248 let member_inline_size =
3249 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3250 if inlined != (member_inline_size <= 4) {
3251 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3252 }
3253 let inner_offset;
3254 let mut inner_depth = depth.clone();
3255 if inlined {
3256 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3257 inner_offset = next_offset;
3258 } else {
3259 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3260 inner_depth.increment()?;
3261 }
3262 let val_ref = self.oom_limit.get_or_insert_with(|| fidl::new_empty!(u64, D));
3263 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
3264 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3265 {
3266 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3267 }
3268 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3269 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3270 }
3271 }
3272
3273 next_offset += envelope_size;
3274 _next_ordinal_to_read += 1;
3275 if next_offset >= end_offset {
3276 return Ok(());
3277 }
3278
3279 while _next_ordinal_to_read < 12 {
3281 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3282 _next_ordinal_to_read += 1;
3283 next_offset += envelope_size;
3284 }
3285
3286 let next_out_of_line = decoder.next_out_of_line();
3287 let handles_before = decoder.remaining_handles();
3288 if let Some((inlined, num_bytes, num_handles)) =
3289 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3290 {
3291 let member_inline_size =
3292 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3293 if inlined != (member_inline_size <= 4) {
3294 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3295 }
3296 let inner_offset;
3297 let mut inner_depth = depth.clone();
3298 if inlined {
3299 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3300 inner_offset = next_offset;
3301 } else {
3302 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3303 inner_depth.increment()?;
3304 }
3305 let val_ref = self.purge_interval.get_or_insert_with(|| fidl::new_empty!(i64, D));
3306 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
3307 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3308 {
3309 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3310 }
3311 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3312 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3313 }
3314 }
3315
3316 next_offset += envelope_size;
3317 _next_ordinal_to_read += 1;
3318 if next_offset >= end_offset {
3319 return Ok(());
3320 }
3321
3322 while _next_ordinal_to_read < 13 {
3324 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3325 _next_ordinal_to_read += 1;
3326 next_offset += envelope_size;
3327 }
3328
3329 let next_out_of_line = decoder.next_out_of_line();
3330 let handles_before = decoder.remaining_handles();
3331 if let Some((inlined, num_bytes, num_handles)) =
3332 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3333 {
3334 let member_inline_size =
3335 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3336 if inlined != (member_inline_size <= 4) {
3337 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3338 }
3339 let inner_offset;
3340 let mut inner_depth = depth.clone();
3341 if inlined {
3342 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3343 inner_offset = next_offset;
3344 } else {
3345 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3346 inner_depth.increment()?;
3347 }
3348 let val_ref = self.malloc_exitcode.get_or_insert_with(|| fidl::new_empty!(i32, D));
3349 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
3350 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3351 {
3352 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3353 }
3354 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3355 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3356 }
3357 }
3358
3359 next_offset += envelope_size;
3360 _next_ordinal_to_read += 1;
3361 if next_offset >= end_offset {
3362 return Ok(());
3363 }
3364
3365 while _next_ordinal_to_read < 14 {
3367 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3368 _next_ordinal_to_read += 1;
3369 next_offset += envelope_size;
3370 }
3371
3372 let next_out_of_line = decoder.next_out_of_line();
3373 let handles_before = decoder.remaining_handles();
3374 if let Some((inlined, num_bytes, num_handles)) =
3375 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3376 {
3377 let member_inline_size =
3378 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3379 if inlined != (member_inline_size <= 4) {
3380 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3381 }
3382 let inner_offset;
3383 let mut inner_depth = depth.clone();
3384 if inlined {
3385 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3386 inner_offset = next_offset;
3387 } else {
3388 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3389 inner_depth.increment()?;
3390 }
3391 let val_ref = self.death_exitcode.get_or_insert_with(|| fidl::new_empty!(i32, D));
3392 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
3393 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3394 {
3395 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3396 }
3397 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3398 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3399 }
3400 }
3401
3402 next_offset += envelope_size;
3403 _next_ordinal_to_read += 1;
3404 if next_offset >= end_offset {
3405 return Ok(());
3406 }
3407
3408 while _next_ordinal_to_read < 15 {
3410 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3411 _next_ordinal_to_read += 1;
3412 next_offset += envelope_size;
3413 }
3414
3415 let next_out_of_line = decoder.next_out_of_line();
3416 let handles_before = decoder.remaining_handles();
3417 if let Some((inlined, num_bytes, num_handles)) =
3418 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3419 {
3420 let member_inline_size =
3421 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3422 if inlined != (member_inline_size <= 4) {
3423 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3424 }
3425 let inner_offset;
3426 let mut inner_depth = depth.clone();
3427 if inlined {
3428 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3429 inner_offset = next_offset;
3430 } else {
3431 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3432 inner_depth.increment()?;
3433 }
3434 let val_ref = self.leak_exitcode.get_or_insert_with(|| fidl::new_empty!(i32, D));
3435 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
3436 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3437 {
3438 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3439 }
3440 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3441 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3442 }
3443 }
3444
3445 next_offset += envelope_size;
3446 _next_ordinal_to_read += 1;
3447 if next_offset >= end_offset {
3448 return Ok(());
3449 }
3450
3451 while _next_ordinal_to_read < 16 {
3453 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3454 _next_ordinal_to_read += 1;
3455 next_offset += envelope_size;
3456 }
3457
3458 let next_out_of_line = decoder.next_out_of_line();
3459 let handles_before = decoder.remaining_handles();
3460 if let Some((inlined, num_bytes, num_handles)) =
3461 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3462 {
3463 let member_inline_size =
3464 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3465 if inlined != (member_inline_size <= 4) {
3466 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3467 }
3468 let inner_offset;
3469 let mut inner_depth = depth.clone();
3470 if inlined {
3471 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3472 inner_offset = next_offset;
3473 } else {
3474 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3475 inner_depth.increment()?;
3476 }
3477 let val_ref = self.oom_exitcode.get_or_insert_with(|| fidl::new_empty!(i32, D));
3478 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
3479 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3480 {
3481 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3482 }
3483 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3484 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3485 }
3486 }
3487
3488 next_offset += envelope_size;
3489 _next_ordinal_to_read += 1;
3490 if next_offset >= end_offset {
3491 return Ok(());
3492 }
3493
3494 while _next_ordinal_to_read < 17 {
3496 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3497 _next_ordinal_to_read += 1;
3498 next_offset += envelope_size;
3499 }
3500
3501 let next_out_of_line = decoder.next_out_of_line();
3502 let handles_before = decoder.remaining_handles();
3503 if let Some((inlined, num_bytes, num_handles)) =
3504 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3505 {
3506 let member_inline_size =
3507 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3508 if inlined != (member_inline_size <= 4) {
3509 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3510 }
3511 let inner_offset;
3512 let mut inner_depth = depth.clone();
3513 if inlined {
3514 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3515 inner_offset = next_offset;
3516 } else {
3517 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3518 inner_depth.increment()?;
3519 }
3520 let val_ref = self.pulse_interval.get_or_insert_with(|| fidl::new_empty!(i64, D));
3521 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
3522 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3523 {
3524 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3525 }
3526 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3527 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3528 }
3529 }
3530
3531 next_offset += envelope_size;
3532 _next_ordinal_to_read += 1;
3533 if next_offset >= end_offset {
3534 return Ok(());
3535 }
3536
3537 while _next_ordinal_to_read < 18 {
3539 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3540 _next_ordinal_to_read += 1;
3541 next_offset += envelope_size;
3542 }
3543
3544 let next_out_of_line = decoder.next_out_of_line();
3545 let handles_before = decoder.remaining_handles();
3546 if let Some((inlined, num_bytes, num_handles)) =
3547 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3548 {
3549 let member_inline_size =
3550 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3551 if inlined != (member_inline_size <= 4) {
3552 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3553 }
3554 let inner_offset;
3555 let mut inner_depth = depth.clone();
3556 if inlined {
3557 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3558 inner_offset = next_offset;
3559 } else {
3560 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3561 inner_depth.increment()?;
3562 }
3563 let val_ref = self.debug.get_or_insert_with(|| fidl::new_empty!(bool, D));
3564 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3565 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3566 {
3567 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3568 }
3569 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3570 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3571 }
3572 }
3573
3574 next_offset += envelope_size;
3575 _next_ordinal_to_read += 1;
3576 if next_offset >= end_offset {
3577 return Ok(());
3578 }
3579
3580 while _next_ordinal_to_read < 19 {
3582 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3583 _next_ordinal_to_read += 1;
3584 next_offset += envelope_size;
3585 }
3586
3587 let next_out_of_line = decoder.next_out_of_line();
3588 let handles_before = decoder.remaining_handles();
3589 if let Some((inlined, num_bytes, num_handles)) =
3590 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3591 {
3592 let member_inline_size =
3593 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3594 if inlined != (member_inline_size <= 4) {
3595 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3596 }
3597 let inner_offset;
3598 let mut inner_depth = depth.clone();
3599 if inlined {
3600 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3601 inner_offset = next_offset;
3602 } else {
3603 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3604 inner_depth.increment()?;
3605 }
3606 let val_ref =
3607 self.print_final_stats.get_or_insert_with(|| fidl::new_empty!(bool, D));
3608 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3609 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3610 {
3611 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3612 }
3613 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3614 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3615 }
3616 }
3617
3618 next_offset += envelope_size;
3619 _next_ordinal_to_read += 1;
3620 if next_offset >= end_offset {
3621 return Ok(());
3622 }
3623
3624 while _next_ordinal_to_read < 20 {
3626 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3627 _next_ordinal_to_read += 1;
3628 next_offset += envelope_size;
3629 }
3630
3631 let next_out_of_line = decoder.next_out_of_line();
3632 let handles_before = decoder.remaining_handles();
3633 if let Some((inlined, num_bytes, num_handles)) =
3634 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3635 {
3636 let member_inline_size =
3637 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3638 if inlined != (member_inline_size <= 4) {
3639 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3640 }
3641 let inner_offset;
3642 let mut inner_depth = depth.clone();
3643 if inlined {
3644 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3645 inner_offset = next_offset;
3646 } else {
3647 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3648 inner_depth.increment()?;
3649 }
3650 let val_ref =
3651 self.use_value_profile.get_or_insert_with(|| fidl::new_empty!(bool, D));
3652 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3653 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3654 {
3655 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3656 }
3657 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3658 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3659 }
3660 }
3661
3662 next_offset += envelope_size;
3663 _next_ordinal_to_read += 1;
3664 if next_offset >= end_offset {
3665 return Ok(());
3666 }
3667
3668 while _next_ordinal_to_read < 21 {
3670 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3671 _next_ordinal_to_read += 1;
3672 next_offset += envelope_size;
3673 }
3674
3675 let next_out_of_line = decoder.next_out_of_line();
3676 let handles_before = decoder.remaining_handles();
3677 if let Some((inlined, num_bytes, num_handles)) =
3678 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3679 {
3680 let member_inline_size =
3681 <SanitizerOptions as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3682 if inlined != (member_inline_size <= 4) {
3683 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3684 }
3685 let inner_offset;
3686 let mut inner_depth = depth.clone();
3687 if inlined {
3688 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3689 inner_offset = next_offset;
3690 } else {
3691 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3692 inner_depth.increment()?;
3693 }
3694 let val_ref = self
3695 .sanitizer_options
3696 .get_or_insert_with(|| fidl::new_empty!(SanitizerOptions, D));
3697 fidl::decode!(SanitizerOptions, D, val_ref, decoder, inner_offset, inner_depth)?;
3698 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3699 {
3700 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3701 }
3702 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3703 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3704 }
3705 }
3706
3707 next_offset += envelope_size;
3708 _next_ordinal_to_read += 1;
3709 if next_offset >= end_offset {
3710 return Ok(());
3711 }
3712
3713 while _next_ordinal_to_read < 22 {
3715 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3716 _next_ordinal_to_read += 1;
3717 next_offset += envelope_size;
3718 }
3719
3720 let next_out_of_line = decoder.next_out_of_line();
3721 let handles_before = decoder.remaining_handles();
3722 if let Some((inlined, num_bytes, num_handles)) =
3723 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3724 {
3725 let member_inline_size =
3726 <OutputFlags as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3727 if inlined != (member_inline_size <= 4) {
3728 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3729 }
3730 let inner_offset;
3731 let mut inner_depth = depth.clone();
3732 if inlined {
3733 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3734 inner_offset = next_offset;
3735 } else {
3736 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3737 inner_depth.increment()?;
3738 }
3739 let val_ref =
3740 self.output_flags.get_or_insert_with(|| fidl::new_empty!(OutputFlags, D));
3741 fidl::decode!(OutputFlags, D, val_ref, decoder, inner_offset, inner_depth)?;
3742 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3743 {
3744 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3745 }
3746 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3747 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3748 }
3749 }
3750
3751 next_offset += envelope_size;
3752
3753 while next_offset < end_offset {
3755 _next_ordinal_to_read += 1;
3756 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3757 next_offset += envelope_size;
3758 }
3759
3760 Ok(())
3761 }
3762 }
3763
3764 impl Status {
3765 #[inline(always)]
3766 fn max_ordinal_present(&self) -> u64 {
3767 if let Some(_) = self.process_stats {
3768 return 8;
3769 }
3770 if let Some(_) = self.corpus_total_size {
3771 return 7;
3772 }
3773 if let Some(_) = self.corpus_num_inputs {
3774 return 6;
3775 }
3776 if let Some(_) = self.covered_features {
3777 return 5;
3778 }
3779 if let Some(_) = self.covered_pcs {
3780 return 4;
3781 }
3782 if let Some(_) = self.elapsed {
3783 return 3;
3784 }
3785 if let Some(_) = self.runs {
3786 return 2;
3787 }
3788 if let Some(_) = self.running {
3789 return 1;
3790 }
3791 0
3792 }
3793 }
3794
3795 impl fidl::encoding::ValueTypeMarker for Status {
3796 type Borrowed<'a> = &'a Self;
3797 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3798 value
3799 }
3800 }
3801
3802 unsafe impl fidl::encoding::TypeMarker for Status {
3803 type Owned = Self;
3804
3805 #[inline(always)]
3806 fn inline_align(_context: fidl::encoding::Context) -> usize {
3807 8
3808 }
3809
3810 #[inline(always)]
3811 fn inline_size(_context: fidl::encoding::Context) -> usize {
3812 16
3813 }
3814 }
3815
3816 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Status, D> for &Status {
3817 unsafe fn encode(
3818 self,
3819 encoder: &mut fidl::encoding::Encoder<'_, D>,
3820 offset: usize,
3821 mut depth: fidl::encoding::Depth,
3822 ) -> fidl::Result<()> {
3823 encoder.debug_check_bounds::<Status>(offset);
3824 let max_ordinal: u64 = self.max_ordinal_present();
3826 encoder.write_num(max_ordinal, offset);
3827 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3828 if max_ordinal == 0 {
3830 return Ok(());
3831 }
3832 depth.increment()?;
3833 let envelope_size = 8;
3834 let bytes_len = max_ordinal as usize * envelope_size;
3835 #[allow(unused_variables)]
3836 let offset = encoder.out_of_line_offset(bytes_len);
3837 let mut _prev_end_offset: usize = 0;
3838 if 1 > max_ordinal {
3839 return Ok(());
3840 }
3841
3842 let cur_offset: usize = (1 - 1) * envelope_size;
3845
3846 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3848
3849 fidl::encoding::encode_in_envelope_optional::<bool, D>(
3854 self.running.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
3855 encoder,
3856 offset + cur_offset,
3857 depth,
3858 )?;
3859
3860 _prev_end_offset = cur_offset + envelope_size;
3861 if 2 > max_ordinal {
3862 return Ok(());
3863 }
3864
3865 let cur_offset: usize = (2 - 1) * envelope_size;
3868
3869 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3871
3872 fidl::encoding::encode_in_envelope_optional::<u32, D>(
3877 self.runs.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
3878 encoder,
3879 offset + cur_offset,
3880 depth,
3881 )?;
3882
3883 _prev_end_offset = cur_offset + envelope_size;
3884 if 3 > max_ordinal {
3885 return Ok(());
3886 }
3887
3888 let cur_offset: usize = (3 - 1) * envelope_size;
3891
3892 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3894
3895 fidl::encoding::encode_in_envelope_optional::<i64, D>(
3900 self.elapsed.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
3901 encoder,
3902 offset + cur_offset,
3903 depth,
3904 )?;
3905
3906 _prev_end_offset = cur_offset + envelope_size;
3907 if 4 > max_ordinal {
3908 return Ok(());
3909 }
3910
3911 let cur_offset: usize = (4 - 1) * envelope_size;
3914
3915 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3917
3918 fidl::encoding::encode_in_envelope_optional::<u64, D>(
3923 self.covered_pcs.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
3924 encoder,
3925 offset + cur_offset,
3926 depth,
3927 )?;
3928
3929 _prev_end_offset = cur_offset + envelope_size;
3930 if 5 > max_ordinal {
3931 return Ok(());
3932 }
3933
3934 let cur_offset: usize = (5 - 1) * envelope_size;
3937
3938 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3940
3941 fidl::encoding::encode_in_envelope_optional::<u64, D>(
3946 self.covered_features
3947 .as_ref()
3948 .map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
3949 encoder,
3950 offset + cur_offset,
3951 depth,
3952 )?;
3953
3954 _prev_end_offset = cur_offset + envelope_size;
3955 if 6 > max_ordinal {
3956 return Ok(());
3957 }
3958
3959 let cur_offset: usize = (6 - 1) * envelope_size;
3962
3963 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3965
3966 fidl::encoding::encode_in_envelope_optional::<u64, D>(
3971 self.corpus_num_inputs
3972 .as_ref()
3973 .map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
3974 encoder,
3975 offset + cur_offset,
3976 depth,
3977 )?;
3978
3979 _prev_end_offset = cur_offset + envelope_size;
3980 if 7 > max_ordinal {
3981 return Ok(());
3982 }
3983
3984 let cur_offset: usize = (7 - 1) * envelope_size;
3987
3988 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3990
3991 fidl::encoding::encode_in_envelope_optional::<u64, D>(
3996 self.corpus_total_size
3997 .as_ref()
3998 .map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
3999 encoder,
4000 offset + cur_offset,
4001 depth,
4002 )?;
4003
4004 _prev_end_offset = cur_offset + envelope_size;
4005 if 8 > max_ordinal {
4006 return Ok(());
4007 }
4008
4009 let cur_offset: usize = (8 - 1) * envelope_size;
4012
4013 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4015
4016 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<ProcessStats, 256>, D>(
4021 self.process_stats.as_ref().map(<fidl::encoding::Vector<ProcessStats, 256> as fidl::encoding::ValueTypeMarker>::borrow),
4022 encoder, offset + cur_offset, depth
4023 )?;
4024
4025 _prev_end_offset = cur_offset + envelope_size;
4026
4027 Ok(())
4028 }
4029 }
4030
4031 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Status {
4032 #[inline(always)]
4033 fn new_empty() -> Self {
4034 Self::default()
4035 }
4036
4037 unsafe fn decode(
4038 &mut self,
4039 decoder: &mut fidl::encoding::Decoder<'_, D>,
4040 offset: usize,
4041 mut depth: fidl::encoding::Depth,
4042 ) -> fidl::Result<()> {
4043 decoder.debug_check_bounds::<Self>(offset);
4044 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4045 None => return Err(fidl::Error::NotNullable),
4046 Some(len) => len,
4047 };
4048 if len == 0 {
4050 return Ok(());
4051 };
4052 depth.increment()?;
4053 let envelope_size = 8;
4054 let bytes_len = len * envelope_size;
4055 let offset = decoder.out_of_line_offset(bytes_len)?;
4056 let mut _next_ordinal_to_read = 0;
4058 let mut next_offset = offset;
4059 let end_offset = offset + bytes_len;
4060 _next_ordinal_to_read += 1;
4061 if next_offset >= end_offset {
4062 return Ok(());
4063 }
4064
4065 while _next_ordinal_to_read < 1 {
4067 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4068 _next_ordinal_to_read += 1;
4069 next_offset += envelope_size;
4070 }
4071
4072 let next_out_of_line = decoder.next_out_of_line();
4073 let handles_before = decoder.remaining_handles();
4074 if let Some((inlined, num_bytes, num_handles)) =
4075 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4076 {
4077 let member_inline_size =
4078 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4079 if inlined != (member_inline_size <= 4) {
4080 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4081 }
4082 let inner_offset;
4083 let mut inner_depth = depth.clone();
4084 if inlined {
4085 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4086 inner_offset = next_offset;
4087 } else {
4088 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4089 inner_depth.increment()?;
4090 }
4091 let val_ref = self.running.get_or_insert_with(|| fidl::new_empty!(bool, D));
4092 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
4093 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4094 {
4095 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4096 }
4097 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4098 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4099 }
4100 }
4101
4102 next_offset += envelope_size;
4103 _next_ordinal_to_read += 1;
4104 if next_offset >= end_offset {
4105 return Ok(());
4106 }
4107
4108 while _next_ordinal_to_read < 2 {
4110 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4111 _next_ordinal_to_read += 1;
4112 next_offset += envelope_size;
4113 }
4114
4115 let next_out_of_line = decoder.next_out_of_line();
4116 let handles_before = decoder.remaining_handles();
4117 if let Some((inlined, num_bytes, num_handles)) =
4118 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4119 {
4120 let member_inline_size =
4121 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4122 if inlined != (member_inline_size <= 4) {
4123 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4124 }
4125 let inner_offset;
4126 let mut inner_depth = depth.clone();
4127 if inlined {
4128 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4129 inner_offset = next_offset;
4130 } else {
4131 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4132 inner_depth.increment()?;
4133 }
4134 let val_ref = self.runs.get_or_insert_with(|| fidl::new_empty!(u32, D));
4135 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
4136 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4137 {
4138 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4139 }
4140 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4141 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4142 }
4143 }
4144
4145 next_offset += envelope_size;
4146 _next_ordinal_to_read += 1;
4147 if next_offset >= end_offset {
4148 return Ok(());
4149 }
4150
4151 while _next_ordinal_to_read < 3 {
4153 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4154 _next_ordinal_to_read += 1;
4155 next_offset += envelope_size;
4156 }
4157
4158 let next_out_of_line = decoder.next_out_of_line();
4159 let handles_before = decoder.remaining_handles();
4160 if let Some((inlined, num_bytes, num_handles)) =
4161 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4162 {
4163 let member_inline_size =
4164 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4165 if inlined != (member_inline_size <= 4) {
4166 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4167 }
4168 let inner_offset;
4169 let mut inner_depth = depth.clone();
4170 if inlined {
4171 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4172 inner_offset = next_offset;
4173 } else {
4174 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4175 inner_depth.increment()?;
4176 }
4177 let val_ref = self.elapsed.get_or_insert_with(|| fidl::new_empty!(i64, D));
4178 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
4179 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4180 {
4181 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4182 }
4183 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4184 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4185 }
4186 }
4187
4188 next_offset += envelope_size;
4189 _next_ordinal_to_read += 1;
4190 if next_offset >= end_offset {
4191 return Ok(());
4192 }
4193
4194 while _next_ordinal_to_read < 4 {
4196 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4197 _next_ordinal_to_read += 1;
4198 next_offset += envelope_size;
4199 }
4200
4201 let next_out_of_line = decoder.next_out_of_line();
4202 let handles_before = decoder.remaining_handles();
4203 if let Some((inlined, num_bytes, num_handles)) =
4204 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4205 {
4206 let member_inline_size =
4207 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4208 if inlined != (member_inline_size <= 4) {
4209 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4210 }
4211 let inner_offset;
4212 let mut inner_depth = depth.clone();
4213 if inlined {
4214 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4215 inner_offset = next_offset;
4216 } else {
4217 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4218 inner_depth.increment()?;
4219 }
4220 let val_ref = self.covered_pcs.get_or_insert_with(|| fidl::new_empty!(u64, D));
4221 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
4222 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4223 {
4224 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4225 }
4226 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4227 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4228 }
4229 }
4230
4231 next_offset += envelope_size;
4232 _next_ordinal_to_read += 1;
4233 if next_offset >= end_offset {
4234 return Ok(());
4235 }
4236
4237 while _next_ordinal_to_read < 5 {
4239 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4240 _next_ordinal_to_read += 1;
4241 next_offset += envelope_size;
4242 }
4243
4244 let next_out_of_line = decoder.next_out_of_line();
4245 let handles_before = decoder.remaining_handles();
4246 if let Some((inlined, num_bytes, num_handles)) =
4247 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4248 {
4249 let member_inline_size =
4250 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4251 if inlined != (member_inline_size <= 4) {
4252 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4253 }
4254 let inner_offset;
4255 let mut inner_depth = depth.clone();
4256 if inlined {
4257 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4258 inner_offset = next_offset;
4259 } else {
4260 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4261 inner_depth.increment()?;
4262 }
4263 let val_ref = self.covered_features.get_or_insert_with(|| fidl::new_empty!(u64, D));
4264 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
4265 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4266 {
4267 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4268 }
4269 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4270 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4271 }
4272 }
4273
4274 next_offset += envelope_size;
4275 _next_ordinal_to_read += 1;
4276 if next_offset >= end_offset {
4277 return Ok(());
4278 }
4279
4280 while _next_ordinal_to_read < 6 {
4282 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4283 _next_ordinal_to_read += 1;
4284 next_offset += envelope_size;
4285 }
4286
4287 let next_out_of_line = decoder.next_out_of_line();
4288 let handles_before = decoder.remaining_handles();
4289 if let Some((inlined, num_bytes, num_handles)) =
4290 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4291 {
4292 let member_inline_size =
4293 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4294 if inlined != (member_inline_size <= 4) {
4295 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4296 }
4297 let inner_offset;
4298 let mut inner_depth = depth.clone();
4299 if inlined {
4300 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4301 inner_offset = next_offset;
4302 } else {
4303 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4304 inner_depth.increment()?;
4305 }
4306 let val_ref =
4307 self.corpus_num_inputs.get_or_insert_with(|| fidl::new_empty!(u64, D));
4308 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
4309 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4310 {
4311 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4312 }
4313 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4314 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4315 }
4316 }
4317
4318 next_offset += envelope_size;
4319 _next_ordinal_to_read += 1;
4320 if next_offset >= end_offset {
4321 return Ok(());
4322 }
4323
4324 while _next_ordinal_to_read < 7 {
4326 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4327 _next_ordinal_to_read += 1;
4328 next_offset += envelope_size;
4329 }
4330
4331 let next_out_of_line = decoder.next_out_of_line();
4332 let handles_before = decoder.remaining_handles();
4333 if let Some((inlined, num_bytes, num_handles)) =
4334 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4335 {
4336 let member_inline_size =
4337 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4338 if inlined != (member_inline_size <= 4) {
4339 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4340 }
4341 let inner_offset;
4342 let mut inner_depth = depth.clone();
4343 if inlined {
4344 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4345 inner_offset = next_offset;
4346 } else {
4347 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4348 inner_depth.increment()?;
4349 }
4350 let val_ref =
4351 self.corpus_total_size.get_or_insert_with(|| fidl::new_empty!(u64, D));
4352 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
4353 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4354 {
4355 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4356 }
4357 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4358 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4359 }
4360 }
4361
4362 next_offset += envelope_size;
4363 _next_ordinal_to_read += 1;
4364 if next_offset >= end_offset {
4365 return Ok(());
4366 }
4367
4368 while _next_ordinal_to_read < 8 {
4370 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4371 _next_ordinal_to_read += 1;
4372 next_offset += envelope_size;
4373 }
4374
4375 let next_out_of_line = decoder.next_out_of_line();
4376 let handles_before = decoder.remaining_handles();
4377 if let Some((inlined, num_bytes, num_handles)) =
4378 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4379 {
4380 let member_inline_size = <fidl::encoding::Vector<ProcessStats, 256> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4381 if inlined != (member_inline_size <= 4) {
4382 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4383 }
4384 let inner_offset;
4385 let mut inner_depth = depth.clone();
4386 if inlined {
4387 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4388 inner_offset = next_offset;
4389 } else {
4390 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4391 inner_depth.increment()?;
4392 }
4393 let val_ref = self.process_stats.get_or_insert_with(
4394 || fidl::new_empty!(fidl::encoding::Vector<ProcessStats, 256>, D),
4395 );
4396 fidl::decode!(fidl::encoding::Vector<ProcessStats, 256>, D, val_ref, decoder, inner_offset, inner_depth)?;
4397 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4398 {
4399 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4400 }
4401 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4402 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4403 }
4404 }
4405
4406 next_offset += envelope_size;
4407
4408 while next_offset < end_offset {
4410 _next_ordinal_to_read += 1;
4411 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4412 next_offset += envelope_size;
4413 }
4414
4415 Ok(())
4416 }
4417 }
4418}