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 SERVER_SUITE_VERSION: u64 = 1;
12
13bitflags! {
14 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
15 pub struct TeardownReason: u32 {
16 const PEER_CLOSED = 1;
17 const VOLUNTARY_SHUTDOWN = 2;
18 const INCOMPATIBLE_FORMAT = 4;
19 const UNEXPECTED_MESSAGE = 8;
20 const ENCODE_FAILURE = 16;
21 const DECODE_FAILURE = 32;
22 const WRITE_FAILURE = 64;
23 }
24}
25
26impl TeardownReason {}
27
28#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
29#[repr(u32)]
30pub enum StartError {
31 TestDisabled = 1,
32}
33
34impl StartError {
35 #[inline]
36 pub fn from_primitive(prim: u32) -> Option<Self> {
37 match prim {
38 1 => Some(Self::TestDisabled),
39 _ => None,
40 }
41 }
42
43 #[inline]
44 pub const fn into_primitive(self) -> u32 {
45 self as u32
46 }
47}
48
49#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
50pub enum Test {
51 Setup,
52 IgnoreDisabled,
53 OneWayNoPayload,
54 TwoWayNoPayload,
55 TwoWayResultWithPayload,
56 TwoWayResultWithError,
57 TwoWayStructPayload,
58 TwoWayTablePayload,
59 TwoWayUnionPayload,
60 OneWayWithNonZeroTxid,
61 TwoWayNoPayloadWithZeroTxid,
62 UnknownOrdinalCausesClose,
63 BadMagicNumberCausesClose,
64 IgnoresUnrecognizedAtRestFlags,
65 IgnoresUnrecognizedDynamicFlags,
66 BadPayloadEncoding,
67 V1TwoWayNoPayload,
68 V1TwoWayStructPayload,
69 EventSendingDoNotReportPeerClosed,
70 ReplySendingDoNotReportPeerClosed,
71 ReceiveOneWayNoPayloadFromPeerClosedChannel,
72 ServerTearsDownWhenPeerClosed,
73 ClientSendsTooFewHandles,
74 ClientSendsWrongHandleType,
75 ClientSendsTooManyRights,
76 ClientSendsTooFewRights,
77 ClientSendsObjectOverPlainHandle,
78 ServerSendsWrongHandleType,
79 ServerSendsTooManyRights,
80 ServerSendsTooFewRights,
81 ServerSendsEpitaph,
82 ServerReceivesEpitaphInvalid,
83 RequestMatchesByteLimit,
84 RequestMatchesHandleLimit,
85 ResponseMatchesByteLimit,
86 ResponseMatchesHandleLimit,
87 ResponseExceedsByteLimit,
88 ResponseExceedsHandleLimit,
89 SendStrictEvent,
90 SendFlexibleEvent,
91 ReceiveStrictOneWay,
92 ReceiveStrictOneWayMismatchedStrictness,
93 ReceiveFlexibleOneWay,
94 ReceiveFlexibleOneWayMismatchedStrictness,
95 StrictTwoWayResponse,
96 StrictTwoWayResponseMismatchedStrictness,
97 StrictTwoWayNonEmptyResponse,
98 StrictTwoWayErrorSyntaxResponse,
99 StrictTwoWayErrorSyntaxResponseMismatchedStrictness,
100 StrictTwoWayErrorSyntaxNonEmptyResponse,
101 FlexibleTwoWayResponse,
102 FlexibleTwoWayResponseMismatchedStrictness,
103 FlexibleTwoWayNonEmptyResponse,
104 FlexibleTwoWayErrorSyntaxResponseSuccessResult,
105 FlexibleTwoWayErrorSyntaxResponseErrorResult,
106 FlexibleTwoWayErrorSyntaxNonEmptyResponseSuccessResult,
107 FlexibleTwoWayErrorSyntaxNonEmptyResponseErrorResult,
108 UnknownStrictOneWayOpenProtocol,
109 UnknownFlexibleOneWayOpenProtocol,
110 UnknownFlexibleOneWayHandleOpenProtocol,
111 UnknownStrictTwoWayOpenProtocol,
112 UnknownFlexibleTwoWayOpenProtocol,
113 UnknownFlexibleTwoWayHandleOpenProtocol,
114 UnknownStrictOneWayAjarProtocol,
115 UnknownFlexibleOneWayAjarProtocol,
116 UnknownStrictTwoWayAjarProtocol,
117 UnknownFlexibleTwoWayAjarProtocol,
118 UnknownStrictOneWayClosedProtocol,
119 UnknownFlexibleOneWayClosedProtocol,
120 UnknownStrictTwoWayClosedProtocol,
121 UnknownFlexibleTwoWayClosedProtocol,
122 #[doc(hidden)]
123 __SourceBreaking {
124 unknown_ordinal: u32,
125 },
126}
127
128#[macro_export]
130macro_rules! TestUnknown {
131 () => {
132 _
133 };
134}
135
136impl Test {
137 #[inline]
138 pub fn from_primitive(prim: u32) -> Option<Self> {
139 match prim {
140 1 => Some(Self::Setup),
141 107 => Some(Self::IgnoreDisabled),
142 2 => Some(Self::OneWayNoPayload),
143 3 => Some(Self::TwoWayNoPayload),
144 4 => Some(Self::TwoWayResultWithPayload),
145 5 => Some(Self::TwoWayResultWithError),
146 6 => Some(Self::TwoWayStructPayload),
147 7 => Some(Self::TwoWayTablePayload),
148 8 => Some(Self::TwoWayUnionPayload),
149 9 => Some(Self::OneWayWithNonZeroTxid),
150 10 => Some(Self::TwoWayNoPayloadWithZeroTxid),
151 11 => Some(Self::UnknownOrdinalCausesClose),
152 12 => Some(Self::BadMagicNumberCausesClose),
153 13 => Some(Self::IgnoresUnrecognizedAtRestFlags),
154 14 => Some(Self::IgnoresUnrecognizedDynamicFlags),
155 15 => Some(Self::BadPayloadEncoding),
156 105 => Some(Self::V1TwoWayNoPayload),
157 106 => Some(Self::V1TwoWayStructPayload),
158 109 => Some(Self::EventSendingDoNotReportPeerClosed),
159 110 => Some(Self::ReplySendingDoNotReportPeerClosed),
160 111 => Some(Self::ReceiveOneWayNoPayloadFromPeerClosedChannel),
161 113 => Some(Self::ServerTearsDownWhenPeerClosed),
162 16 => Some(Self::ClientSendsTooFewHandles),
163 17 => Some(Self::ClientSendsWrongHandleType),
164 18 => Some(Self::ClientSendsTooManyRights),
165 19 => Some(Self::ClientSendsTooFewRights),
166 20 => Some(Self::ClientSendsObjectOverPlainHandle),
167 21 => Some(Self::ServerSendsWrongHandleType),
168 22 => Some(Self::ServerSendsTooManyRights),
169 23 => Some(Self::ServerSendsTooFewRights),
170 24 => Some(Self::ServerSendsEpitaph),
171 25 => Some(Self::ServerReceivesEpitaphInvalid),
172 26 => Some(Self::RequestMatchesByteLimit),
173 27 => Some(Self::RequestMatchesHandleLimit),
174 28 => Some(Self::ResponseMatchesByteLimit),
175 29 => Some(Self::ResponseMatchesHandleLimit),
176 30 => Some(Self::ResponseExceedsByteLimit),
177 31 => Some(Self::ResponseExceedsHandleLimit),
178 32 => Some(Self::SendStrictEvent),
179 33 => Some(Self::SendFlexibleEvent),
180 34 => Some(Self::ReceiveStrictOneWay),
181 35 => Some(Self::ReceiveStrictOneWayMismatchedStrictness),
182 36 => Some(Self::ReceiveFlexibleOneWay),
183 37 => Some(Self::ReceiveFlexibleOneWayMismatchedStrictness),
184 38 => Some(Self::StrictTwoWayResponse),
185 39 => Some(Self::StrictTwoWayResponseMismatchedStrictness),
186 63 => Some(Self::StrictTwoWayNonEmptyResponse),
187 40 => Some(Self::StrictTwoWayErrorSyntaxResponse),
188 41 => Some(Self::StrictTwoWayErrorSyntaxResponseMismatchedStrictness),
189 64 => Some(Self::StrictTwoWayErrorSyntaxNonEmptyResponse),
190 42 => Some(Self::FlexibleTwoWayResponse),
191 43 => Some(Self::FlexibleTwoWayResponseMismatchedStrictness),
192 44 => Some(Self::FlexibleTwoWayNonEmptyResponse),
193 45 => Some(Self::FlexibleTwoWayErrorSyntaxResponseSuccessResult),
194 46 => Some(Self::FlexibleTwoWayErrorSyntaxResponseErrorResult),
195 47 => Some(Self::FlexibleTwoWayErrorSyntaxNonEmptyResponseSuccessResult),
196 48 => Some(Self::FlexibleTwoWayErrorSyntaxNonEmptyResponseErrorResult),
197 49 => Some(Self::UnknownStrictOneWayOpenProtocol),
198 50 => Some(Self::UnknownFlexibleOneWayOpenProtocol),
199 51 => Some(Self::UnknownFlexibleOneWayHandleOpenProtocol),
200 52 => Some(Self::UnknownStrictTwoWayOpenProtocol),
201 53 => Some(Self::UnknownFlexibleTwoWayOpenProtocol),
202 54 => Some(Self::UnknownFlexibleTwoWayHandleOpenProtocol),
203 55 => Some(Self::UnknownStrictOneWayAjarProtocol),
204 56 => Some(Self::UnknownFlexibleOneWayAjarProtocol),
205 57 => Some(Self::UnknownStrictTwoWayAjarProtocol),
206 58 => Some(Self::UnknownFlexibleTwoWayAjarProtocol),
207 59 => Some(Self::UnknownStrictOneWayClosedProtocol),
208 60 => Some(Self::UnknownFlexibleOneWayClosedProtocol),
209 61 => Some(Self::UnknownStrictTwoWayClosedProtocol),
210 62 => Some(Self::UnknownFlexibleTwoWayClosedProtocol),
211 _ => None,
212 }
213 }
214
215 #[inline]
216 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
217 match prim {
218 1 => Self::Setup,
219 107 => Self::IgnoreDisabled,
220 2 => Self::OneWayNoPayload,
221 3 => Self::TwoWayNoPayload,
222 4 => Self::TwoWayResultWithPayload,
223 5 => Self::TwoWayResultWithError,
224 6 => Self::TwoWayStructPayload,
225 7 => Self::TwoWayTablePayload,
226 8 => Self::TwoWayUnionPayload,
227 9 => Self::OneWayWithNonZeroTxid,
228 10 => Self::TwoWayNoPayloadWithZeroTxid,
229 11 => Self::UnknownOrdinalCausesClose,
230 12 => Self::BadMagicNumberCausesClose,
231 13 => Self::IgnoresUnrecognizedAtRestFlags,
232 14 => Self::IgnoresUnrecognizedDynamicFlags,
233 15 => Self::BadPayloadEncoding,
234 105 => Self::V1TwoWayNoPayload,
235 106 => Self::V1TwoWayStructPayload,
236 109 => Self::EventSendingDoNotReportPeerClosed,
237 110 => Self::ReplySendingDoNotReportPeerClosed,
238 111 => Self::ReceiveOneWayNoPayloadFromPeerClosedChannel,
239 113 => Self::ServerTearsDownWhenPeerClosed,
240 16 => Self::ClientSendsTooFewHandles,
241 17 => Self::ClientSendsWrongHandleType,
242 18 => Self::ClientSendsTooManyRights,
243 19 => Self::ClientSendsTooFewRights,
244 20 => Self::ClientSendsObjectOverPlainHandle,
245 21 => Self::ServerSendsWrongHandleType,
246 22 => Self::ServerSendsTooManyRights,
247 23 => Self::ServerSendsTooFewRights,
248 24 => Self::ServerSendsEpitaph,
249 25 => Self::ServerReceivesEpitaphInvalid,
250 26 => Self::RequestMatchesByteLimit,
251 27 => Self::RequestMatchesHandleLimit,
252 28 => Self::ResponseMatchesByteLimit,
253 29 => Self::ResponseMatchesHandleLimit,
254 30 => Self::ResponseExceedsByteLimit,
255 31 => Self::ResponseExceedsHandleLimit,
256 32 => Self::SendStrictEvent,
257 33 => Self::SendFlexibleEvent,
258 34 => Self::ReceiveStrictOneWay,
259 35 => Self::ReceiveStrictOneWayMismatchedStrictness,
260 36 => Self::ReceiveFlexibleOneWay,
261 37 => Self::ReceiveFlexibleOneWayMismatchedStrictness,
262 38 => Self::StrictTwoWayResponse,
263 39 => Self::StrictTwoWayResponseMismatchedStrictness,
264 63 => Self::StrictTwoWayNonEmptyResponse,
265 40 => Self::StrictTwoWayErrorSyntaxResponse,
266 41 => Self::StrictTwoWayErrorSyntaxResponseMismatchedStrictness,
267 64 => Self::StrictTwoWayErrorSyntaxNonEmptyResponse,
268 42 => Self::FlexibleTwoWayResponse,
269 43 => Self::FlexibleTwoWayResponseMismatchedStrictness,
270 44 => Self::FlexibleTwoWayNonEmptyResponse,
271 45 => Self::FlexibleTwoWayErrorSyntaxResponseSuccessResult,
272 46 => Self::FlexibleTwoWayErrorSyntaxResponseErrorResult,
273 47 => Self::FlexibleTwoWayErrorSyntaxNonEmptyResponseSuccessResult,
274 48 => Self::FlexibleTwoWayErrorSyntaxNonEmptyResponseErrorResult,
275 49 => Self::UnknownStrictOneWayOpenProtocol,
276 50 => Self::UnknownFlexibleOneWayOpenProtocol,
277 51 => Self::UnknownFlexibleOneWayHandleOpenProtocol,
278 52 => Self::UnknownStrictTwoWayOpenProtocol,
279 53 => Self::UnknownFlexibleTwoWayOpenProtocol,
280 54 => Self::UnknownFlexibleTwoWayHandleOpenProtocol,
281 55 => Self::UnknownStrictOneWayAjarProtocol,
282 56 => Self::UnknownFlexibleOneWayAjarProtocol,
283 57 => Self::UnknownStrictTwoWayAjarProtocol,
284 58 => Self::UnknownFlexibleTwoWayAjarProtocol,
285 59 => Self::UnknownStrictOneWayClosedProtocol,
286 60 => Self::UnknownFlexibleOneWayClosedProtocol,
287 61 => Self::UnknownStrictTwoWayClosedProtocol,
288 62 => Self::UnknownFlexibleTwoWayClosedProtocol,
289 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
290 }
291 }
292
293 #[inline]
294 pub fn unknown() -> Self {
295 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
296 }
297
298 #[inline]
299 pub const fn into_primitive(self) -> u32 {
300 match self {
301 Self::Setup => 1,
302 Self::IgnoreDisabled => 107,
303 Self::OneWayNoPayload => 2,
304 Self::TwoWayNoPayload => 3,
305 Self::TwoWayResultWithPayload => 4,
306 Self::TwoWayResultWithError => 5,
307 Self::TwoWayStructPayload => 6,
308 Self::TwoWayTablePayload => 7,
309 Self::TwoWayUnionPayload => 8,
310 Self::OneWayWithNonZeroTxid => 9,
311 Self::TwoWayNoPayloadWithZeroTxid => 10,
312 Self::UnknownOrdinalCausesClose => 11,
313 Self::BadMagicNumberCausesClose => 12,
314 Self::IgnoresUnrecognizedAtRestFlags => 13,
315 Self::IgnoresUnrecognizedDynamicFlags => 14,
316 Self::BadPayloadEncoding => 15,
317 Self::V1TwoWayNoPayload => 105,
318 Self::V1TwoWayStructPayload => 106,
319 Self::EventSendingDoNotReportPeerClosed => 109,
320 Self::ReplySendingDoNotReportPeerClosed => 110,
321 Self::ReceiveOneWayNoPayloadFromPeerClosedChannel => 111,
322 Self::ServerTearsDownWhenPeerClosed => 113,
323 Self::ClientSendsTooFewHandles => 16,
324 Self::ClientSendsWrongHandleType => 17,
325 Self::ClientSendsTooManyRights => 18,
326 Self::ClientSendsTooFewRights => 19,
327 Self::ClientSendsObjectOverPlainHandle => 20,
328 Self::ServerSendsWrongHandleType => 21,
329 Self::ServerSendsTooManyRights => 22,
330 Self::ServerSendsTooFewRights => 23,
331 Self::ServerSendsEpitaph => 24,
332 Self::ServerReceivesEpitaphInvalid => 25,
333 Self::RequestMatchesByteLimit => 26,
334 Self::RequestMatchesHandleLimit => 27,
335 Self::ResponseMatchesByteLimit => 28,
336 Self::ResponseMatchesHandleLimit => 29,
337 Self::ResponseExceedsByteLimit => 30,
338 Self::ResponseExceedsHandleLimit => 31,
339 Self::SendStrictEvent => 32,
340 Self::SendFlexibleEvent => 33,
341 Self::ReceiveStrictOneWay => 34,
342 Self::ReceiveStrictOneWayMismatchedStrictness => 35,
343 Self::ReceiveFlexibleOneWay => 36,
344 Self::ReceiveFlexibleOneWayMismatchedStrictness => 37,
345 Self::StrictTwoWayResponse => 38,
346 Self::StrictTwoWayResponseMismatchedStrictness => 39,
347 Self::StrictTwoWayNonEmptyResponse => 63,
348 Self::StrictTwoWayErrorSyntaxResponse => 40,
349 Self::StrictTwoWayErrorSyntaxResponseMismatchedStrictness => 41,
350 Self::StrictTwoWayErrorSyntaxNonEmptyResponse => 64,
351 Self::FlexibleTwoWayResponse => 42,
352 Self::FlexibleTwoWayResponseMismatchedStrictness => 43,
353 Self::FlexibleTwoWayNonEmptyResponse => 44,
354 Self::FlexibleTwoWayErrorSyntaxResponseSuccessResult => 45,
355 Self::FlexibleTwoWayErrorSyntaxResponseErrorResult => 46,
356 Self::FlexibleTwoWayErrorSyntaxNonEmptyResponseSuccessResult => 47,
357 Self::FlexibleTwoWayErrorSyntaxNonEmptyResponseErrorResult => 48,
358 Self::UnknownStrictOneWayOpenProtocol => 49,
359 Self::UnknownFlexibleOneWayOpenProtocol => 50,
360 Self::UnknownFlexibleOneWayHandleOpenProtocol => 51,
361 Self::UnknownStrictTwoWayOpenProtocol => 52,
362 Self::UnknownFlexibleTwoWayOpenProtocol => 53,
363 Self::UnknownFlexibleTwoWayHandleOpenProtocol => 54,
364 Self::UnknownStrictOneWayAjarProtocol => 55,
365 Self::UnknownFlexibleOneWayAjarProtocol => 56,
366 Self::UnknownStrictTwoWayAjarProtocol => 57,
367 Self::UnknownFlexibleTwoWayAjarProtocol => 58,
368 Self::UnknownStrictOneWayClosedProtocol => 59,
369 Self::UnknownFlexibleOneWayClosedProtocol => 60,
370 Self::UnknownStrictTwoWayClosedProtocol => 61,
371 Self::UnknownFlexibleTwoWayClosedProtocol => 62,
372 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
373 }
374 }
375
376 #[inline]
377 pub fn is_unknown(&self) -> bool {
378 match self {
379 Self::__SourceBreaking { unknown_ordinal: _ } => true,
380 _ => false,
381 }
382 }
383}
384
385#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
386#[repr(u32)]
387pub enum UnknownMethodType {
388 OneWay = 1,
389 TwoWay = 2,
390}
391
392impl UnknownMethodType {
393 #[inline]
394 pub fn from_primitive(prim: u32) -> Option<Self> {
395 match prim {
396 1 => Some(Self::OneWay),
397 2 => Some(Self::TwoWay),
398 _ => None,
399 }
400 }
401
402 #[inline]
403 pub const fn into_primitive(self) -> u32 {
404 self as u32
405 }
406}
407
408#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
409pub struct ClosedTargetByteVectorSizeRequest {
410 pub vec: Vec<u8>,
411}
412
413impl fidl::Persistable for ClosedTargetByteVectorSizeRequest {}
414
415#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
416#[repr(C)]
417pub struct ClosedTargetByteVectorSizeResponse {
418 pub n: u32,
419}
420
421impl fidl::Persistable for ClosedTargetByteVectorSizeResponse {}
422
423#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
424#[repr(C)]
425pub struct ClosedTargetCreateNByteVectorRequest {
426 pub n: u32,
427}
428
429impl fidl::Persistable for ClosedTargetCreateNByteVectorRequest {}
430
431#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
432pub struct ClosedTargetCreateNByteVectorResponse {
433 pub vec: Vec<u8>,
434}
435
436impl fidl::Persistable for ClosedTargetCreateNByteVectorResponse {}
437
438#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
439pub struct ClosedTargetGetHandleRightsResponse {
440 pub rights: fidl::Rights,
441}
442
443impl fidl::Persistable for ClosedTargetGetHandleRightsResponse {}
444
445#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
446pub struct ClosedTargetGetSignalableEventRightsResponse {
447 pub rights: fidl::Rights,
448}
449
450impl fidl::Persistable for ClosedTargetGetSignalableEventRightsResponse {}
451
452#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
453#[repr(C)]
454pub struct ClosedTargetHandleVectorSizeResponse {
455 pub n: u32,
456}
457
458impl fidl::Persistable for ClosedTargetHandleVectorSizeResponse {}
459
460#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
461#[repr(C)]
462pub struct ClosedTargetTwoWayStructPayloadRequest {
463 pub v: i8,
464}
465
466impl fidl::Persistable for ClosedTargetTwoWayStructPayloadRequest {}
467
468#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
469#[repr(C)]
470pub struct ClosedTargetTwoWayStructPayloadResponse {
471 pub v: i8,
472}
473
474impl fidl::Persistable for ClosedTargetTwoWayStructPayloadResponse {}
475
476#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
477pub struct ClosedTargetTwoWayResultResponse {
478 pub payload: String,
479}
480
481impl fidl::Persistable for ClosedTargetTwoWayResultResponse {}
482
483#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
484pub struct Empty;
485
486impl fidl::Persistable for Empty {}
487
488#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
489#[repr(C)]
490pub struct OpenTargetFlexibleTwoWayFieldsRequest {
491 pub reply_with: i32,
492}
493
494impl fidl::Persistable for OpenTargetFlexibleTwoWayFieldsRequest {}
495
496#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
497#[repr(C)]
498pub struct OpenTargetStrictTwoWayFieldsRequest {
499 pub reply_with: i32,
500}
501
502impl fidl::Persistable for OpenTargetStrictTwoWayFieldsRequest {}
503
504#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
505#[repr(C)]
506pub struct OpenTargetStrictTwoWayFieldsResponse {
507 pub some_field: i32,
508}
509
510impl fidl::Persistable for OpenTargetStrictTwoWayFieldsResponse {}
511
512#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
513#[repr(C)]
514pub struct OpenTargetFlexibleTwoWayFieldsErrResponse {
515 pub some_field: i32,
516}
517
518impl fidl::Persistable for OpenTargetFlexibleTwoWayFieldsErrResponse {}
519
520#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
521#[repr(C)]
522pub struct OpenTargetFlexibleTwoWayFieldsResponse {
523 pub some_field: i32,
524}
525
526impl fidl::Persistable for OpenTargetFlexibleTwoWayFieldsResponse {}
527
528#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
529#[repr(C)]
530pub struct OpenTargetStrictTwoWayFieldsErrResponse {
531 pub some_field: i32,
532}
533
534impl fidl::Persistable for OpenTargetStrictTwoWayFieldsErrResponse {}
535
536#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
537#[repr(C)]
538pub struct RunnerGetVersionResponse {
539 pub version: u64,
540}
541
542impl fidl::Persistable for RunnerGetVersionResponse {}
543
544#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
545pub struct RunnerOnTeardownRequest {
546 pub reason: TeardownReason,
547}
548
549impl fidl::Persistable for RunnerOnTeardownRequest {}
550
551#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
552#[repr(C)]
553pub struct RunnerShutdownWithEpitaphRequest {
554 pub epitaph_status: i32,
555}
556
557impl fidl::Persistable for RunnerShutdownWithEpitaphRequest {}
558
559#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
560pub struct UnknownMethodInfo {
561 pub ordinal: u64,
562 pub unknown_method_type: UnknownMethodType,
563}
564
565impl fidl::Persistable for UnknownMethodInfo {}
566
567#[derive(Clone, Debug, Default, PartialEq)]
568pub struct ClosedTargetTwoWayTablePayloadRequest {
569 pub v: Option<i8>,
570 #[doc(hidden)]
571 pub __source_breaking: fidl::marker::SourceBreaking,
572}
573
574impl fidl::Persistable for ClosedTargetTwoWayTablePayloadRequest {}
575
576#[derive(Clone, Debug, Default, PartialEq)]
577pub struct ClosedTargetTwoWayTablePayloadResponse {
578 pub v: Option<i8>,
579 #[doc(hidden)]
580 pub __source_breaking: fidl::marker::SourceBreaking,
581}
582
583impl fidl::Persistable for ClosedTargetTwoWayTablePayloadResponse {}
584
585#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
586pub enum ClosedTargetTwoWayResultRequest {
587 Payload(String),
588 Error(u32),
589}
590
591impl ClosedTargetTwoWayResultRequest {
592 #[inline]
593 pub fn ordinal(&self) -> u64 {
594 match *self {
595 Self::Payload(_) => 1,
596 Self::Error(_) => 2,
597 }
598 }
599}
600
601impl fidl::Persistable for ClosedTargetTwoWayResultRequest {}
602
603#[derive(Clone, Debug)]
604pub enum ClosedTargetTwoWayUnionPayloadRequest {
605 V(i8),
606 #[doc(hidden)]
607 __SourceBreaking {
608 unknown_ordinal: u64,
609 },
610}
611
612#[macro_export]
614macro_rules! ClosedTargetTwoWayUnionPayloadRequestUnknown {
615 () => {
616 _
617 };
618}
619
620impl PartialEq for ClosedTargetTwoWayUnionPayloadRequest {
622 fn eq(&self, other: &Self) -> bool {
623 match (self, other) {
624 (Self::V(x), Self::V(y)) => *x == *y,
625 _ => false,
626 }
627 }
628}
629
630impl ClosedTargetTwoWayUnionPayloadRequest {
631 #[inline]
632 pub fn ordinal(&self) -> u64 {
633 match *self {
634 Self::V(_) => 1,
635 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
636 }
637 }
638
639 #[inline]
640 pub fn unknown_variant_for_testing() -> Self {
641 Self::__SourceBreaking { unknown_ordinal: 0 }
642 }
643
644 #[inline]
645 pub fn is_unknown(&self) -> bool {
646 match self {
647 Self::__SourceBreaking { .. } => true,
648 _ => false,
649 }
650 }
651}
652
653impl fidl::Persistable for ClosedTargetTwoWayUnionPayloadRequest {}
654
655#[derive(Clone, Debug)]
656pub enum ClosedTargetTwoWayUnionPayloadResponse {
657 V(i8),
658 #[doc(hidden)]
659 __SourceBreaking {
660 unknown_ordinal: u64,
661 },
662}
663
664#[macro_export]
666macro_rules! ClosedTargetTwoWayUnionPayloadResponseUnknown {
667 () => {
668 _
669 };
670}
671
672impl PartialEq for ClosedTargetTwoWayUnionPayloadResponse {
674 fn eq(&self, other: &Self) -> bool {
675 match (self, other) {
676 (Self::V(x), Self::V(y)) => *x == *y,
677 _ => false,
678 }
679 }
680}
681
682impl ClosedTargetTwoWayUnionPayloadResponse {
683 #[inline]
684 pub fn ordinal(&self) -> u64 {
685 match *self {
686 Self::V(_) => 1,
687 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
688 }
689 }
690
691 #[inline]
692 pub fn unknown_variant_for_testing() -> Self {
693 Self::__SourceBreaking { unknown_ordinal: 0 }
694 }
695
696 #[inline]
697 pub fn is_unknown(&self) -> bool {
698 match self {
699 Self::__SourceBreaking { .. } => true,
700 _ => false,
701 }
702 }
703}
704
705impl fidl::Persistable for ClosedTargetTwoWayUnionPayloadResponse {}
706
707#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
708pub enum OpenTargetFlexibleTwoWayErrRequest {
709 ReplySuccess(Empty),
710 ReplyError(i32),
711}
712
713impl OpenTargetFlexibleTwoWayErrRequest {
714 #[inline]
715 pub fn ordinal(&self) -> u64 {
716 match *self {
717 Self::ReplySuccess(_) => 1,
718 Self::ReplyError(_) => 2,
719 }
720 }
721}
722
723impl fidl::Persistable for OpenTargetFlexibleTwoWayErrRequest {}
724
725#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
726pub enum OpenTargetFlexibleTwoWayFieldsErrRequest {
727 ReplySuccess(i32),
728 ReplyError(i32),
729}
730
731impl OpenTargetFlexibleTwoWayFieldsErrRequest {
732 #[inline]
733 pub fn ordinal(&self) -> u64 {
734 match *self {
735 Self::ReplySuccess(_) => 1,
736 Self::ReplyError(_) => 2,
737 }
738 }
739}
740
741impl fidl::Persistable for OpenTargetFlexibleTwoWayFieldsErrRequest {}
742
743#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
744pub enum OpenTargetStrictTwoWayErrRequest {
745 ReplySuccess(Empty),
746 ReplyError(i32),
747}
748
749impl OpenTargetStrictTwoWayErrRequest {
750 #[inline]
751 pub fn ordinal(&self) -> u64 {
752 match *self {
753 Self::ReplySuccess(_) => 1,
754 Self::ReplyError(_) => 2,
755 }
756 }
757}
758
759impl fidl::Persistable for OpenTargetStrictTwoWayErrRequest {}
760
761#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
762pub enum OpenTargetStrictTwoWayFieldsErrRequest {
763 ReplySuccess(i32),
764 ReplyError(i32),
765}
766
767impl OpenTargetStrictTwoWayFieldsErrRequest {
768 #[inline]
769 pub fn ordinal(&self) -> u64 {
770 match *self {
771 Self::ReplySuccess(_) => 1,
772 Self::ReplyError(_) => 2,
773 }
774 }
775}
776
777impl fidl::Persistable for OpenTargetStrictTwoWayFieldsErrRequest {}
778
779mod internal {
780 use super::*;
781 unsafe impl fidl::encoding::TypeMarker for TeardownReason {
782 type Owned = Self;
783
784 #[inline(always)]
785 fn inline_align(_context: fidl::encoding::Context) -> usize {
786 4
787 }
788
789 #[inline(always)]
790 fn inline_size(_context: fidl::encoding::Context) -> usize {
791 4
792 }
793 }
794
795 impl fidl::encoding::ValueTypeMarker for TeardownReason {
796 type Borrowed<'a> = Self;
797 #[inline(always)]
798 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
799 *value
800 }
801 }
802
803 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for TeardownReason {
804 #[inline]
805 unsafe fn encode(
806 self,
807 encoder: &mut fidl::encoding::Encoder<'_, D>,
808 offset: usize,
809 _depth: fidl::encoding::Depth,
810 ) -> fidl::Result<()> {
811 encoder.debug_check_bounds::<Self>(offset);
812 if self.bits() & Self::all().bits() != self.bits() {
813 return Err(fidl::Error::InvalidBitsValue);
814 }
815 encoder.write_num(self.bits(), offset);
816 Ok(())
817 }
818 }
819
820 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for TeardownReason {
821 #[inline(always)]
822 fn new_empty() -> Self {
823 Self::empty()
824 }
825
826 #[inline]
827 unsafe fn decode(
828 &mut self,
829 decoder: &mut fidl::encoding::Decoder<'_, D>,
830 offset: usize,
831 _depth: fidl::encoding::Depth,
832 ) -> fidl::Result<()> {
833 decoder.debug_check_bounds::<Self>(offset);
834 let prim = decoder.read_num::<u32>(offset);
835 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
836 Ok(())
837 }
838 }
839 unsafe impl fidl::encoding::TypeMarker for StartError {
840 type Owned = Self;
841
842 #[inline(always)]
843 fn inline_align(_context: fidl::encoding::Context) -> usize {
844 std::mem::align_of::<u32>()
845 }
846
847 #[inline(always)]
848 fn inline_size(_context: fidl::encoding::Context) -> usize {
849 std::mem::size_of::<u32>()
850 }
851
852 #[inline(always)]
853 fn encode_is_copy() -> bool {
854 true
855 }
856
857 #[inline(always)]
858 fn decode_is_copy() -> bool {
859 false
860 }
861 }
862
863 impl fidl::encoding::ValueTypeMarker for StartError {
864 type Borrowed<'a> = Self;
865 #[inline(always)]
866 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
867 *value
868 }
869 }
870
871 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for StartError {
872 #[inline]
873 unsafe fn encode(
874 self,
875 encoder: &mut fidl::encoding::Encoder<'_, D>,
876 offset: usize,
877 _depth: fidl::encoding::Depth,
878 ) -> fidl::Result<()> {
879 encoder.debug_check_bounds::<Self>(offset);
880 encoder.write_num(self.into_primitive(), offset);
881 Ok(())
882 }
883 }
884
885 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartError {
886 #[inline(always)]
887 fn new_empty() -> Self {
888 Self::TestDisabled
889 }
890
891 #[inline]
892 unsafe fn decode(
893 &mut self,
894 decoder: &mut fidl::encoding::Decoder<'_, D>,
895 offset: usize,
896 _depth: fidl::encoding::Depth,
897 ) -> fidl::Result<()> {
898 decoder.debug_check_bounds::<Self>(offset);
899 let prim = decoder.read_num::<u32>(offset);
900
901 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
902 Ok(())
903 }
904 }
905 unsafe impl fidl::encoding::TypeMarker for Test {
906 type Owned = Self;
907
908 #[inline(always)]
909 fn inline_align(_context: fidl::encoding::Context) -> usize {
910 std::mem::align_of::<u32>()
911 }
912
913 #[inline(always)]
914 fn inline_size(_context: fidl::encoding::Context) -> usize {
915 std::mem::size_of::<u32>()
916 }
917
918 #[inline(always)]
919 fn encode_is_copy() -> bool {
920 false
921 }
922
923 #[inline(always)]
924 fn decode_is_copy() -> bool {
925 false
926 }
927 }
928
929 impl fidl::encoding::ValueTypeMarker for Test {
930 type Borrowed<'a> = Self;
931 #[inline(always)]
932 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
933 *value
934 }
935 }
936
937 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for Test {
938 #[inline]
939 unsafe fn encode(
940 self,
941 encoder: &mut fidl::encoding::Encoder<'_, D>,
942 offset: usize,
943 _depth: fidl::encoding::Depth,
944 ) -> fidl::Result<()> {
945 encoder.debug_check_bounds::<Self>(offset);
946 encoder.write_num(self.into_primitive(), offset);
947 Ok(())
948 }
949 }
950
951 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Test {
952 #[inline(always)]
953 fn new_empty() -> Self {
954 Self::unknown()
955 }
956
957 #[inline]
958 unsafe fn decode(
959 &mut self,
960 decoder: &mut fidl::encoding::Decoder<'_, D>,
961 offset: usize,
962 _depth: fidl::encoding::Depth,
963 ) -> fidl::Result<()> {
964 decoder.debug_check_bounds::<Self>(offset);
965 let prim = decoder.read_num::<u32>(offset);
966
967 *self = Self::from_primitive_allow_unknown(prim);
968 Ok(())
969 }
970 }
971 unsafe impl fidl::encoding::TypeMarker for UnknownMethodType {
972 type Owned = Self;
973
974 #[inline(always)]
975 fn inline_align(_context: fidl::encoding::Context) -> usize {
976 std::mem::align_of::<u32>()
977 }
978
979 #[inline(always)]
980 fn inline_size(_context: fidl::encoding::Context) -> usize {
981 std::mem::size_of::<u32>()
982 }
983
984 #[inline(always)]
985 fn encode_is_copy() -> bool {
986 true
987 }
988
989 #[inline(always)]
990 fn decode_is_copy() -> bool {
991 false
992 }
993 }
994
995 impl fidl::encoding::ValueTypeMarker for UnknownMethodType {
996 type Borrowed<'a> = Self;
997 #[inline(always)]
998 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
999 *value
1000 }
1001 }
1002
1003 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1004 for UnknownMethodType
1005 {
1006 #[inline]
1007 unsafe fn encode(
1008 self,
1009 encoder: &mut fidl::encoding::Encoder<'_, D>,
1010 offset: usize,
1011 _depth: fidl::encoding::Depth,
1012 ) -> fidl::Result<()> {
1013 encoder.debug_check_bounds::<Self>(offset);
1014 encoder.write_num(self.into_primitive(), offset);
1015 Ok(())
1016 }
1017 }
1018
1019 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for UnknownMethodType {
1020 #[inline(always)]
1021 fn new_empty() -> Self {
1022 Self::OneWay
1023 }
1024
1025 #[inline]
1026 unsafe fn decode(
1027 &mut self,
1028 decoder: &mut fidl::encoding::Decoder<'_, D>,
1029 offset: usize,
1030 _depth: fidl::encoding::Depth,
1031 ) -> fidl::Result<()> {
1032 decoder.debug_check_bounds::<Self>(offset);
1033 let prim = decoder.read_num::<u32>(offset);
1034
1035 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1036 Ok(())
1037 }
1038 }
1039
1040 impl fidl::encoding::ValueTypeMarker for ClosedTargetByteVectorSizeRequest {
1041 type Borrowed<'a> = &'a Self;
1042 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1043 value
1044 }
1045 }
1046
1047 unsafe impl fidl::encoding::TypeMarker for ClosedTargetByteVectorSizeRequest {
1048 type Owned = Self;
1049
1050 #[inline(always)]
1051 fn inline_align(_context: fidl::encoding::Context) -> usize {
1052 8
1053 }
1054
1055 #[inline(always)]
1056 fn inline_size(_context: fidl::encoding::Context) -> usize {
1057 16
1058 }
1059 }
1060
1061 unsafe impl<D: fidl::encoding::ResourceDialect>
1062 fidl::encoding::Encode<ClosedTargetByteVectorSizeRequest, D>
1063 for &ClosedTargetByteVectorSizeRequest
1064 {
1065 #[inline]
1066 unsafe fn encode(
1067 self,
1068 encoder: &mut fidl::encoding::Encoder<'_, D>,
1069 offset: usize,
1070 _depth: fidl::encoding::Depth,
1071 ) -> fidl::Result<()> {
1072 encoder.debug_check_bounds::<ClosedTargetByteVectorSizeRequest>(offset);
1073 fidl::encoding::Encode::<ClosedTargetByteVectorSizeRequest, D>::encode(
1075 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
1076 &self.vec,
1077 ),),
1078 encoder,
1079 offset,
1080 _depth,
1081 )
1082 }
1083 }
1084 unsafe impl<
1085 D: fidl::encoding::ResourceDialect,
1086 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
1087 > fidl::encoding::Encode<ClosedTargetByteVectorSizeRequest, D> for (T0,)
1088 {
1089 #[inline]
1090 unsafe fn encode(
1091 self,
1092 encoder: &mut fidl::encoding::Encoder<'_, D>,
1093 offset: usize,
1094 depth: fidl::encoding::Depth,
1095 ) -> fidl::Result<()> {
1096 encoder.debug_check_bounds::<ClosedTargetByteVectorSizeRequest>(offset);
1097 self.0.encode(encoder, offset + 0, depth)?;
1101 Ok(())
1102 }
1103 }
1104
1105 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1106 for ClosedTargetByteVectorSizeRequest
1107 {
1108 #[inline(always)]
1109 fn new_empty() -> Self {
1110 Self { vec: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
1111 }
1112
1113 #[inline]
1114 unsafe fn decode(
1115 &mut self,
1116 decoder: &mut fidl::encoding::Decoder<'_, D>,
1117 offset: usize,
1118 _depth: fidl::encoding::Depth,
1119 ) -> fidl::Result<()> {
1120 decoder.debug_check_bounds::<Self>(offset);
1121 fidl::decode!(
1123 fidl::encoding::UnboundedVector<u8>,
1124 D,
1125 &mut self.vec,
1126 decoder,
1127 offset + 0,
1128 _depth
1129 )?;
1130 Ok(())
1131 }
1132 }
1133
1134 impl fidl::encoding::ValueTypeMarker for ClosedTargetByteVectorSizeResponse {
1135 type Borrowed<'a> = &'a Self;
1136 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1137 value
1138 }
1139 }
1140
1141 unsafe impl fidl::encoding::TypeMarker for ClosedTargetByteVectorSizeResponse {
1142 type Owned = Self;
1143
1144 #[inline(always)]
1145 fn inline_align(_context: fidl::encoding::Context) -> usize {
1146 4
1147 }
1148
1149 #[inline(always)]
1150 fn inline_size(_context: fidl::encoding::Context) -> usize {
1151 4
1152 }
1153 #[inline(always)]
1154 fn encode_is_copy() -> bool {
1155 true
1156 }
1157
1158 #[inline(always)]
1159 fn decode_is_copy() -> bool {
1160 true
1161 }
1162 }
1163
1164 unsafe impl<D: fidl::encoding::ResourceDialect>
1165 fidl::encoding::Encode<ClosedTargetByteVectorSizeResponse, D>
1166 for &ClosedTargetByteVectorSizeResponse
1167 {
1168 #[inline]
1169 unsafe fn encode(
1170 self,
1171 encoder: &mut fidl::encoding::Encoder<'_, D>,
1172 offset: usize,
1173 _depth: fidl::encoding::Depth,
1174 ) -> fidl::Result<()> {
1175 encoder.debug_check_bounds::<ClosedTargetByteVectorSizeResponse>(offset);
1176 unsafe {
1177 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1179 (buf_ptr as *mut ClosedTargetByteVectorSizeResponse)
1180 .write_unaligned((self as *const ClosedTargetByteVectorSizeResponse).read());
1181 }
1184 Ok(())
1185 }
1186 }
1187 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
1188 fidl::encoding::Encode<ClosedTargetByteVectorSizeResponse, D> for (T0,)
1189 {
1190 #[inline]
1191 unsafe fn encode(
1192 self,
1193 encoder: &mut fidl::encoding::Encoder<'_, D>,
1194 offset: usize,
1195 depth: fidl::encoding::Depth,
1196 ) -> fidl::Result<()> {
1197 encoder.debug_check_bounds::<ClosedTargetByteVectorSizeResponse>(offset);
1198 self.0.encode(encoder, offset + 0, depth)?;
1202 Ok(())
1203 }
1204 }
1205
1206 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1207 for ClosedTargetByteVectorSizeResponse
1208 {
1209 #[inline(always)]
1210 fn new_empty() -> Self {
1211 Self { n: fidl::new_empty!(u32, D) }
1212 }
1213
1214 #[inline]
1215 unsafe fn decode(
1216 &mut self,
1217 decoder: &mut fidl::encoding::Decoder<'_, D>,
1218 offset: usize,
1219 _depth: fidl::encoding::Depth,
1220 ) -> fidl::Result<()> {
1221 decoder.debug_check_bounds::<Self>(offset);
1222 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1223 unsafe {
1226 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
1227 }
1228 Ok(())
1229 }
1230 }
1231
1232 impl fidl::encoding::ValueTypeMarker for ClosedTargetCreateNByteVectorRequest {
1233 type Borrowed<'a> = &'a Self;
1234 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1235 value
1236 }
1237 }
1238
1239 unsafe impl fidl::encoding::TypeMarker for ClosedTargetCreateNByteVectorRequest {
1240 type Owned = Self;
1241
1242 #[inline(always)]
1243 fn inline_align(_context: fidl::encoding::Context) -> usize {
1244 4
1245 }
1246
1247 #[inline(always)]
1248 fn inline_size(_context: fidl::encoding::Context) -> usize {
1249 4
1250 }
1251 #[inline(always)]
1252 fn encode_is_copy() -> bool {
1253 true
1254 }
1255
1256 #[inline(always)]
1257 fn decode_is_copy() -> bool {
1258 true
1259 }
1260 }
1261
1262 unsafe impl<D: fidl::encoding::ResourceDialect>
1263 fidl::encoding::Encode<ClosedTargetCreateNByteVectorRequest, D>
1264 for &ClosedTargetCreateNByteVectorRequest
1265 {
1266 #[inline]
1267 unsafe fn encode(
1268 self,
1269 encoder: &mut fidl::encoding::Encoder<'_, D>,
1270 offset: usize,
1271 _depth: fidl::encoding::Depth,
1272 ) -> fidl::Result<()> {
1273 encoder.debug_check_bounds::<ClosedTargetCreateNByteVectorRequest>(offset);
1274 unsafe {
1275 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1277 (buf_ptr as *mut ClosedTargetCreateNByteVectorRequest)
1278 .write_unaligned((self as *const ClosedTargetCreateNByteVectorRequest).read());
1279 }
1282 Ok(())
1283 }
1284 }
1285 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
1286 fidl::encoding::Encode<ClosedTargetCreateNByteVectorRequest, D> for (T0,)
1287 {
1288 #[inline]
1289 unsafe fn encode(
1290 self,
1291 encoder: &mut fidl::encoding::Encoder<'_, D>,
1292 offset: usize,
1293 depth: fidl::encoding::Depth,
1294 ) -> fidl::Result<()> {
1295 encoder.debug_check_bounds::<ClosedTargetCreateNByteVectorRequest>(offset);
1296 self.0.encode(encoder, offset + 0, depth)?;
1300 Ok(())
1301 }
1302 }
1303
1304 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1305 for ClosedTargetCreateNByteVectorRequest
1306 {
1307 #[inline(always)]
1308 fn new_empty() -> Self {
1309 Self { n: fidl::new_empty!(u32, D) }
1310 }
1311
1312 #[inline]
1313 unsafe fn decode(
1314 &mut self,
1315 decoder: &mut fidl::encoding::Decoder<'_, D>,
1316 offset: usize,
1317 _depth: fidl::encoding::Depth,
1318 ) -> fidl::Result<()> {
1319 decoder.debug_check_bounds::<Self>(offset);
1320 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1321 unsafe {
1324 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
1325 }
1326 Ok(())
1327 }
1328 }
1329
1330 impl fidl::encoding::ValueTypeMarker for ClosedTargetCreateNByteVectorResponse {
1331 type Borrowed<'a> = &'a Self;
1332 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1333 value
1334 }
1335 }
1336
1337 unsafe impl fidl::encoding::TypeMarker for ClosedTargetCreateNByteVectorResponse {
1338 type Owned = Self;
1339
1340 #[inline(always)]
1341 fn inline_align(_context: fidl::encoding::Context) -> usize {
1342 8
1343 }
1344
1345 #[inline(always)]
1346 fn inline_size(_context: fidl::encoding::Context) -> usize {
1347 16
1348 }
1349 }
1350
1351 unsafe impl<D: fidl::encoding::ResourceDialect>
1352 fidl::encoding::Encode<ClosedTargetCreateNByteVectorResponse, D>
1353 for &ClosedTargetCreateNByteVectorResponse
1354 {
1355 #[inline]
1356 unsafe fn encode(
1357 self,
1358 encoder: &mut fidl::encoding::Encoder<'_, D>,
1359 offset: usize,
1360 _depth: fidl::encoding::Depth,
1361 ) -> fidl::Result<()> {
1362 encoder.debug_check_bounds::<ClosedTargetCreateNByteVectorResponse>(offset);
1363 fidl::encoding::Encode::<ClosedTargetCreateNByteVectorResponse, D>::encode(
1365 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
1366 &self.vec,
1367 ),),
1368 encoder,
1369 offset,
1370 _depth,
1371 )
1372 }
1373 }
1374 unsafe impl<
1375 D: fidl::encoding::ResourceDialect,
1376 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
1377 > fidl::encoding::Encode<ClosedTargetCreateNByteVectorResponse, D> for (T0,)
1378 {
1379 #[inline]
1380 unsafe fn encode(
1381 self,
1382 encoder: &mut fidl::encoding::Encoder<'_, D>,
1383 offset: usize,
1384 depth: fidl::encoding::Depth,
1385 ) -> fidl::Result<()> {
1386 encoder.debug_check_bounds::<ClosedTargetCreateNByteVectorResponse>(offset);
1387 self.0.encode(encoder, offset + 0, depth)?;
1391 Ok(())
1392 }
1393 }
1394
1395 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1396 for ClosedTargetCreateNByteVectorResponse
1397 {
1398 #[inline(always)]
1399 fn new_empty() -> Self {
1400 Self { vec: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
1401 }
1402
1403 #[inline]
1404 unsafe fn decode(
1405 &mut self,
1406 decoder: &mut fidl::encoding::Decoder<'_, D>,
1407 offset: usize,
1408 _depth: fidl::encoding::Depth,
1409 ) -> fidl::Result<()> {
1410 decoder.debug_check_bounds::<Self>(offset);
1411 fidl::decode!(
1413 fidl::encoding::UnboundedVector<u8>,
1414 D,
1415 &mut self.vec,
1416 decoder,
1417 offset + 0,
1418 _depth
1419 )?;
1420 Ok(())
1421 }
1422 }
1423
1424 impl fidl::encoding::ValueTypeMarker for ClosedTargetGetHandleRightsResponse {
1425 type Borrowed<'a> = &'a Self;
1426 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1427 value
1428 }
1429 }
1430
1431 unsafe impl fidl::encoding::TypeMarker for ClosedTargetGetHandleRightsResponse {
1432 type Owned = Self;
1433
1434 #[inline(always)]
1435 fn inline_align(_context: fidl::encoding::Context) -> usize {
1436 4
1437 }
1438
1439 #[inline(always)]
1440 fn inline_size(_context: fidl::encoding::Context) -> usize {
1441 4
1442 }
1443 }
1444
1445 unsafe impl<D: fidl::encoding::ResourceDialect>
1446 fidl::encoding::Encode<ClosedTargetGetHandleRightsResponse, D>
1447 for &ClosedTargetGetHandleRightsResponse
1448 {
1449 #[inline]
1450 unsafe fn encode(
1451 self,
1452 encoder: &mut fidl::encoding::Encoder<'_, D>,
1453 offset: usize,
1454 _depth: fidl::encoding::Depth,
1455 ) -> fidl::Result<()> {
1456 encoder.debug_check_bounds::<ClosedTargetGetHandleRightsResponse>(offset);
1457 fidl::encoding::Encode::<ClosedTargetGetHandleRightsResponse, D>::encode(
1459 (<fidl::Rights as fidl::encoding::ValueTypeMarker>::borrow(&self.rights),),
1460 encoder,
1461 offset,
1462 _depth,
1463 )
1464 }
1465 }
1466 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<fidl::Rights, D>>
1467 fidl::encoding::Encode<ClosedTargetGetHandleRightsResponse, D> for (T0,)
1468 {
1469 #[inline]
1470 unsafe fn encode(
1471 self,
1472 encoder: &mut fidl::encoding::Encoder<'_, D>,
1473 offset: usize,
1474 depth: fidl::encoding::Depth,
1475 ) -> fidl::Result<()> {
1476 encoder.debug_check_bounds::<ClosedTargetGetHandleRightsResponse>(offset);
1477 self.0.encode(encoder, offset + 0, depth)?;
1481 Ok(())
1482 }
1483 }
1484
1485 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1486 for ClosedTargetGetHandleRightsResponse
1487 {
1488 #[inline(always)]
1489 fn new_empty() -> Self {
1490 Self { rights: fidl::new_empty!(fidl::Rights, D) }
1491 }
1492
1493 #[inline]
1494 unsafe fn decode(
1495 &mut self,
1496 decoder: &mut fidl::encoding::Decoder<'_, D>,
1497 offset: usize,
1498 _depth: fidl::encoding::Depth,
1499 ) -> fidl::Result<()> {
1500 decoder.debug_check_bounds::<Self>(offset);
1501 fidl::decode!(fidl::Rights, D, &mut self.rights, decoder, offset + 0, _depth)?;
1503 Ok(())
1504 }
1505 }
1506
1507 impl fidl::encoding::ValueTypeMarker for ClosedTargetGetSignalableEventRightsResponse {
1508 type Borrowed<'a> = &'a Self;
1509 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1510 value
1511 }
1512 }
1513
1514 unsafe impl fidl::encoding::TypeMarker for ClosedTargetGetSignalableEventRightsResponse {
1515 type Owned = Self;
1516
1517 #[inline(always)]
1518 fn inline_align(_context: fidl::encoding::Context) -> usize {
1519 4
1520 }
1521
1522 #[inline(always)]
1523 fn inline_size(_context: fidl::encoding::Context) -> usize {
1524 4
1525 }
1526 }
1527
1528 unsafe impl<D: fidl::encoding::ResourceDialect>
1529 fidl::encoding::Encode<ClosedTargetGetSignalableEventRightsResponse, D>
1530 for &ClosedTargetGetSignalableEventRightsResponse
1531 {
1532 #[inline]
1533 unsafe fn encode(
1534 self,
1535 encoder: &mut fidl::encoding::Encoder<'_, D>,
1536 offset: usize,
1537 _depth: fidl::encoding::Depth,
1538 ) -> fidl::Result<()> {
1539 encoder.debug_check_bounds::<ClosedTargetGetSignalableEventRightsResponse>(offset);
1540 fidl::encoding::Encode::<ClosedTargetGetSignalableEventRightsResponse, D>::encode(
1542 (<fidl::Rights as fidl::encoding::ValueTypeMarker>::borrow(&self.rights),),
1543 encoder,
1544 offset,
1545 _depth,
1546 )
1547 }
1548 }
1549 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<fidl::Rights, D>>
1550 fidl::encoding::Encode<ClosedTargetGetSignalableEventRightsResponse, D> for (T0,)
1551 {
1552 #[inline]
1553 unsafe fn encode(
1554 self,
1555 encoder: &mut fidl::encoding::Encoder<'_, D>,
1556 offset: usize,
1557 depth: fidl::encoding::Depth,
1558 ) -> fidl::Result<()> {
1559 encoder.debug_check_bounds::<ClosedTargetGetSignalableEventRightsResponse>(offset);
1560 self.0.encode(encoder, offset + 0, depth)?;
1564 Ok(())
1565 }
1566 }
1567
1568 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1569 for ClosedTargetGetSignalableEventRightsResponse
1570 {
1571 #[inline(always)]
1572 fn new_empty() -> Self {
1573 Self { rights: fidl::new_empty!(fidl::Rights, D) }
1574 }
1575
1576 #[inline]
1577 unsafe fn decode(
1578 &mut self,
1579 decoder: &mut fidl::encoding::Decoder<'_, D>,
1580 offset: usize,
1581 _depth: fidl::encoding::Depth,
1582 ) -> fidl::Result<()> {
1583 decoder.debug_check_bounds::<Self>(offset);
1584 fidl::decode!(fidl::Rights, D, &mut self.rights, decoder, offset + 0, _depth)?;
1586 Ok(())
1587 }
1588 }
1589
1590 impl fidl::encoding::ValueTypeMarker for ClosedTargetHandleVectorSizeResponse {
1591 type Borrowed<'a> = &'a Self;
1592 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1593 value
1594 }
1595 }
1596
1597 unsafe impl fidl::encoding::TypeMarker for ClosedTargetHandleVectorSizeResponse {
1598 type Owned = Self;
1599
1600 #[inline(always)]
1601 fn inline_align(_context: fidl::encoding::Context) -> usize {
1602 4
1603 }
1604
1605 #[inline(always)]
1606 fn inline_size(_context: fidl::encoding::Context) -> usize {
1607 4
1608 }
1609 #[inline(always)]
1610 fn encode_is_copy() -> bool {
1611 true
1612 }
1613
1614 #[inline(always)]
1615 fn decode_is_copy() -> bool {
1616 true
1617 }
1618 }
1619
1620 unsafe impl<D: fidl::encoding::ResourceDialect>
1621 fidl::encoding::Encode<ClosedTargetHandleVectorSizeResponse, D>
1622 for &ClosedTargetHandleVectorSizeResponse
1623 {
1624 #[inline]
1625 unsafe fn encode(
1626 self,
1627 encoder: &mut fidl::encoding::Encoder<'_, D>,
1628 offset: usize,
1629 _depth: fidl::encoding::Depth,
1630 ) -> fidl::Result<()> {
1631 encoder.debug_check_bounds::<ClosedTargetHandleVectorSizeResponse>(offset);
1632 unsafe {
1633 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1635 (buf_ptr as *mut ClosedTargetHandleVectorSizeResponse)
1636 .write_unaligned((self as *const ClosedTargetHandleVectorSizeResponse).read());
1637 }
1640 Ok(())
1641 }
1642 }
1643 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u32, D>>
1644 fidl::encoding::Encode<ClosedTargetHandleVectorSizeResponse, D> for (T0,)
1645 {
1646 #[inline]
1647 unsafe fn encode(
1648 self,
1649 encoder: &mut fidl::encoding::Encoder<'_, D>,
1650 offset: usize,
1651 depth: fidl::encoding::Depth,
1652 ) -> fidl::Result<()> {
1653 encoder.debug_check_bounds::<ClosedTargetHandleVectorSizeResponse>(offset);
1654 self.0.encode(encoder, offset + 0, depth)?;
1658 Ok(())
1659 }
1660 }
1661
1662 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1663 for ClosedTargetHandleVectorSizeResponse
1664 {
1665 #[inline(always)]
1666 fn new_empty() -> Self {
1667 Self { n: fidl::new_empty!(u32, D) }
1668 }
1669
1670 #[inline]
1671 unsafe fn decode(
1672 &mut self,
1673 decoder: &mut fidl::encoding::Decoder<'_, D>,
1674 offset: usize,
1675 _depth: fidl::encoding::Depth,
1676 ) -> fidl::Result<()> {
1677 decoder.debug_check_bounds::<Self>(offset);
1678 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1679 unsafe {
1682 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
1683 }
1684 Ok(())
1685 }
1686 }
1687
1688 impl fidl::encoding::ValueTypeMarker for ClosedTargetTwoWayStructPayloadRequest {
1689 type Borrowed<'a> = &'a Self;
1690 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1691 value
1692 }
1693 }
1694
1695 unsafe impl fidl::encoding::TypeMarker for ClosedTargetTwoWayStructPayloadRequest {
1696 type Owned = Self;
1697
1698 #[inline(always)]
1699 fn inline_align(_context: fidl::encoding::Context) -> usize {
1700 1
1701 }
1702
1703 #[inline(always)]
1704 fn inline_size(_context: fidl::encoding::Context) -> usize {
1705 1
1706 }
1707 #[inline(always)]
1708 fn encode_is_copy() -> bool {
1709 true
1710 }
1711
1712 #[inline(always)]
1713 fn decode_is_copy() -> bool {
1714 true
1715 }
1716 }
1717
1718 unsafe impl<D: fidl::encoding::ResourceDialect>
1719 fidl::encoding::Encode<ClosedTargetTwoWayStructPayloadRequest, D>
1720 for &ClosedTargetTwoWayStructPayloadRequest
1721 {
1722 #[inline]
1723 unsafe fn encode(
1724 self,
1725 encoder: &mut fidl::encoding::Encoder<'_, D>,
1726 offset: usize,
1727 _depth: fidl::encoding::Depth,
1728 ) -> fidl::Result<()> {
1729 encoder.debug_check_bounds::<ClosedTargetTwoWayStructPayloadRequest>(offset);
1730 unsafe {
1731 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1733 (buf_ptr as *mut ClosedTargetTwoWayStructPayloadRequest).write_unaligned(
1734 (self as *const ClosedTargetTwoWayStructPayloadRequest).read(),
1735 );
1736 }
1739 Ok(())
1740 }
1741 }
1742 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i8, D>>
1743 fidl::encoding::Encode<ClosedTargetTwoWayStructPayloadRequest, D> for (T0,)
1744 {
1745 #[inline]
1746 unsafe fn encode(
1747 self,
1748 encoder: &mut fidl::encoding::Encoder<'_, D>,
1749 offset: usize,
1750 depth: fidl::encoding::Depth,
1751 ) -> fidl::Result<()> {
1752 encoder.debug_check_bounds::<ClosedTargetTwoWayStructPayloadRequest>(offset);
1753 self.0.encode(encoder, offset + 0, depth)?;
1757 Ok(())
1758 }
1759 }
1760
1761 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1762 for ClosedTargetTwoWayStructPayloadRequest
1763 {
1764 #[inline(always)]
1765 fn new_empty() -> Self {
1766 Self { v: fidl::new_empty!(i8, D) }
1767 }
1768
1769 #[inline]
1770 unsafe fn decode(
1771 &mut self,
1772 decoder: &mut fidl::encoding::Decoder<'_, D>,
1773 offset: usize,
1774 _depth: fidl::encoding::Depth,
1775 ) -> fidl::Result<()> {
1776 decoder.debug_check_bounds::<Self>(offset);
1777 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1778 unsafe {
1781 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 1);
1782 }
1783 Ok(())
1784 }
1785 }
1786
1787 impl fidl::encoding::ValueTypeMarker for ClosedTargetTwoWayStructPayloadResponse {
1788 type Borrowed<'a> = &'a Self;
1789 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1790 value
1791 }
1792 }
1793
1794 unsafe impl fidl::encoding::TypeMarker for ClosedTargetTwoWayStructPayloadResponse {
1795 type Owned = Self;
1796
1797 #[inline(always)]
1798 fn inline_align(_context: fidl::encoding::Context) -> usize {
1799 1
1800 }
1801
1802 #[inline(always)]
1803 fn inline_size(_context: fidl::encoding::Context) -> usize {
1804 1
1805 }
1806 #[inline(always)]
1807 fn encode_is_copy() -> bool {
1808 true
1809 }
1810
1811 #[inline(always)]
1812 fn decode_is_copy() -> bool {
1813 true
1814 }
1815 }
1816
1817 unsafe impl<D: fidl::encoding::ResourceDialect>
1818 fidl::encoding::Encode<ClosedTargetTwoWayStructPayloadResponse, D>
1819 for &ClosedTargetTwoWayStructPayloadResponse
1820 {
1821 #[inline]
1822 unsafe fn encode(
1823 self,
1824 encoder: &mut fidl::encoding::Encoder<'_, D>,
1825 offset: usize,
1826 _depth: fidl::encoding::Depth,
1827 ) -> fidl::Result<()> {
1828 encoder.debug_check_bounds::<ClosedTargetTwoWayStructPayloadResponse>(offset);
1829 unsafe {
1830 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1832 (buf_ptr as *mut ClosedTargetTwoWayStructPayloadResponse).write_unaligned(
1833 (self as *const ClosedTargetTwoWayStructPayloadResponse).read(),
1834 );
1835 }
1838 Ok(())
1839 }
1840 }
1841 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i8, D>>
1842 fidl::encoding::Encode<ClosedTargetTwoWayStructPayloadResponse, D> for (T0,)
1843 {
1844 #[inline]
1845 unsafe fn encode(
1846 self,
1847 encoder: &mut fidl::encoding::Encoder<'_, D>,
1848 offset: usize,
1849 depth: fidl::encoding::Depth,
1850 ) -> fidl::Result<()> {
1851 encoder.debug_check_bounds::<ClosedTargetTwoWayStructPayloadResponse>(offset);
1852 self.0.encode(encoder, offset + 0, depth)?;
1856 Ok(())
1857 }
1858 }
1859
1860 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1861 for ClosedTargetTwoWayStructPayloadResponse
1862 {
1863 #[inline(always)]
1864 fn new_empty() -> Self {
1865 Self { v: fidl::new_empty!(i8, D) }
1866 }
1867
1868 #[inline]
1869 unsafe fn decode(
1870 &mut self,
1871 decoder: &mut fidl::encoding::Decoder<'_, D>,
1872 offset: usize,
1873 _depth: fidl::encoding::Depth,
1874 ) -> fidl::Result<()> {
1875 decoder.debug_check_bounds::<Self>(offset);
1876 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1877 unsafe {
1880 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 1);
1881 }
1882 Ok(())
1883 }
1884 }
1885
1886 impl fidl::encoding::ValueTypeMarker for ClosedTargetTwoWayResultResponse {
1887 type Borrowed<'a> = &'a Self;
1888 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1889 value
1890 }
1891 }
1892
1893 unsafe impl fidl::encoding::TypeMarker for ClosedTargetTwoWayResultResponse {
1894 type Owned = Self;
1895
1896 #[inline(always)]
1897 fn inline_align(_context: fidl::encoding::Context) -> usize {
1898 8
1899 }
1900
1901 #[inline(always)]
1902 fn inline_size(_context: fidl::encoding::Context) -> usize {
1903 16
1904 }
1905 }
1906
1907 unsafe impl<D: fidl::encoding::ResourceDialect>
1908 fidl::encoding::Encode<ClosedTargetTwoWayResultResponse, D>
1909 for &ClosedTargetTwoWayResultResponse
1910 {
1911 #[inline]
1912 unsafe fn encode(
1913 self,
1914 encoder: &mut fidl::encoding::Encoder<'_, D>,
1915 offset: usize,
1916 _depth: fidl::encoding::Depth,
1917 ) -> fidl::Result<()> {
1918 encoder.debug_check_bounds::<ClosedTargetTwoWayResultResponse>(offset);
1919 fidl::encoding::Encode::<ClosedTargetTwoWayResultResponse, D>::encode(
1921 (<fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(
1922 &self.payload,
1923 ),),
1924 encoder,
1925 offset,
1926 _depth,
1927 )
1928 }
1929 }
1930 unsafe impl<
1931 D: fidl::encoding::ResourceDialect,
1932 T0: fidl::encoding::Encode<fidl::encoding::UnboundedString, D>,
1933 > fidl::encoding::Encode<ClosedTargetTwoWayResultResponse, D> for (T0,)
1934 {
1935 #[inline]
1936 unsafe fn encode(
1937 self,
1938 encoder: &mut fidl::encoding::Encoder<'_, D>,
1939 offset: usize,
1940 depth: fidl::encoding::Depth,
1941 ) -> fidl::Result<()> {
1942 encoder.debug_check_bounds::<ClosedTargetTwoWayResultResponse>(offset);
1943 self.0.encode(encoder, offset + 0, depth)?;
1947 Ok(())
1948 }
1949 }
1950
1951 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1952 for ClosedTargetTwoWayResultResponse
1953 {
1954 #[inline(always)]
1955 fn new_empty() -> Self {
1956 Self { payload: fidl::new_empty!(fidl::encoding::UnboundedString, D) }
1957 }
1958
1959 #[inline]
1960 unsafe fn decode(
1961 &mut self,
1962 decoder: &mut fidl::encoding::Decoder<'_, D>,
1963 offset: usize,
1964 _depth: fidl::encoding::Depth,
1965 ) -> fidl::Result<()> {
1966 decoder.debug_check_bounds::<Self>(offset);
1967 fidl::decode!(
1969 fidl::encoding::UnboundedString,
1970 D,
1971 &mut self.payload,
1972 decoder,
1973 offset + 0,
1974 _depth
1975 )?;
1976 Ok(())
1977 }
1978 }
1979
1980 impl fidl::encoding::ValueTypeMarker for Empty {
1981 type Borrowed<'a> = &'a Self;
1982 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1983 value
1984 }
1985 }
1986
1987 unsafe impl fidl::encoding::TypeMarker for Empty {
1988 type Owned = Self;
1989
1990 #[inline(always)]
1991 fn inline_align(_context: fidl::encoding::Context) -> usize {
1992 1
1993 }
1994
1995 #[inline(always)]
1996 fn inline_size(_context: fidl::encoding::Context) -> usize {
1997 1
1998 }
1999 }
2000
2001 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Empty, D> for &Empty {
2002 #[inline]
2003 unsafe fn encode(
2004 self,
2005 encoder: &mut fidl::encoding::Encoder<'_, D>,
2006 offset: usize,
2007 _depth: fidl::encoding::Depth,
2008 ) -> fidl::Result<()> {
2009 encoder.debug_check_bounds::<Empty>(offset);
2010 encoder.write_num(0u8, offset);
2011 Ok(())
2012 }
2013 }
2014
2015 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Empty {
2016 #[inline(always)]
2017 fn new_empty() -> Self {
2018 Self
2019 }
2020
2021 #[inline]
2022 unsafe fn decode(
2023 &mut self,
2024 decoder: &mut fidl::encoding::Decoder<'_, D>,
2025 offset: usize,
2026 _depth: fidl::encoding::Depth,
2027 ) -> fidl::Result<()> {
2028 decoder.debug_check_bounds::<Self>(offset);
2029 match decoder.read_num::<u8>(offset) {
2030 0 => Ok(()),
2031 _ => Err(fidl::Error::Invalid),
2032 }
2033 }
2034 }
2035
2036 impl fidl::encoding::ValueTypeMarker for OpenTargetFlexibleTwoWayFieldsRequest {
2037 type Borrowed<'a> = &'a Self;
2038 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2039 value
2040 }
2041 }
2042
2043 unsafe impl fidl::encoding::TypeMarker for OpenTargetFlexibleTwoWayFieldsRequest {
2044 type Owned = Self;
2045
2046 #[inline(always)]
2047 fn inline_align(_context: fidl::encoding::Context) -> usize {
2048 4
2049 }
2050
2051 #[inline(always)]
2052 fn inline_size(_context: fidl::encoding::Context) -> usize {
2053 4
2054 }
2055 #[inline(always)]
2056 fn encode_is_copy() -> bool {
2057 true
2058 }
2059
2060 #[inline(always)]
2061 fn decode_is_copy() -> bool {
2062 true
2063 }
2064 }
2065
2066 unsafe impl<D: fidl::encoding::ResourceDialect>
2067 fidl::encoding::Encode<OpenTargetFlexibleTwoWayFieldsRequest, D>
2068 for &OpenTargetFlexibleTwoWayFieldsRequest
2069 {
2070 #[inline]
2071 unsafe fn encode(
2072 self,
2073 encoder: &mut fidl::encoding::Encoder<'_, D>,
2074 offset: usize,
2075 _depth: fidl::encoding::Depth,
2076 ) -> fidl::Result<()> {
2077 encoder.debug_check_bounds::<OpenTargetFlexibleTwoWayFieldsRequest>(offset);
2078 unsafe {
2079 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2081 (buf_ptr as *mut OpenTargetFlexibleTwoWayFieldsRequest)
2082 .write_unaligned((self as *const OpenTargetFlexibleTwoWayFieldsRequest).read());
2083 }
2086 Ok(())
2087 }
2088 }
2089 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2090 fidl::encoding::Encode<OpenTargetFlexibleTwoWayFieldsRequest, D> for (T0,)
2091 {
2092 #[inline]
2093 unsafe fn encode(
2094 self,
2095 encoder: &mut fidl::encoding::Encoder<'_, D>,
2096 offset: usize,
2097 depth: fidl::encoding::Depth,
2098 ) -> fidl::Result<()> {
2099 encoder.debug_check_bounds::<OpenTargetFlexibleTwoWayFieldsRequest>(offset);
2100 self.0.encode(encoder, offset + 0, depth)?;
2104 Ok(())
2105 }
2106 }
2107
2108 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2109 for OpenTargetFlexibleTwoWayFieldsRequest
2110 {
2111 #[inline(always)]
2112 fn new_empty() -> Self {
2113 Self { reply_with: fidl::new_empty!(i32, D) }
2114 }
2115
2116 #[inline]
2117 unsafe fn decode(
2118 &mut self,
2119 decoder: &mut fidl::encoding::Decoder<'_, D>,
2120 offset: usize,
2121 _depth: fidl::encoding::Depth,
2122 ) -> fidl::Result<()> {
2123 decoder.debug_check_bounds::<Self>(offset);
2124 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2125 unsafe {
2128 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2129 }
2130 Ok(())
2131 }
2132 }
2133
2134 impl fidl::encoding::ValueTypeMarker for OpenTargetStrictTwoWayFieldsRequest {
2135 type Borrowed<'a> = &'a Self;
2136 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2137 value
2138 }
2139 }
2140
2141 unsafe impl fidl::encoding::TypeMarker for OpenTargetStrictTwoWayFieldsRequest {
2142 type Owned = Self;
2143
2144 #[inline(always)]
2145 fn inline_align(_context: fidl::encoding::Context) -> usize {
2146 4
2147 }
2148
2149 #[inline(always)]
2150 fn inline_size(_context: fidl::encoding::Context) -> usize {
2151 4
2152 }
2153 #[inline(always)]
2154 fn encode_is_copy() -> bool {
2155 true
2156 }
2157
2158 #[inline(always)]
2159 fn decode_is_copy() -> bool {
2160 true
2161 }
2162 }
2163
2164 unsafe impl<D: fidl::encoding::ResourceDialect>
2165 fidl::encoding::Encode<OpenTargetStrictTwoWayFieldsRequest, D>
2166 for &OpenTargetStrictTwoWayFieldsRequest
2167 {
2168 #[inline]
2169 unsafe fn encode(
2170 self,
2171 encoder: &mut fidl::encoding::Encoder<'_, D>,
2172 offset: usize,
2173 _depth: fidl::encoding::Depth,
2174 ) -> fidl::Result<()> {
2175 encoder.debug_check_bounds::<OpenTargetStrictTwoWayFieldsRequest>(offset);
2176 unsafe {
2177 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2179 (buf_ptr as *mut OpenTargetStrictTwoWayFieldsRequest)
2180 .write_unaligned((self as *const OpenTargetStrictTwoWayFieldsRequest).read());
2181 }
2184 Ok(())
2185 }
2186 }
2187 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2188 fidl::encoding::Encode<OpenTargetStrictTwoWayFieldsRequest, D> for (T0,)
2189 {
2190 #[inline]
2191 unsafe fn encode(
2192 self,
2193 encoder: &mut fidl::encoding::Encoder<'_, D>,
2194 offset: usize,
2195 depth: fidl::encoding::Depth,
2196 ) -> fidl::Result<()> {
2197 encoder.debug_check_bounds::<OpenTargetStrictTwoWayFieldsRequest>(offset);
2198 self.0.encode(encoder, offset + 0, depth)?;
2202 Ok(())
2203 }
2204 }
2205
2206 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2207 for OpenTargetStrictTwoWayFieldsRequest
2208 {
2209 #[inline(always)]
2210 fn new_empty() -> Self {
2211 Self { reply_with: fidl::new_empty!(i32, D) }
2212 }
2213
2214 #[inline]
2215 unsafe fn decode(
2216 &mut self,
2217 decoder: &mut fidl::encoding::Decoder<'_, D>,
2218 offset: usize,
2219 _depth: fidl::encoding::Depth,
2220 ) -> fidl::Result<()> {
2221 decoder.debug_check_bounds::<Self>(offset);
2222 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2223 unsafe {
2226 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2227 }
2228 Ok(())
2229 }
2230 }
2231
2232 impl fidl::encoding::ValueTypeMarker for OpenTargetStrictTwoWayFieldsResponse {
2233 type Borrowed<'a> = &'a Self;
2234 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2235 value
2236 }
2237 }
2238
2239 unsafe impl fidl::encoding::TypeMarker for OpenTargetStrictTwoWayFieldsResponse {
2240 type Owned = Self;
2241
2242 #[inline(always)]
2243 fn inline_align(_context: fidl::encoding::Context) -> usize {
2244 4
2245 }
2246
2247 #[inline(always)]
2248 fn inline_size(_context: fidl::encoding::Context) -> usize {
2249 4
2250 }
2251 #[inline(always)]
2252 fn encode_is_copy() -> bool {
2253 true
2254 }
2255
2256 #[inline(always)]
2257 fn decode_is_copy() -> bool {
2258 true
2259 }
2260 }
2261
2262 unsafe impl<D: fidl::encoding::ResourceDialect>
2263 fidl::encoding::Encode<OpenTargetStrictTwoWayFieldsResponse, D>
2264 for &OpenTargetStrictTwoWayFieldsResponse
2265 {
2266 #[inline]
2267 unsafe fn encode(
2268 self,
2269 encoder: &mut fidl::encoding::Encoder<'_, D>,
2270 offset: usize,
2271 _depth: fidl::encoding::Depth,
2272 ) -> fidl::Result<()> {
2273 encoder.debug_check_bounds::<OpenTargetStrictTwoWayFieldsResponse>(offset);
2274 unsafe {
2275 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2277 (buf_ptr as *mut OpenTargetStrictTwoWayFieldsResponse)
2278 .write_unaligned((self as *const OpenTargetStrictTwoWayFieldsResponse).read());
2279 }
2282 Ok(())
2283 }
2284 }
2285 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2286 fidl::encoding::Encode<OpenTargetStrictTwoWayFieldsResponse, D> for (T0,)
2287 {
2288 #[inline]
2289 unsafe fn encode(
2290 self,
2291 encoder: &mut fidl::encoding::Encoder<'_, D>,
2292 offset: usize,
2293 depth: fidl::encoding::Depth,
2294 ) -> fidl::Result<()> {
2295 encoder.debug_check_bounds::<OpenTargetStrictTwoWayFieldsResponse>(offset);
2296 self.0.encode(encoder, offset + 0, depth)?;
2300 Ok(())
2301 }
2302 }
2303
2304 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2305 for OpenTargetStrictTwoWayFieldsResponse
2306 {
2307 #[inline(always)]
2308 fn new_empty() -> Self {
2309 Self { some_field: fidl::new_empty!(i32, D) }
2310 }
2311
2312 #[inline]
2313 unsafe fn decode(
2314 &mut self,
2315 decoder: &mut fidl::encoding::Decoder<'_, D>,
2316 offset: usize,
2317 _depth: fidl::encoding::Depth,
2318 ) -> fidl::Result<()> {
2319 decoder.debug_check_bounds::<Self>(offset);
2320 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2321 unsafe {
2324 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2325 }
2326 Ok(())
2327 }
2328 }
2329
2330 impl fidl::encoding::ValueTypeMarker for OpenTargetFlexibleTwoWayFieldsErrResponse {
2331 type Borrowed<'a> = &'a Self;
2332 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2333 value
2334 }
2335 }
2336
2337 unsafe impl fidl::encoding::TypeMarker for OpenTargetFlexibleTwoWayFieldsErrResponse {
2338 type Owned = Self;
2339
2340 #[inline(always)]
2341 fn inline_align(_context: fidl::encoding::Context) -> usize {
2342 4
2343 }
2344
2345 #[inline(always)]
2346 fn inline_size(_context: fidl::encoding::Context) -> usize {
2347 4
2348 }
2349 #[inline(always)]
2350 fn encode_is_copy() -> bool {
2351 true
2352 }
2353
2354 #[inline(always)]
2355 fn decode_is_copy() -> bool {
2356 true
2357 }
2358 }
2359
2360 unsafe impl<D: fidl::encoding::ResourceDialect>
2361 fidl::encoding::Encode<OpenTargetFlexibleTwoWayFieldsErrResponse, D>
2362 for &OpenTargetFlexibleTwoWayFieldsErrResponse
2363 {
2364 #[inline]
2365 unsafe fn encode(
2366 self,
2367 encoder: &mut fidl::encoding::Encoder<'_, D>,
2368 offset: usize,
2369 _depth: fidl::encoding::Depth,
2370 ) -> fidl::Result<()> {
2371 encoder.debug_check_bounds::<OpenTargetFlexibleTwoWayFieldsErrResponse>(offset);
2372 unsafe {
2373 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2375 (buf_ptr as *mut OpenTargetFlexibleTwoWayFieldsErrResponse).write_unaligned(
2376 (self as *const OpenTargetFlexibleTwoWayFieldsErrResponse).read(),
2377 );
2378 }
2381 Ok(())
2382 }
2383 }
2384 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2385 fidl::encoding::Encode<OpenTargetFlexibleTwoWayFieldsErrResponse, D> for (T0,)
2386 {
2387 #[inline]
2388 unsafe fn encode(
2389 self,
2390 encoder: &mut fidl::encoding::Encoder<'_, D>,
2391 offset: usize,
2392 depth: fidl::encoding::Depth,
2393 ) -> fidl::Result<()> {
2394 encoder.debug_check_bounds::<OpenTargetFlexibleTwoWayFieldsErrResponse>(offset);
2395 self.0.encode(encoder, offset + 0, depth)?;
2399 Ok(())
2400 }
2401 }
2402
2403 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2404 for OpenTargetFlexibleTwoWayFieldsErrResponse
2405 {
2406 #[inline(always)]
2407 fn new_empty() -> Self {
2408 Self { some_field: fidl::new_empty!(i32, D) }
2409 }
2410
2411 #[inline]
2412 unsafe fn decode(
2413 &mut self,
2414 decoder: &mut fidl::encoding::Decoder<'_, D>,
2415 offset: usize,
2416 _depth: fidl::encoding::Depth,
2417 ) -> fidl::Result<()> {
2418 decoder.debug_check_bounds::<Self>(offset);
2419 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2420 unsafe {
2423 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2424 }
2425 Ok(())
2426 }
2427 }
2428
2429 impl fidl::encoding::ValueTypeMarker for OpenTargetFlexibleTwoWayFieldsResponse {
2430 type Borrowed<'a> = &'a Self;
2431 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2432 value
2433 }
2434 }
2435
2436 unsafe impl fidl::encoding::TypeMarker for OpenTargetFlexibleTwoWayFieldsResponse {
2437 type Owned = Self;
2438
2439 #[inline(always)]
2440 fn inline_align(_context: fidl::encoding::Context) -> usize {
2441 4
2442 }
2443
2444 #[inline(always)]
2445 fn inline_size(_context: fidl::encoding::Context) -> usize {
2446 4
2447 }
2448 #[inline(always)]
2449 fn encode_is_copy() -> bool {
2450 true
2451 }
2452
2453 #[inline(always)]
2454 fn decode_is_copy() -> bool {
2455 true
2456 }
2457 }
2458
2459 unsafe impl<D: fidl::encoding::ResourceDialect>
2460 fidl::encoding::Encode<OpenTargetFlexibleTwoWayFieldsResponse, D>
2461 for &OpenTargetFlexibleTwoWayFieldsResponse
2462 {
2463 #[inline]
2464 unsafe fn encode(
2465 self,
2466 encoder: &mut fidl::encoding::Encoder<'_, D>,
2467 offset: usize,
2468 _depth: fidl::encoding::Depth,
2469 ) -> fidl::Result<()> {
2470 encoder.debug_check_bounds::<OpenTargetFlexibleTwoWayFieldsResponse>(offset);
2471 unsafe {
2472 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2474 (buf_ptr as *mut OpenTargetFlexibleTwoWayFieldsResponse).write_unaligned(
2475 (self as *const OpenTargetFlexibleTwoWayFieldsResponse).read(),
2476 );
2477 }
2480 Ok(())
2481 }
2482 }
2483 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2484 fidl::encoding::Encode<OpenTargetFlexibleTwoWayFieldsResponse, D> for (T0,)
2485 {
2486 #[inline]
2487 unsafe fn encode(
2488 self,
2489 encoder: &mut fidl::encoding::Encoder<'_, D>,
2490 offset: usize,
2491 depth: fidl::encoding::Depth,
2492 ) -> fidl::Result<()> {
2493 encoder.debug_check_bounds::<OpenTargetFlexibleTwoWayFieldsResponse>(offset);
2494 self.0.encode(encoder, offset + 0, depth)?;
2498 Ok(())
2499 }
2500 }
2501
2502 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2503 for OpenTargetFlexibleTwoWayFieldsResponse
2504 {
2505 #[inline(always)]
2506 fn new_empty() -> Self {
2507 Self { some_field: fidl::new_empty!(i32, D) }
2508 }
2509
2510 #[inline]
2511 unsafe fn decode(
2512 &mut self,
2513 decoder: &mut fidl::encoding::Decoder<'_, D>,
2514 offset: usize,
2515 _depth: fidl::encoding::Depth,
2516 ) -> fidl::Result<()> {
2517 decoder.debug_check_bounds::<Self>(offset);
2518 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2519 unsafe {
2522 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2523 }
2524 Ok(())
2525 }
2526 }
2527
2528 impl fidl::encoding::ValueTypeMarker for OpenTargetStrictTwoWayFieldsErrResponse {
2529 type Borrowed<'a> = &'a Self;
2530 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2531 value
2532 }
2533 }
2534
2535 unsafe impl fidl::encoding::TypeMarker for OpenTargetStrictTwoWayFieldsErrResponse {
2536 type Owned = Self;
2537
2538 #[inline(always)]
2539 fn inline_align(_context: fidl::encoding::Context) -> usize {
2540 4
2541 }
2542
2543 #[inline(always)]
2544 fn inline_size(_context: fidl::encoding::Context) -> usize {
2545 4
2546 }
2547 #[inline(always)]
2548 fn encode_is_copy() -> bool {
2549 true
2550 }
2551
2552 #[inline(always)]
2553 fn decode_is_copy() -> bool {
2554 true
2555 }
2556 }
2557
2558 unsafe impl<D: fidl::encoding::ResourceDialect>
2559 fidl::encoding::Encode<OpenTargetStrictTwoWayFieldsErrResponse, D>
2560 for &OpenTargetStrictTwoWayFieldsErrResponse
2561 {
2562 #[inline]
2563 unsafe fn encode(
2564 self,
2565 encoder: &mut fidl::encoding::Encoder<'_, D>,
2566 offset: usize,
2567 _depth: fidl::encoding::Depth,
2568 ) -> fidl::Result<()> {
2569 encoder.debug_check_bounds::<OpenTargetStrictTwoWayFieldsErrResponse>(offset);
2570 unsafe {
2571 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2573 (buf_ptr as *mut OpenTargetStrictTwoWayFieldsErrResponse).write_unaligned(
2574 (self as *const OpenTargetStrictTwoWayFieldsErrResponse).read(),
2575 );
2576 }
2579 Ok(())
2580 }
2581 }
2582 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2583 fidl::encoding::Encode<OpenTargetStrictTwoWayFieldsErrResponse, D> for (T0,)
2584 {
2585 #[inline]
2586 unsafe fn encode(
2587 self,
2588 encoder: &mut fidl::encoding::Encoder<'_, D>,
2589 offset: usize,
2590 depth: fidl::encoding::Depth,
2591 ) -> fidl::Result<()> {
2592 encoder.debug_check_bounds::<OpenTargetStrictTwoWayFieldsErrResponse>(offset);
2593 self.0.encode(encoder, offset + 0, depth)?;
2597 Ok(())
2598 }
2599 }
2600
2601 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2602 for OpenTargetStrictTwoWayFieldsErrResponse
2603 {
2604 #[inline(always)]
2605 fn new_empty() -> Self {
2606 Self { some_field: fidl::new_empty!(i32, D) }
2607 }
2608
2609 #[inline]
2610 unsafe fn decode(
2611 &mut self,
2612 decoder: &mut fidl::encoding::Decoder<'_, D>,
2613 offset: usize,
2614 _depth: fidl::encoding::Depth,
2615 ) -> fidl::Result<()> {
2616 decoder.debug_check_bounds::<Self>(offset);
2617 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2618 unsafe {
2621 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2622 }
2623 Ok(())
2624 }
2625 }
2626
2627 impl fidl::encoding::ValueTypeMarker for RunnerGetVersionResponse {
2628 type Borrowed<'a> = &'a Self;
2629 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2630 value
2631 }
2632 }
2633
2634 unsafe impl fidl::encoding::TypeMarker for RunnerGetVersionResponse {
2635 type Owned = Self;
2636
2637 #[inline(always)]
2638 fn inline_align(_context: fidl::encoding::Context) -> usize {
2639 8
2640 }
2641
2642 #[inline(always)]
2643 fn inline_size(_context: fidl::encoding::Context) -> usize {
2644 8
2645 }
2646 #[inline(always)]
2647 fn encode_is_copy() -> bool {
2648 true
2649 }
2650
2651 #[inline(always)]
2652 fn decode_is_copy() -> bool {
2653 true
2654 }
2655 }
2656
2657 unsafe impl<D: fidl::encoding::ResourceDialect>
2658 fidl::encoding::Encode<RunnerGetVersionResponse, D> for &RunnerGetVersionResponse
2659 {
2660 #[inline]
2661 unsafe fn encode(
2662 self,
2663 encoder: &mut fidl::encoding::Encoder<'_, D>,
2664 offset: usize,
2665 _depth: fidl::encoding::Depth,
2666 ) -> fidl::Result<()> {
2667 encoder.debug_check_bounds::<RunnerGetVersionResponse>(offset);
2668 unsafe {
2669 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2671 (buf_ptr as *mut RunnerGetVersionResponse)
2672 .write_unaligned((self as *const RunnerGetVersionResponse).read());
2673 }
2676 Ok(())
2677 }
2678 }
2679 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
2680 fidl::encoding::Encode<RunnerGetVersionResponse, D> for (T0,)
2681 {
2682 #[inline]
2683 unsafe fn encode(
2684 self,
2685 encoder: &mut fidl::encoding::Encoder<'_, D>,
2686 offset: usize,
2687 depth: fidl::encoding::Depth,
2688 ) -> fidl::Result<()> {
2689 encoder.debug_check_bounds::<RunnerGetVersionResponse>(offset);
2690 self.0.encode(encoder, offset + 0, depth)?;
2694 Ok(())
2695 }
2696 }
2697
2698 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2699 for RunnerGetVersionResponse
2700 {
2701 #[inline(always)]
2702 fn new_empty() -> Self {
2703 Self { version: fidl::new_empty!(u64, D) }
2704 }
2705
2706 #[inline]
2707 unsafe fn decode(
2708 &mut self,
2709 decoder: &mut fidl::encoding::Decoder<'_, D>,
2710 offset: usize,
2711 _depth: fidl::encoding::Depth,
2712 ) -> fidl::Result<()> {
2713 decoder.debug_check_bounds::<Self>(offset);
2714 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2715 unsafe {
2718 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
2719 }
2720 Ok(())
2721 }
2722 }
2723
2724 impl fidl::encoding::ValueTypeMarker for RunnerOnTeardownRequest {
2725 type Borrowed<'a> = &'a Self;
2726 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2727 value
2728 }
2729 }
2730
2731 unsafe impl fidl::encoding::TypeMarker for RunnerOnTeardownRequest {
2732 type Owned = Self;
2733
2734 #[inline(always)]
2735 fn inline_align(_context: fidl::encoding::Context) -> usize {
2736 4
2737 }
2738
2739 #[inline(always)]
2740 fn inline_size(_context: fidl::encoding::Context) -> usize {
2741 4
2742 }
2743 }
2744
2745 unsafe impl<D: fidl::encoding::ResourceDialect>
2746 fidl::encoding::Encode<RunnerOnTeardownRequest, D> for &RunnerOnTeardownRequest
2747 {
2748 #[inline]
2749 unsafe fn encode(
2750 self,
2751 encoder: &mut fidl::encoding::Encoder<'_, D>,
2752 offset: usize,
2753 _depth: fidl::encoding::Depth,
2754 ) -> fidl::Result<()> {
2755 encoder.debug_check_bounds::<RunnerOnTeardownRequest>(offset);
2756 fidl::encoding::Encode::<RunnerOnTeardownRequest, D>::encode(
2758 (<TeardownReason as fidl::encoding::ValueTypeMarker>::borrow(&self.reason),),
2759 encoder,
2760 offset,
2761 _depth,
2762 )
2763 }
2764 }
2765 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<TeardownReason, D>>
2766 fidl::encoding::Encode<RunnerOnTeardownRequest, D> for (T0,)
2767 {
2768 #[inline]
2769 unsafe fn encode(
2770 self,
2771 encoder: &mut fidl::encoding::Encoder<'_, D>,
2772 offset: usize,
2773 depth: fidl::encoding::Depth,
2774 ) -> fidl::Result<()> {
2775 encoder.debug_check_bounds::<RunnerOnTeardownRequest>(offset);
2776 self.0.encode(encoder, offset + 0, depth)?;
2780 Ok(())
2781 }
2782 }
2783
2784 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2785 for RunnerOnTeardownRequest
2786 {
2787 #[inline(always)]
2788 fn new_empty() -> Self {
2789 Self { reason: fidl::new_empty!(TeardownReason, D) }
2790 }
2791
2792 #[inline]
2793 unsafe fn decode(
2794 &mut self,
2795 decoder: &mut fidl::encoding::Decoder<'_, D>,
2796 offset: usize,
2797 _depth: fidl::encoding::Depth,
2798 ) -> fidl::Result<()> {
2799 decoder.debug_check_bounds::<Self>(offset);
2800 fidl::decode!(TeardownReason, D, &mut self.reason, decoder, offset + 0, _depth)?;
2802 Ok(())
2803 }
2804 }
2805
2806 impl fidl::encoding::ValueTypeMarker for RunnerShutdownWithEpitaphRequest {
2807 type Borrowed<'a> = &'a Self;
2808 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2809 value
2810 }
2811 }
2812
2813 unsafe impl fidl::encoding::TypeMarker for RunnerShutdownWithEpitaphRequest {
2814 type Owned = Self;
2815
2816 #[inline(always)]
2817 fn inline_align(_context: fidl::encoding::Context) -> usize {
2818 4
2819 }
2820
2821 #[inline(always)]
2822 fn inline_size(_context: fidl::encoding::Context) -> usize {
2823 4
2824 }
2825 #[inline(always)]
2826 fn encode_is_copy() -> bool {
2827 true
2828 }
2829
2830 #[inline(always)]
2831 fn decode_is_copy() -> bool {
2832 true
2833 }
2834 }
2835
2836 unsafe impl<D: fidl::encoding::ResourceDialect>
2837 fidl::encoding::Encode<RunnerShutdownWithEpitaphRequest, D>
2838 for &RunnerShutdownWithEpitaphRequest
2839 {
2840 #[inline]
2841 unsafe fn encode(
2842 self,
2843 encoder: &mut fidl::encoding::Encoder<'_, D>,
2844 offset: usize,
2845 _depth: fidl::encoding::Depth,
2846 ) -> fidl::Result<()> {
2847 encoder.debug_check_bounds::<RunnerShutdownWithEpitaphRequest>(offset);
2848 unsafe {
2849 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2851 (buf_ptr as *mut RunnerShutdownWithEpitaphRequest)
2852 .write_unaligned((self as *const RunnerShutdownWithEpitaphRequest).read());
2853 }
2856 Ok(())
2857 }
2858 }
2859 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2860 fidl::encoding::Encode<RunnerShutdownWithEpitaphRequest, D> for (T0,)
2861 {
2862 #[inline]
2863 unsafe fn encode(
2864 self,
2865 encoder: &mut fidl::encoding::Encoder<'_, D>,
2866 offset: usize,
2867 depth: fidl::encoding::Depth,
2868 ) -> fidl::Result<()> {
2869 encoder.debug_check_bounds::<RunnerShutdownWithEpitaphRequest>(offset);
2870 self.0.encode(encoder, offset + 0, depth)?;
2874 Ok(())
2875 }
2876 }
2877
2878 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2879 for RunnerShutdownWithEpitaphRequest
2880 {
2881 #[inline(always)]
2882 fn new_empty() -> Self {
2883 Self { epitaph_status: fidl::new_empty!(i32, D) }
2884 }
2885
2886 #[inline]
2887 unsafe fn decode(
2888 &mut self,
2889 decoder: &mut fidl::encoding::Decoder<'_, D>,
2890 offset: usize,
2891 _depth: fidl::encoding::Depth,
2892 ) -> fidl::Result<()> {
2893 decoder.debug_check_bounds::<Self>(offset);
2894 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2895 unsafe {
2898 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2899 }
2900 Ok(())
2901 }
2902 }
2903
2904 impl fidl::encoding::ValueTypeMarker for UnknownMethodInfo {
2905 type Borrowed<'a> = &'a Self;
2906 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2907 value
2908 }
2909 }
2910
2911 unsafe impl fidl::encoding::TypeMarker for UnknownMethodInfo {
2912 type Owned = Self;
2913
2914 #[inline(always)]
2915 fn inline_align(_context: fidl::encoding::Context) -> usize {
2916 8
2917 }
2918
2919 #[inline(always)]
2920 fn inline_size(_context: fidl::encoding::Context) -> usize {
2921 16
2922 }
2923 }
2924
2925 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<UnknownMethodInfo, D>
2926 for &UnknownMethodInfo
2927 {
2928 #[inline]
2929 unsafe fn encode(
2930 self,
2931 encoder: &mut fidl::encoding::Encoder<'_, D>,
2932 offset: usize,
2933 _depth: fidl::encoding::Depth,
2934 ) -> fidl::Result<()> {
2935 encoder.debug_check_bounds::<UnknownMethodInfo>(offset);
2936 fidl::encoding::Encode::<UnknownMethodInfo, D>::encode(
2938 (
2939 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.ordinal),
2940 <UnknownMethodType as fidl::encoding::ValueTypeMarker>::borrow(
2941 &self.unknown_method_type,
2942 ),
2943 ),
2944 encoder,
2945 offset,
2946 _depth,
2947 )
2948 }
2949 }
2950 unsafe impl<
2951 D: fidl::encoding::ResourceDialect,
2952 T0: fidl::encoding::Encode<u64, D>,
2953 T1: fidl::encoding::Encode<UnknownMethodType, D>,
2954 > fidl::encoding::Encode<UnknownMethodInfo, D> for (T0, T1)
2955 {
2956 #[inline]
2957 unsafe fn encode(
2958 self,
2959 encoder: &mut fidl::encoding::Encoder<'_, D>,
2960 offset: usize,
2961 depth: fidl::encoding::Depth,
2962 ) -> fidl::Result<()> {
2963 encoder.debug_check_bounds::<UnknownMethodInfo>(offset);
2964 unsafe {
2967 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2968 (ptr as *mut u64).write_unaligned(0);
2969 }
2970 self.0.encode(encoder, offset + 0, depth)?;
2972 self.1.encode(encoder, offset + 8, depth)?;
2973 Ok(())
2974 }
2975 }
2976
2977 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for UnknownMethodInfo {
2978 #[inline(always)]
2979 fn new_empty() -> Self {
2980 Self {
2981 ordinal: fidl::new_empty!(u64, D),
2982 unknown_method_type: fidl::new_empty!(UnknownMethodType, D),
2983 }
2984 }
2985
2986 #[inline]
2987 unsafe fn decode(
2988 &mut self,
2989 decoder: &mut fidl::encoding::Decoder<'_, D>,
2990 offset: usize,
2991 _depth: fidl::encoding::Depth,
2992 ) -> fidl::Result<()> {
2993 decoder.debug_check_bounds::<Self>(offset);
2994 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2996 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2997 let mask = 0xffffffff00000000u64;
2998 let maskedval = padval & mask;
2999 if maskedval != 0 {
3000 return Err(fidl::Error::NonZeroPadding {
3001 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3002 });
3003 }
3004 fidl::decode!(u64, D, &mut self.ordinal, decoder, offset + 0, _depth)?;
3005 fidl::decode!(
3006 UnknownMethodType,
3007 D,
3008 &mut self.unknown_method_type,
3009 decoder,
3010 offset + 8,
3011 _depth
3012 )?;
3013 Ok(())
3014 }
3015 }
3016
3017 impl ClosedTargetTwoWayTablePayloadRequest {
3018 #[inline(always)]
3019 fn max_ordinal_present(&self) -> u64 {
3020 if let Some(_) = self.v {
3021 return 1;
3022 }
3023 0
3024 }
3025 }
3026
3027 impl fidl::encoding::ValueTypeMarker for ClosedTargetTwoWayTablePayloadRequest {
3028 type Borrowed<'a> = &'a Self;
3029 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3030 value
3031 }
3032 }
3033
3034 unsafe impl fidl::encoding::TypeMarker for ClosedTargetTwoWayTablePayloadRequest {
3035 type Owned = Self;
3036
3037 #[inline(always)]
3038 fn inline_align(_context: fidl::encoding::Context) -> usize {
3039 8
3040 }
3041
3042 #[inline(always)]
3043 fn inline_size(_context: fidl::encoding::Context) -> usize {
3044 16
3045 }
3046 }
3047
3048 unsafe impl<D: fidl::encoding::ResourceDialect>
3049 fidl::encoding::Encode<ClosedTargetTwoWayTablePayloadRequest, D>
3050 for &ClosedTargetTwoWayTablePayloadRequest
3051 {
3052 unsafe fn encode(
3053 self,
3054 encoder: &mut fidl::encoding::Encoder<'_, D>,
3055 offset: usize,
3056 mut depth: fidl::encoding::Depth,
3057 ) -> fidl::Result<()> {
3058 encoder.debug_check_bounds::<ClosedTargetTwoWayTablePayloadRequest>(offset);
3059 let max_ordinal: u64 = self.max_ordinal_present();
3061 encoder.write_num(max_ordinal, offset);
3062 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3063 if max_ordinal == 0 {
3065 return Ok(());
3066 }
3067 depth.increment()?;
3068 let envelope_size = 8;
3069 let bytes_len = max_ordinal as usize * envelope_size;
3070 #[allow(unused_variables)]
3071 let offset = encoder.out_of_line_offset(bytes_len);
3072 let mut _prev_end_offset: usize = 0;
3073 if 1 > max_ordinal {
3074 return Ok(());
3075 }
3076
3077 let cur_offset: usize = (1 - 1) * envelope_size;
3080
3081 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3083
3084 fidl::encoding::encode_in_envelope_optional::<i8, D>(
3089 self.v.as_ref().map(<i8 as fidl::encoding::ValueTypeMarker>::borrow),
3090 encoder,
3091 offset + cur_offset,
3092 depth,
3093 )?;
3094
3095 _prev_end_offset = cur_offset + envelope_size;
3096
3097 Ok(())
3098 }
3099 }
3100
3101 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3102 for ClosedTargetTwoWayTablePayloadRequest
3103 {
3104 #[inline(always)]
3105 fn new_empty() -> Self {
3106 Self::default()
3107 }
3108
3109 unsafe fn decode(
3110 &mut self,
3111 decoder: &mut fidl::encoding::Decoder<'_, D>,
3112 offset: usize,
3113 mut depth: fidl::encoding::Depth,
3114 ) -> fidl::Result<()> {
3115 decoder.debug_check_bounds::<Self>(offset);
3116 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3117 None => return Err(fidl::Error::NotNullable),
3118 Some(len) => len,
3119 };
3120 if len == 0 {
3122 return Ok(());
3123 };
3124 depth.increment()?;
3125 let envelope_size = 8;
3126 let bytes_len = len * envelope_size;
3127 let offset = decoder.out_of_line_offset(bytes_len)?;
3128 let mut _next_ordinal_to_read = 0;
3130 let mut next_offset = offset;
3131 let end_offset = offset + bytes_len;
3132 _next_ordinal_to_read += 1;
3133 if next_offset >= end_offset {
3134 return Ok(());
3135 }
3136
3137 while _next_ordinal_to_read < 1 {
3139 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3140 _next_ordinal_to_read += 1;
3141 next_offset += envelope_size;
3142 }
3143
3144 let next_out_of_line = decoder.next_out_of_line();
3145 let handles_before = decoder.remaining_handles();
3146 if let Some((inlined, num_bytes, num_handles)) =
3147 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3148 {
3149 let member_inline_size =
3150 <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3151 if inlined != (member_inline_size <= 4) {
3152 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3153 }
3154 let inner_offset;
3155 let mut inner_depth = depth.clone();
3156 if inlined {
3157 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3158 inner_offset = next_offset;
3159 } else {
3160 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3161 inner_depth.increment()?;
3162 }
3163 let val_ref = self.v.get_or_insert_with(|| fidl::new_empty!(i8, D));
3164 fidl::decode!(i8, D, val_ref, decoder, inner_offset, inner_depth)?;
3165 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3166 {
3167 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3168 }
3169 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3170 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3171 }
3172 }
3173
3174 next_offset += envelope_size;
3175
3176 while next_offset < end_offset {
3178 _next_ordinal_to_read += 1;
3179 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3180 next_offset += envelope_size;
3181 }
3182
3183 Ok(())
3184 }
3185 }
3186
3187 impl ClosedTargetTwoWayTablePayloadResponse {
3188 #[inline(always)]
3189 fn max_ordinal_present(&self) -> u64 {
3190 if let Some(_) = self.v {
3191 return 1;
3192 }
3193 0
3194 }
3195 }
3196
3197 impl fidl::encoding::ValueTypeMarker for ClosedTargetTwoWayTablePayloadResponse {
3198 type Borrowed<'a> = &'a Self;
3199 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3200 value
3201 }
3202 }
3203
3204 unsafe impl fidl::encoding::TypeMarker for ClosedTargetTwoWayTablePayloadResponse {
3205 type Owned = Self;
3206
3207 #[inline(always)]
3208 fn inline_align(_context: fidl::encoding::Context) -> usize {
3209 8
3210 }
3211
3212 #[inline(always)]
3213 fn inline_size(_context: fidl::encoding::Context) -> usize {
3214 16
3215 }
3216 }
3217
3218 unsafe impl<D: fidl::encoding::ResourceDialect>
3219 fidl::encoding::Encode<ClosedTargetTwoWayTablePayloadResponse, D>
3220 for &ClosedTargetTwoWayTablePayloadResponse
3221 {
3222 unsafe fn encode(
3223 self,
3224 encoder: &mut fidl::encoding::Encoder<'_, D>,
3225 offset: usize,
3226 mut depth: fidl::encoding::Depth,
3227 ) -> fidl::Result<()> {
3228 encoder.debug_check_bounds::<ClosedTargetTwoWayTablePayloadResponse>(offset);
3229 let max_ordinal: u64 = self.max_ordinal_present();
3231 encoder.write_num(max_ordinal, offset);
3232 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3233 if max_ordinal == 0 {
3235 return Ok(());
3236 }
3237 depth.increment()?;
3238 let envelope_size = 8;
3239 let bytes_len = max_ordinal as usize * envelope_size;
3240 #[allow(unused_variables)]
3241 let offset = encoder.out_of_line_offset(bytes_len);
3242 let mut _prev_end_offset: usize = 0;
3243 if 1 > max_ordinal {
3244 return Ok(());
3245 }
3246
3247 let cur_offset: usize = (1 - 1) * envelope_size;
3250
3251 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3253
3254 fidl::encoding::encode_in_envelope_optional::<i8, D>(
3259 self.v.as_ref().map(<i8 as fidl::encoding::ValueTypeMarker>::borrow),
3260 encoder,
3261 offset + cur_offset,
3262 depth,
3263 )?;
3264
3265 _prev_end_offset = cur_offset + envelope_size;
3266
3267 Ok(())
3268 }
3269 }
3270
3271 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3272 for ClosedTargetTwoWayTablePayloadResponse
3273 {
3274 #[inline(always)]
3275 fn new_empty() -> Self {
3276 Self::default()
3277 }
3278
3279 unsafe fn decode(
3280 &mut self,
3281 decoder: &mut fidl::encoding::Decoder<'_, D>,
3282 offset: usize,
3283 mut depth: fidl::encoding::Depth,
3284 ) -> fidl::Result<()> {
3285 decoder.debug_check_bounds::<Self>(offset);
3286 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3287 None => return Err(fidl::Error::NotNullable),
3288 Some(len) => len,
3289 };
3290 if len == 0 {
3292 return Ok(());
3293 };
3294 depth.increment()?;
3295 let envelope_size = 8;
3296 let bytes_len = len * envelope_size;
3297 let offset = decoder.out_of_line_offset(bytes_len)?;
3298 let mut _next_ordinal_to_read = 0;
3300 let mut next_offset = offset;
3301 let end_offset = offset + bytes_len;
3302 _next_ordinal_to_read += 1;
3303 if next_offset >= end_offset {
3304 return Ok(());
3305 }
3306
3307 while _next_ordinal_to_read < 1 {
3309 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3310 _next_ordinal_to_read += 1;
3311 next_offset += envelope_size;
3312 }
3313
3314 let next_out_of_line = decoder.next_out_of_line();
3315 let handles_before = decoder.remaining_handles();
3316 if let Some((inlined, num_bytes, num_handles)) =
3317 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3318 {
3319 let member_inline_size =
3320 <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3321 if inlined != (member_inline_size <= 4) {
3322 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3323 }
3324 let inner_offset;
3325 let mut inner_depth = depth.clone();
3326 if inlined {
3327 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3328 inner_offset = next_offset;
3329 } else {
3330 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3331 inner_depth.increment()?;
3332 }
3333 let val_ref = self.v.get_or_insert_with(|| fidl::new_empty!(i8, D));
3334 fidl::decode!(i8, D, val_ref, decoder, inner_offset, inner_depth)?;
3335 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3336 {
3337 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3338 }
3339 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3340 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3341 }
3342 }
3343
3344 next_offset += envelope_size;
3345
3346 while next_offset < end_offset {
3348 _next_ordinal_to_read += 1;
3349 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3350 next_offset += envelope_size;
3351 }
3352
3353 Ok(())
3354 }
3355 }
3356
3357 impl fidl::encoding::ValueTypeMarker for ClosedTargetTwoWayResultRequest {
3358 type Borrowed<'a> = &'a Self;
3359 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3360 value
3361 }
3362 }
3363
3364 unsafe impl fidl::encoding::TypeMarker for ClosedTargetTwoWayResultRequest {
3365 type Owned = Self;
3366
3367 #[inline(always)]
3368 fn inline_align(_context: fidl::encoding::Context) -> usize {
3369 8
3370 }
3371
3372 #[inline(always)]
3373 fn inline_size(_context: fidl::encoding::Context) -> usize {
3374 16
3375 }
3376 }
3377
3378 unsafe impl<D: fidl::encoding::ResourceDialect>
3379 fidl::encoding::Encode<ClosedTargetTwoWayResultRequest, D>
3380 for &ClosedTargetTwoWayResultRequest
3381 {
3382 #[inline]
3383 unsafe fn encode(
3384 self,
3385 encoder: &mut fidl::encoding::Encoder<'_, D>,
3386 offset: usize,
3387 _depth: fidl::encoding::Depth,
3388 ) -> fidl::Result<()> {
3389 encoder.debug_check_bounds::<ClosedTargetTwoWayResultRequest>(offset);
3390 encoder.write_num::<u64>(self.ordinal(), offset);
3391 match self {
3392 ClosedTargetTwoWayResultRequest::Payload(ref val) => {
3393 fidl::encoding::encode_in_envelope::<fidl::encoding::UnboundedString, D>(
3394 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow(val),
3395 encoder, offset + 8, _depth
3396 )
3397 }
3398 ClosedTargetTwoWayResultRequest::Error(ref val) => {
3399 fidl::encoding::encode_in_envelope::<u32, D>(
3400 <u32 as fidl::encoding::ValueTypeMarker>::borrow(val),
3401 encoder, offset + 8, _depth
3402 )
3403 }
3404 }
3405 }
3406 }
3407
3408 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3409 for ClosedTargetTwoWayResultRequest
3410 {
3411 #[inline(always)]
3412 fn new_empty() -> Self {
3413 Self::Payload(fidl::new_empty!(fidl::encoding::UnboundedString, D))
3414 }
3415
3416 #[inline]
3417 unsafe fn decode(
3418 &mut self,
3419 decoder: &mut fidl::encoding::Decoder<'_, D>,
3420 offset: usize,
3421 mut depth: fidl::encoding::Depth,
3422 ) -> fidl::Result<()> {
3423 decoder.debug_check_bounds::<Self>(offset);
3424 #[allow(unused_variables)]
3425 let next_out_of_line = decoder.next_out_of_line();
3426 let handles_before = decoder.remaining_handles();
3427 let (ordinal, inlined, num_bytes, num_handles) =
3428 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
3429
3430 let member_inline_size = match ordinal {
3431 1 => <fidl::encoding::UnboundedString as fidl::encoding::TypeMarker>::inline_size(
3432 decoder.context,
3433 ),
3434 2 => <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
3435 _ => return Err(fidl::Error::UnknownUnionTag),
3436 };
3437
3438 if inlined != (member_inline_size <= 4) {
3439 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3440 }
3441 let _inner_offset;
3442 if inlined {
3443 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
3444 _inner_offset = offset + 8;
3445 } else {
3446 depth.increment()?;
3447 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3448 }
3449 match ordinal {
3450 1 => {
3451 #[allow(irrefutable_let_patterns)]
3452 if let ClosedTargetTwoWayResultRequest::Payload(_) = self {
3453 } else {
3455 *self = ClosedTargetTwoWayResultRequest::Payload(fidl::new_empty!(
3457 fidl::encoding::UnboundedString,
3458 D
3459 ));
3460 }
3461 #[allow(irrefutable_let_patterns)]
3462 if let ClosedTargetTwoWayResultRequest::Payload(ref mut val) = self {
3463 fidl::decode!(
3464 fidl::encoding::UnboundedString,
3465 D,
3466 val,
3467 decoder,
3468 _inner_offset,
3469 depth
3470 )?;
3471 } else {
3472 unreachable!()
3473 }
3474 }
3475 2 => {
3476 #[allow(irrefutable_let_patterns)]
3477 if let ClosedTargetTwoWayResultRequest::Error(_) = self {
3478 } else {
3480 *self = ClosedTargetTwoWayResultRequest::Error(fidl::new_empty!(u32, D));
3482 }
3483 #[allow(irrefutable_let_patterns)]
3484 if let ClosedTargetTwoWayResultRequest::Error(ref mut val) = self {
3485 fidl::decode!(u32, D, val, decoder, _inner_offset, depth)?;
3486 } else {
3487 unreachable!()
3488 }
3489 }
3490 ordinal => panic!("unexpected ordinal {:?}", ordinal),
3491 }
3492 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
3493 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3494 }
3495 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3496 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3497 }
3498 Ok(())
3499 }
3500 }
3501
3502 impl fidl::encoding::ValueTypeMarker for ClosedTargetTwoWayUnionPayloadRequest {
3503 type Borrowed<'a> = &'a Self;
3504 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3505 value
3506 }
3507 }
3508
3509 unsafe impl fidl::encoding::TypeMarker for ClosedTargetTwoWayUnionPayloadRequest {
3510 type Owned = Self;
3511
3512 #[inline(always)]
3513 fn inline_align(_context: fidl::encoding::Context) -> usize {
3514 8
3515 }
3516
3517 #[inline(always)]
3518 fn inline_size(_context: fidl::encoding::Context) -> usize {
3519 16
3520 }
3521 }
3522
3523 unsafe impl<D: fidl::encoding::ResourceDialect>
3524 fidl::encoding::Encode<ClosedTargetTwoWayUnionPayloadRequest, D>
3525 for &ClosedTargetTwoWayUnionPayloadRequest
3526 {
3527 #[inline]
3528 unsafe fn encode(
3529 self,
3530 encoder: &mut fidl::encoding::Encoder<'_, D>,
3531 offset: usize,
3532 _depth: fidl::encoding::Depth,
3533 ) -> fidl::Result<()> {
3534 encoder.debug_check_bounds::<ClosedTargetTwoWayUnionPayloadRequest>(offset);
3535 encoder.write_num::<u64>(self.ordinal(), offset);
3536 match self {
3537 ClosedTargetTwoWayUnionPayloadRequest::V(ref val) => {
3538 fidl::encoding::encode_in_envelope::<i8, D>(
3539 <i8 as fidl::encoding::ValueTypeMarker>::borrow(val),
3540 encoder,
3541 offset + 8,
3542 _depth,
3543 )
3544 }
3545 ClosedTargetTwoWayUnionPayloadRequest::__SourceBreaking { .. } => {
3546 Err(fidl::Error::UnknownUnionTag)
3547 }
3548 }
3549 }
3550 }
3551
3552 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3553 for ClosedTargetTwoWayUnionPayloadRequest
3554 {
3555 #[inline(always)]
3556 fn new_empty() -> Self {
3557 Self::__SourceBreaking { unknown_ordinal: 0 }
3558 }
3559
3560 #[inline]
3561 unsafe fn decode(
3562 &mut self,
3563 decoder: &mut fidl::encoding::Decoder<'_, D>,
3564 offset: usize,
3565 mut depth: fidl::encoding::Depth,
3566 ) -> fidl::Result<()> {
3567 decoder.debug_check_bounds::<Self>(offset);
3568 #[allow(unused_variables)]
3569 let next_out_of_line = decoder.next_out_of_line();
3570 let handles_before = decoder.remaining_handles();
3571 let (ordinal, inlined, num_bytes, num_handles) =
3572 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
3573
3574 let member_inline_size = match ordinal {
3575 1 => <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
3576 0 => return Err(fidl::Error::UnknownUnionTag),
3577 _ => num_bytes as usize,
3578 };
3579
3580 if inlined != (member_inline_size <= 4) {
3581 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3582 }
3583 let _inner_offset;
3584 if inlined {
3585 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
3586 _inner_offset = offset + 8;
3587 } else {
3588 depth.increment()?;
3589 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3590 }
3591 match ordinal {
3592 1 => {
3593 #[allow(irrefutable_let_patterns)]
3594 if let ClosedTargetTwoWayUnionPayloadRequest::V(_) = self {
3595 } else {
3597 *self = ClosedTargetTwoWayUnionPayloadRequest::V(fidl::new_empty!(i8, D));
3599 }
3600 #[allow(irrefutable_let_patterns)]
3601 if let ClosedTargetTwoWayUnionPayloadRequest::V(ref mut val) = self {
3602 fidl::decode!(i8, D, val, decoder, _inner_offset, depth)?;
3603 } else {
3604 unreachable!()
3605 }
3606 }
3607 #[allow(deprecated)]
3608 ordinal => {
3609 for _ in 0..num_handles {
3610 decoder.drop_next_handle()?;
3611 }
3612 *self = ClosedTargetTwoWayUnionPayloadRequest::__SourceBreaking {
3613 unknown_ordinal: ordinal,
3614 };
3615 }
3616 }
3617 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
3618 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3619 }
3620 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3621 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3622 }
3623 Ok(())
3624 }
3625 }
3626
3627 impl fidl::encoding::ValueTypeMarker for ClosedTargetTwoWayUnionPayloadResponse {
3628 type Borrowed<'a> = &'a Self;
3629 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3630 value
3631 }
3632 }
3633
3634 unsafe impl fidl::encoding::TypeMarker for ClosedTargetTwoWayUnionPayloadResponse {
3635 type Owned = Self;
3636
3637 #[inline(always)]
3638 fn inline_align(_context: fidl::encoding::Context) -> usize {
3639 8
3640 }
3641
3642 #[inline(always)]
3643 fn inline_size(_context: fidl::encoding::Context) -> usize {
3644 16
3645 }
3646 }
3647
3648 unsafe impl<D: fidl::encoding::ResourceDialect>
3649 fidl::encoding::Encode<ClosedTargetTwoWayUnionPayloadResponse, D>
3650 for &ClosedTargetTwoWayUnionPayloadResponse
3651 {
3652 #[inline]
3653 unsafe fn encode(
3654 self,
3655 encoder: &mut fidl::encoding::Encoder<'_, D>,
3656 offset: usize,
3657 _depth: fidl::encoding::Depth,
3658 ) -> fidl::Result<()> {
3659 encoder.debug_check_bounds::<ClosedTargetTwoWayUnionPayloadResponse>(offset);
3660 encoder.write_num::<u64>(self.ordinal(), offset);
3661 match self {
3662 ClosedTargetTwoWayUnionPayloadResponse::V(ref val) => {
3663 fidl::encoding::encode_in_envelope::<i8, D>(
3664 <i8 as fidl::encoding::ValueTypeMarker>::borrow(val),
3665 encoder,
3666 offset + 8,
3667 _depth,
3668 )
3669 }
3670 ClosedTargetTwoWayUnionPayloadResponse::__SourceBreaking { .. } => {
3671 Err(fidl::Error::UnknownUnionTag)
3672 }
3673 }
3674 }
3675 }
3676
3677 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3678 for ClosedTargetTwoWayUnionPayloadResponse
3679 {
3680 #[inline(always)]
3681 fn new_empty() -> Self {
3682 Self::__SourceBreaking { unknown_ordinal: 0 }
3683 }
3684
3685 #[inline]
3686 unsafe fn decode(
3687 &mut self,
3688 decoder: &mut fidl::encoding::Decoder<'_, D>,
3689 offset: usize,
3690 mut depth: fidl::encoding::Depth,
3691 ) -> fidl::Result<()> {
3692 decoder.debug_check_bounds::<Self>(offset);
3693 #[allow(unused_variables)]
3694 let next_out_of_line = decoder.next_out_of_line();
3695 let handles_before = decoder.remaining_handles();
3696 let (ordinal, inlined, num_bytes, num_handles) =
3697 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
3698
3699 let member_inline_size = match ordinal {
3700 1 => <i8 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
3701 0 => return Err(fidl::Error::UnknownUnionTag),
3702 _ => num_bytes as usize,
3703 };
3704
3705 if inlined != (member_inline_size <= 4) {
3706 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3707 }
3708 let _inner_offset;
3709 if inlined {
3710 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
3711 _inner_offset = offset + 8;
3712 } else {
3713 depth.increment()?;
3714 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3715 }
3716 match ordinal {
3717 1 => {
3718 #[allow(irrefutable_let_patterns)]
3719 if let ClosedTargetTwoWayUnionPayloadResponse::V(_) = self {
3720 } else {
3722 *self = ClosedTargetTwoWayUnionPayloadResponse::V(fidl::new_empty!(i8, D));
3724 }
3725 #[allow(irrefutable_let_patterns)]
3726 if let ClosedTargetTwoWayUnionPayloadResponse::V(ref mut val) = self {
3727 fidl::decode!(i8, D, val, decoder, _inner_offset, depth)?;
3728 } else {
3729 unreachable!()
3730 }
3731 }
3732 #[allow(deprecated)]
3733 ordinal => {
3734 for _ in 0..num_handles {
3735 decoder.drop_next_handle()?;
3736 }
3737 *self = ClosedTargetTwoWayUnionPayloadResponse::__SourceBreaking {
3738 unknown_ordinal: ordinal,
3739 };
3740 }
3741 }
3742 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
3743 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3744 }
3745 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3746 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3747 }
3748 Ok(())
3749 }
3750 }
3751
3752 impl fidl::encoding::ValueTypeMarker for OpenTargetFlexibleTwoWayErrRequest {
3753 type Borrowed<'a> = &'a Self;
3754 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3755 value
3756 }
3757 }
3758
3759 unsafe impl fidl::encoding::TypeMarker for OpenTargetFlexibleTwoWayErrRequest {
3760 type Owned = Self;
3761
3762 #[inline(always)]
3763 fn inline_align(_context: fidl::encoding::Context) -> usize {
3764 8
3765 }
3766
3767 #[inline(always)]
3768 fn inline_size(_context: fidl::encoding::Context) -> usize {
3769 16
3770 }
3771 }
3772
3773 unsafe impl<D: fidl::encoding::ResourceDialect>
3774 fidl::encoding::Encode<OpenTargetFlexibleTwoWayErrRequest, D>
3775 for &OpenTargetFlexibleTwoWayErrRequest
3776 {
3777 #[inline]
3778 unsafe fn encode(
3779 self,
3780 encoder: &mut fidl::encoding::Encoder<'_, D>,
3781 offset: usize,
3782 _depth: fidl::encoding::Depth,
3783 ) -> fidl::Result<()> {
3784 encoder.debug_check_bounds::<OpenTargetFlexibleTwoWayErrRequest>(offset);
3785 encoder.write_num::<u64>(self.ordinal(), offset);
3786 match self {
3787 OpenTargetFlexibleTwoWayErrRequest::ReplySuccess(ref val) => {
3788 fidl::encoding::encode_in_envelope::<Empty, D>(
3789 <Empty as fidl::encoding::ValueTypeMarker>::borrow(val),
3790 encoder,
3791 offset + 8,
3792 _depth,
3793 )
3794 }
3795 OpenTargetFlexibleTwoWayErrRequest::ReplyError(ref val) => {
3796 fidl::encoding::encode_in_envelope::<i32, D>(
3797 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
3798 encoder,
3799 offset + 8,
3800 _depth,
3801 )
3802 }
3803 }
3804 }
3805 }
3806
3807 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3808 for OpenTargetFlexibleTwoWayErrRequest
3809 {
3810 #[inline(always)]
3811 fn new_empty() -> Self {
3812 Self::ReplySuccess(fidl::new_empty!(Empty, D))
3813 }
3814
3815 #[inline]
3816 unsafe fn decode(
3817 &mut self,
3818 decoder: &mut fidl::encoding::Decoder<'_, D>,
3819 offset: usize,
3820 mut depth: fidl::encoding::Depth,
3821 ) -> fidl::Result<()> {
3822 decoder.debug_check_bounds::<Self>(offset);
3823 #[allow(unused_variables)]
3824 let next_out_of_line = decoder.next_out_of_line();
3825 let handles_before = decoder.remaining_handles();
3826 let (ordinal, inlined, num_bytes, num_handles) =
3827 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
3828
3829 let member_inline_size = match ordinal {
3830 1 => <Empty as fidl::encoding::TypeMarker>::inline_size(decoder.context),
3831 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
3832 _ => return Err(fidl::Error::UnknownUnionTag),
3833 };
3834
3835 if inlined != (member_inline_size <= 4) {
3836 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3837 }
3838 let _inner_offset;
3839 if inlined {
3840 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
3841 _inner_offset = offset + 8;
3842 } else {
3843 depth.increment()?;
3844 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3845 }
3846 match ordinal {
3847 1 => {
3848 #[allow(irrefutable_let_patterns)]
3849 if let OpenTargetFlexibleTwoWayErrRequest::ReplySuccess(_) = self {
3850 } else {
3852 *self = OpenTargetFlexibleTwoWayErrRequest::ReplySuccess(fidl::new_empty!(
3854 Empty, D
3855 ));
3856 }
3857 #[allow(irrefutable_let_patterns)]
3858 if let OpenTargetFlexibleTwoWayErrRequest::ReplySuccess(ref mut val) = self {
3859 fidl::decode!(Empty, D, val, decoder, _inner_offset, depth)?;
3860 } else {
3861 unreachable!()
3862 }
3863 }
3864 2 => {
3865 #[allow(irrefutable_let_patterns)]
3866 if let OpenTargetFlexibleTwoWayErrRequest::ReplyError(_) = self {
3867 } else {
3869 *self = OpenTargetFlexibleTwoWayErrRequest::ReplyError(fidl::new_empty!(
3871 i32, D
3872 ));
3873 }
3874 #[allow(irrefutable_let_patterns)]
3875 if let OpenTargetFlexibleTwoWayErrRequest::ReplyError(ref mut val) = self {
3876 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
3877 } else {
3878 unreachable!()
3879 }
3880 }
3881 ordinal => panic!("unexpected ordinal {:?}", ordinal),
3882 }
3883 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
3884 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3885 }
3886 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3887 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3888 }
3889 Ok(())
3890 }
3891 }
3892
3893 impl fidl::encoding::ValueTypeMarker for OpenTargetFlexibleTwoWayFieldsErrRequest {
3894 type Borrowed<'a> = &'a Self;
3895 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3896 value
3897 }
3898 }
3899
3900 unsafe impl fidl::encoding::TypeMarker for OpenTargetFlexibleTwoWayFieldsErrRequest {
3901 type Owned = Self;
3902
3903 #[inline(always)]
3904 fn inline_align(_context: fidl::encoding::Context) -> usize {
3905 8
3906 }
3907
3908 #[inline(always)]
3909 fn inline_size(_context: fidl::encoding::Context) -> usize {
3910 16
3911 }
3912 }
3913
3914 unsafe impl<D: fidl::encoding::ResourceDialect>
3915 fidl::encoding::Encode<OpenTargetFlexibleTwoWayFieldsErrRequest, D>
3916 for &OpenTargetFlexibleTwoWayFieldsErrRequest
3917 {
3918 #[inline]
3919 unsafe fn encode(
3920 self,
3921 encoder: &mut fidl::encoding::Encoder<'_, D>,
3922 offset: usize,
3923 _depth: fidl::encoding::Depth,
3924 ) -> fidl::Result<()> {
3925 encoder.debug_check_bounds::<OpenTargetFlexibleTwoWayFieldsErrRequest>(offset);
3926 encoder.write_num::<u64>(self.ordinal(), offset);
3927 match self {
3928 OpenTargetFlexibleTwoWayFieldsErrRequest::ReplySuccess(ref val) => {
3929 fidl::encoding::encode_in_envelope::<i32, D>(
3930 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
3931 encoder,
3932 offset + 8,
3933 _depth,
3934 )
3935 }
3936 OpenTargetFlexibleTwoWayFieldsErrRequest::ReplyError(ref val) => {
3937 fidl::encoding::encode_in_envelope::<i32, D>(
3938 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
3939 encoder,
3940 offset + 8,
3941 _depth,
3942 )
3943 }
3944 }
3945 }
3946 }
3947
3948 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3949 for OpenTargetFlexibleTwoWayFieldsErrRequest
3950 {
3951 #[inline(always)]
3952 fn new_empty() -> Self {
3953 Self::ReplySuccess(fidl::new_empty!(i32, D))
3954 }
3955
3956 #[inline]
3957 unsafe fn decode(
3958 &mut self,
3959 decoder: &mut fidl::encoding::Decoder<'_, D>,
3960 offset: usize,
3961 mut depth: fidl::encoding::Depth,
3962 ) -> fidl::Result<()> {
3963 decoder.debug_check_bounds::<Self>(offset);
3964 #[allow(unused_variables)]
3965 let next_out_of_line = decoder.next_out_of_line();
3966 let handles_before = decoder.remaining_handles();
3967 let (ordinal, inlined, num_bytes, num_handles) =
3968 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
3969
3970 let member_inline_size = match ordinal {
3971 1 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
3972 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
3973 _ => return Err(fidl::Error::UnknownUnionTag),
3974 };
3975
3976 if inlined != (member_inline_size <= 4) {
3977 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3978 }
3979 let _inner_offset;
3980 if inlined {
3981 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
3982 _inner_offset = offset + 8;
3983 } else {
3984 depth.increment()?;
3985 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3986 }
3987 match ordinal {
3988 1 => {
3989 #[allow(irrefutable_let_patterns)]
3990 if let OpenTargetFlexibleTwoWayFieldsErrRequest::ReplySuccess(_) = self {
3991 } else {
3993 *self = OpenTargetFlexibleTwoWayFieldsErrRequest::ReplySuccess(
3995 fidl::new_empty!(i32, D),
3996 );
3997 }
3998 #[allow(irrefutable_let_patterns)]
3999 if let OpenTargetFlexibleTwoWayFieldsErrRequest::ReplySuccess(ref mut val) =
4000 self
4001 {
4002 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
4003 } else {
4004 unreachable!()
4005 }
4006 }
4007 2 => {
4008 #[allow(irrefutable_let_patterns)]
4009 if let OpenTargetFlexibleTwoWayFieldsErrRequest::ReplyError(_) = self {
4010 } else {
4012 *self = OpenTargetFlexibleTwoWayFieldsErrRequest::ReplyError(
4014 fidl::new_empty!(i32, D),
4015 );
4016 }
4017 #[allow(irrefutable_let_patterns)]
4018 if let OpenTargetFlexibleTwoWayFieldsErrRequest::ReplyError(ref mut val) = self
4019 {
4020 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
4021 } else {
4022 unreachable!()
4023 }
4024 }
4025 ordinal => panic!("unexpected ordinal {:?}", ordinal),
4026 }
4027 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
4028 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4029 }
4030 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4031 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4032 }
4033 Ok(())
4034 }
4035 }
4036
4037 impl fidl::encoding::ValueTypeMarker for OpenTargetStrictTwoWayErrRequest {
4038 type Borrowed<'a> = &'a Self;
4039 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4040 value
4041 }
4042 }
4043
4044 unsafe impl fidl::encoding::TypeMarker for OpenTargetStrictTwoWayErrRequest {
4045 type Owned = Self;
4046
4047 #[inline(always)]
4048 fn inline_align(_context: fidl::encoding::Context) -> usize {
4049 8
4050 }
4051
4052 #[inline(always)]
4053 fn inline_size(_context: fidl::encoding::Context) -> usize {
4054 16
4055 }
4056 }
4057
4058 unsafe impl<D: fidl::encoding::ResourceDialect>
4059 fidl::encoding::Encode<OpenTargetStrictTwoWayErrRequest, D>
4060 for &OpenTargetStrictTwoWayErrRequest
4061 {
4062 #[inline]
4063 unsafe fn encode(
4064 self,
4065 encoder: &mut fidl::encoding::Encoder<'_, D>,
4066 offset: usize,
4067 _depth: fidl::encoding::Depth,
4068 ) -> fidl::Result<()> {
4069 encoder.debug_check_bounds::<OpenTargetStrictTwoWayErrRequest>(offset);
4070 encoder.write_num::<u64>(self.ordinal(), offset);
4071 match self {
4072 OpenTargetStrictTwoWayErrRequest::ReplySuccess(ref val) => {
4073 fidl::encoding::encode_in_envelope::<Empty, D>(
4074 <Empty as fidl::encoding::ValueTypeMarker>::borrow(val),
4075 encoder,
4076 offset + 8,
4077 _depth,
4078 )
4079 }
4080 OpenTargetStrictTwoWayErrRequest::ReplyError(ref val) => {
4081 fidl::encoding::encode_in_envelope::<i32, D>(
4082 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
4083 encoder,
4084 offset + 8,
4085 _depth,
4086 )
4087 }
4088 }
4089 }
4090 }
4091
4092 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4093 for OpenTargetStrictTwoWayErrRequest
4094 {
4095 #[inline(always)]
4096 fn new_empty() -> Self {
4097 Self::ReplySuccess(fidl::new_empty!(Empty, D))
4098 }
4099
4100 #[inline]
4101 unsafe fn decode(
4102 &mut self,
4103 decoder: &mut fidl::encoding::Decoder<'_, D>,
4104 offset: usize,
4105 mut depth: fidl::encoding::Depth,
4106 ) -> fidl::Result<()> {
4107 decoder.debug_check_bounds::<Self>(offset);
4108 #[allow(unused_variables)]
4109 let next_out_of_line = decoder.next_out_of_line();
4110 let handles_before = decoder.remaining_handles();
4111 let (ordinal, inlined, num_bytes, num_handles) =
4112 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
4113
4114 let member_inline_size = match ordinal {
4115 1 => <Empty as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4116 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4117 _ => return Err(fidl::Error::UnknownUnionTag),
4118 };
4119
4120 if inlined != (member_inline_size <= 4) {
4121 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4122 }
4123 let _inner_offset;
4124 if inlined {
4125 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
4126 _inner_offset = offset + 8;
4127 } else {
4128 depth.increment()?;
4129 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4130 }
4131 match ordinal {
4132 1 => {
4133 #[allow(irrefutable_let_patterns)]
4134 if let OpenTargetStrictTwoWayErrRequest::ReplySuccess(_) = self {
4135 } else {
4137 *self = OpenTargetStrictTwoWayErrRequest::ReplySuccess(fidl::new_empty!(
4139 Empty, D
4140 ));
4141 }
4142 #[allow(irrefutable_let_patterns)]
4143 if let OpenTargetStrictTwoWayErrRequest::ReplySuccess(ref mut val) = self {
4144 fidl::decode!(Empty, D, val, decoder, _inner_offset, depth)?;
4145 } else {
4146 unreachable!()
4147 }
4148 }
4149 2 => {
4150 #[allow(irrefutable_let_patterns)]
4151 if let OpenTargetStrictTwoWayErrRequest::ReplyError(_) = self {
4152 } else {
4154 *self =
4156 OpenTargetStrictTwoWayErrRequest::ReplyError(fidl::new_empty!(i32, D));
4157 }
4158 #[allow(irrefutable_let_patterns)]
4159 if let OpenTargetStrictTwoWayErrRequest::ReplyError(ref mut val) = self {
4160 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
4161 } else {
4162 unreachable!()
4163 }
4164 }
4165 ordinal => panic!("unexpected ordinal {:?}", ordinal),
4166 }
4167 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
4168 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4169 }
4170 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4171 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4172 }
4173 Ok(())
4174 }
4175 }
4176
4177 impl fidl::encoding::ValueTypeMarker for OpenTargetStrictTwoWayFieldsErrRequest {
4178 type Borrowed<'a> = &'a Self;
4179 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4180 value
4181 }
4182 }
4183
4184 unsafe impl fidl::encoding::TypeMarker for OpenTargetStrictTwoWayFieldsErrRequest {
4185 type Owned = Self;
4186
4187 #[inline(always)]
4188 fn inline_align(_context: fidl::encoding::Context) -> usize {
4189 8
4190 }
4191
4192 #[inline(always)]
4193 fn inline_size(_context: fidl::encoding::Context) -> usize {
4194 16
4195 }
4196 }
4197
4198 unsafe impl<D: fidl::encoding::ResourceDialect>
4199 fidl::encoding::Encode<OpenTargetStrictTwoWayFieldsErrRequest, D>
4200 for &OpenTargetStrictTwoWayFieldsErrRequest
4201 {
4202 #[inline]
4203 unsafe fn encode(
4204 self,
4205 encoder: &mut fidl::encoding::Encoder<'_, D>,
4206 offset: usize,
4207 _depth: fidl::encoding::Depth,
4208 ) -> fidl::Result<()> {
4209 encoder.debug_check_bounds::<OpenTargetStrictTwoWayFieldsErrRequest>(offset);
4210 encoder.write_num::<u64>(self.ordinal(), offset);
4211 match self {
4212 OpenTargetStrictTwoWayFieldsErrRequest::ReplySuccess(ref val) => {
4213 fidl::encoding::encode_in_envelope::<i32, D>(
4214 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
4215 encoder,
4216 offset + 8,
4217 _depth,
4218 )
4219 }
4220 OpenTargetStrictTwoWayFieldsErrRequest::ReplyError(ref val) => {
4221 fidl::encoding::encode_in_envelope::<i32, D>(
4222 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
4223 encoder,
4224 offset + 8,
4225 _depth,
4226 )
4227 }
4228 }
4229 }
4230 }
4231
4232 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4233 for OpenTargetStrictTwoWayFieldsErrRequest
4234 {
4235 #[inline(always)]
4236 fn new_empty() -> Self {
4237 Self::ReplySuccess(fidl::new_empty!(i32, D))
4238 }
4239
4240 #[inline]
4241 unsafe fn decode(
4242 &mut self,
4243 decoder: &mut fidl::encoding::Decoder<'_, D>,
4244 offset: usize,
4245 mut depth: fidl::encoding::Depth,
4246 ) -> fidl::Result<()> {
4247 decoder.debug_check_bounds::<Self>(offset);
4248 #[allow(unused_variables)]
4249 let next_out_of_line = decoder.next_out_of_line();
4250 let handles_before = decoder.remaining_handles();
4251 let (ordinal, inlined, num_bytes, num_handles) =
4252 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
4253
4254 let member_inline_size = match ordinal {
4255 1 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4256 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4257 _ => return Err(fidl::Error::UnknownUnionTag),
4258 };
4259
4260 if inlined != (member_inline_size <= 4) {
4261 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4262 }
4263 let _inner_offset;
4264 if inlined {
4265 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
4266 _inner_offset = offset + 8;
4267 } else {
4268 depth.increment()?;
4269 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4270 }
4271 match ordinal {
4272 1 => {
4273 #[allow(irrefutable_let_patterns)]
4274 if let OpenTargetStrictTwoWayFieldsErrRequest::ReplySuccess(_) = self {
4275 } else {
4277 *self = OpenTargetStrictTwoWayFieldsErrRequest::ReplySuccess(
4279 fidl::new_empty!(i32, D),
4280 );
4281 }
4282 #[allow(irrefutable_let_patterns)]
4283 if let OpenTargetStrictTwoWayFieldsErrRequest::ReplySuccess(ref mut val) = self
4284 {
4285 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
4286 } else {
4287 unreachable!()
4288 }
4289 }
4290 2 => {
4291 #[allow(irrefutable_let_patterns)]
4292 if let OpenTargetStrictTwoWayFieldsErrRequest::ReplyError(_) = self {
4293 } else {
4295 *self = OpenTargetStrictTwoWayFieldsErrRequest::ReplyError(
4297 fidl::new_empty!(i32, D),
4298 );
4299 }
4300 #[allow(irrefutable_let_patterns)]
4301 if let OpenTargetStrictTwoWayFieldsErrRequest::ReplyError(ref mut val) = self {
4302 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
4303 } else {
4304 unreachable!()
4305 }
4306 }
4307 ordinal => panic!("unexpected ordinal {:?}", ordinal),
4308 }
4309 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
4310 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4311 }
4312 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4313 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4314 }
4315 Ok(())
4316 }
4317 }
4318}