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 MAX_FRAME_SIZE: u32 = 4096;
12
13#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
14#[repr(i32)]
15pub enum Error {
16 Unspecified = 1,
25 OutboundFrameTooLarge = 2,
37 InboundFrameTooLarge = 3,
46 InboundFrameCorrupt = 4,
58 IoError = 5,
66 Closed = 6,
73}
74
75impl Error {
76 #[inline]
77 pub fn from_primitive(prim: i32) -> Option<Self> {
78 match prim {
79 1 => Some(Self::Unspecified),
80 2 => Some(Self::OutboundFrameTooLarge),
81 3 => Some(Self::InboundFrameTooLarge),
82 4 => Some(Self::InboundFrameCorrupt),
83 5 => Some(Self::IoError),
84 6 => Some(Self::Closed),
85 _ => None,
86 }
87 }
88
89 #[inline]
90 pub const fn into_primitive(self) -> i32 {
91 self as i32
92 }
93
94 #[deprecated = "Strict enums should not use `is_unknown`"]
95 #[inline]
96 pub fn is_unknown(&self) -> bool {
97 false
98 }
99}
100
101#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
102#[repr(C)]
103pub struct DeviceGetMaxFrameSizeResponse {
104 pub size: u32,
105}
106
107impl fidl::Persistable for DeviceGetMaxFrameSizeResponse {}
108
109#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
110pub struct DeviceOnErrorRequest {
111 pub error: Error,
112 pub did_close: bool,
113}
114
115impl fidl::Persistable for DeviceOnErrorRequest {}
116
117#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
118#[repr(C)]
119pub struct DeviceOnReadyForSendFramesRequest {
120 pub number_of_frames: u32,
121}
122
123impl fidl::Persistable for DeviceOnReadyForSendFramesRequest {}
124
125#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
126pub struct DeviceOnReceiveFrameRequest {
127 pub data: Vec<u8>,
128}
129
130impl fidl::Persistable for DeviceOnReceiveFrameRequest {}
131
132#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
133#[repr(C)]
134pub struct DeviceReadyToReceiveFramesRequest {
135 pub number_of_frames: u32,
136}
137
138impl fidl::Persistable for DeviceReadyToReceiveFramesRequest {}
139
140#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
141pub struct DeviceSendFrameRequest {
142 pub data: Vec<u8>,
143}
144
145impl fidl::Persistable for DeviceSendFrameRequest {}
146
147mod internal {
148 use super::*;
149 unsafe impl fidl::encoding::TypeMarker for Error {
150 type Owned = Self;
151
152 #[inline(always)]
153 fn inline_align(_context: fidl::encoding::Context) -> usize {
154 std::mem::align_of::<i32>()
155 }
156
157 #[inline(always)]
158 fn inline_size(_context: fidl::encoding::Context) -> usize {
159 std::mem::size_of::<i32>()
160 }
161
162 #[inline(always)]
163 fn encode_is_copy() -> bool {
164 true
165 }
166
167 #[inline(always)]
168 fn decode_is_copy() -> bool {
169 false
170 }
171 }
172
173 impl fidl::encoding::ValueTypeMarker for Error {
174 type Borrowed<'a> = Self;
175 #[inline(always)]
176 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
177 *value
178 }
179 }
180
181 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for Error {
182 #[inline]
183 unsafe fn encode(
184 self,
185 encoder: &mut fidl::encoding::Encoder<'_, D>,
186 offset: usize,
187 _depth: fidl::encoding::Depth,
188 ) -> fidl::Result<()> {
189 encoder.debug_check_bounds::<Self>(offset);
190 encoder.write_num(self.into_primitive(), offset);
191 Ok(())
192 }
193 }
194
195 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Error {
196 #[inline(always)]
197 fn new_empty() -> Self {
198 Self::Unspecified
199 }
200
201 #[inline]
202 unsafe fn decode(
203 &mut self,
204 decoder: &mut fidl::encoding::Decoder<'_, D>,
205 offset: usize,
206 _depth: fidl::encoding::Depth,
207 ) -> fidl::Result<()> {
208 decoder.debug_check_bounds::<Self>(offset);
209 let prim = decoder.read_num::<i32>(offset);
210
211 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
212 Ok(())
213 }
214 }
215
216 impl fidl::encoding::ValueTypeMarker for DeviceGetMaxFrameSizeResponse {
217 type Borrowed<'a> = &'a Self;
218 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
219 value
220 }
221 }
222
223 unsafe impl fidl::encoding::TypeMarker for DeviceGetMaxFrameSizeResponse {
224 type Owned = Self;
225
226 #[inline(always)]
227 fn inline_align(_context: fidl::encoding::Context) -> usize {
228 4
229 }
230
231 #[inline(always)]
232 fn inline_size(_context: fidl::encoding::Context) -> usize {
233 4
234 }
235 #[inline(always)]
236 fn encode_is_copy() -> bool {
237 true
238 }
239
240 #[inline(always)]
241 fn decode_is_copy() -> bool {
242 true
243 }
244 }
245
246 unsafe impl<D: fidl::encoding::ResourceDialect>
247 fidl::encoding::Encode<DeviceGetMaxFrameSizeResponse, D>
248 for &DeviceGetMaxFrameSizeResponse
249 {
250 #[inline]
251 unsafe fn encode(
252 self,
253 encoder: &mut fidl::encoding::Encoder<'_, D>,
254 offset: usize,
255 _depth: fidl::encoding::Depth,
256 ) -> fidl::Result<()> {
257 encoder.debug_check_bounds::<DeviceGetMaxFrameSizeResponse>(offset);
258 unsafe {
259 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
261 (buf_ptr as *mut DeviceGetMaxFrameSizeResponse)
262 .write_unaligned((self as *const DeviceGetMaxFrameSizeResponse).read());
263 }
266 Ok(())
267 }
268 }
269 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
270 fidl::encoding::Encode<DeviceGetMaxFrameSizeResponse, D> for (T0,)
271 {
272 #[inline]
273 unsafe fn encode(
274 self,
275 encoder: &mut fidl::encoding::Encoder<'_, D>,
276 offset: usize,
277 depth: fidl::encoding::Depth,
278 ) -> fidl::Result<()> {
279 encoder.debug_check_bounds::<DeviceGetMaxFrameSizeResponse>(offset);
280 self.0.encode(encoder, offset + 0, depth)?;
284 Ok(())
285 }
286 }
287
288 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
289 for DeviceGetMaxFrameSizeResponse
290 {
291 #[inline(always)]
292 fn new_empty() -> Self {
293 Self { size: fidl::new_empty!(u32, D) }
294 }
295
296 #[inline]
297 unsafe fn decode(
298 &mut self,
299 decoder: &mut fidl::encoding::Decoder<'_, D>,
300 offset: usize,
301 _depth: fidl::encoding::Depth,
302 ) -> fidl::Result<()> {
303 decoder.debug_check_bounds::<Self>(offset);
304 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
305 unsafe {
308 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
309 }
310 Ok(())
311 }
312 }
313
314 impl fidl::encoding::ValueTypeMarker for DeviceOnErrorRequest {
315 type Borrowed<'a> = &'a Self;
316 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
317 value
318 }
319 }
320
321 unsafe impl fidl::encoding::TypeMarker for DeviceOnErrorRequest {
322 type Owned = Self;
323
324 #[inline(always)]
325 fn inline_align(_context: fidl::encoding::Context) -> usize {
326 4
327 }
328
329 #[inline(always)]
330 fn inline_size(_context: fidl::encoding::Context) -> usize {
331 8
332 }
333 }
334
335 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeviceOnErrorRequest, D>
336 for &DeviceOnErrorRequest
337 {
338 #[inline]
339 unsafe fn encode(
340 self,
341 encoder: &mut fidl::encoding::Encoder<'_, D>,
342 offset: usize,
343 _depth: fidl::encoding::Depth,
344 ) -> fidl::Result<()> {
345 encoder.debug_check_bounds::<DeviceOnErrorRequest>(offset);
346 fidl::encoding::Encode::<DeviceOnErrorRequest, D>::encode(
348 (
349 <Error as fidl::encoding::ValueTypeMarker>::borrow(&self.error),
350 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.did_close),
351 ),
352 encoder,
353 offset,
354 _depth,
355 )
356 }
357 }
358 unsafe impl<
359 D: fidl::encoding::ResourceDialect,
360 T0: fidl::encoding::Encode<Error, D>,
361 T1: fidl::encoding::Encode<bool, D>,
362 > fidl::encoding::Encode<DeviceOnErrorRequest, D> for (T0, T1)
363 {
364 #[inline]
365 unsafe fn encode(
366 self,
367 encoder: &mut fidl::encoding::Encoder<'_, D>,
368 offset: usize,
369 depth: fidl::encoding::Depth,
370 ) -> fidl::Result<()> {
371 encoder.debug_check_bounds::<DeviceOnErrorRequest>(offset);
372 unsafe {
375 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
376 (ptr as *mut u32).write_unaligned(0);
377 }
378 self.0.encode(encoder, offset + 0, depth)?;
380 self.1.encode(encoder, offset + 4, depth)?;
381 Ok(())
382 }
383 }
384
385 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceOnErrorRequest {
386 #[inline(always)]
387 fn new_empty() -> Self {
388 Self { error: fidl::new_empty!(Error, D), did_close: fidl::new_empty!(bool, D) }
389 }
390
391 #[inline]
392 unsafe fn decode(
393 &mut self,
394 decoder: &mut fidl::encoding::Decoder<'_, D>,
395 offset: usize,
396 _depth: fidl::encoding::Depth,
397 ) -> fidl::Result<()> {
398 decoder.debug_check_bounds::<Self>(offset);
399 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
401 let padval = unsafe { (ptr as *const u32).read_unaligned() };
402 let mask = 0xffffff00u32;
403 let maskedval = padval & mask;
404 if maskedval != 0 {
405 return Err(fidl::Error::NonZeroPadding {
406 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
407 });
408 }
409 fidl::decode!(Error, D, &mut self.error, decoder, offset + 0, _depth)?;
410 fidl::decode!(bool, D, &mut self.did_close, decoder, offset + 4, _depth)?;
411 Ok(())
412 }
413 }
414
415 impl fidl::encoding::ValueTypeMarker for DeviceOnReadyForSendFramesRequest {
416 type Borrowed<'a> = &'a Self;
417 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
418 value
419 }
420 }
421
422 unsafe impl fidl::encoding::TypeMarker for DeviceOnReadyForSendFramesRequest {
423 type Owned = Self;
424
425 #[inline(always)]
426 fn inline_align(_context: fidl::encoding::Context) -> usize {
427 4
428 }
429
430 #[inline(always)]
431 fn inline_size(_context: fidl::encoding::Context) -> usize {
432 4
433 }
434 #[inline(always)]
435 fn encode_is_copy() -> bool {
436 true
437 }
438
439 #[inline(always)]
440 fn decode_is_copy() -> bool {
441 true
442 }
443 }
444
445 unsafe impl<D: fidl::encoding::ResourceDialect>
446 fidl::encoding::Encode<DeviceOnReadyForSendFramesRequest, D>
447 for &DeviceOnReadyForSendFramesRequest
448 {
449 #[inline]
450 unsafe fn encode(
451 self,
452 encoder: &mut fidl::encoding::Encoder<'_, D>,
453 offset: usize,
454 _depth: fidl::encoding::Depth,
455 ) -> fidl::Result<()> {
456 encoder.debug_check_bounds::<DeviceOnReadyForSendFramesRequest>(offset);
457 unsafe {
458 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
460 (buf_ptr as *mut DeviceOnReadyForSendFramesRequest)
461 .write_unaligned((self as *const DeviceOnReadyForSendFramesRequest).read());
462 }
465 Ok(())
466 }
467 }
468 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
469 fidl::encoding::Encode<DeviceOnReadyForSendFramesRequest, D> for (T0,)
470 {
471 #[inline]
472 unsafe fn encode(
473 self,
474 encoder: &mut fidl::encoding::Encoder<'_, D>,
475 offset: usize,
476 depth: fidl::encoding::Depth,
477 ) -> fidl::Result<()> {
478 encoder.debug_check_bounds::<DeviceOnReadyForSendFramesRequest>(offset);
479 self.0.encode(encoder, offset + 0, depth)?;
483 Ok(())
484 }
485 }
486
487 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
488 for DeviceOnReadyForSendFramesRequest
489 {
490 #[inline(always)]
491 fn new_empty() -> Self {
492 Self { number_of_frames: fidl::new_empty!(u32, D) }
493 }
494
495 #[inline]
496 unsafe fn decode(
497 &mut self,
498 decoder: &mut fidl::encoding::Decoder<'_, D>,
499 offset: usize,
500 _depth: fidl::encoding::Depth,
501 ) -> fidl::Result<()> {
502 decoder.debug_check_bounds::<Self>(offset);
503 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
504 unsafe {
507 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
508 }
509 Ok(())
510 }
511 }
512
513 impl fidl::encoding::ValueTypeMarker for DeviceOnReceiveFrameRequest {
514 type Borrowed<'a> = &'a Self;
515 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
516 value
517 }
518 }
519
520 unsafe impl fidl::encoding::TypeMarker for DeviceOnReceiveFrameRequest {
521 type Owned = Self;
522
523 #[inline(always)]
524 fn inline_align(_context: fidl::encoding::Context) -> usize {
525 8
526 }
527
528 #[inline(always)]
529 fn inline_size(_context: fidl::encoding::Context) -> usize {
530 16
531 }
532 }
533
534 unsafe impl<D: fidl::encoding::ResourceDialect>
535 fidl::encoding::Encode<DeviceOnReceiveFrameRequest, D> for &DeviceOnReceiveFrameRequest
536 {
537 #[inline]
538 unsafe fn encode(
539 self,
540 encoder: &mut fidl::encoding::Encoder<'_, D>,
541 offset: usize,
542 _depth: fidl::encoding::Depth,
543 ) -> fidl::Result<()> {
544 encoder.debug_check_bounds::<DeviceOnReceiveFrameRequest>(offset);
545 fidl::encoding::Encode::<DeviceOnReceiveFrameRequest, D>::encode(
547 (<fidl::encoding::Vector<u8, 4096> as fidl::encoding::ValueTypeMarker>::borrow(
548 &self.data,
549 ),),
550 encoder,
551 offset,
552 _depth,
553 )
554 }
555 }
556 unsafe impl<
557 D: fidl::encoding::ResourceDialect,
558 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 4096>, D>,
559 > fidl::encoding::Encode<DeviceOnReceiveFrameRequest, D> for (T0,)
560 {
561 #[inline]
562 unsafe fn encode(
563 self,
564 encoder: &mut fidl::encoding::Encoder<'_, D>,
565 offset: usize,
566 depth: fidl::encoding::Depth,
567 ) -> fidl::Result<()> {
568 encoder.debug_check_bounds::<DeviceOnReceiveFrameRequest>(offset);
569 self.0.encode(encoder, offset + 0, depth)?;
573 Ok(())
574 }
575 }
576
577 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
578 for DeviceOnReceiveFrameRequest
579 {
580 #[inline(always)]
581 fn new_empty() -> Self {
582 Self { data: fidl::new_empty!(fidl::encoding::Vector<u8, 4096>, D) }
583 }
584
585 #[inline]
586 unsafe fn decode(
587 &mut self,
588 decoder: &mut fidl::encoding::Decoder<'_, D>,
589 offset: usize,
590 _depth: fidl::encoding::Depth,
591 ) -> fidl::Result<()> {
592 decoder.debug_check_bounds::<Self>(offset);
593 fidl::decode!(fidl::encoding::Vector<u8, 4096>, D, &mut self.data, decoder, offset + 0, _depth)?;
595 Ok(())
596 }
597 }
598
599 impl fidl::encoding::ValueTypeMarker for DeviceReadyToReceiveFramesRequest {
600 type Borrowed<'a> = &'a Self;
601 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
602 value
603 }
604 }
605
606 unsafe impl fidl::encoding::TypeMarker for DeviceReadyToReceiveFramesRequest {
607 type Owned = Self;
608
609 #[inline(always)]
610 fn inline_align(_context: fidl::encoding::Context) -> usize {
611 4
612 }
613
614 #[inline(always)]
615 fn inline_size(_context: fidl::encoding::Context) -> usize {
616 4
617 }
618 #[inline(always)]
619 fn encode_is_copy() -> bool {
620 true
621 }
622
623 #[inline(always)]
624 fn decode_is_copy() -> bool {
625 true
626 }
627 }
628
629 unsafe impl<D: fidl::encoding::ResourceDialect>
630 fidl::encoding::Encode<DeviceReadyToReceiveFramesRequest, D>
631 for &DeviceReadyToReceiveFramesRequest
632 {
633 #[inline]
634 unsafe fn encode(
635 self,
636 encoder: &mut fidl::encoding::Encoder<'_, D>,
637 offset: usize,
638 _depth: fidl::encoding::Depth,
639 ) -> fidl::Result<()> {
640 encoder.debug_check_bounds::<DeviceReadyToReceiveFramesRequest>(offset);
641 unsafe {
642 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
644 (buf_ptr as *mut DeviceReadyToReceiveFramesRequest)
645 .write_unaligned((self as *const DeviceReadyToReceiveFramesRequest).read());
646 }
649 Ok(())
650 }
651 }
652 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
653 fidl::encoding::Encode<DeviceReadyToReceiveFramesRequest, D> for (T0,)
654 {
655 #[inline]
656 unsafe fn encode(
657 self,
658 encoder: &mut fidl::encoding::Encoder<'_, D>,
659 offset: usize,
660 depth: fidl::encoding::Depth,
661 ) -> fidl::Result<()> {
662 encoder.debug_check_bounds::<DeviceReadyToReceiveFramesRequest>(offset);
663 self.0.encode(encoder, offset + 0, depth)?;
667 Ok(())
668 }
669 }
670
671 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
672 for DeviceReadyToReceiveFramesRequest
673 {
674 #[inline(always)]
675 fn new_empty() -> Self {
676 Self { number_of_frames: fidl::new_empty!(u32, D) }
677 }
678
679 #[inline]
680 unsafe fn decode(
681 &mut self,
682 decoder: &mut fidl::encoding::Decoder<'_, D>,
683 offset: usize,
684 _depth: fidl::encoding::Depth,
685 ) -> fidl::Result<()> {
686 decoder.debug_check_bounds::<Self>(offset);
687 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
688 unsafe {
691 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
692 }
693 Ok(())
694 }
695 }
696
697 impl fidl::encoding::ValueTypeMarker for DeviceSendFrameRequest {
698 type Borrowed<'a> = &'a Self;
699 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
700 value
701 }
702 }
703
704 unsafe impl fidl::encoding::TypeMarker for DeviceSendFrameRequest {
705 type Owned = Self;
706
707 #[inline(always)]
708 fn inline_align(_context: fidl::encoding::Context) -> usize {
709 8
710 }
711
712 #[inline(always)]
713 fn inline_size(_context: fidl::encoding::Context) -> usize {
714 16
715 }
716 }
717
718 unsafe impl<D: fidl::encoding::ResourceDialect>
719 fidl::encoding::Encode<DeviceSendFrameRequest, D> for &DeviceSendFrameRequest
720 {
721 #[inline]
722 unsafe fn encode(
723 self,
724 encoder: &mut fidl::encoding::Encoder<'_, D>,
725 offset: usize,
726 _depth: fidl::encoding::Depth,
727 ) -> fidl::Result<()> {
728 encoder.debug_check_bounds::<DeviceSendFrameRequest>(offset);
729 fidl::encoding::Encode::<DeviceSendFrameRequest, D>::encode(
731 (<fidl::encoding::Vector<u8, 4096> as fidl::encoding::ValueTypeMarker>::borrow(
732 &self.data,
733 ),),
734 encoder,
735 offset,
736 _depth,
737 )
738 }
739 }
740 unsafe impl<
741 D: fidl::encoding::ResourceDialect,
742 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 4096>, D>,
743 > fidl::encoding::Encode<DeviceSendFrameRequest, D> for (T0,)
744 {
745 #[inline]
746 unsafe fn encode(
747 self,
748 encoder: &mut fidl::encoding::Encoder<'_, D>,
749 offset: usize,
750 depth: fidl::encoding::Depth,
751 ) -> fidl::Result<()> {
752 encoder.debug_check_bounds::<DeviceSendFrameRequest>(offset);
753 self.0.encode(encoder, offset + 0, depth)?;
757 Ok(())
758 }
759 }
760
761 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
762 for DeviceSendFrameRequest
763 {
764 #[inline(always)]
765 fn new_empty() -> Self {
766 Self { data: fidl::new_empty!(fidl::encoding::Vector<u8, 4096>, D) }
767 }
768
769 #[inline]
770 unsafe fn decode(
771 &mut self,
772 decoder: &mut fidl::encoding::Decoder<'_, D>,
773 offset: usize,
774 _depth: fidl::encoding::Depth,
775 ) -> fidl::Result<()> {
776 decoder.debug_check_bounds::<Self>(offset);
777 fidl::decode!(fidl::encoding::Vector<u8, 4096>, D, &mut self.data, decoder, offset + 0, _depth)?;
779 Ok(())
780 }
781 }
782}