1#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::client::QueryResponseFut;
8use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
9use fidl::endpoints::{ControlHandle as _, Responder as _};
10pub use fidl_fuchsia_component_runtime__common::*;
11use futures::future::{self, MaybeDone, TryFutureExt};
12use zx_status;
13
14#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15pub struct CapabilitiesCapabilityAssociateHandleRequest {
16 pub capability_handle: fidl::EventPair,
17 pub other_handle: fidl::EventPair,
18}
19
20impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
21 for CapabilitiesCapabilityAssociateHandleRequest
22{
23}
24
25#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26pub struct CapabilitiesConnectorCreateRequest {
27 pub connector: fidl::EventPair,
28 pub receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
29}
30
31impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
32 for CapabilitiesConnectorCreateRequest
33{
34}
35
36#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
37pub struct CapabilitiesConnectorOpenRequest {
38 pub connector: fidl::EventPair,
39 pub channel: fidl::Channel,
40}
41
42impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
43 for CapabilitiesConnectorOpenRequest
44{
45}
46
47#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
48pub struct CapabilitiesConnectorRouterCreateRequest {
49 pub router: fidl::EventPair,
50 pub router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterMarker>,
51}
52
53impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
54 for CapabilitiesConnectorRouterCreateRequest
55{
56}
57
58#[derive(Debug, PartialEq)]
59pub struct CapabilitiesConnectorRouterRouteRequest {
60 pub router: fidl::EventPair,
61 pub request: RouteRequest,
62 pub instance_token: fidl::EventPair,
63 pub connector: fidl::EventPair,
64}
65
66impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
67 for CapabilitiesConnectorRouterRouteRequest
68{
69}
70
71#[derive(Debug, PartialEq)]
72pub struct CapabilitiesDataCreateRequest {
73 pub data_handle: fidl::EventPair,
74 pub data: Data,
75}
76
77impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
78 for CapabilitiesDataCreateRequest
79{
80}
81
82#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
83pub struct CapabilitiesDataGetRequest {
84 pub data_handle: fidl::EventPair,
85}
86
87impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
88 for CapabilitiesDataGetRequest
89{
90}
91
92#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
93pub struct CapabilitiesDataRouterCreateRequest {
94 pub router: fidl::EventPair,
95 pub router_client_end: fidl::endpoints::ClientEnd<DataRouterMarker>,
96}
97
98impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
99 for CapabilitiesDataRouterCreateRequest
100{
101}
102
103#[derive(Debug, PartialEq)]
104pub struct CapabilitiesDataRouterRouteRequest {
105 pub router: fidl::EventPair,
106 pub request: RouteRequest,
107 pub instance_token: fidl::EventPair,
108 pub data: fidl::EventPair,
109}
110
111impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
112 for CapabilitiesDataRouterRouteRequest
113{
114}
115
116#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
117pub struct CapabilitiesDictionaryCreateRequest {
118 pub dictionary: fidl::EventPair,
119}
120
121impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
122 for CapabilitiesDictionaryCreateRequest
123{
124}
125
126#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
127pub struct CapabilitiesDictionaryGetRequest {
128 pub dictionary: fidl::EventPair,
129 pub key: String,
130 pub value: fidl::EventPair,
131}
132
133impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
134 for CapabilitiesDictionaryGetRequest
135{
136}
137
138#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
139pub struct CapabilitiesDictionaryInsertRequest {
140 pub dictionary: fidl::EventPair,
141 pub key: String,
142 pub value: fidl::EventPair,
143}
144
145impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
146 for CapabilitiesDictionaryInsertRequest
147{
148}
149
150#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
151pub struct CapabilitiesDictionaryIterateKeysRequest {
152 pub dictionary: fidl::EventPair,
153 pub key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
154}
155
156impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
157 for CapabilitiesDictionaryIterateKeysRequest
158{
159}
160
161#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
162pub struct CapabilitiesDictionaryRouterCreateRequest {
163 pub router: fidl::EventPair,
164 pub router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterMarker>,
165}
166
167impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
168 for CapabilitiesDictionaryRouterCreateRequest
169{
170}
171
172#[derive(Debug, PartialEq)]
173pub struct CapabilitiesDictionaryRouterRouteRequest {
174 pub router: fidl::EventPair,
175 pub request: RouteRequest,
176 pub instance_token: fidl::EventPair,
177 pub dictionary: fidl::EventPair,
178}
179
180impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
181 for CapabilitiesDictionaryRouterRouteRequest
182{
183}
184
185#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
186pub struct CapabilitiesDirConnectorCreateRequest {
187 pub dir_connector: fidl::EventPair,
188 pub receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverMarker>,
189}
190
191impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
192 for CapabilitiesDirConnectorCreateRequest
193{
194}
195
196#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
197pub struct CapabilitiesDirConnectorRouterCreateRequest {
198 pub router: fidl::EventPair,
199 pub router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterMarker>,
200}
201
202impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
203 for CapabilitiesDirConnectorRouterCreateRequest
204{
205}
206
207#[derive(Debug, PartialEq)]
208pub struct CapabilitiesDirConnectorRouterRouteRequest {
209 pub router: fidl::EventPair,
210 pub request: RouteRequest,
211 pub instance_token: fidl::EventPair,
212 pub dir_connector: fidl::EventPair,
213}
214
215impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
216 for CapabilitiesDirConnectorRouterRouteRequest
217{
218}
219
220#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
221pub struct CapabilitiesInstanceTokenCreateRequest {
222 pub instance_token: fidl::EventPair,
223}
224
225impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
226 for CapabilitiesInstanceTokenCreateRequest
227{
228}
229
230#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
231pub struct CapabilitiesDictionaryGetResponse {
232 pub capability_type: CapabilityType,
233}
234
235impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
236 for CapabilitiesDictionaryGetResponse
237{
238}
239
240#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
241pub struct CapabilitiesDictionaryRemoveResponse {
242 pub capability_type: CapabilityType,
243}
244
245impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
246 for CapabilitiesDictionaryRemoveResponse
247{
248}
249
250#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
251pub struct CapabilityFactoryCreateConnectorRequest {
252 pub receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
253 pub connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
254}
255
256impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
257 for CapabilityFactoryCreateConnectorRequest
258{
259}
260
261#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
262pub struct CapabilityFactoryCreateConnectorRouterRequest {
263 pub router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
264 pub router_server_end: fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
265}
266
267impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
268 for CapabilityFactoryCreateConnectorRouterRequest
269{
270}
271
272#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
273pub struct CapabilityFactoryCreateDataRouterRequest {
274 pub router_client_end: fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
275 pub router_server_end: fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
276}
277
278impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
279 for CapabilityFactoryCreateDataRouterRequest
280{
281}
282
283#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
284pub struct CapabilityFactoryCreateDictionaryRequest {
285 pub dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
286}
287
288impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
289 for CapabilityFactoryCreateDictionaryRequest
290{
291}
292
293#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
294pub struct CapabilityFactoryCreateDictionaryRouterRequest {
295 pub router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
296 pub router_server_end: fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
297}
298
299impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
300 for CapabilityFactoryCreateDictionaryRouterRequest
301{
302}
303
304#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
305pub struct CapabilityFactoryCreateDirConnectorRequest {
306 pub dir_receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
307 pub dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
308}
309
310impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
311 for CapabilityFactoryCreateDirConnectorRequest
312{
313}
314
315#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
316pub struct CapabilityFactoryCreateDirConnectorRouterRequest {
317 pub router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
318 pub router_server_end: fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
319}
320
321impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
322 for CapabilityFactoryCreateDirConnectorRouterRequest
323{
324}
325
326#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
327pub struct ConnectorConnectRequest {
328 pub channel: fidl::Channel,
329}
330
331impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for ConnectorConnectRequest {}
332
333#[derive(Debug, PartialEq)]
334pub struct ConnectorRouterDeprecatedRouteRequest {
335 pub request: DeprecatedRouteRequest,
336 pub connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
337}
338
339impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
340 for ConnectorRouterDeprecatedRouteRequest
341{
342}
343
344#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
345pub struct ConnectorRouterDeprecatedRouteResponse {
346 pub response: RouterResponse,
347}
348
349impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
350 for ConnectorRouterDeprecatedRouteResponse
351{
352}
353
354#[derive(Debug, PartialEq)]
355pub struct ConnectorRouterRouteRequest {
356 pub request: RouteRequest,
357 pub instance_token: fidl::EventPair,
358 pub handle: fidl::EventPair,
359}
360
361impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
362 for ConnectorRouterRouteRequest
363{
364}
365
366#[derive(Debug, PartialEq)]
367pub struct DataRouterDeprecatedRouteRequest {
368 pub request: DeprecatedRouteRequest,
369}
370
371impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
372 for DataRouterDeprecatedRouteRequest
373{
374}
375
376#[derive(Debug, PartialEq)]
377pub struct DataRouterDeprecatedRouteResponse {
378 pub response: RouterResponse,
379 pub data: Option<Box<Data>>,
380}
381
382impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
383 for DataRouterDeprecatedRouteResponse
384{
385}
386
387#[derive(Debug, PartialEq)]
388pub struct DataRouterRouteRequest {
389 pub request: RouteRequest,
390 pub instance_token: fidl::EventPair,
391 pub handle: fidl::EventPair,
392}
393
394impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for DataRouterRouteRequest {}
395
396#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
397pub struct DictionaryGetRequest {
398 pub key: String,
399}
400
401impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for DictionaryGetRequest {}
402
403#[derive(Debug, PartialEq)]
404pub struct DictionaryInsertRequest {
405 pub key: String,
406 pub capability: CapabilityDeprecated,
407}
408
409impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for DictionaryInsertRequest {}
410
411#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
412pub struct DictionaryIterateKeysRequest {
413 pub key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
414}
415
416impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
417 for DictionaryIterateKeysRequest
418{
419}
420
421#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
422pub struct DictionaryRemoveRequest {
423 pub key: String,
424}
425
426impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for DictionaryRemoveRequest {}
427
428#[derive(Debug, PartialEq)]
429pub struct DictionaryRouterDeprecatedRouteRequest {
430 pub request: DeprecatedRouteRequest,
431 pub dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
432}
433
434impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
435 for DictionaryRouterDeprecatedRouteRequest
436{
437}
438
439#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
440pub struct DictionaryRouterDeprecatedRouteResponse {
441 pub response: RouterResponse,
442}
443
444impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
445 for DictionaryRouterDeprecatedRouteResponse
446{
447}
448
449#[derive(Debug, PartialEq)]
450pub struct DictionaryRouterRouteRequest {
451 pub request: RouteRequest,
452 pub instance_token: fidl::EventPair,
453 pub handle: fidl::EventPair,
454}
455
456impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
457 for DictionaryRouterRouteRequest
458{
459}
460
461#[derive(Debug, PartialEq)]
462pub struct DictionaryGetResponse {
463 pub capability: Option<Box<CapabilityDeprecated>>,
464}
465
466impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for DictionaryGetResponse {}
467
468#[derive(Debug, PartialEq)]
469pub struct DictionaryLegacyExportResponse {
470 pub dictionary_ref: fidl_fuchsia_component_sandbox::DictionaryRef,
471}
472
473impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
474 for DictionaryLegacyExportResponse
475{
476}
477
478#[derive(Debug, PartialEq)]
479pub struct DictionaryRemoveResponse {
480 pub capability: Option<Box<CapabilityDeprecated>>,
481}
482
483impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for DictionaryRemoveResponse {}
484
485#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
486pub struct DirConnectorConnectRequest {
487 pub channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
488}
489
490impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
491 for DirConnectorConnectRequest
492{
493}
494
495#[derive(Debug, PartialEq)]
496pub struct DirConnectorRouterDeprecatedRouteRequest {
497 pub request: DeprecatedRouteRequest,
498 pub dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
499}
500
501impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
502 for DirConnectorRouterDeprecatedRouteRequest
503{
504}
505
506#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
507pub struct DirConnectorRouterDeprecatedRouteResponse {
508 pub response: RouterResponse,
509}
510
511impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
512 for DirConnectorRouterDeprecatedRouteResponse
513{
514}
515
516#[derive(Debug, PartialEq)]
517pub struct DirConnectorRouterRouteRequest {
518 pub request: RouteRequest,
519 pub instance_token: fidl::EventPair,
520 pub handle: fidl::EventPair,
521}
522
523impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
524 for DirConnectorRouterRouteRequest
525{
526}
527
528#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
529pub struct DirReceiverDeprecatedReceiveRequest {
530 pub channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
531}
532
533impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
534 for DirReceiverDeprecatedReceiveRequest
535{
536}
537
538#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
539pub struct DirReceiverReceiveRequest {
540 pub channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
541 pub path: String,
542 pub rights: fidl_fuchsia_io::Flags,
543}
544
545impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for DirReceiverReceiveRequest {}
546
547#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
548pub struct ReceiverReceiveRequest {
549 pub channel: fidl::Channel,
550}
551
552impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for ReceiverReceiveRequest {}
553
554#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
556pub struct WeakInstanceToken {
557 pub token: fidl::EventPair,
558}
559
560impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for WeakInstanceToken {}
561
562#[derive(Debug, Default, PartialEq)]
563pub struct CapabilitiesDictionaryRemoveRequest {
564 pub dictionary: Option<fidl::EventPair>,
565 pub key: Option<String>,
566 pub value: Option<fidl::EventPair>,
567 #[doc(hidden)]
568 pub __source_breaking: fidl::marker::SourceBreaking,
569}
570
571impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
572 for CapabilitiesDictionaryRemoveRequest
573{
574}
575
576#[derive(Debug, Default, PartialEq)]
577pub struct CapabilitiesDirConnectorOpenRequest {
578 pub dir_connector: Option<fidl::EventPair>,
579 pub channel: Option<fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>>,
580 pub flags: Option<fidl_fuchsia_io::Flags>,
581 pub path: Option<String>,
582 #[doc(hidden)]
583 pub __source_breaking: fidl::marker::SourceBreaking,
584}
585
586impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
587 for CapabilitiesDirConnectorOpenRequest
588{
589}
590
591#[derive(Debug, Default, PartialEq)]
601pub struct DeprecatedRouteRequest {
602 pub target: Option<WeakInstanceToken>,
603 pub metadata: Option<fidl::endpoints::ClientEnd<DictionaryMarker>>,
604 #[doc(hidden)]
605 pub __source_breaking: fidl::marker::SourceBreaking,
606}
607
608impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for DeprecatedRouteRequest {}
609
610#[derive(Debug, Default, PartialEq)]
621pub struct RouteRequest {
622 pub metadata: Option<fidl::EventPair>,
623 #[doc(hidden)]
624 pub __source_breaking: fidl::marker::SourceBreaking,
625}
626
627impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for RouteRequest {}
628
629#[derive(Debug)]
636pub enum CapabilityDeprecated {
637 Connector(fidl::endpoints::ClientEnd<ConnectorMarker>),
638 DirConnector(fidl::endpoints::ClientEnd<DirConnectorMarker>),
639 Dictionary(fidl::endpoints::ClientEnd<DictionaryMarker>),
640 Data(Data),
641 ConnectorRouter(fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>),
642 DirConnectorRouter(fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>),
643 DictionaryRouter(fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>),
644 DataRouter(fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>),
645 #[doc(hidden)]
646 __SourceBreaking {
647 unknown_ordinal: u64,
648 },
649}
650
651#[macro_export]
653macro_rules! CapabilityDeprecatedUnknown {
654 () => {
655 _
656 };
657}
658
659impl PartialEq for CapabilityDeprecated {
661 fn eq(&self, other: &Self) -> bool {
662 match (self, other) {
663 (Self::Connector(x), Self::Connector(y)) => *x == *y,
664 (Self::DirConnector(x), Self::DirConnector(y)) => *x == *y,
665 (Self::Dictionary(x), Self::Dictionary(y)) => *x == *y,
666 (Self::Data(x), Self::Data(y)) => *x == *y,
667 (Self::ConnectorRouter(x), Self::ConnectorRouter(y)) => *x == *y,
668 (Self::DirConnectorRouter(x), Self::DirConnectorRouter(y)) => *x == *y,
669 (Self::DictionaryRouter(x), Self::DictionaryRouter(y)) => *x == *y,
670 (Self::DataRouter(x), Self::DataRouter(y)) => *x == *y,
671 _ => false,
672 }
673 }
674}
675
676impl CapabilityDeprecated {
677 #[inline]
678 pub fn ordinal(&self) -> u64 {
679 match *self {
680 Self::Connector(_) => 1,
681 Self::DirConnector(_) => 2,
682 Self::Dictionary(_) => 3,
683 Self::Data(_) => 4,
684 Self::ConnectorRouter(_) => 5,
685 Self::DirConnectorRouter(_) => 6,
686 Self::DictionaryRouter(_) => 7,
687 Self::DataRouter(_) => 8,
688 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
689 }
690 }
691
692 #[inline]
693 pub fn unknown_variant_for_testing() -> Self {
694 Self::__SourceBreaking { unknown_ordinal: 0 }
695 }
696
697 #[inline]
698 pub fn is_unknown(&self) -> bool {
699 match self {
700 Self::__SourceBreaking { .. } => true,
701 _ => false,
702 }
703 }
704}
705
706impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect> for CapabilityDeprecated {}
707
708#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
709pub struct CapabilitiesMarker;
710
711impl fidl::endpoints::ProtocolMarker for CapabilitiesMarker {
712 type Proxy = CapabilitiesProxy;
713 type RequestStream = CapabilitiesRequestStream;
714 #[cfg(target_os = "fuchsia")]
715 type SynchronousProxy = CapabilitiesSynchronousProxy;
716
717 const DEBUG_NAME: &'static str = "fuchsia.component.runtime.Capabilities";
718}
719impl fidl::endpoints::DiscoverableProtocolMarker for CapabilitiesMarker {}
720pub type CapabilitiesConnectorCreateResult = Result<(), CapabilitiesError>;
721pub type CapabilitiesDirConnectorCreateResult = Result<(), CapabilitiesError>;
722pub type CapabilitiesDictionaryCreateResult = Result<(), CapabilitiesError>;
723pub type CapabilitiesDataCreateResult = Result<(), CapabilitiesError>;
724pub type CapabilitiesConnectorRouterCreateResult = Result<(), CapabilitiesError>;
725pub type CapabilitiesDirConnectorRouterCreateResult = Result<(), CapabilitiesError>;
726pub type CapabilitiesDictionaryRouterCreateResult = Result<(), CapabilitiesError>;
727pub type CapabilitiesDataRouterCreateResult = Result<(), CapabilitiesError>;
728pub type CapabilitiesInstanceTokenCreateResult = Result<(), CapabilitiesError>;
729pub type CapabilitiesConnectorOpenResult = Result<(), CapabilitiesError>;
730pub type CapabilitiesDirConnectorOpenResult = Result<(), CapabilitiesError>;
731pub type CapabilitiesDictionaryInsertResult = Result<(), CapabilitiesError>;
732pub type CapabilitiesDictionaryGetResult = Result<CapabilityType, CapabilitiesError>;
733pub type CapabilitiesDictionaryRemoveResult = Result<CapabilityType, CapabilitiesError>;
734pub type CapabilitiesDictionaryIterateKeysResult = Result<(), CapabilitiesError>;
735pub type CapabilitiesDataGetResult = Result<Data, CapabilitiesError>;
736pub type CapabilitiesConnectorRouterRouteResult = Result<RouterResponse, i32>;
737pub type CapabilitiesDirConnectorRouterRouteResult = Result<RouterResponse, i32>;
738pub type CapabilitiesDictionaryRouterRouteResult = Result<RouterResponse, i32>;
739pub type CapabilitiesDataRouterRouteResult = Result<RouterResponse, i32>;
740pub type CapabilitiesCapabilityAssociateHandleResult = Result<(), CapabilitiesError>;
741
742pub trait CapabilitiesProxyInterface: Send + Sync {
743 type ConnectorCreateResponseFut: std::future::Future<Output = Result<CapabilitiesConnectorCreateResult, fidl::Error>>
744 + Send;
745 fn r#connector_create(
746 &self,
747 connector: fidl::EventPair,
748 receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
749 ) -> Self::ConnectorCreateResponseFut;
750 type DirConnectorCreateResponseFut: std::future::Future<Output = Result<CapabilitiesDirConnectorCreateResult, fidl::Error>>
751 + Send;
752 fn r#dir_connector_create(
753 &self,
754 dir_connector: fidl::EventPair,
755 receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverMarker>,
756 ) -> Self::DirConnectorCreateResponseFut;
757 type DictionaryCreateResponseFut: std::future::Future<Output = Result<CapabilitiesDictionaryCreateResult, fidl::Error>>
758 + Send;
759 fn r#dictionary_create(&self, dictionary: fidl::EventPair)
760 -> Self::DictionaryCreateResponseFut;
761 type DataCreateResponseFut: std::future::Future<Output = Result<CapabilitiesDataCreateResult, fidl::Error>>
762 + Send;
763 fn r#data_create(
764 &self,
765 data_handle: fidl::EventPair,
766 data: &Data,
767 ) -> Self::DataCreateResponseFut;
768 type ConnectorRouterCreateResponseFut: std::future::Future<Output = Result<CapabilitiesConnectorRouterCreateResult, fidl::Error>>
769 + Send;
770 fn r#connector_router_create(
771 &self,
772 router: fidl::EventPair,
773 router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterMarker>,
774 ) -> Self::ConnectorRouterCreateResponseFut;
775 type DirConnectorRouterCreateResponseFut: std::future::Future<
776 Output = Result<CapabilitiesDirConnectorRouterCreateResult, fidl::Error>,
777 > + Send;
778 fn r#dir_connector_router_create(
779 &self,
780 router: fidl::EventPair,
781 router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterMarker>,
782 ) -> Self::DirConnectorRouterCreateResponseFut;
783 type DictionaryRouterCreateResponseFut: std::future::Future<Output = Result<CapabilitiesDictionaryRouterCreateResult, fidl::Error>>
784 + Send;
785 fn r#dictionary_router_create(
786 &self,
787 router: fidl::EventPair,
788 router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterMarker>,
789 ) -> Self::DictionaryRouterCreateResponseFut;
790 type DataRouterCreateResponseFut: std::future::Future<Output = Result<CapabilitiesDataRouterCreateResult, fidl::Error>>
791 + Send;
792 fn r#data_router_create(
793 &self,
794 router: fidl::EventPair,
795 router_client_end: fidl::endpoints::ClientEnd<DataRouterMarker>,
796 ) -> Self::DataRouterCreateResponseFut;
797 type InstanceTokenCreateResponseFut: std::future::Future<Output = Result<CapabilitiesInstanceTokenCreateResult, fidl::Error>>
798 + Send;
799 fn r#instance_token_create(
800 &self,
801 instance_token: fidl::EventPair,
802 ) -> Self::InstanceTokenCreateResponseFut;
803 type ConnectorOpenResponseFut: std::future::Future<Output = Result<CapabilitiesConnectorOpenResult, fidl::Error>>
804 + Send;
805 fn r#connector_open(
806 &self,
807 connector: fidl::EventPair,
808 channel: fidl::Channel,
809 ) -> Self::ConnectorOpenResponseFut;
810 type DirConnectorOpenResponseFut: std::future::Future<Output = Result<CapabilitiesDirConnectorOpenResult, fidl::Error>>
811 + Send;
812 fn r#dir_connector_open(
813 &self,
814 payload: CapabilitiesDirConnectorOpenRequest,
815 ) -> Self::DirConnectorOpenResponseFut;
816 type DictionaryInsertResponseFut: std::future::Future<Output = Result<CapabilitiesDictionaryInsertResult, fidl::Error>>
817 + Send;
818 fn r#dictionary_insert(
819 &self,
820 dictionary: fidl::EventPair,
821 key: &str,
822 value: fidl::EventPair,
823 ) -> Self::DictionaryInsertResponseFut;
824 type DictionaryGetResponseFut: std::future::Future<Output = Result<CapabilitiesDictionaryGetResult, fidl::Error>>
825 + Send;
826 fn r#dictionary_get(
827 &self,
828 dictionary: fidl::EventPair,
829 key: &str,
830 value: fidl::EventPair,
831 ) -> Self::DictionaryGetResponseFut;
832 type DictionaryRemoveResponseFut: std::future::Future<Output = Result<CapabilitiesDictionaryRemoveResult, fidl::Error>>
833 + Send;
834 fn r#dictionary_remove(
835 &self,
836 payload: CapabilitiesDictionaryRemoveRequest,
837 ) -> Self::DictionaryRemoveResponseFut;
838 type DictionaryIterateKeysResponseFut: std::future::Future<Output = Result<CapabilitiesDictionaryIterateKeysResult, fidl::Error>>
839 + Send;
840 fn r#dictionary_iterate_keys(
841 &self,
842 dictionary: fidl::EventPair,
843 key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
844 ) -> Self::DictionaryIterateKeysResponseFut;
845 type DataGetResponseFut: std::future::Future<Output = Result<CapabilitiesDataGetResult, fidl::Error>>
846 + Send;
847 fn r#data_get(&self, data_handle: fidl::EventPair) -> Self::DataGetResponseFut;
848 type ConnectorRouterRouteResponseFut: std::future::Future<Output = Result<CapabilitiesConnectorRouterRouteResult, fidl::Error>>
849 + Send;
850 fn r#connector_router_route(
851 &self,
852 router: fidl::EventPair,
853 request: RouteRequest,
854 instance_token: fidl::EventPair,
855 connector: fidl::EventPair,
856 ) -> Self::ConnectorRouterRouteResponseFut;
857 type DirConnectorRouterRouteResponseFut: std::future::Future<Output = Result<CapabilitiesDirConnectorRouterRouteResult, fidl::Error>>
858 + Send;
859 fn r#dir_connector_router_route(
860 &self,
861 router: fidl::EventPair,
862 request: RouteRequest,
863 instance_token: fidl::EventPair,
864 dir_connector: fidl::EventPair,
865 ) -> Self::DirConnectorRouterRouteResponseFut;
866 type DictionaryRouterRouteResponseFut: std::future::Future<Output = Result<CapabilitiesDictionaryRouterRouteResult, fidl::Error>>
867 + Send;
868 fn r#dictionary_router_route(
869 &self,
870 router: fidl::EventPair,
871 request: RouteRequest,
872 instance_token: fidl::EventPair,
873 dictionary: fidl::EventPair,
874 ) -> Self::DictionaryRouterRouteResponseFut;
875 type DataRouterRouteResponseFut: std::future::Future<Output = Result<CapabilitiesDataRouterRouteResult, fidl::Error>>
876 + Send;
877 fn r#data_router_route(
878 &self,
879 router: fidl::EventPair,
880 request: RouteRequest,
881 instance_token: fidl::EventPair,
882 data: fidl::EventPair,
883 ) -> Self::DataRouterRouteResponseFut;
884 type CapabilityAssociateHandleResponseFut: std::future::Future<
885 Output = Result<CapabilitiesCapabilityAssociateHandleResult, fidl::Error>,
886 > + Send;
887 fn r#capability_associate_handle(
888 &self,
889 capability_handle: fidl::EventPair,
890 other_handle: fidl::EventPair,
891 ) -> Self::CapabilityAssociateHandleResponseFut;
892}
893#[derive(Debug)]
894#[cfg(target_os = "fuchsia")]
895pub struct CapabilitiesSynchronousProxy {
896 client: fidl::client::sync::Client,
897}
898
899#[cfg(target_os = "fuchsia")]
900impl fidl::endpoints::SynchronousProxy for CapabilitiesSynchronousProxy {
901 type Proxy = CapabilitiesProxy;
902 type Protocol = CapabilitiesMarker;
903
904 fn from_channel(inner: fidl::Channel) -> Self {
905 Self::new(inner)
906 }
907
908 fn into_channel(self) -> fidl::Channel {
909 self.client.into_channel()
910 }
911
912 fn as_channel(&self) -> &fidl::Channel {
913 self.client.as_channel()
914 }
915}
916
917#[cfg(target_os = "fuchsia")]
918impl CapabilitiesSynchronousProxy {
919 pub fn new(channel: fidl::Channel) -> Self {
920 let protocol_name = <CapabilitiesMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
921 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
922 }
923
924 pub fn into_channel(self) -> fidl::Channel {
925 self.client.into_channel()
926 }
927
928 pub fn wait_for_event(
931 &self,
932 deadline: zx::MonotonicInstant,
933 ) -> Result<CapabilitiesEvent, fidl::Error> {
934 CapabilitiesEvent::decode(self.client.wait_for_event(deadline)?)
935 }
936
937 pub fn r#connector_create(
944 &self,
945 mut connector: fidl::EventPair,
946 mut receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
947 ___deadline: zx::MonotonicInstant,
948 ) -> Result<CapabilitiesConnectorCreateResult, fidl::Error> {
949 let _response = self.client.send_query::<
950 CapabilitiesConnectorCreateRequest,
951 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
952 >(
953 (connector, receiver_client_end,),
954 0xac2bc2dbd7033d1,
955 fidl::encoding::DynamicFlags::FLEXIBLE,
956 ___deadline,
957 )?
958 .into_result::<CapabilitiesMarker>("connector_create")?;
959 Ok(_response.map(|x| x))
960 }
961
962 pub fn r#dir_connector_create(
969 &self,
970 mut dir_connector: fidl::EventPair,
971 mut receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverMarker>,
972 ___deadline: zx::MonotonicInstant,
973 ) -> Result<CapabilitiesDirConnectorCreateResult, fidl::Error> {
974 let _response = self.client.send_query::<
975 CapabilitiesDirConnectorCreateRequest,
976 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
977 >(
978 (dir_connector, receiver_client_end,),
979 0x721911e05da2a3bf,
980 fidl::encoding::DynamicFlags::FLEXIBLE,
981 ___deadline,
982 )?
983 .into_result::<CapabilitiesMarker>("dir_connector_create")?;
984 Ok(_response.map(|x| x))
985 }
986
987 pub fn r#dictionary_create(
992 &self,
993 mut dictionary: fidl::EventPair,
994 ___deadline: zx::MonotonicInstant,
995 ) -> Result<CapabilitiesDictionaryCreateResult, fidl::Error> {
996 let _response = self.client.send_query::<
997 CapabilitiesDictionaryCreateRequest,
998 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
999 >(
1000 (dictionary,),
1001 0x7f8bd91f0942a36e,
1002 fidl::encoding::DynamicFlags::FLEXIBLE,
1003 ___deadline,
1004 )?
1005 .into_result::<CapabilitiesMarker>("dictionary_create")?;
1006 Ok(_response.map(|x| x))
1007 }
1008
1009 pub fn r#data_create(
1014 &self,
1015 mut data_handle: fidl::EventPair,
1016 mut data: &Data,
1017 ___deadline: zx::MonotonicInstant,
1018 ) -> Result<CapabilitiesDataCreateResult, fidl::Error> {
1019 let _response = self.client.send_query::<
1020 CapabilitiesDataCreateRequest,
1021 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1022 >(
1023 (data_handle, data,),
1024 0x40ef43e45372ee6a,
1025 fidl::encoding::DynamicFlags::FLEXIBLE,
1026 ___deadline,
1027 )?
1028 .into_result::<CapabilitiesMarker>("data_create")?;
1029 Ok(_response.map(|x| x))
1030 }
1031
1032 pub fn r#connector_router_create(
1038 &self,
1039 mut router: fidl::EventPair,
1040 mut router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterMarker>,
1041 ___deadline: zx::MonotonicInstant,
1042 ) -> Result<CapabilitiesConnectorRouterCreateResult, fidl::Error> {
1043 let _response = self.client.send_query::<
1044 CapabilitiesConnectorRouterCreateRequest,
1045 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1046 >(
1047 (router, router_client_end,),
1048 0x7f7e7fbafcdf1761,
1049 fidl::encoding::DynamicFlags::FLEXIBLE,
1050 ___deadline,
1051 )?
1052 .into_result::<CapabilitiesMarker>("connector_router_create")?;
1053 Ok(_response.map(|x| x))
1054 }
1055
1056 pub fn r#dir_connector_router_create(
1062 &self,
1063 mut router: fidl::EventPair,
1064 mut router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterMarker>,
1065 ___deadline: zx::MonotonicInstant,
1066 ) -> Result<CapabilitiesDirConnectorRouterCreateResult, fidl::Error> {
1067 let _response = self.client.send_query::<
1068 CapabilitiesDirConnectorRouterCreateRequest,
1069 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1070 >(
1071 (router, router_client_end,),
1072 0x56520da453fad19f,
1073 fidl::encoding::DynamicFlags::FLEXIBLE,
1074 ___deadline,
1075 )?
1076 .into_result::<CapabilitiesMarker>("dir_connector_router_create")?;
1077 Ok(_response.map(|x| x))
1078 }
1079
1080 pub fn r#dictionary_router_create(
1086 &self,
1087 mut router: fidl::EventPair,
1088 mut router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterMarker>,
1089 ___deadline: zx::MonotonicInstant,
1090 ) -> Result<CapabilitiesDictionaryRouterCreateResult, fidl::Error> {
1091 let _response = self.client.send_query::<
1092 CapabilitiesDictionaryRouterCreateRequest,
1093 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1094 >(
1095 (router, router_client_end,),
1096 0x37acef18cd423d42,
1097 fidl::encoding::DynamicFlags::FLEXIBLE,
1098 ___deadline,
1099 )?
1100 .into_result::<CapabilitiesMarker>("dictionary_router_create")?;
1101 Ok(_response.map(|x| x))
1102 }
1103
1104 pub fn r#data_router_create(
1110 &self,
1111 mut router: fidl::EventPair,
1112 mut router_client_end: fidl::endpoints::ClientEnd<DataRouterMarker>,
1113 ___deadline: zx::MonotonicInstant,
1114 ) -> Result<CapabilitiesDataRouterCreateResult, fidl::Error> {
1115 let _response = self.client.send_query::<
1116 CapabilitiesDataRouterCreateRequest,
1117 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1118 >(
1119 (router, router_client_end,),
1120 0x24e471395b95088,
1121 fidl::encoding::DynamicFlags::FLEXIBLE,
1122 ___deadline,
1123 )?
1124 .into_result::<CapabilitiesMarker>("data_router_create")?;
1125 Ok(_response.map(|x| x))
1126 }
1127
1128 pub fn r#instance_token_create(
1135 &self,
1136 mut instance_token: fidl::EventPair,
1137 ___deadline: zx::MonotonicInstant,
1138 ) -> Result<CapabilitiesInstanceTokenCreateResult, fidl::Error> {
1139 let _response = self.client.send_query::<
1140 CapabilitiesInstanceTokenCreateRequest,
1141 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1142 >(
1143 (instance_token,),
1144 0x3576e31727c40813,
1145 fidl::encoding::DynamicFlags::FLEXIBLE,
1146 ___deadline,
1147 )?
1148 .into_result::<CapabilitiesMarker>("instance_token_create")?;
1149 Ok(_response.map(|x| x))
1150 }
1151
1152 pub fn r#connector_open(
1161 &self,
1162 mut connector: fidl::EventPair,
1163 mut channel: fidl::Channel,
1164 ___deadline: zx::MonotonicInstant,
1165 ) -> Result<CapabilitiesConnectorOpenResult, fidl::Error> {
1166 let _response = self.client.send_query::<
1167 CapabilitiesConnectorOpenRequest,
1168 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1169 >(
1170 (connector, channel,),
1171 0xc0646965f1884eb,
1172 fidl::encoding::DynamicFlags::FLEXIBLE,
1173 ___deadline,
1174 )?
1175 .into_result::<CapabilitiesMarker>("connector_open")?;
1176 Ok(_response.map(|x| x))
1177 }
1178
1179 pub fn r#dir_connector_open(
1191 &self,
1192 mut payload: CapabilitiesDirConnectorOpenRequest,
1193 ___deadline: zx::MonotonicInstant,
1194 ) -> Result<CapabilitiesDirConnectorOpenResult, fidl::Error> {
1195 let _response = self.client.send_query::<
1196 CapabilitiesDirConnectorOpenRequest,
1197 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1198 >(
1199 &mut payload,
1200 0x1332bbf5debd6c20,
1201 fidl::encoding::DynamicFlags::FLEXIBLE,
1202 ___deadline,
1203 )?
1204 .into_result::<CapabilitiesMarker>("dir_connector_open")?;
1205 Ok(_response.map(|x| x))
1206 }
1207
1208 pub fn r#dictionary_insert(
1211 &self,
1212 mut dictionary: fidl::EventPair,
1213 mut key: &str,
1214 mut value: fidl::EventPair,
1215 ___deadline: zx::MonotonicInstant,
1216 ) -> Result<CapabilitiesDictionaryInsertResult, fidl::Error> {
1217 let _response = self.client.send_query::<
1218 CapabilitiesDictionaryInsertRequest,
1219 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1220 >(
1221 (dictionary, key, value,),
1222 0x5972e3061a760e7a,
1223 fidl::encoding::DynamicFlags::FLEXIBLE,
1224 ___deadline,
1225 )?
1226 .into_result::<CapabilitiesMarker>("dictionary_insert")?;
1227 Ok(_response.map(|x| x))
1228 }
1229
1230 pub fn r#dictionary_get(
1241 &self,
1242 mut dictionary: fidl::EventPair,
1243 mut key: &str,
1244 mut value: fidl::EventPair,
1245 ___deadline: zx::MonotonicInstant,
1246 ) -> Result<CapabilitiesDictionaryGetResult, fidl::Error> {
1247 let _response = self
1248 .client
1249 .send_query::<CapabilitiesDictionaryGetRequest, fidl::encoding::FlexibleResultType<
1250 CapabilitiesDictionaryGetResponse,
1251 CapabilitiesError,
1252 >>(
1253 (dictionary, key, value),
1254 0x31fafe2280a283d5,
1255 fidl::encoding::DynamicFlags::FLEXIBLE,
1256 ___deadline,
1257 )?
1258 .into_result::<CapabilitiesMarker>("dictionary_get")?;
1259 Ok(_response.map(|x| x.capability_type))
1260 }
1261
1262 pub fn r#dictionary_remove(
1275 &self,
1276 mut payload: CapabilitiesDictionaryRemoveRequest,
1277 ___deadline: zx::MonotonicInstant,
1278 ) -> Result<CapabilitiesDictionaryRemoveResult, fidl::Error> {
1279 let _response = self
1280 .client
1281 .send_query::<CapabilitiesDictionaryRemoveRequest, fidl::encoding::FlexibleResultType<
1282 CapabilitiesDictionaryRemoveResponse,
1283 CapabilitiesError,
1284 >>(
1285 &mut payload,
1286 0x6827c83106ac5a2c,
1287 fidl::encoding::DynamicFlags::FLEXIBLE,
1288 ___deadline,
1289 )?
1290 .into_result::<CapabilitiesMarker>("dictionary_remove")?;
1291 Ok(_response.map(|x| x.capability_type))
1292 }
1293
1294 pub fn r#dictionary_iterate_keys(
1297 &self,
1298 mut dictionary: fidl::EventPair,
1299 mut key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
1300 ___deadline: zx::MonotonicInstant,
1301 ) -> Result<CapabilitiesDictionaryIterateKeysResult, fidl::Error> {
1302 let _response = self.client.send_query::<
1303 CapabilitiesDictionaryIterateKeysRequest,
1304 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1305 >(
1306 (dictionary, key_iterator,),
1307 0x3d4ea59c80df9bb8,
1308 fidl::encoding::DynamicFlags::FLEXIBLE,
1309 ___deadline,
1310 )?
1311 .into_result::<CapabilitiesMarker>("dictionary_iterate_keys")?;
1312 Ok(_response.map(|x| x))
1313 }
1314
1315 pub fn r#data_get(
1318 &self,
1319 mut data_handle: fidl::EventPair,
1320 ___deadline: zx::MonotonicInstant,
1321 ) -> Result<CapabilitiesDataGetResult, fidl::Error> {
1322 let _response = self.client.send_query::<
1323 CapabilitiesDataGetRequest,
1324 fidl::encoding::FlexibleResultType<Data, CapabilitiesError>,
1325 >(
1326 (data_handle,),
1327 0x65ae25b59f9e0daf,
1328 fidl::encoding::DynamicFlags::FLEXIBLE,
1329 ___deadline,
1330 )?
1331 .into_result::<CapabilitiesMarker>("data_get")?;
1332 Ok(_response.map(|x| x))
1333 }
1334
1335 pub fn r#connector_router_route(
1349 &self,
1350 mut router: fidl::EventPair,
1351 mut request: RouteRequest,
1352 mut instance_token: fidl::EventPair,
1353 mut connector: fidl::EventPair,
1354 ___deadline: zx::MonotonicInstant,
1355 ) -> Result<CapabilitiesConnectorRouterRouteResult, fidl::Error> {
1356 let _response = self.client.send_query::<
1357 CapabilitiesConnectorRouterRouteRequest,
1358 fidl::encoding::FlexibleResultType<CapabilitiesConnectorRouterRouteResponse, i32>,
1359 >(
1360 (router, &mut request, instance_token, connector,),
1361 0x1bd9c6e7e3dd487e,
1362 fidl::encoding::DynamicFlags::FLEXIBLE,
1363 ___deadline,
1364 )?
1365 .into_result::<CapabilitiesMarker>("connector_router_route")?;
1366 Ok(_response.map(|x| x.response))
1367 }
1368
1369 pub fn r#dir_connector_router_route(
1383 &self,
1384 mut router: fidl::EventPair,
1385 mut request: RouteRequest,
1386 mut instance_token: fidl::EventPair,
1387 mut dir_connector: fidl::EventPair,
1388 ___deadline: zx::MonotonicInstant,
1389 ) -> Result<CapabilitiesDirConnectorRouterRouteResult, fidl::Error> {
1390 let _response = self.client.send_query::<
1391 CapabilitiesDirConnectorRouterRouteRequest,
1392 fidl::encoding::FlexibleResultType<CapabilitiesDirConnectorRouterRouteResponse, i32>,
1393 >(
1394 (router, &mut request, instance_token, dir_connector,),
1395 0x3afdcc1b79e0799d,
1396 fidl::encoding::DynamicFlags::FLEXIBLE,
1397 ___deadline,
1398 )?
1399 .into_result::<CapabilitiesMarker>("dir_connector_router_route")?;
1400 Ok(_response.map(|x| x.response))
1401 }
1402
1403 pub fn r#dictionary_router_route(
1417 &self,
1418 mut router: fidl::EventPair,
1419 mut request: RouteRequest,
1420 mut instance_token: fidl::EventPair,
1421 mut dictionary: fidl::EventPair,
1422 ___deadline: zx::MonotonicInstant,
1423 ) -> Result<CapabilitiesDictionaryRouterRouteResult, fidl::Error> {
1424 let _response = self.client.send_query::<
1425 CapabilitiesDictionaryRouterRouteRequest,
1426 fidl::encoding::FlexibleResultType<CapabilitiesDictionaryRouterRouteResponse, i32>,
1427 >(
1428 (router, &mut request, instance_token, dictionary,),
1429 0xcf72de10714a708,
1430 fidl::encoding::DynamicFlags::FLEXIBLE,
1431 ___deadline,
1432 )?
1433 .into_result::<CapabilitiesMarker>("dictionary_router_route")?;
1434 Ok(_response.map(|x| x.response))
1435 }
1436
1437 pub fn r#data_router_route(
1450 &self,
1451 mut router: fidl::EventPair,
1452 mut request: RouteRequest,
1453 mut instance_token: fidl::EventPair,
1454 mut data: fidl::EventPair,
1455 ___deadline: zx::MonotonicInstant,
1456 ) -> Result<CapabilitiesDataRouterRouteResult, fidl::Error> {
1457 let _response = self.client.send_query::<
1458 CapabilitiesDataRouterRouteRequest,
1459 fidl::encoding::FlexibleResultType<CapabilitiesDataRouterRouteResponse, i32>,
1460 >(
1461 (router, &mut request, instance_token, data,),
1462 0x61ab188455ed0643,
1463 fidl::encoding::DynamicFlags::FLEXIBLE,
1464 ___deadline,
1465 )?
1466 .into_result::<CapabilitiesMarker>("data_router_route")?;
1467 Ok(_response.map(|x| x.response))
1468 }
1469
1470 pub fn r#capability_associate_handle(
1478 &self,
1479 mut capability_handle: fidl::EventPair,
1480 mut other_handle: fidl::EventPair,
1481 ___deadline: zx::MonotonicInstant,
1482 ) -> Result<CapabilitiesCapabilityAssociateHandleResult, fidl::Error> {
1483 let _response = self.client.send_query::<
1484 CapabilitiesCapabilityAssociateHandleRequest,
1485 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1486 >(
1487 (capability_handle, other_handle,),
1488 0x1d69bb61953d8e7,
1489 fidl::encoding::DynamicFlags::FLEXIBLE,
1490 ___deadline,
1491 )?
1492 .into_result::<CapabilitiesMarker>("capability_associate_handle")?;
1493 Ok(_response.map(|x| x))
1494 }
1495}
1496
1497#[cfg(target_os = "fuchsia")]
1498impl From<CapabilitiesSynchronousProxy> for zx::NullableHandle {
1499 fn from(value: CapabilitiesSynchronousProxy) -> Self {
1500 value.into_channel().into()
1501 }
1502}
1503
1504#[cfg(target_os = "fuchsia")]
1505impl From<fidl::Channel> for CapabilitiesSynchronousProxy {
1506 fn from(value: fidl::Channel) -> Self {
1507 Self::new(value)
1508 }
1509}
1510
1511#[cfg(target_os = "fuchsia")]
1512impl fidl::endpoints::FromClient for CapabilitiesSynchronousProxy {
1513 type Protocol = CapabilitiesMarker;
1514
1515 fn from_client(value: fidl::endpoints::ClientEnd<CapabilitiesMarker>) -> Self {
1516 Self::new(value.into_channel())
1517 }
1518}
1519
1520#[derive(Debug, Clone)]
1521pub struct CapabilitiesProxy {
1522 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
1523}
1524
1525impl fidl::endpoints::Proxy for CapabilitiesProxy {
1526 type Protocol = CapabilitiesMarker;
1527
1528 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
1529 Self::new(inner)
1530 }
1531
1532 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
1533 self.client.into_channel().map_err(|client| Self { client })
1534 }
1535
1536 fn as_channel(&self) -> &::fidl::AsyncChannel {
1537 self.client.as_channel()
1538 }
1539}
1540
1541impl CapabilitiesProxy {
1542 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
1544 let protocol_name = <CapabilitiesMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
1545 Self { client: fidl::client::Client::new(channel, protocol_name) }
1546 }
1547
1548 pub fn take_event_stream(&self) -> CapabilitiesEventStream {
1554 CapabilitiesEventStream { event_receiver: self.client.take_event_receiver() }
1555 }
1556
1557 pub fn r#connector_create(
1564 &self,
1565 mut connector: fidl::EventPair,
1566 mut receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
1567 ) -> fidl::client::QueryResponseFut<
1568 CapabilitiesConnectorCreateResult,
1569 fidl::encoding::DefaultFuchsiaResourceDialect,
1570 > {
1571 CapabilitiesProxyInterface::r#connector_create(self, connector, receiver_client_end)
1572 }
1573
1574 pub fn r#dir_connector_create(
1581 &self,
1582 mut dir_connector: fidl::EventPair,
1583 mut receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverMarker>,
1584 ) -> fidl::client::QueryResponseFut<
1585 CapabilitiesDirConnectorCreateResult,
1586 fidl::encoding::DefaultFuchsiaResourceDialect,
1587 > {
1588 CapabilitiesProxyInterface::r#dir_connector_create(self, dir_connector, receiver_client_end)
1589 }
1590
1591 pub fn r#dictionary_create(
1596 &self,
1597 mut dictionary: fidl::EventPair,
1598 ) -> fidl::client::QueryResponseFut<
1599 CapabilitiesDictionaryCreateResult,
1600 fidl::encoding::DefaultFuchsiaResourceDialect,
1601 > {
1602 CapabilitiesProxyInterface::r#dictionary_create(self, dictionary)
1603 }
1604
1605 pub fn r#data_create(
1610 &self,
1611 mut data_handle: fidl::EventPair,
1612 mut data: &Data,
1613 ) -> fidl::client::QueryResponseFut<
1614 CapabilitiesDataCreateResult,
1615 fidl::encoding::DefaultFuchsiaResourceDialect,
1616 > {
1617 CapabilitiesProxyInterface::r#data_create(self, data_handle, data)
1618 }
1619
1620 pub fn r#connector_router_create(
1626 &self,
1627 mut router: fidl::EventPair,
1628 mut router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterMarker>,
1629 ) -> fidl::client::QueryResponseFut<
1630 CapabilitiesConnectorRouterCreateResult,
1631 fidl::encoding::DefaultFuchsiaResourceDialect,
1632 > {
1633 CapabilitiesProxyInterface::r#connector_router_create(self, router, router_client_end)
1634 }
1635
1636 pub fn r#dir_connector_router_create(
1642 &self,
1643 mut router: fidl::EventPair,
1644 mut router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterMarker>,
1645 ) -> fidl::client::QueryResponseFut<
1646 CapabilitiesDirConnectorRouterCreateResult,
1647 fidl::encoding::DefaultFuchsiaResourceDialect,
1648 > {
1649 CapabilitiesProxyInterface::r#dir_connector_router_create(self, router, router_client_end)
1650 }
1651
1652 pub fn r#dictionary_router_create(
1658 &self,
1659 mut router: fidl::EventPair,
1660 mut router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterMarker>,
1661 ) -> fidl::client::QueryResponseFut<
1662 CapabilitiesDictionaryRouterCreateResult,
1663 fidl::encoding::DefaultFuchsiaResourceDialect,
1664 > {
1665 CapabilitiesProxyInterface::r#dictionary_router_create(self, router, router_client_end)
1666 }
1667
1668 pub fn r#data_router_create(
1674 &self,
1675 mut router: fidl::EventPair,
1676 mut router_client_end: fidl::endpoints::ClientEnd<DataRouterMarker>,
1677 ) -> fidl::client::QueryResponseFut<
1678 CapabilitiesDataRouterCreateResult,
1679 fidl::encoding::DefaultFuchsiaResourceDialect,
1680 > {
1681 CapabilitiesProxyInterface::r#data_router_create(self, router, router_client_end)
1682 }
1683
1684 pub fn r#instance_token_create(
1691 &self,
1692 mut instance_token: fidl::EventPair,
1693 ) -> fidl::client::QueryResponseFut<
1694 CapabilitiesInstanceTokenCreateResult,
1695 fidl::encoding::DefaultFuchsiaResourceDialect,
1696 > {
1697 CapabilitiesProxyInterface::r#instance_token_create(self, instance_token)
1698 }
1699
1700 pub fn r#connector_open(
1709 &self,
1710 mut connector: fidl::EventPair,
1711 mut channel: fidl::Channel,
1712 ) -> fidl::client::QueryResponseFut<
1713 CapabilitiesConnectorOpenResult,
1714 fidl::encoding::DefaultFuchsiaResourceDialect,
1715 > {
1716 CapabilitiesProxyInterface::r#connector_open(self, connector, channel)
1717 }
1718
1719 pub fn r#dir_connector_open(
1731 &self,
1732 mut payload: CapabilitiesDirConnectorOpenRequest,
1733 ) -> fidl::client::QueryResponseFut<
1734 CapabilitiesDirConnectorOpenResult,
1735 fidl::encoding::DefaultFuchsiaResourceDialect,
1736 > {
1737 CapabilitiesProxyInterface::r#dir_connector_open(self, payload)
1738 }
1739
1740 pub fn r#dictionary_insert(
1743 &self,
1744 mut dictionary: fidl::EventPair,
1745 mut key: &str,
1746 mut value: fidl::EventPair,
1747 ) -> fidl::client::QueryResponseFut<
1748 CapabilitiesDictionaryInsertResult,
1749 fidl::encoding::DefaultFuchsiaResourceDialect,
1750 > {
1751 CapabilitiesProxyInterface::r#dictionary_insert(self, dictionary, key, value)
1752 }
1753
1754 pub fn r#dictionary_get(
1765 &self,
1766 mut dictionary: fidl::EventPair,
1767 mut key: &str,
1768 mut value: fidl::EventPair,
1769 ) -> fidl::client::QueryResponseFut<
1770 CapabilitiesDictionaryGetResult,
1771 fidl::encoding::DefaultFuchsiaResourceDialect,
1772 > {
1773 CapabilitiesProxyInterface::r#dictionary_get(self, dictionary, key, value)
1774 }
1775
1776 pub fn r#dictionary_remove(
1789 &self,
1790 mut payload: CapabilitiesDictionaryRemoveRequest,
1791 ) -> fidl::client::QueryResponseFut<
1792 CapabilitiesDictionaryRemoveResult,
1793 fidl::encoding::DefaultFuchsiaResourceDialect,
1794 > {
1795 CapabilitiesProxyInterface::r#dictionary_remove(self, payload)
1796 }
1797
1798 pub fn r#dictionary_iterate_keys(
1801 &self,
1802 mut dictionary: fidl::EventPair,
1803 mut key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
1804 ) -> fidl::client::QueryResponseFut<
1805 CapabilitiesDictionaryIterateKeysResult,
1806 fidl::encoding::DefaultFuchsiaResourceDialect,
1807 > {
1808 CapabilitiesProxyInterface::r#dictionary_iterate_keys(self, dictionary, key_iterator)
1809 }
1810
1811 pub fn r#data_get(
1814 &self,
1815 mut data_handle: fidl::EventPair,
1816 ) -> fidl::client::QueryResponseFut<
1817 CapabilitiesDataGetResult,
1818 fidl::encoding::DefaultFuchsiaResourceDialect,
1819 > {
1820 CapabilitiesProxyInterface::r#data_get(self, data_handle)
1821 }
1822
1823 pub fn r#connector_router_route(
1837 &self,
1838 mut router: fidl::EventPair,
1839 mut request: RouteRequest,
1840 mut instance_token: fidl::EventPair,
1841 mut connector: fidl::EventPair,
1842 ) -> fidl::client::QueryResponseFut<
1843 CapabilitiesConnectorRouterRouteResult,
1844 fidl::encoding::DefaultFuchsiaResourceDialect,
1845 > {
1846 CapabilitiesProxyInterface::r#connector_router_route(
1847 self,
1848 router,
1849 request,
1850 instance_token,
1851 connector,
1852 )
1853 }
1854
1855 pub fn r#dir_connector_router_route(
1869 &self,
1870 mut router: fidl::EventPair,
1871 mut request: RouteRequest,
1872 mut instance_token: fidl::EventPair,
1873 mut dir_connector: fidl::EventPair,
1874 ) -> fidl::client::QueryResponseFut<
1875 CapabilitiesDirConnectorRouterRouteResult,
1876 fidl::encoding::DefaultFuchsiaResourceDialect,
1877 > {
1878 CapabilitiesProxyInterface::r#dir_connector_router_route(
1879 self,
1880 router,
1881 request,
1882 instance_token,
1883 dir_connector,
1884 )
1885 }
1886
1887 pub fn r#dictionary_router_route(
1901 &self,
1902 mut router: fidl::EventPair,
1903 mut request: RouteRequest,
1904 mut instance_token: fidl::EventPair,
1905 mut dictionary: fidl::EventPair,
1906 ) -> fidl::client::QueryResponseFut<
1907 CapabilitiesDictionaryRouterRouteResult,
1908 fidl::encoding::DefaultFuchsiaResourceDialect,
1909 > {
1910 CapabilitiesProxyInterface::r#dictionary_router_route(
1911 self,
1912 router,
1913 request,
1914 instance_token,
1915 dictionary,
1916 )
1917 }
1918
1919 pub fn r#data_router_route(
1932 &self,
1933 mut router: fidl::EventPair,
1934 mut request: RouteRequest,
1935 mut instance_token: fidl::EventPair,
1936 mut data: fidl::EventPair,
1937 ) -> fidl::client::QueryResponseFut<
1938 CapabilitiesDataRouterRouteResult,
1939 fidl::encoding::DefaultFuchsiaResourceDialect,
1940 > {
1941 CapabilitiesProxyInterface::r#data_router_route(self, router, request, instance_token, data)
1942 }
1943
1944 pub fn r#capability_associate_handle(
1952 &self,
1953 mut capability_handle: fidl::EventPair,
1954 mut other_handle: fidl::EventPair,
1955 ) -> fidl::client::QueryResponseFut<
1956 CapabilitiesCapabilityAssociateHandleResult,
1957 fidl::encoding::DefaultFuchsiaResourceDialect,
1958 > {
1959 CapabilitiesProxyInterface::r#capability_associate_handle(
1960 self,
1961 capability_handle,
1962 other_handle,
1963 )
1964 }
1965}
1966
1967impl CapabilitiesProxyInterface for CapabilitiesProxy {
1968 type ConnectorCreateResponseFut = fidl::client::QueryResponseFut<
1969 CapabilitiesConnectorCreateResult,
1970 fidl::encoding::DefaultFuchsiaResourceDialect,
1971 >;
1972 fn r#connector_create(
1973 &self,
1974 mut connector: fidl::EventPair,
1975 mut receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
1976 ) -> Self::ConnectorCreateResponseFut {
1977 fn _decode(
1978 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1979 ) -> Result<CapabilitiesConnectorCreateResult, fidl::Error> {
1980 let _response = fidl::client::decode_transaction_body::<
1981 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
1982 fidl::encoding::DefaultFuchsiaResourceDialect,
1983 0xac2bc2dbd7033d1,
1984 >(_buf?)?
1985 .into_result::<CapabilitiesMarker>("connector_create")?;
1986 Ok(_response.map(|x| x))
1987 }
1988 self.client.send_query_and_decode::<
1989 CapabilitiesConnectorCreateRequest,
1990 CapabilitiesConnectorCreateResult,
1991 >(
1992 (connector, receiver_client_end,),
1993 0xac2bc2dbd7033d1,
1994 fidl::encoding::DynamicFlags::FLEXIBLE,
1995 _decode,
1996 )
1997 }
1998
1999 type DirConnectorCreateResponseFut = fidl::client::QueryResponseFut<
2000 CapabilitiesDirConnectorCreateResult,
2001 fidl::encoding::DefaultFuchsiaResourceDialect,
2002 >;
2003 fn r#dir_connector_create(
2004 &self,
2005 mut dir_connector: fidl::EventPair,
2006 mut receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverMarker>,
2007 ) -> Self::DirConnectorCreateResponseFut {
2008 fn _decode(
2009 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2010 ) -> Result<CapabilitiesDirConnectorCreateResult, fidl::Error> {
2011 let _response = fidl::client::decode_transaction_body::<
2012 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2013 fidl::encoding::DefaultFuchsiaResourceDialect,
2014 0x721911e05da2a3bf,
2015 >(_buf?)?
2016 .into_result::<CapabilitiesMarker>("dir_connector_create")?;
2017 Ok(_response.map(|x| x))
2018 }
2019 self.client.send_query_and_decode::<
2020 CapabilitiesDirConnectorCreateRequest,
2021 CapabilitiesDirConnectorCreateResult,
2022 >(
2023 (dir_connector, receiver_client_end,),
2024 0x721911e05da2a3bf,
2025 fidl::encoding::DynamicFlags::FLEXIBLE,
2026 _decode,
2027 )
2028 }
2029
2030 type DictionaryCreateResponseFut = fidl::client::QueryResponseFut<
2031 CapabilitiesDictionaryCreateResult,
2032 fidl::encoding::DefaultFuchsiaResourceDialect,
2033 >;
2034 fn r#dictionary_create(
2035 &self,
2036 mut dictionary: fidl::EventPair,
2037 ) -> Self::DictionaryCreateResponseFut {
2038 fn _decode(
2039 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2040 ) -> Result<CapabilitiesDictionaryCreateResult, fidl::Error> {
2041 let _response = fidl::client::decode_transaction_body::<
2042 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2043 fidl::encoding::DefaultFuchsiaResourceDialect,
2044 0x7f8bd91f0942a36e,
2045 >(_buf?)?
2046 .into_result::<CapabilitiesMarker>("dictionary_create")?;
2047 Ok(_response.map(|x| x))
2048 }
2049 self.client.send_query_and_decode::<
2050 CapabilitiesDictionaryCreateRequest,
2051 CapabilitiesDictionaryCreateResult,
2052 >(
2053 (dictionary,),
2054 0x7f8bd91f0942a36e,
2055 fidl::encoding::DynamicFlags::FLEXIBLE,
2056 _decode,
2057 )
2058 }
2059
2060 type DataCreateResponseFut = fidl::client::QueryResponseFut<
2061 CapabilitiesDataCreateResult,
2062 fidl::encoding::DefaultFuchsiaResourceDialect,
2063 >;
2064 fn r#data_create(
2065 &self,
2066 mut data_handle: fidl::EventPair,
2067 mut data: &Data,
2068 ) -> Self::DataCreateResponseFut {
2069 fn _decode(
2070 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2071 ) -> Result<CapabilitiesDataCreateResult, fidl::Error> {
2072 let _response = fidl::client::decode_transaction_body::<
2073 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2074 fidl::encoding::DefaultFuchsiaResourceDialect,
2075 0x40ef43e45372ee6a,
2076 >(_buf?)?
2077 .into_result::<CapabilitiesMarker>("data_create")?;
2078 Ok(_response.map(|x| x))
2079 }
2080 self.client
2081 .send_query_and_decode::<CapabilitiesDataCreateRequest, CapabilitiesDataCreateResult>(
2082 (data_handle, data),
2083 0x40ef43e45372ee6a,
2084 fidl::encoding::DynamicFlags::FLEXIBLE,
2085 _decode,
2086 )
2087 }
2088
2089 type ConnectorRouterCreateResponseFut = fidl::client::QueryResponseFut<
2090 CapabilitiesConnectorRouterCreateResult,
2091 fidl::encoding::DefaultFuchsiaResourceDialect,
2092 >;
2093 fn r#connector_router_create(
2094 &self,
2095 mut router: fidl::EventPair,
2096 mut router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterMarker>,
2097 ) -> Self::ConnectorRouterCreateResponseFut {
2098 fn _decode(
2099 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2100 ) -> Result<CapabilitiesConnectorRouterCreateResult, fidl::Error> {
2101 let _response = fidl::client::decode_transaction_body::<
2102 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2103 fidl::encoding::DefaultFuchsiaResourceDialect,
2104 0x7f7e7fbafcdf1761,
2105 >(_buf?)?
2106 .into_result::<CapabilitiesMarker>("connector_router_create")?;
2107 Ok(_response.map(|x| x))
2108 }
2109 self.client.send_query_and_decode::<
2110 CapabilitiesConnectorRouterCreateRequest,
2111 CapabilitiesConnectorRouterCreateResult,
2112 >(
2113 (router, router_client_end,),
2114 0x7f7e7fbafcdf1761,
2115 fidl::encoding::DynamicFlags::FLEXIBLE,
2116 _decode,
2117 )
2118 }
2119
2120 type DirConnectorRouterCreateResponseFut = fidl::client::QueryResponseFut<
2121 CapabilitiesDirConnectorRouterCreateResult,
2122 fidl::encoding::DefaultFuchsiaResourceDialect,
2123 >;
2124 fn r#dir_connector_router_create(
2125 &self,
2126 mut router: fidl::EventPair,
2127 mut router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterMarker>,
2128 ) -> Self::DirConnectorRouterCreateResponseFut {
2129 fn _decode(
2130 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2131 ) -> Result<CapabilitiesDirConnectorRouterCreateResult, fidl::Error> {
2132 let _response = fidl::client::decode_transaction_body::<
2133 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2134 fidl::encoding::DefaultFuchsiaResourceDialect,
2135 0x56520da453fad19f,
2136 >(_buf?)?
2137 .into_result::<CapabilitiesMarker>("dir_connector_router_create")?;
2138 Ok(_response.map(|x| x))
2139 }
2140 self.client.send_query_and_decode::<
2141 CapabilitiesDirConnectorRouterCreateRequest,
2142 CapabilitiesDirConnectorRouterCreateResult,
2143 >(
2144 (router, router_client_end,),
2145 0x56520da453fad19f,
2146 fidl::encoding::DynamicFlags::FLEXIBLE,
2147 _decode,
2148 )
2149 }
2150
2151 type DictionaryRouterCreateResponseFut = fidl::client::QueryResponseFut<
2152 CapabilitiesDictionaryRouterCreateResult,
2153 fidl::encoding::DefaultFuchsiaResourceDialect,
2154 >;
2155 fn r#dictionary_router_create(
2156 &self,
2157 mut router: fidl::EventPair,
2158 mut router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterMarker>,
2159 ) -> Self::DictionaryRouterCreateResponseFut {
2160 fn _decode(
2161 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2162 ) -> Result<CapabilitiesDictionaryRouterCreateResult, fidl::Error> {
2163 let _response = fidl::client::decode_transaction_body::<
2164 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2165 fidl::encoding::DefaultFuchsiaResourceDialect,
2166 0x37acef18cd423d42,
2167 >(_buf?)?
2168 .into_result::<CapabilitiesMarker>("dictionary_router_create")?;
2169 Ok(_response.map(|x| x))
2170 }
2171 self.client.send_query_and_decode::<
2172 CapabilitiesDictionaryRouterCreateRequest,
2173 CapabilitiesDictionaryRouterCreateResult,
2174 >(
2175 (router, router_client_end,),
2176 0x37acef18cd423d42,
2177 fidl::encoding::DynamicFlags::FLEXIBLE,
2178 _decode,
2179 )
2180 }
2181
2182 type DataRouterCreateResponseFut = fidl::client::QueryResponseFut<
2183 CapabilitiesDataRouterCreateResult,
2184 fidl::encoding::DefaultFuchsiaResourceDialect,
2185 >;
2186 fn r#data_router_create(
2187 &self,
2188 mut router: fidl::EventPair,
2189 mut router_client_end: fidl::endpoints::ClientEnd<DataRouterMarker>,
2190 ) -> Self::DataRouterCreateResponseFut {
2191 fn _decode(
2192 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2193 ) -> Result<CapabilitiesDataRouterCreateResult, fidl::Error> {
2194 let _response = fidl::client::decode_transaction_body::<
2195 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2196 fidl::encoding::DefaultFuchsiaResourceDialect,
2197 0x24e471395b95088,
2198 >(_buf?)?
2199 .into_result::<CapabilitiesMarker>("data_router_create")?;
2200 Ok(_response.map(|x| x))
2201 }
2202 self.client.send_query_and_decode::<
2203 CapabilitiesDataRouterCreateRequest,
2204 CapabilitiesDataRouterCreateResult,
2205 >(
2206 (router, router_client_end,),
2207 0x24e471395b95088,
2208 fidl::encoding::DynamicFlags::FLEXIBLE,
2209 _decode,
2210 )
2211 }
2212
2213 type InstanceTokenCreateResponseFut = fidl::client::QueryResponseFut<
2214 CapabilitiesInstanceTokenCreateResult,
2215 fidl::encoding::DefaultFuchsiaResourceDialect,
2216 >;
2217 fn r#instance_token_create(
2218 &self,
2219 mut instance_token: fidl::EventPair,
2220 ) -> Self::InstanceTokenCreateResponseFut {
2221 fn _decode(
2222 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2223 ) -> Result<CapabilitiesInstanceTokenCreateResult, fidl::Error> {
2224 let _response = fidl::client::decode_transaction_body::<
2225 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2226 fidl::encoding::DefaultFuchsiaResourceDialect,
2227 0x3576e31727c40813,
2228 >(_buf?)?
2229 .into_result::<CapabilitiesMarker>("instance_token_create")?;
2230 Ok(_response.map(|x| x))
2231 }
2232 self.client.send_query_and_decode::<
2233 CapabilitiesInstanceTokenCreateRequest,
2234 CapabilitiesInstanceTokenCreateResult,
2235 >(
2236 (instance_token,),
2237 0x3576e31727c40813,
2238 fidl::encoding::DynamicFlags::FLEXIBLE,
2239 _decode,
2240 )
2241 }
2242
2243 type ConnectorOpenResponseFut = fidl::client::QueryResponseFut<
2244 CapabilitiesConnectorOpenResult,
2245 fidl::encoding::DefaultFuchsiaResourceDialect,
2246 >;
2247 fn r#connector_open(
2248 &self,
2249 mut connector: fidl::EventPair,
2250 mut channel: fidl::Channel,
2251 ) -> Self::ConnectorOpenResponseFut {
2252 fn _decode(
2253 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2254 ) -> Result<CapabilitiesConnectorOpenResult, fidl::Error> {
2255 let _response = fidl::client::decode_transaction_body::<
2256 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2257 fidl::encoding::DefaultFuchsiaResourceDialect,
2258 0xc0646965f1884eb,
2259 >(_buf?)?
2260 .into_result::<CapabilitiesMarker>("connector_open")?;
2261 Ok(_response.map(|x| x))
2262 }
2263 self.client.send_query_and_decode::<
2264 CapabilitiesConnectorOpenRequest,
2265 CapabilitiesConnectorOpenResult,
2266 >(
2267 (connector, channel,),
2268 0xc0646965f1884eb,
2269 fidl::encoding::DynamicFlags::FLEXIBLE,
2270 _decode,
2271 )
2272 }
2273
2274 type DirConnectorOpenResponseFut = fidl::client::QueryResponseFut<
2275 CapabilitiesDirConnectorOpenResult,
2276 fidl::encoding::DefaultFuchsiaResourceDialect,
2277 >;
2278 fn r#dir_connector_open(
2279 &self,
2280 mut payload: CapabilitiesDirConnectorOpenRequest,
2281 ) -> Self::DirConnectorOpenResponseFut {
2282 fn _decode(
2283 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2284 ) -> Result<CapabilitiesDirConnectorOpenResult, fidl::Error> {
2285 let _response = fidl::client::decode_transaction_body::<
2286 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2287 fidl::encoding::DefaultFuchsiaResourceDialect,
2288 0x1332bbf5debd6c20,
2289 >(_buf?)?
2290 .into_result::<CapabilitiesMarker>("dir_connector_open")?;
2291 Ok(_response.map(|x| x))
2292 }
2293 self.client.send_query_and_decode::<
2294 CapabilitiesDirConnectorOpenRequest,
2295 CapabilitiesDirConnectorOpenResult,
2296 >(
2297 &mut payload,
2298 0x1332bbf5debd6c20,
2299 fidl::encoding::DynamicFlags::FLEXIBLE,
2300 _decode,
2301 )
2302 }
2303
2304 type DictionaryInsertResponseFut = fidl::client::QueryResponseFut<
2305 CapabilitiesDictionaryInsertResult,
2306 fidl::encoding::DefaultFuchsiaResourceDialect,
2307 >;
2308 fn r#dictionary_insert(
2309 &self,
2310 mut dictionary: fidl::EventPair,
2311 mut key: &str,
2312 mut value: fidl::EventPair,
2313 ) -> Self::DictionaryInsertResponseFut {
2314 fn _decode(
2315 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2316 ) -> Result<CapabilitiesDictionaryInsertResult, fidl::Error> {
2317 let _response = fidl::client::decode_transaction_body::<
2318 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2319 fidl::encoding::DefaultFuchsiaResourceDialect,
2320 0x5972e3061a760e7a,
2321 >(_buf?)?
2322 .into_result::<CapabilitiesMarker>("dictionary_insert")?;
2323 Ok(_response.map(|x| x))
2324 }
2325 self.client.send_query_and_decode::<
2326 CapabilitiesDictionaryInsertRequest,
2327 CapabilitiesDictionaryInsertResult,
2328 >(
2329 (dictionary, key, value,),
2330 0x5972e3061a760e7a,
2331 fidl::encoding::DynamicFlags::FLEXIBLE,
2332 _decode,
2333 )
2334 }
2335
2336 type DictionaryGetResponseFut = fidl::client::QueryResponseFut<
2337 CapabilitiesDictionaryGetResult,
2338 fidl::encoding::DefaultFuchsiaResourceDialect,
2339 >;
2340 fn r#dictionary_get(
2341 &self,
2342 mut dictionary: fidl::EventPair,
2343 mut key: &str,
2344 mut value: fidl::EventPair,
2345 ) -> Self::DictionaryGetResponseFut {
2346 fn _decode(
2347 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2348 ) -> Result<CapabilitiesDictionaryGetResult, fidl::Error> {
2349 let _response = fidl::client::decode_transaction_body::<
2350 fidl::encoding::FlexibleResultType<
2351 CapabilitiesDictionaryGetResponse,
2352 CapabilitiesError,
2353 >,
2354 fidl::encoding::DefaultFuchsiaResourceDialect,
2355 0x31fafe2280a283d5,
2356 >(_buf?)?
2357 .into_result::<CapabilitiesMarker>("dictionary_get")?;
2358 Ok(_response.map(|x| x.capability_type))
2359 }
2360 self.client.send_query_and_decode::<
2361 CapabilitiesDictionaryGetRequest,
2362 CapabilitiesDictionaryGetResult,
2363 >(
2364 (dictionary, key, value,),
2365 0x31fafe2280a283d5,
2366 fidl::encoding::DynamicFlags::FLEXIBLE,
2367 _decode,
2368 )
2369 }
2370
2371 type DictionaryRemoveResponseFut = fidl::client::QueryResponseFut<
2372 CapabilitiesDictionaryRemoveResult,
2373 fidl::encoding::DefaultFuchsiaResourceDialect,
2374 >;
2375 fn r#dictionary_remove(
2376 &self,
2377 mut payload: CapabilitiesDictionaryRemoveRequest,
2378 ) -> Self::DictionaryRemoveResponseFut {
2379 fn _decode(
2380 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2381 ) -> Result<CapabilitiesDictionaryRemoveResult, fidl::Error> {
2382 let _response = fidl::client::decode_transaction_body::<
2383 fidl::encoding::FlexibleResultType<
2384 CapabilitiesDictionaryRemoveResponse,
2385 CapabilitiesError,
2386 >,
2387 fidl::encoding::DefaultFuchsiaResourceDialect,
2388 0x6827c83106ac5a2c,
2389 >(_buf?)?
2390 .into_result::<CapabilitiesMarker>("dictionary_remove")?;
2391 Ok(_response.map(|x| x.capability_type))
2392 }
2393 self.client.send_query_and_decode::<
2394 CapabilitiesDictionaryRemoveRequest,
2395 CapabilitiesDictionaryRemoveResult,
2396 >(
2397 &mut payload,
2398 0x6827c83106ac5a2c,
2399 fidl::encoding::DynamicFlags::FLEXIBLE,
2400 _decode,
2401 )
2402 }
2403
2404 type DictionaryIterateKeysResponseFut = fidl::client::QueryResponseFut<
2405 CapabilitiesDictionaryIterateKeysResult,
2406 fidl::encoding::DefaultFuchsiaResourceDialect,
2407 >;
2408 fn r#dictionary_iterate_keys(
2409 &self,
2410 mut dictionary: fidl::EventPair,
2411 mut key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
2412 ) -> Self::DictionaryIterateKeysResponseFut {
2413 fn _decode(
2414 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2415 ) -> Result<CapabilitiesDictionaryIterateKeysResult, fidl::Error> {
2416 let _response = fidl::client::decode_transaction_body::<
2417 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2418 fidl::encoding::DefaultFuchsiaResourceDialect,
2419 0x3d4ea59c80df9bb8,
2420 >(_buf?)?
2421 .into_result::<CapabilitiesMarker>("dictionary_iterate_keys")?;
2422 Ok(_response.map(|x| x))
2423 }
2424 self.client.send_query_and_decode::<
2425 CapabilitiesDictionaryIterateKeysRequest,
2426 CapabilitiesDictionaryIterateKeysResult,
2427 >(
2428 (dictionary, key_iterator,),
2429 0x3d4ea59c80df9bb8,
2430 fidl::encoding::DynamicFlags::FLEXIBLE,
2431 _decode,
2432 )
2433 }
2434
2435 type DataGetResponseFut = fidl::client::QueryResponseFut<
2436 CapabilitiesDataGetResult,
2437 fidl::encoding::DefaultFuchsiaResourceDialect,
2438 >;
2439 fn r#data_get(&self, mut data_handle: fidl::EventPair) -> Self::DataGetResponseFut {
2440 fn _decode(
2441 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2442 ) -> Result<CapabilitiesDataGetResult, fidl::Error> {
2443 let _response = fidl::client::decode_transaction_body::<
2444 fidl::encoding::FlexibleResultType<Data, CapabilitiesError>,
2445 fidl::encoding::DefaultFuchsiaResourceDialect,
2446 0x65ae25b59f9e0daf,
2447 >(_buf?)?
2448 .into_result::<CapabilitiesMarker>("data_get")?;
2449 Ok(_response.map(|x| x))
2450 }
2451 self.client.send_query_and_decode::<CapabilitiesDataGetRequest, CapabilitiesDataGetResult>(
2452 (data_handle,),
2453 0x65ae25b59f9e0daf,
2454 fidl::encoding::DynamicFlags::FLEXIBLE,
2455 _decode,
2456 )
2457 }
2458
2459 type ConnectorRouterRouteResponseFut = fidl::client::QueryResponseFut<
2460 CapabilitiesConnectorRouterRouteResult,
2461 fidl::encoding::DefaultFuchsiaResourceDialect,
2462 >;
2463 fn r#connector_router_route(
2464 &self,
2465 mut router: fidl::EventPair,
2466 mut request: RouteRequest,
2467 mut instance_token: fidl::EventPair,
2468 mut connector: fidl::EventPair,
2469 ) -> Self::ConnectorRouterRouteResponseFut {
2470 fn _decode(
2471 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2472 ) -> Result<CapabilitiesConnectorRouterRouteResult, fidl::Error> {
2473 let _response = fidl::client::decode_transaction_body::<
2474 fidl::encoding::FlexibleResultType<CapabilitiesConnectorRouterRouteResponse, i32>,
2475 fidl::encoding::DefaultFuchsiaResourceDialect,
2476 0x1bd9c6e7e3dd487e,
2477 >(_buf?)?
2478 .into_result::<CapabilitiesMarker>("connector_router_route")?;
2479 Ok(_response.map(|x| x.response))
2480 }
2481 self.client.send_query_and_decode::<
2482 CapabilitiesConnectorRouterRouteRequest,
2483 CapabilitiesConnectorRouterRouteResult,
2484 >(
2485 (router, &mut request, instance_token, connector,),
2486 0x1bd9c6e7e3dd487e,
2487 fidl::encoding::DynamicFlags::FLEXIBLE,
2488 _decode,
2489 )
2490 }
2491
2492 type DirConnectorRouterRouteResponseFut = fidl::client::QueryResponseFut<
2493 CapabilitiesDirConnectorRouterRouteResult,
2494 fidl::encoding::DefaultFuchsiaResourceDialect,
2495 >;
2496 fn r#dir_connector_router_route(
2497 &self,
2498 mut router: fidl::EventPair,
2499 mut request: RouteRequest,
2500 mut instance_token: fidl::EventPair,
2501 mut dir_connector: fidl::EventPair,
2502 ) -> Self::DirConnectorRouterRouteResponseFut {
2503 fn _decode(
2504 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2505 ) -> Result<CapabilitiesDirConnectorRouterRouteResult, fidl::Error> {
2506 let _response = fidl::client::decode_transaction_body::<
2507 fidl::encoding::FlexibleResultType<
2508 CapabilitiesDirConnectorRouterRouteResponse,
2509 i32,
2510 >,
2511 fidl::encoding::DefaultFuchsiaResourceDialect,
2512 0x3afdcc1b79e0799d,
2513 >(_buf?)?
2514 .into_result::<CapabilitiesMarker>("dir_connector_router_route")?;
2515 Ok(_response.map(|x| x.response))
2516 }
2517 self.client.send_query_and_decode::<
2518 CapabilitiesDirConnectorRouterRouteRequest,
2519 CapabilitiesDirConnectorRouterRouteResult,
2520 >(
2521 (router, &mut request, instance_token, dir_connector,),
2522 0x3afdcc1b79e0799d,
2523 fidl::encoding::DynamicFlags::FLEXIBLE,
2524 _decode,
2525 )
2526 }
2527
2528 type DictionaryRouterRouteResponseFut = fidl::client::QueryResponseFut<
2529 CapabilitiesDictionaryRouterRouteResult,
2530 fidl::encoding::DefaultFuchsiaResourceDialect,
2531 >;
2532 fn r#dictionary_router_route(
2533 &self,
2534 mut router: fidl::EventPair,
2535 mut request: RouteRequest,
2536 mut instance_token: fidl::EventPair,
2537 mut dictionary: fidl::EventPair,
2538 ) -> Self::DictionaryRouterRouteResponseFut {
2539 fn _decode(
2540 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2541 ) -> Result<CapabilitiesDictionaryRouterRouteResult, fidl::Error> {
2542 let _response = fidl::client::decode_transaction_body::<
2543 fidl::encoding::FlexibleResultType<CapabilitiesDictionaryRouterRouteResponse, i32>,
2544 fidl::encoding::DefaultFuchsiaResourceDialect,
2545 0xcf72de10714a708,
2546 >(_buf?)?
2547 .into_result::<CapabilitiesMarker>("dictionary_router_route")?;
2548 Ok(_response.map(|x| x.response))
2549 }
2550 self.client.send_query_and_decode::<
2551 CapabilitiesDictionaryRouterRouteRequest,
2552 CapabilitiesDictionaryRouterRouteResult,
2553 >(
2554 (router, &mut request, instance_token, dictionary,),
2555 0xcf72de10714a708,
2556 fidl::encoding::DynamicFlags::FLEXIBLE,
2557 _decode,
2558 )
2559 }
2560
2561 type DataRouterRouteResponseFut = fidl::client::QueryResponseFut<
2562 CapabilitiesDataRouterRouteResult,
2563 fidl::encoding::DefaultFuchsiaResourceDialect,
2564 >;
2565 fn r#data_router_route(
2566 &self,
2567 mut router: fidl::EventPair,
2568 mut request: RouteRequest,
2569 mut instance_token: fidl::EventPair,
2570 mut data: fidl::EventPair,
2571 ) -> Self::DataRouterRouteResponseFut {
2572 fn _decode(
2573 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2574 ) -> Result<CapabilitiesDataRouterRouteResult, fidl::Error> {
2575 let _response = fidl::client::decode_transaction_body::<
2576 fidl::encoding::FlexibleResultType<CapabilitiesDataRouterRouteResponse, i32>,
2577 fidl::encoding::DefaultFuchsiaResourceDialect,
2578 0x61ab188455ed0643,
2579 >(_buf?)?
2580 .into_result::<CapabilitiesMarker>("data_router_route")?;
2581 Ok(_response.map(|x| x.response))
2582 }
2583 self.client.send_query_and_decode::<
2584 CapabilitiesDataRouterRouteRequest,
2585 CapabilitiesDataRouterRouteResult,
2586 >(
2587 (router, &mut request, instance_token, data,),
2588 0x61ab188455ed0643,
2589 fidl::encoding::DynamicFlags::FLEXIBLE,
2590 _decode,
2591 )
2592 }
2593
2594 type CapabilityAssociateHandleResponseFut = fidl::client::QueryResponseFut<
2595 CapabilitiesCapabilityAssociateHandleResult,
2596 fidl::encoding::DefaultFuchsiaResourceDialect,
2597 >;
2598 fn r#capability_associate_handle(
2599 &self,
2600 mut capability_handle: fidl::EventPair,
2601 mut other_handle: fidl::EventPair,
2602 ) -> Self::CapabilityAssociateHandleResponseFut {
2603 fn _decode(
2604 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2605 ) -> Result<CapabilitiesCapabilityAssociateHandleResult, fidl::Error> {
2606 let _response = fidl::client::decode_transaction_body::<
2607 fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, CapabilitiesError>,
2608 fidl::encoding::DefaultFuchsiaResourceDialect,
2609 0x1d69bb61953d8e7,
2610 >(_buf?)?
2611 .into_result::<CapabilitiesMarker>("capability_associate_handle")?;
2612 Ok(_response.map(|x| x))
2613 }
2614 self.client.send_query_and_decode::<
2615 CapabilitiesCapabilityAssociateHandleRequest,
2616 CapabilitiesCapabilityAssociateHandleResult,
2617 >(
2618 (capability_handle, other_handle,),
2619 0x1d69bb61953d8e7,
2620 fidl::encoding::DynamicFlags::FLEXIBLE,
2621 _decode,
2622 )
2623 }
2624}
2625
2626pub struct CapabilitiesEventStream {
2627 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
2628}
2629
2630impl std::marker::Unpin for CapabilitiesEventStream {}
2631
2632impl futures::stream::FusedStream for CapabilitiesEventStream {
2633 fn is_terminated(&self) -> bool {
2634 self.event_receiver.is_terminated()
2635 }
2636}
2637
2638impl futures::Stream for CapabilitiesEventStream {
2639 type Item = Result<CapabilitiesEvent, fidl::Error>;
2640
2641 fn poll_next(
2642 mut self: std::pin::Pin<&mut Self>,
2643 cx: &mut std::task::Context<'_>,
2644 ) -> std::task::Poll<Option<Self::Item>> {
2645 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
2646 &mut self.event_receiver,
2647 cx
2648 )?) {
2649 Some(buf) => std::task::Poll::Ready(Some(CapabilitiesEvent::decode(buf))),
2650 None => std::task::Poll::Ready(None),
2651 }
2652 }
2653}
2654
2655#[derive(Debug)]
2656pub enum CapabilitiesEvent {
2657 #[non_exhaustive]
2658 _UnknownEvent {
2659 ordinal: u64,
2661 },
2662}
2663
2664impl CapabilitiesEvent {
2665 fn decode(
2667 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
2668 ) -> Result<CapabilitiesEvent, fidl::Error> {
2669 let (bytes, _handles) = buf.split_mut();
2670 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
2671 debug_assert_eq!(tx_header.tx_id, 0);
2672 match tx_header.ordinal {
2673 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
2674 Ok(CapabilitiesEvent::_UnknownEvent { ordinal: tx_header.ordinal })
2675 }
2676 _ => Err(fidl::Error::UnknownOrdinal {
2677 ordinal: tx_header.ordinal,
2678 protocol_name: <CapabilitiesMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
2679 }),
2680 }
2681 }
2682}
2683
2684pub struct CapabilitiesRequestStream {
2686 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
2687 is_terminated: bool,
2688}
2689
2690impl std::marker::Unpin for CapabilitiesRequestStream {}
2691
2692impl futures::stream::FusedStream for CapabilitiesRequestStream {
2693 fn is_terminated(&self) -> bool {
2694 self.is_terminated
2695 }
2696}
2697
2698impl fidl::endpoints::RequestStream for CapabilitiesRequestStream {
2699 type Protocol = CapabilitiesMarker;
2700 type ControlHandle = CapabilitiesControlHandle;
2701
2702 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
2703 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
2704 }
2705
2706 fn control_handle(&self) -> Self::ControlHandle {
2707 CapabilitiesControlHandle { inner: self.inner.clone() }
2708 }
2709
2710 fn into_inner(
2711 self,
2712 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
2713 {
2714 (self.inner, self.is_terminated)
2715 }
2716
2717 fn from_inner(
2718 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
2719 is_terminated: bool,
2720 ) -> Self {
2721 Self { inner, is_terminated }
2722 }
2723}
2724
2725impl futures::Stream for CapabilitiesRequestStream {
2726 type Item = Result<CapabilitiesRequest, fidl::Error>;
2727
2728 fn poll_next(
2729 mut self: std::pin::Pin<&mut Self>,
2730 cx: &mut std::task::Context<'_>,
2731 ) -> std::task::Poll<Option<Self::Item>> {
2732 let this = &mut *self;
2733 if this.inner.check_shutdown(cx) {
2734 this.is_terminated = true;
2735 return std::task::Poll::Ready(None);
2736 }
2737 if this.is_terminated {
2738 panic!("polled CapabilitiesRequestStream after completion");
2739 }
2740 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
2741 |bytes, handles| {
2742 match this.inner.channel().read_etc(cx, bytes, handles) {
2743 std::task::Poll::Ready(Ok(())) => {}
2744 std::task::Poll::Pending => return std::task::Poll::Pending,
2745 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
2746 this.is_terminated = true;
2747 return std::task::Poll::Ready(None);
2748 }
2749 std::task::Poll::Ready(Err(e)) => {
2750 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
2751 e.into(),
2752 ))));
2753 }
2754 }
2755
2756 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
2758
2759 std::task::Poll::Ready(Some(match header.ordinal {
2760 0xac2bc2dbd7033d1 => {
2761 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2762 let mut req = fidl::new_empty!(
2763 CapabilitiesConnectorCreateRequest,
2764 fidl::encoding::DefaultFuchsiaResourceDialect
2765 );
2766 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesConnectorCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2767 let control_handle =
2768 CapabilitiesControlHandle { inner: this.inner.clone() };
2769 Ok(CapabilitiesRequest::ConnectorCreate {
2770 connector: req.connector,
2771 receiver_client_end: req.receiver_client_end,
2772
2773 responder: CapabilitiesConnectorCreateResponder {
2774 control_handle: std::mem::ManuallyDrop::new(control_handle),
2775 tx_id: header.tx_id,
2776 },
2777 })
2778 }
2779 0x721911e05da2a3bf => {
2780 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2781 let mut req = fidl::new_empty!(
2782 CapabilitiesDirConnectorCreateRequest,
2783 fidl::encoding::DefaultFuchsiaResourceDialect
2784 );
2785 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDirConnectorCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2786 let control_handle =
2787 CapabilitiesControlHandle { inner: this.inner.clone() };
2788 Ok(CapabilitiesRequest::DirConnectorCreate {
2789 dir_connector: req.dir_connector,
2790 receiver_client_end: req.receiver_client_end,
2791
2792 responder: CapabilitiesDirConnectorCreateResponder {
2793 control_handle: std::mem::ManuallyDrop::new(control_handle),
2794 tx_id: header.tx_id,
2795 },
2796 })
2797 }
2798 0x7f8bd91f0942a36e => {
2799 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2800 let mut req = fidl::new_empty!(
2801 CapabilitiesDictionaryCreateRequest,
2802 fidl::encoding::DefaultFuchsiaResourceDialect
2803 );
2804 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDictionaryCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2805 let control_handle =
2806 CapabilitiesControlHandle { inner: this.inner.clone() };
2807 Ok(CapabilitiesRequest::DictionaryCreate {
2808 dictionary: req.dictionary,
2809
2810 responder: CapabilitiesDictionaryCreateResponder {
2811 control_handle: std::mem::ManuallyDrop::new(control_handle),
2812 tx_id: header.tx_id,
2813 },
2814 })
2815 }
2816 0x40ef43e45372ee6a => {
2817 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2818 let mut req = fidl::new_empty!(
2819 CapabilitiesDataCreateRequest,
2820 fidl::encoding::DefaultFuchsiaResourceDialect
2821 );
2822 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDataCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2823 let control_handle =
2824 CapabilitiesControlHandle { inner: this.inner.clone() };
2825 Ok(CapabilitiesRequest::DataCreate {
2826 data_handle: req.data_handle,
2827 data: req.data,
2828
2829 responder: CapabilitiesDataCreateResponder {
2830 control_handle: std::mem::ManuallyDrop::new(control_handle),
2831 tx_id: header.tx_id,
2832 },
2833 })
2834 }
2835 0x7f7e7fbafcdf1761 => {
2836 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2837 let mut req = fidl::new_empty!(
2838 CapabilitiesConnectorRouterCreateRequest,
2839 fidl::encoding::DefaultFuchsiaResourceDialect
2840 );
2841 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesConnectorRouterCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2842 let control_handle =
2843 CapabilitiesControlHandle { inner: this.inner.clone() };
2844 Ok(CapabilitiesRequest::ConnectorRouterCreate {
2845 router: req.router,
2846 router_client_end: req.router_client_end,
2847
2848 responder: CapabilitiesConnectorRouterCreateResponder {
2849 control_handle: std::mem::ManuallyDrop::new(control_handle),
2850 tx_id: header.tx_id,
2851 },
2852 })
2853 }
2854 0x56520da453fad19f => {
2855 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2856 let mut req = fidl::new_empty!(
2857 CapabilitiesDirConnectorRouterCreateRequest,
2858 fidl::encoding::DefaultFuchsiaResourceDialect
2859 );
2860 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDirConnectorRouterCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2861 let control_handle =
2862 CapabilitiesControlHandle { inner: this.inner.clone() };
2863 Ok(CapabilitiesRequest::DirConnectorRouterCreate {
2864 router: req.router,
2865 router_client_end: req.router_client_end,
2866
2867 responder: CapabilitiesDirConnectorRouterCreateResponder {
2868 control_handle: std::mem::ManuallyDrop::new(control_handle),
2869 tx_id: header.tx_id,
2870 },
2871 })
2872 }
2873 0x37acef18cd423d42 => {
2874 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2875 let mut req = fidl::new_empty!(
2876 CapabilitiesDictionaryRouterCreateRequest,
2877 fidl::encoding::DefaultFuchsiaResourceDialect
2878 );
2879 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDictionaryRouterCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2880 let control_handle =
2881 CapabilitiesControlHandle { inner: this.inner.clone() };
2882 Ok(CapabilitiesRequest::DictionaryRouterCreate {
2883 router: req.router,
2884 router_client_end: req.router_client_end,
2885
2886 responder: CapabilitiesDictionaryRouterCreateResponder {
2887 control_handle: std::mem::ManuallyDrop::new(control_handle),
2888 tx_id: header.tx_id,
2889 },
2890 })
2891 }
2892 0x24e471395b95088 => {
2893 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2894 let mut req = fidl::new_empty!(
2895 CapabilitiesDataRouterCreateRequest,
2896 fidl::encoding::DefaultFuchsiaResourceDialect
2897 );
2898 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDataRouterCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2899 let control_handle =
2900 CapabilitiesControlHandle { inner: this.inner.clone() };
2901 Ok(CapabilitiesRequest::DataRouterCreate {
2902 router: req.router,
2903 router_client_end: req.router_client_end,
2904
2905 responder: CapabilitiesDataRouterCreateResponder {
2906 control_handle: std::mem::ManuallyDrop::new(control_handle),
2907 tx_id: header.tx_id,
2908 },
2909 })
2910 }
2911 0x3576e31727c40813 => {
2912 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2913 let mut req = fidl::new_empty!(
2914 CapabilitiesInstanceTokenCreateRequest,
2915 fidl::encoding::DefaultFuchsiaResourceDialect
2916 );
2917 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesInstanceTokenCreateRequest>(&header, _body_bytes, handles, &mut req)?;
2918 let control_handle =
2919 CapabilitiesControlHandle { inner: this.inner.clone() };
2920 Ok(CapabilitiesRequest::InstanceTokenCreate {
2921 instance_token: req.instance_token,
2922
2923 responder: CapabilitiesInstanceTokenCreateResponder {
2924 control_handle: std::mem::ManuallyDrop::new(control_handle),
2925 tx_id: header.tx_id,
2926 },
2927 })
2928 }
2929 0xc0646965f1884eb => {
2930 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2931 let mut req = fidl::new_empty!(
2932 CapabilitiesConnectorOpenRequest,
2933 fidl::encoding::DefaultFuchsiaResourceDialect
2934 );
2935 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesConnectorOpenRequest>(&header, _body_bytes, handles, &mut req)?;
2936 let control_handle =
2937 CapabilitiesControlHandle { inner: this.inner.clone() };
2938 Ok(CapabilitiesRequest::ConnectorOpen {
2939 connector: req.connector,
2940 channel: req.channel,
2941
2942 responder: CapabilitiesConnectorOpenResponder {
2943 control_handle: std::mem::ManuallyDrop::new(control_handle),
2944 tx_id: header.tx_id,
2945 },
2946 })
2947 }
2948 0x1332bbf5debd6c20 => {
2949 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2950 let mut req = fidl::new_empty!(
2951 CapabilitiesDirConnectorOpenRequest,
2952 fidl::encoding::DefaultFuchsiaResourceDialect
2953 );
2954 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDirConnectorOpenRequest>(&header, _body_bytes, handles, &mut req)?;
2955 let control_handle =
2956 CapabilitiesControlHandle { inner: this.inner.clone() };
2957 Ok(CapabilitiesRequest::DirConnectorOpen {
2958 payload: req,
2959 responder: CapabilitiesDirConnectorOpenResponder {
2960 control_handle: std::mem::ManuallyDrop::new(control_handle),
2961 tx_id: header.tx_id,
2962 },
2963 })
2964 }
2965 0x5972e3061a760e7a => {
2966 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2967 let mut req = fidl::new_empty!(
2968 CapabilitiesDictionaryInsertRequest,
2969 fidl::encoding::DefaultFuchsiaResourceDialect
2970 );
2971 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDictionaryInsertRequest>(&header, _body_bytes, handles, &mut req)?;
2972 let control_handle =
2973 CapabilitiesControlHandle { inner: this.inner.clone() };
2974 Ok(CapabilitiesRequest::DictionaryInsert {
2975 dictionary: req.dictionary,
2976 key: req.key,
2977 value: req.value,
2978
2979 responder: CapabilitiesDictionaryInsertResponder {
2980 control_handle: std::mem::ManuallyDrop::new(control_handle),
2981 tx_id: header.tx_id,
2982 },
2983 })
2984 }
2985 0x31fafe2280a283d5 => {
2986 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2987 let mut req = fidl::new_empty!(
2988 CapabilitiesDictionaryGetRequest,
2989 fidl::encoding::DefaultFuchsiaResourceDialect
2990 );
2991 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDictionaryGetRequest>(&header, _body_bytes, handles, &mut req)?;
2992 let control_handle =
2993 CapabilitiesControlHandle { inner: this.inner.clone() };
2994 Ok(CapabilitiesRequest::DictionaryGet {
2995 dictionary: req.dictionary,
2996 key: req.key,
2997 value: req.value,
2998
2999 responder: CapabilitiesDictionaryGetResponder {
3000 control_handle: std::mem::ManuallyDrop::new(control_handle),
3001 tx_id: header.tx_id,
3002 },
3003 })
3004 }
3005 0x6827c83106ac5a2c => {
3006 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3007 let mut req = fidl::new_empty!(
3008 CapabilitiesDictionaryRemoveRequest,
3009 fidl::encoding::DefaultFuchsiaResourceDialect
3010 );
3011 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDictionaryRemoveRequest>(&header, _body_bytes, handles, &mut req)?;
3012 let control_handle =
3013 CapabilitiesControlHandle { inner: this.inner.clone() };
3014 Ok(CapabilitiesRequest::DictionaryRemove {
3015 payload: req,
3016 responder: CapabilitiesDictionaryRemoveResponder {
3017 control_handle: std::mem::ManuallyDrop::new(control_handle),
3018 tx_id: header.tx_id,
3019 },
3020 })
3021 }
3022 0x3d4ea59c80df9bb8 => {
3023 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3024 let mut req = fidl::new_empty!(
3025 CapabilitiesDictionaryIterateKeysRequest,
3026 fidl::encoding::DefaultFuchsiaResourceDialect
3027 );
3028 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDictionaryIterateKeysRequest>(&header, _body_bytes, handles, &mut req)?;
3029 let control_handle =
3030 CapabilitiesControlHandle { inner: this.inner.clone() };
3031 Ok(CapabilitiesRequest::DictionaryIterateKeys {
3032 dictionary: req.dictionary,
3033 key_iterator: req.key_iterator,
3034
3035 responder: CapabilitiesDictionaryIterateKeysResponder {
3036 control_handle: std::mem::ManuallyDrop::new(control_handle),
3037 tx_id: header.tx_id,
3038 },
3039 })
3040 }
3041 0x65ae25b59f9e0daf => {
3042 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3043 let mut req = fidl::new_empty!(
3044 CapabilitiesDataGetRequest,
3045 fidl::encoding::DefaultFuchsiaResourceDialect
3046 );
3047 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDataGetRequest>(&header, _body_bytes, handles, &mut req)?;
3048 let control_handle =
3049 CapabilitiesControlHandle { inner: this.inner.clone() };
3050 Ok(CapabilitiesRequest::DataGet {
3051 data_handle: req.data_handle,
3052
3053 responder: CapabilitiesDataGetResponder {
3054 control_handle: std::mem::ManuallyDrop::new(control_handle),
3055 tx_id: header.tx_id,
3056 },
3057 })
3058 }
3059 0x1bd9c6e7e3dd487e => {
3060 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3061 let mut req = fidl::new_empty!(
3062 CapabilitiesConnectorRouterRouteRequest,
3063 fidl::encoding::DefaultFuchsiaResourceDialect
3064 );
3065 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesConnectorRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
3066 let control_handle =
3067 CapabilitiesControlHandle { inner: this.inner.clone() };
3068 Ok(CapabilitiesRequest::ConnectorRouterRoute {
3069 router: req.router,
3070 request: req.request,
3071 instance_token: req.instance_token,
3072 connector: req.connector,
3073
3074 responder: CapabilitiesConnectorRouterRouteResponder {
3075 control_handle: std::mem::ManuallyDrop::new(control_handle),
3076 tx_id: header.tx_id,
3077 },
3078 })
3079 }
3080 0x3afdcc1b79e0799d => {
3081 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3082 let mut req = fidl::new_empty!(
3083 CapabilitiesDirConnectorRouterRouteRequest,
3084 fidl::encoding::DefaultFuchsiaResourceDialect
3085 );
3086 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDirConnectorRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
3087 let control_handle =
3088 CapabilitiesControlHandle { inner: this.inner.clone() };
3089 Ok(CapabilitiesRequest::DirConnectorRouterRoute {
3090 router: req.router,
3091 request: req.request,
3092 instance_token: req.instance_token,
3093 dir_connector: req.dir_connector,
3094
3095 responder: CapabilitiesDirConnectorRouterRouteResponder {
3096 control_handle: std::mem::ManuallyDrop::new(control_handle),
3097 tx_id: header.tx_id,
3098 },
3099 })
3100 }
3101 0xcf72de10714a708 => {
3102 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3103 let mut req = fidl::new_empty!(
3104 CapabilitiesDictionaryRouterRouteRequest,
3105 fidl::encoding::DefaultFuchsiaResourceDialect
3106 );
3107 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDictionaryRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
3108 let control_handle =
3109 CapabilitiesControlHandle { inner: this.inner.clone() };
3110 Ok(CapabilitiesRequest::DictionaryRouterRoute {
3111 router: req.router,
3112 request: req.request,
3113 instance_token: req.instance_token,
3114 dictionary: req.dictionary,
3115
3116 responder: CapabilitiesDictionaryRouterRouteResponder {
3117 control_handle: std::mem::ManuallyDrop::new(control_handle),
3118 tx_id: header.tx_id,
3119 },
3120 })
3121 }
3122 0x61ab188455ed0643 => {
3123 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3124 let mut req = fidl::new_empty!(
3125 CapabilitiesDataRouterRouteRequest,
3126 fidl::encoding::DefaultFuchsiaResourceDialect
3127 );
3128 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesDataRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
3129 let control_handle =
3130 CapabilitiesControlHandle { inner: this.inner.clone() };
3131 Ok(CapabilitiesRequest::DataRouterRoute {
3132 router: req.router,
3133 request: req.request,
3134 instance_token: req.instance_token,
3135 data: req.data,
3136
3137 responder: CapabilitiesDataRouterRouteResponder {
3138 control_handle: std::mem::ManuallyDrop::new(control_handle),
3139 tx_id: header.tx_id,
3140 },
3141 })
3142 }
3143 0x1d69bb61953d8e7 => {
3144 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
3145 let mut req = fidl::new_empty!(
3146 CapabilitiesCapabilityAssociateHandleRequest,
3147 fidl::encoding::DefaultFuchsiaResourceDialect
3148 );
3149 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilitiesCapabilityAssociateHandleRequest>(&header, _body_bytes, handles, &mut req)?;
3150 let control_handle =
3151 CapabilitiesControlHandle { inner: this.inner.clone() };
3152 Ok(CapabilitiesRequest::CapabilityAssociateHandle {
3153 capability_handle: req.capability_handle,
3154 other_handle: req.other_handle,
3155
3156 responder: CapabilitiesCapabilityAssociateHandleResponder {
3157 control_handle: std::mem::ManuallyDrop::new(control_handle),
3158 tx_id: header.tx_id,
3159 },
3160 })
3161 }
3162 _ if header.tx_id == 0
3163 && header
3164 .dynamic_flags()
3165 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
3166 {
3167 Ok(CapabilitiesRequest::_UnknownMethod {
3168 ordinal: header.ordinal,
3169 control_handle: CapabilitiesControlHandle { inner: this.inner.clone() },
3170 method_type: fidl::MethodType::OneWay,
3171 })
3172 }
3173 _ if header
3174 .dynamic_flags()
3175 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
3176 {
3177 this.inner.send_framework_err(
3178 fidl::encoding::FrameworkErr::UnknownMethod,
3179 header.tx_id,
3180 header.ordinal,
3181 header.dynamic_flags(),
3182 (bytes, handles),
3183 )?;
3184 Ok(CapabilitiesRequest::_UnknownMethod {
3185 ordinal: header.ordinal,
3186 control_handle: CapabilitiesControlHandle { inner: this.inner.clone() },
3187 method_type: fidl::MethodType::TwoWay,
3188 })
3189 }
3190 _ => Err(fidl::Error::UnknownOrdinal {
3191 ordinal: header.ordinal,
3192 protocol_name:
3193 <CapabilitiesMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
3194 }),
3195 }))
3196 },
3197 )
3198 }
3199}
3200
3201#[derive(Debug)]
3206pub enum CapabilitiesRequest {
3207 ConnectorCreate {
3214 connector: fidl::EventPair,
3215 receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
3216 responder: CapabilitiesConnectorCreateResponder,
3217 },
3218 DirConnectorCreate {
3225 dir_connector: fidl::EventPair,
3226 receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverMarker>,
3227 responder: CapabilitiesDirConnectorCreateResponder,
3228 },
3229 DictionaryCreate {
3234 dictionary: fidl::EventPair,
3235 responder: CapabilitiesDictionaryCreateResponder,
3236 },
3237 DataCreate {
3242 data_handle: fidl::EventPair,
3243 data: Data,
3244 responder: CapabilitiesDataCreateResponder,
3245 },
3246 ConnectorRouterCreate {
3252 router: fidl::EventPair,
3253 router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterMarker>,
3254 responder: CapabilitiesConnectorRouterCreateResponder,
3255 },
3256 DirConnectorRouterCreate {
3262 router: fidl::EventPair,
3263 router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterMarker>,
3264 responder: CapabilitiesDirConnectorRouterCreateResponder,
3265 },
3266 DictionaryRouterCreate {
3272 router: fidl::EventPair,
3273 router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterMarker>,
3274 responder: CapabilitiesDictionaryRouterCreateResponder,
3275 },
3276 DataRouterCreate {
3282 router: fidl::EventPair,
3283 router_client_end: fidl::endpoints::ClientEnd<DataRouterMarker>,
3284 responder: CapabilitiesDataRouterCreateResponder,
3285 },
3286 InstanceTokenCreate {
3293 instance_token: fidl::EventPair,
3294 responder: CapabilitiesInstanceTokenCreateResponder,
3295 },
3296 ConnectorOpen {
3305 connector: fidl::EventPair,
3306 channel: fidl::Channel,
3307 responder: CapabilitiesConnectorOpenResponder,
3308 },
3309 DirConnectorOpen {
3321 payload: CapabilitiesDirConnectorOpenRequest,
3322 responder: CapabilitiesDirConnectorOpenResponder,
3323 },
3324 DictionaryInsert {
3327 dictionary: fidl::EventPair,
3328 key: String,
3329 value: fidl::EventPair,
3330 responder: CapabilitiesDictionaryInsertResponder,
3331 },
3332 DictionaryGet {
3343 dictionary: fidl::EventPair,
3344 key: String,
3345 value: fidl::EventPair,
3346 responder: CapabilitiesDictionaryGetResponder,
3347 },
3348 DictionaryRemove {
3361 payload: CapabilitiesDictionaryRemoveRequest,
3362 responder: CapabilitiesDictionaryRemoveResponder,
3363 },
3364 DictionaryIterateKeys {
3367 dictionary: fidl::EventPair,
3368 key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
3369 responder: CapabilitiesDictionaryIterateKeysResponder,
3370 },
3371 DataGet { data_handle: fidl::EventPair, responder: CapabilitiesDataGetResponder },
3374 ConnectorRouterRoute {
3388 router: fidl::EventPair,
3389 request: RouteRequest,
3390 instance_token: fidl::EventPair,
3391 connector: fidl::EventPair,
3392 responder: CapabilitiesConnectorRouterRouteResponder,
3393 },
3394 DirConnectorRouterRoute {
3408 router: fidl::EventPair,
3409 request: RouteRequest,
3410 instance_token: fidl::EventPair,
3411 dir_connector: fidl::EventPair,
3412 responder: CapabilitiesDirConnectorRouterRouteResponder,
3413 },
3414 DictionaryRouterRoute {
3428 router: fidl::EventPair,
3429 request: RouteRequest,
3430 instance_token: fidl::EventPair,
3431 dictionary: fidl::EventPair,
3432 responder: CapabilitiesDictionaryRouterRouteResponder,
3433 },
3434 DataRouterRoute {
3447 router: fidl::EventPair,
3448 request: RouteRequest,
3449 instance_token: fidl::EventPair,
3450 data: fidl::EventPair,
3451 responder: CapabilitiesDataRouterRouteResponder,
3452 },
3453 CapabilityAssociateHandle {
3461 capability_handle: fidl::EventPair,
3462 other_handle: fidl::EventPair,
3463 responder: CapabilitiesCapabilityAssociateHandleResponder,
3464 },
3465 #[non_exhaustive]
3467 _UnknownMethod {
3468 ordinal: u64,
3470 control_handle: CapabilitiesControlHandle,
3471 method_type: fidl::MethodType,
3472 },
3473}
3474
3475impl CapabilitiesRequest {
3476 #[allow(irrefutable_let_patterns)]
3477 pub fn into_connector_create(
3478 self,
3479 ) -> Option<(
3480 fidl::EventPair,
3481 fidl::endpoints::ClientEnd<ReceiverMarker>,
3482 CapabilitiesConnectorCreateResponder,
3483 )> {
3484 if let CapabilitiesRequest::ConnectorCreate { connector, receiver_client_end, responder } =
3485 self
3486 {
3487 Some((connector, receiver_client_end, responder))
3488 } else {
3489 None
3490 }
3491 }
3492
3493 #[allow(irrefutable_let_patterns)]
3494 pub fn into_dir_connector_create(
3495 self,
3496 ) -> Option<(
3497 fidl::EventPair,
3498 fidl::endpoints::ClientEnd<DirReceiverMarker>,
3499 CapabilitiesDirConnectorCreateResponder,
3500 )> {
3501 if let CapabilitiesRequest::DirConnectorCreate {
3502 dir_connector,
3503 receiver_client_end,
3504 responder,
3505 } = self
3506 {
3507 Some((dir_connector, receiver_client_end, responder))
3508 } else {
3509 None
3510 }
3511 }
3512
3513 #[allow(irrefutable_let_patterns)]
3514 pub fn into_dictionary_create(
3515 self,
3516 ) -> Option<(fidl::EventPair, CapabilitiesDictionaryCreateResponder)> {
3517 if let CapabilitiesRequest::DictionaryCreate { dictionary, responder } = self {
3518 Some((dictionary, responder))
3519 } else {
3520 None
3521 }
3522 }
3523
3524 #[allow(irrefutable_let_patterns)]
3525 pub fn into_data_create(
3526 self,
3527 ) -> Option<(fidl::EventPair, Data, CapabilitiesDataCreateResponder)> {
3528 if let CapabilitiesRequest::DataCreate { data_handle, data, responder } = self {
3529 Some((data_handle, data, responder))
3530 } else {
3531 None
3532 }
3533 }
3534
3535 #[allow(irrefutable_let_patterns)]
3536 pub fn into_connector_router_create(
3537 self,
3538 ) -> Option<(
3539 fidl::EventPair,
3540 fidl::endpoints::ClientEnd<ConnectorRouterMarker>,
3541 CapabilitiesConnectorRouterCreateResponder,
3542 )> {
3543 if let CapabilitiesRequest::ConnectorRouterCreate { router, router_client_end, responder } =
3544 self
3545 {
3546 Some((router, router_client_end, responder))
3547 } else {
3548 None
3549 }
3550 }
3551
3552 #[allow(irrefutable_let_patterns)]
3553 pub fn into_dir_connector_router_create(
3554 self,
3555 ) -> Option<(
3556 fidl::EventPair,
3557 fidl::endpoints::ClientEnd<DirConnectorRouterMarker>,
3558 CapabilitiesDirConnectorRouterCreateResponder,
3559 )> {
3560 if let CapabilitiesRequest::DirConnectorRouterCreate {
3561 router,
3562 router_client_end,
3563 responder,
3564 } = self
3565 {
3566 Some((router, router_client_end, responder))
3567 } else {
3568 None
3569 }
3570 }
3571
3572 #[allow(irrefutable_let_patterns)]
3573 pub fn into_dictionary_router_create(
3574 self,
3575 ) -> Option<(
3576 fidl::EventPair,
3577 fidl::endpoints::ClientEnd<DictionaryRouterMarker>,
3578 CapabilitiesDictionaryRouterCreateResponder,
3579 )> {
3580 if let CapabilitiesRequest::DictionaryRouterCreate {
3581 router,
3582 router_client_end,
3583 responder,
3584 } = self
3585 {
3586 Some((router, router_client_end, responder))
3587 } else {
3588 None
3589 }
3590 }
3591
3592 #[allow(irrefutable_let_patterns)]
3593 pub fn into_data_router_create(
3594 self,
3595 ) -> Option<(
3596 fidl::EventPair,
3597 fidl::endpoints::ClientEnd<DataRouterMarker>,
3598 CapabilitiesDataRouterCreateResponder,
3599 )> {
3600 if let CapabilitiesRequest::DataRouterCreate { router, router_client_end, responder } = self
3601 {
3602 Some((router, router_client_end, responder))
3603 } else {
3604 None
3605 }
3606 }
3607
3608 #[allow(irrefutable_let_patterns)]
3609 pub fn into_instance_token_create(
3610 self,
3611 ) -> Option<(fidl::EventPair, CapabilitiesInstanceTokenCreateResponder)> {
3612 if let CapabilitiesRequest::InstanceTokenCreate { instance_token, responder } = self {
3613 Some((instance_token, responder))
3614 } else {
3615 None
3616 }
3617 }
3618
3619 #[allow(irrefutable_let_patterns)]
3620 pub fn into_connector_open(
3621 self,
3622 ) -> Option<(fidl::EventPair, fidl::Channel, CapabilitiesConnectorOpenResponder)> {
3623 if let CapabilitiesRequest::ConnectorOpen { connector, channel, responder } = self {
3624 Some((connector, channel, responder))
3625 } else {
3626 None
3627 }
3628 }
3629
3630 #[allow(irrefutable_let_patterns)]
3631 pub fn into_dir_connector_open(
3632 self,
3633 ) -> Option<(CapabilitiesDirConnectorOpenRequest, CapabilitiesDirConnectorOpenResponder)> {
3634 if let CapabilitiesRequest::DirConnectorOpen { payload, responder } = self {
3635 Some((payload, responder))
3636 } else {
3637 None
3638 }
3639 }
3640
3641 #[allow(irrefutable_let_patterns)]
3642 pub fn into_dictionary_insert(
3643 self,
3644 ) -> Option<(fidl::EventPair, String, fidl::EventPair, CapabilitiesDictionaryInsertResponder)>
3645 {
3646 if let CapabilitiesRequest::DictionaryInsert { dictionary, key, value, responder } = self {
3647 Some((dictionary, key, value, responder))
3648 } else {
3649 None
3650 }
3651 }
3652
3653 #[allow(irrefutable_let_patterns)]
3654 pub fn into_dictionary_get(
3655 self,
3656 ) -> Option<(fidl::EventPair, String, fidl::EventPair, CapabilitiesDictionaryGetResponder)>
3657 {
3658 if let CapabilitiesRequest::DictionaryGet { dictionary, key, value, responder } = self {
3659 Some((dictionary, key, value, responder))
3660 } else {
3661 None
3662 }
3663 }
3664
3665 #[allow(irrefutable_let_patterns)]
3666 pub fn into_dictionary_remove(
3667 self,
3668 ) -> Option<(CapabilitiesDictionaryRemoveRequest, CapabilitiesDictionaryRemoveResponder)> {
3669 if let CapabilitiesRequest::DictionaryRemove { payload, responder } = self {
3670 Some((payload, responder))
3671 } else {
3672 None
3673 }
3674 }
3675
3676 #[allow(irrefutable_let_patterns)]
3677 pub fn into_dictionary_iterate_keys(
3678 self,
3679 ) -> Option<(
3680 fidl::EventPair,
3681 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
3682 CapabilitiesDictionaryIterateKeysResponder,
3683 )> {
3684 if let CapabilitiesRequest::DictionaryIterateKeys { dictionary, key_iterator, responder } =
3685 self
3686 {
3687 Some((dictionary, key_iterator, responder))
3688 } else {
3689 None
3690 }
3691 }
3692
3693 #[allow(irrefutable_let_patterns)]
3694 pub fn into_data_get(self) -> Option<(fidl::EventPair, CapabilitiesDataGetResponder)> {
3695 if let CapabilitiesRequest::DataGet { data_handle, responder } = self {
3696 Some((data_handle, responder))
3697 } else {
3698 None
3699 }
3700 }
3701
3702 #[allow(irrefutable_let_patterns)]
3703 pub fn into_connector_router_route(
3704 self,
3705 ) -> Option<(
3706 fidl::EventPair,
3707 RouteRequest,
3708 fidl::EventPair,
3709 fidl::EventPair,
3710 CapabilitiesConnectorRouterRouteResponder,
3711 )> {
3712 if let CapabilitiesRequest::ConnectorRouterRoute {
3713 router,
3714 request,
3715 instance_token,
3716 connector,
3717 responder,
3718 } = self
3719 {
3720 Some((router, request, instance_token, connector, responder))
3721 } else {
3722 None
3723 }
3724 }
3725
3726 #[allow(irrefutable_let_patterns)]
3727 pub fn into_dir_connector_router_route(
3728 self,
3729 ) -> Option<(
3730 fidl::EventPair,
3731 RouteRequest,
3732 fidl::EventPair,
3733 fidl::EventPair,
3734 CapabilitiesDirConnectorRouterRouteResponder,
3735 )> {
3736 if let CapabilitiesRequest::DirConnectorRouterRoute {
3737 router,
3738 request,
3739 instance_token,
3740 dir_connector,
3741 responder,
3742 } = self
3743 {
3744 Some((router, request, instance_token, dir_connector, responder))
3745 } else {
3746 None
3747 }
3748 }
3749
3750 #[allow(irrefutable_let_patterns)]
3751 pub fn into_dictionary_router_route(
3752 self,
3753 ) -> Option<(
3754 fidl::EventPair,
3755 RouteRequest,
3756 fidl::EventPair,
3757 fidl::EventPair,
3758 CapabilitiesDictionaryRouterRouteResponder,
3759 )> {
3760 if let CapabilitiesRequest::DictionaryRouterRoute {
3761 router,
3762 request,
3763 instance_token,
3764 dictionary,
3765 responder,
3766 } = self
3767 {
3768 Some((router, request, instance_token, dictionary, responder))
3769 } else {
3770 None
3771 }
3772 }
3773
3774 #[allow(irrefutable_let_patterns)]
3775 pub fn into_data_router_route(
3776 self,
3777 ) -> Option<(
3778 fidl::EventPair,
3779 RouteRequest,
3780 fidl::EventPair,
3781 fidl::EventPair,
3782 CapabilitiesDataRouterRouteResponder,
3783 )> {
3784 if let CapabilitiesRequest::DataRouterRoute {
3785 router,
3786 request,
3787 instance_token,
3788 data,
3789 responder,
3790 } = self
3791 {
3792 Some((router, request, instance_token, data, responder))
3793 } else {
3794 None
3795 }
3796 }
3797
3798 #[allow(irrefutable_let_patterns)]
3799 pub fn into_capability_associate_handle(
3800 self,
3801 ) -> Option<(fidl::EventPair, fidl::EventPair, CapabilitiesCapabilityAssociateHandleResponder)>
3802 {
3803 if let CapabilitiesRequest::CapabilityAssociateHandle {
3804 capability_handle,
3805 other_handle,
3806 responder,
3807 } = self
3808 {
3809 Some((capability_handle, other_handle, responder))
3810 } else {
3811 None
3812 }
3813 }
3814
3815 pub fn method_name(&self) -> &'static str {
3817 match *self {
3818 CapabilitiesRequest::ConnectorCreate { .. } => "connector_create",
3819 CapabilitiesRequest::DirConnectorCreate { .. } => "dir_connector_create",
3820 CapabilitiesRequest::DictionaryCreate { .. } => "dictionary_create",
3821 CapabilitiesRequest::DataCreate { .. } => "data_create",
3822 CapabilitiesRequest::ConnectorRouterCreate { .. } => "connector_router_create",
3823 CapabilitiesRequest::DirConnectorRouterCreate { .. } => "dir_connector_router_create",
3824 CapabilitiesRequest::DictionaryRouterCreate { .. } => "dictionary_router_create",
3825 CapabilitiesRequest::DataRouterCreate { .. } => "data_router_create",
3826 CapabilitiesRequest::InstanceTokenCreate { .. } => "instance_token_create",
3827 CapabilitiesRequest::ConnectorOpen { .. } => "connector_open",
3828 CapabilitiesRequest::DirConnectorOpen { .. } => "dir_connector_open",
3829 CapabilitiesRequest::DictionaryInsert { .. } => "dictionary_insert",
3830 CapabilitiesRequest::DictionaryGet { .. } => "dictionary_get",
3831 CapabilitiesRequest::DictionaryRemove { .. } => "dictionary_remove",
3832 CapabilitiesRequest::DictionaryIterateKeys { .. } => "dictionary_iterate_keys",
3833 CapabilitiesRequest::DataGet { .. } => "data_get",
3834 CapabilitiesRequest::ConnectorRouterRoute { .. } => "connector_router_route",
3835 CapabilitiesRequest::DirConnectorRouterRoute { .. } => "dir_connector_router_route",
3836 CapabilitiesRequest::DictionaryRouterRoute { .. } => "dictionary_router_route",
3837 CapabilitiesRequest::DataRouterRoute { .. } => "data_router_route",
3838 CapabilitiesRequest::CapabilityAssociateHandle { .. } => "capability_associate_handle",
3839 CapabilitiesRequest::_UnknownMethod {
3840 method_type: fidl::MethodType::OneWay, ..
3841 } => "unknown one-way method",
3842 CapabilitiesRequest::_UnknownMethod {
3843 method_type: fidl::MethodType::TwoWay, ..
3844 } => "unknown two-way method",
3845 }
3846 }
3847}
3848
3849#[derive(Debug, Clone)]
3850pub struct CapabilitiesControlHandle {
3851 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
3852}
3853
3854impl fidl::endpoints::ControlHandle for CapabilitiesControlHandle {
3855 fn shutdown(&self) {
3856 self.inner.shutdown()
3857 }
3858
3859 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
3860 self.inner.shutdown_with_epitaph(status)
3861 }
3862
3863 fn is_closed(&self) -> bool {
3864 self.inner.channel().is_closed()
3865 }
3866 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
3867 self.inner.channel().on_closed()
3868 }
3869
3870 #[cfg(target_os = "fuchsia")]
3871 fn signal_peer(
3872 &self,
3873 clear_mask: zx::Signals,
3874 set_mask: zx::Signals,
3875 ) -> Result<(), zx_status::Status> {
3876 use fidl::Peered;
3877 self.inner.channel().signal_peer(clear_mask, set_mask)
3878 }
3879}
3880
3881impl CapabilitiesControlHandle {}
3882
3883#[must_use = "FIDL methods require a response to be sent"]
3884#[derive(Debug)]
3885pub struct CapabilitiesConnectorCreateResponder {
3886 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
3887 tx_id: u32,
3888}
3889
3890impl std::ops::Drop for CapabilitiesConnectorCreateResponder {
3894 fn drop(&mut self) {
3895 self.control_handle.shutdown();
3896 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3898 }
3899}
3900
3901impl fidl::endpoints::Responder for CapabilitiesConnectorCreateResponder {
3902 type ControlHandle = CapabilitiesControlHandle;
3903
3904 fn control_handle(&self) -> &CapabilitiesControlHandle {
3905 &self.control_handle
3906 }
3907
3908 fn drop_without_shutdown(mut self) {
3909 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3911 std::mem::forget(self);
3913 }
3914}
3915
3916impl CapabilitiesConnectorCreateResponder {
3917 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
3921 let _result = self.send_raw(result);
3922 if _result.is_err() {
3923 self.control_handle.shutdown();
3924 }
3925 self.drop_without_shutdown();
3926 _result
3927 }
3928
3929 pub fn send_no_shutdown_on_err(
3931 self,
3932 mut result: Result<(), CapabilitiesError>,
3933 ) -> Result<(), fidl::Error> {
3934 let _result = self.send_raw(result);
3935 self.drop_without_shutdown();
3936 _result
3937 }
3938
3939 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
3940 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
3941 fidl::encoding::EmptyStruct,
3942 CapabilitiesError,
3943 >>(
3944 fidl::encoding::FlexibleResult::new(result),
3945 self.tx_id,
3946 0xac2bc2dbd7033d1,
3947 fidl::encoding::DynamicFlags::FLEXIBLE,
3948 )
3949 }
3950}
3951
3952#[must_use = "FIDL methods require a response to be sent"]
3953#[derive(Debug)]
3954pub struct CapabilitiesDirConnectorCreateResponder {
3955 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
3956 tx_id: u32,
3957}
3958
3959impl std::ops::Drop for CapabilitiesDirConnectorCreateResponder {
3963 fn drop(&mut self) {
3964 self.control_handle.shutdown();
3965 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3967 }
3968}
3969
3970impl fidl::endpoints::Responder for CapabilitiesDirConnectorCreateResponder {
3971 type ControlHandle = CapabilitiesControlHandle;
3972
3973 fn control_handle(&self) -> &CapabilitiesControlHandle {
3974 &self.control_handle
3975 }
3976
3977 fn drop_without_shutdown(mut self) {
3978 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3980 std::mem::forget(self);
3982 }
3983}
3984
3985impl CapabilitiesDirConnectorCreateResponder {
3986 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
3990 let _result = self.send_raw(result);
3991 if _result.is_err() {
3992 self.control_handle.shutdown();
3993 }
3994 self.drop_without_shutdown();
3995 _result
3996 }
3997
3998 pub fn send_no_shutdown_on_err(
4000 self,
4001 mut result: Result<(), CapabilitiesError>,
4002 ) -> Result<(), fidl::Error> {
4003 let _result = self.send_raw(result);
4004 self.drop_without_shutdown();
4005 _result
4006 }
4007
4008 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4009 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4010 fidl::encoding::EmptyStruct,
4011 CapabilitiesError,
4012 >>(
4013 fidl::encoding::FlexibleResult::new(result),
4014 self.tx_id,
4015 0x721911e05da2a3bf,
4016 fidl::encoding::DynamicFlags::FLEXIBLE,
4017 )
4018 }
4019}
4020
4021#[must_use = "FIDL methods require a response to be sent"]
4022#[derive(Debug)]
4023pub struct CapabilitiesDictionaryCreateResponder {
4024 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4025 tx_id: u32,
4026}
4027
4028impl std::ops::Drop for CapabilitiesDictionaryCreateResponder {
4032 fn drop(&mut self) {
4033 self.control_handle.shutdown();
4034 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4036 }
4037}
4038
4039impl fidl::endpoints::Responder for CapabilitiesDictionaryCreateResponder {
4040 type ControlHandle = CapabilitiesControlHandle;
4041
4042 fn control_handle(&self) -> &CapabilitiesControlHandle {
4043 &self.control_handle
4044 }
4045
4046 fn drop_without_shutdown(mut self) {
4047 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4049 std::mem::forget(self);
4051 }
4052}
4053
4054impl CapabilitiesDictionaryCreateResponder {
4055 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4059 let _result = self.send_raw(result);
4060 if _result.is_err() {
4061 self.control_handle.shutdown();
4062 }
4063 self.drop_without_shutdown();
4064 _result
4065 }
4066
4067 pub fn send_no_shutdown_on_err(
4069 self,
4070 mut result: Result<(), CapabilitiesError>,
4071 ) -> Result<(), fidl::Error> {
4072 let _result = self.send_raw(result);
4073 self.drop_without_shutdown();
4074 _result
4075 }
4076
4077 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4078 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4079 fidl::encoding::EmptyStruct,
4080 CapabilitiesError,
4081 >>(
4082 fidl::encoding::FlexibleResult::new(result),
4083 self.tx_id,
4084 0x7f8bd91f0942a36e,
4085 fidl::encoding::DynamicFlags::FLEXIBLE,
4086 )
4087 }
4088}
4089
4090#[must_use = "FIDL methods require a response to be sent"]
4091#[derive(Debug)]
4092pub struct CapabilitiesDataCreateResponder {
4093 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4094 tx_id: u32,
4095}
4096
4097impl std::ops::Drop for CapabilitiesDataCreateResponder {
4101 fn drop(&mut self) {
4102 self.control_handle.shutdown();
4103 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4105 }
4106}
4107
4108impl fidl::endpoints::Responder for CapabilitiesDataCreateResponder {
4109 type ControlHandle = CapabilitiesControlHandle;
4110
4111 fn control_handle(&self) -> &CapabilitiesControlHandle {
4112 &self.control_handle
4113 }
4114
4115 fn drop_without_shutdown(mut self) {
4116 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4118 std::mem::forget(self);
4120 }
4121}
4122
4123impl CapabilitiesDataCreateResponder {
4124 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4128 let _result = self.send_raw(result);
4129 if _result.is_err() {
4130 self.control_handle.shutdown();
4131 }
4132 self.drop_without_shutdown();
4133 _result
4134 }
4135
4136 pub fn send_no_shutdown_on_err(
4138 self,
4139 mut result: Result<(), CapabilitiesError>,
4140 ) -> Result<(), fidl::Error> {
4141 let _result = self.send_raw(result);
4142 self.drop_without_shutdown();
4143 _result
4144 }
4145
4146 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4147 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4148 fidl::encoding::EmptyStruct,
4149 CapabilitiesError,
4150 >>(
4151 fidl::encoding::FlexibleResult::new(result),
4152 self.tx_id,
4153 0x40ef43e45372ee6a,
4154 fidl::encoding::DynamicFlags::FLEXIBLE,
4155 )
4156 }
4157}
4158
4159#[must_use = "FIDL methods require a response to be sent"]
4160#[derive(Debug)]
4161pub struct CapabilitiesConnectorRouterCreateResponder {
4162 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4163 tx_id: u32,
4164}
4165
4166impl std::ops::Drop for CapabilitiesConnectorRouterCreateResponder {
4170 fn drop(&mut self) {
4171 self.control_handle.shutdown();
4172 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4174 }
4175}
4176
4177impl fidl::endpoints::Responder for CapabilitiesConnectorRouterCreateResponder {
4178 type ControlHandle = CapabilitiesControlHandle;
4179
4180 fn control_handle(&self) -> &CapabilitiesControlHandle {
4181 &self.control_handle
4182 }
4183
4184 fn drop_without_shutdown(mut self) {
4185 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4187 std::mem::forget(self);
4189 }
4190}
4191
4192impl CapabilitiesConnectorRouterCreateResponder {
4193 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4197 let _result = self.send_raw(result);
4198 if _result.is_err() {
4199 self.control_handle.shutdown();
4200 }
4201 self.drop_without_shutdown();
4202 _result
4203 }
4204
4205 pub fn send_no_shutdown_on_err(
4207 self,
4208 mut result: Result<(), CapabilitiesError>,
4209 ) -> Result<(), fidl::Error> {
4210 let _result = self.send_raw(result);
4211 self.drop_without_shutdown();
4212 _result
4213 }
4214
4215 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4216 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4217 fidl::encoding::EmptyStruct,
4218 CapabilitiesError,
4219 >>(
4220 fidl::encoding::FlexibleResult::new(result),
4221 self.tx_id,
4222 0x7f7e7fbafcdf1761,
4223 fidl::encoding::DynamicFlags::FLEXIBLE,
4224 )
4225 }
4226}
4227
4228#[must_use = "FIDL methods require a response to be sent"]
4229#[derive(Debug)]
4230pub struct CapabilitiesDirConnectorRouterCreateResponder {
4231 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4232 tx_id: u32,
4233}
4234
4235impl std::ops::Drop for CapabilitiesDirConnectorRouterCreateResponder {
4239 fn drop(&mut self) {
4240 self.control_handle.shutdown();
4241 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4243 }
4244}
4245
4246impl fidl::endpoints::Responder for CapabilitiesDirConnectorRouterCreateResponder {
4247 type ControlHandle = CapabilitiesControlHandle;
4248
4249 fn control_handle(&self) -> &CapabilitiesControlHandle {
4250 &self.control_handle
4251 }
4252
4253 fn drop_without_shutdown(mut self) {
4254 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4256 std::mem::forget(self);
4258 }
4259}
4260
4261impl CapabilitiesDirConnectorRouterCreateResponder {
4262 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4266 let _result = self.send_raw(result);
4267 if _result.is_err() {
4268 self.control_handle.shutdown();
4269 }
4270 self.drop_without_shutdown();
4271 _result
4272 }
4273
4274 pub fn send_no_shutdown_on_err(
4276 self,
4277 mut result: Result<(), CapabilitiesError>,
4278 ) -> Result<(), fidl::Error> {
4279 let _result = self.send_raw(result);
4280 self.drop_without_shutdown();
4281 _result
4282 }
4283
4284 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4285 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4286 fidl::encoding::EmptyStruct,
4287 CapabilitiesError,
4288 >>(
4289 fidl::encoding::FlexibleResult::new(result),
4290 self.tx_id,
4291 0x56520da453fad19f,
4292 fidl::encoding::DynamicFlags::FLEXIBLE,
4293 )
4294 }
4295}
4296
4297#[must_use = "FIDL methods require a response to be sent"]
4298#[derive(Debug)]
4299pub struct CapabilitiesDictionaryRouterCreateResponder {
4300 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4301 tx_id: u32,
4302}
4303
4304impl std::ops::Drop for CapabilitiesDictionaryRouterCreateResponder {
4308 fn drop(&mut self) {
4309 self.control_handle.shutdown();
4310 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4312 }
4313}
4314
4315impl fidl::endpoints::Responder for CapabilitiesDictionaryRouterCreateResponder {
4316 type ControlHandle = CapabilitiesControlHandle;
4317
4318 fn control_handle(&self) -> &CapabilitiesControlHandle {
4319 &self.control_handle
4320 }
4321
4322 fn drop_without_shutdown(mut self) {
4323 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4325 std::mem::forget(self);
4327 }
4328}
4329
4330impl CapabilitiesDictionaryRouterCreateResponder {
4331 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4335 let _result = self.send_raw(result);
4336 if _result.is_err() {
4337 self.control_handle.shutdown();
4338 }
4339 self.drop_without_shutdown();
4340 _result
4341 }
4342
4343 pub fn send_no_shutdown_on_err(
4345 self,
4346 mut result: Result<(), CapabilitiesError>,
4347 ) -> Result<(), fidl::Error> {
4348 let _result = self.send_raw(result);
4349 self.drop_without_shutdown();
4350 _result
4351 }
4352
4353 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4354 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4355 fidl::encoding::EmptyStruct,
4356 CapabilitiesError,
4357 >>(
4358 fidl::encoding::FlexibleResult::new(result),
4359 self.tx_id,
4360 0x37acef18cd423d42,
4361 fidl::encoding::DynamicFlags::FLEXIBLE,
4362 )
4363 }
4364}
4365
4366#[must_use = "FIDL methods require a response to be sent"]
4367#[derive(Debug)]
4368pub struct CapabilitiesDataRouterCreateResponder {
4369 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4370 tx_id: u32,
4371}
4372
4373impl std::ops::Drop for CapabilitiesDataRouterCreateResponder {
4377 fn drop(&mut self) {
4378 self.control_handle.shutdown();
4379 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4381 }
4382}
4383
4384impl fidl::endpoints::Responder for CapabilitiesDataRouterCreateResponder {
4385 type ControlHandle = CapabilitiesControlHandle;
4386
4387 fn control_handle(&self) -> &CapabilitiesControlHandle {
4388 &self.control_handle
4389 }
4390
4391 fn drop_without_shutdown(mut self) {
4392 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4394 std::mem::forget(self);
4396 }
4397}
4398
4399impl CapabilitiesDataRouterCreateResponder {
4400 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4404 let _result = self.send_raw(result);
4405 if _result.is_err() {
4406 self.control_handle.shutdown();
4407 }
4408 self.drop_without_shutdown();
4409 _result
4410 }
4411
4412 pub fn send_no_shutdown_on_err(
4414 self,
4415 mut result: Result<(), CapabilitiesError>,
4416 ) -> Result<(), fidl::Error> {
4417 let _result = self.send_raw(result);
4418 self.drop_without_shutdown();
4419 _result
4420 }
4421
4422 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4423 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4424 fidl::encoding::EmptyStruct,
4425 CapabilitiesError,
4426 >>(
4427 fidl::encoding::FlexibleResult::new(result),
4428 self.tx_id,
4429 0x24e471395b95088,
4430 fidl::encoding::DynamicFlags::FLEXIBLE,
4431 )
4432 }
4433}
4434
4435#[must_use = "FIDL methods require a response to be sent"]
4436#[derive(Debug)]
4437pub struct CapabilitiesInstanceTokenCreateResponder {
4438 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4439 tx_id: u32,
4440}
4441
4442impl std::ops::Drop for CapabilitiesInstanceTokenCreateResponder {
4446 fn drop(&mut self) {
4447 self.control_handle.shutdown();
4448 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4450 }
4451}
4452
4453impl fidl::endpoints::Responder for CapabilitiesInstanceTokenCreateResponder {
4454 type ControlHandle = CapabilitiesControlHandle;
4455
4456 fn control_handle(&self) -> &CapabilitiesControlHandle {
4457 &self.control_handle
4458 }
4459
4460 fn drop_without_shutdown(mut self) {
4461 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4463 std::mem::forget(self);
4465 }
4466}
4467
4468impl CapabilitiesInstanceTokenCreateResponder {
4469 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4473 let _result = self.send_raw(result);
4474 if _result.is_err() {
4475 self.control_handle.shutdown();
4476 }
4477 self.drop_without_shutdown();
4478 _result
4479 }
4480
4481 pub fn send_no_shutdown_on_err(
4483 self,
4484 mut result: Result<(), CapabilitiesError>,
4485 ) -> Result<(), fidl::Error> {
4486 let _result = self.send_raw(result);
4487 self.drop_without_shutdown();
4488 _result
4489 }
4490
4491 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4492 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4493 fidl::encoding::EmptyStruct,
4494 CapabilitiesError,
4495 >>(
4496 fidl::encoding::FlexibleResult::new(result),
4497 self.tx_id,
4498 0x3576e31727c40813,
4499 fidl::encoding::DynamicFlags::FLEXIBLE,
4500 )
4501 }
4502}
4503
4504#[must_use = "FIDL methods require a response to be sent"]
4505#[derive(Debug)]
4506pub struct CapabilitiesConnectorOpenResponder {
4507 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4508 tx_id: u32,
4509}
4510
4511impl std::ops::Drop for CapabilitiesConnectorOpenResponder {
4515 fn drop(&mut self) {
4516 self.control_handle.shutdown();
4517 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4519 }
4520}
4521
4522impl fidl::endpoints::Responder for CapabilitiesConnectorOpenResponder {
4523 type ControlHandle = CapabilitiesControlHandle;
4524
4525 fn control_handle(&self) -> &CapabilitiesControlHandle {
4526 &self.control_handle
4527 }
4528
4529 fn drop_without_shutdown(mut self) {
4530 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4532 std::mem::forget(self);
4534 }
4535}
4536
4537impl CapabilitiesConnectorOpenResponder {
4538 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4542 let _result = self.send_raw(result);
4543 if _result.is_err() {
4544 self.control_handle.shutdown();
4545 }
4546 self.drop_without_shutdown();
4547 _result
4548 }
4549
4550 pub fn send_no_shutdown_on_err(
4552 self,
4553 mut result: Result<(), CapabilitiesError>,
4554 ) -> Result<(), fidl::Error> {
4555 let _result = self.send_raw(result);
4556 self.drop_without_shutdown();
4557 _result
4558 }
4559
4560 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4561 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4562 fidl::encoding::EmptyStruct,
4563 CapabilitiesError,
4564 >>(
4565 fidl::encoding::FlexibleResult::new(result),
4566 self.tx_id,
4567 0xc0646965f1884eb,
4568 fidl::encoding::DynamicFlags::FLEXIBLE,
4569 )
4570 }
4571}
4572
4573#[must_use = "FIDL methods require a response to be sent"]
4574#[derive(Debug)]
4575pub struct CapabilitiesDirConnectorOpenResponder {
4576 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4577 tx_id: u32,
4578}
4579
4580impl std::ops::Drop for CapabilitiesDirConnectorOpenResponder {
4584 fn drop(&mut self) {
4585 self.control_handle.shutdown();
4586 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4588 }
4589}
4590
4591impl fidl::endpoints::Responder for CapabilitiesDirConnectorOpenResponder {
4592 type ControlHandle = CapabilitiesControlHandle;
4593
4594 fn control_handle(&self) -> &CapabilitiesControlHandle {
4595 &self.control_handle
4596 }
4597
4598 fn drop_without_shutdown(mut self) {
4599 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4601 std::mem::forget(self);
4603 }
4604}
4605
4606impl CapabilitiesDirConnectorOpenResponder {
4607 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4611 let _result = self.send_raw(result);
4612 if _result.is_err() {
4613 self.control_handle.shutdown();
4614 }
4615 self.drop_without_shutdown();
4616 _result
4617 }
4618
4619 pub fn send_no_shutdown_on_err(
4621 self,
4622 mut result: Result<(), CapabilitiesError>,
4623 ) -> Result<(), fidl::Error> {
4624 let _result = self.send_raw(result);
4625 self.drop_without_shutdown();
4626 _result
4627 }
4628
4629 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4630 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4631 fidl::encoding::EmptyStruct,
4632 CapabilitiesError,
4633 >>(
4634 fidl::encoding::FlexibleResult::new(result),
4635 self.tx_id,
4636 0x1332bbf5debd6c20,
4637 fidl::encoding::DynamicFlags::FLEXIBLE,
4638 )
4639 }
4640}
4641
4642#[must_use = "FIDL methods require a response to be sent"]
4643#[derive(Debug)]
4644pub struct CapabilitiesDictionaryInsertResponder {
4645 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4646 tx_id: u32,
4647}
4648
4649impl std::ops::Drop for CapabilitiesDictionaryInsertResponder {
4653 fn drop(&mut self) {
4654 self.control_handle.shutdown();
4655 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4657 }
4658}
4659
4660impl fidl::endpoints::Responder for CapabilitiesDictionaryInsertResponder {
4661 type ControlHandle = CapabilitiesControlHandle;
4662
4663 fn control_handle(&self) -> &CapabilitiesControlHandle {
4664 &self.control_handle
4665 }
4666
4667 fn drop_without_shutdown(mut self) {
4668 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4670 std::mem::forget(self);
4672 }
4673}
4674
4675impl CapabilitiesDictionaryInsertResponder {
4676 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4680 let _result = self.send_raw(result);
4681 if _result.is_err() {
4682 self.control_handle.shutdown();
4683 }
4684 self.drop_without_shutdown();
4685 _result
4686 }
4687
4688 pub fn send_no_shutdown_on_err(
4690 self,
4691 mut result: Result<(), CapabilitiesError>,
4692 ) -> Result<(), fidl::Error> {
4693 let _result = self.send_raw(result);
4694 self.drop_without_shutdown();
4695 _result
4696 }
4697
4698 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4699 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4700 fidl::encoding::EmptyStruct,
4701 CapabilitiesError,
4702 >>(
4703 fidl::encoding::FlexibleResult::new(result),
4704 self.tx_id,
4705 0x5972e3061a760e7a,
4706 fidl::encoding::DynamicFlags::FLEXIBLE,
4707 )
4708 }
4709}
4710
4711#[must_use = "FIDL methods require a response to be sent"]
4712#[derive(Debug)]
4713pub struct CapabilitiesDictionaryGetResponder {
4714 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4715 tx_id: u32,
4716}
4717
4718impl std::ops::Drop for CapabilitiesDictionaryGetResponder {
4722 fn drop(&mut self) {
4723 self.control_handle.shutdown();
4724 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4726 }
4727}
4728
4729impl fidl::endpoints::Responder for CapabilitiesDictionaryGetResponder {
4730 type ControlHandle = CapabilitiesControlHandle;
4731
4732 fn control_handle(&self) -> &CapabilitiesControlHandle {
4733 &self.control_handle
4734 }
4735
4736 fn drop_without_shutdown(mut self) {
4737 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4739 std::mem::forget(self);
4741 }
4742}
4743
4744impl CapabilitiesDictionaryGetResponder {
4745 pub fn send(
4749 self,
4750 mut result: Result<CapabilityType, CapabilitiesError>,
4751 ) -> Result<(), fidl::Error> {
4752 let _result = self.send_raw(result);
4753 if _result.is_err() {
4754 self.control_handle.shutdown();
4755 }
4756 self.drop_without_shutdown();
4757 _result
4758 }
4759
4760 pub fn send_no_shutdown_on_err(
4762 self,
4763 mut result: Result<CapabilityType, CapabilitiesError>,
4764 ) -> Result<(), fidl::Error> {
4765 let _result = self.send_raw(result);
4766 self.drop_without_shutdown();
4767 _result
4768 }
4769
4770 fn send_raw(
4771 &self,
4772 mut result: Result<CapabilityType, CapabilitiesError>,
4773 ) -> Result<(), fidl::Error> {
4774 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4775 CapabilitiesDictionaryGetResponse,
4776 CapabilitiesError,
4777 >>(
4778 fidl::encoding::FlexibleResult::new(result.map(|capability_type| (capability_type,))),
4779 self.tx_id,
4780 0x31fafe2280a283d5,
4781 fidl::encoding::DynamicFlags::FLEXIBLE,
4782 )
4783 }
4784}
4785
4786#[must_use = "FIDL methods require a response to be sent"]
4787#[derive(Debug)]
4788pub struct CapabilitiesDictionaryRemoveResponder {
4789 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4790 tx_id: u32,
4791}
4792
4793impl std::ops::Drop for CapabilitiesDictionaryRemoveResponder {
4797 fn drop(&mut self) {
4798 self.control_handle.shutdown();
4799 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4801 }
4802}
4803
4804impl fidl::endpoints::Responder for CapabilitiesDictionaryRemoveResponder {
4805 type ControlHandle = CapabilitiesControlHandle;
4806
4807 fn control_handle(&self) -> &CapabilitiesControlHandle {
4808 &self.control_handle
4809 }
4810
4811 fn drop_without_shutdown(mut self) {
4812 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4814 std::mem::forget(self);
4816 }
4817}
4818
4819impl CapabilitiesDictionaryRemoveResponder {
4820 pub fn send(
4824 self,
4825 mut result: Result<CapabilityType, CapabilitiesError>,
4826 ) -> Result<(), fidl::Error> {
4827 let _result = self.send_raw(result);
4828 if _result.is_err() {
4829 self.control_handle.shutdown();
4830 }
4831 self.drop_without_shutdown();
4832 _result
4833 }
4834
4835 pub fn send_no_shutdown_on_err(
4837 self,
4838 mut result: Result<CapabilityType, CapabilitiesError>,
4839 ) -> Result<(), fidl::Error> {
4840 let _result = self.send_raw(result);
4841 self.drop_without_shutdown();
4842 _result
4843 }
4844
4845 fn send_raw(
4846 &self,
4847 mut result: Result<CapabilityType, CapabilitiesError>,
4848 ) -> Result<(), fidl::Error> {
4849 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4850 CapabilitiesDictionaryRemoveResponse,
4851 CapabilitiesError,
4852 >>(
4853 fidl::encoding::FlexibleResult::new(result.map(|capability_type| (capability_type,))),
4854 self.tx_id,
4855 0x6827c83106ac5a2c,
4856 fidl::encoding::DynamicFlags::FLEXIBLE,
4857 )
4858 }
4859}
4860
4861#[must_use = "FIDL methods require a response to be sent"]
4862#[derive(Debug)]
4863pub struct CapabilitiesDictionaryIterateKeysResponder {
4864 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4865 tx_id: u32,
4866}
4867
4868impl std::ops::Drop for CapabilitiesDictionaryIterateKeysResponder {
4872 fn drop(&mut self) {
4873 self.control_handle.shutdown();
4874 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4876 }
4877}
4878
4879impl fidl::endpoints::Responder for CapabilitiesDictionaryIterateKeysResponder {
4880 type ControlHandle = CapabilitiesControlHandle;
4881
4882 fn control_handle(&self) -> &CapabilitiesControlHandle {
4883 &self.control_handle
4884 }
4885
4886 fn drop_without_shutdown(mut self) {
4887 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4889 std::mem::forget(self);
4891 }
4892}
4893
4894impl CapabilitiesDictionaryIterateKeysResponder {
4895 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4899 let _result = self.send_raw(result);
4900 if _result.is_err() {
4901 self.control_handle.shutdown();
4902 }
4903 self.drop_without_shutdown();
4904 _result
4905 }
4906
4907 pub fn send_no_shutdown_on_err(
4909 self,
4910 mut result: Result<(), CapabilitiesError>,
4911 ) -> Result<(), fidl::Error> {
4912 let _result = self.send_raw(result);
4913 self.drop_without_shutdown();
4914 _result
4915 }
4916
4917 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
4918 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4919 fidl::encoding::EmptyStruct,
4920 CapabilitiesError,
4921 >>(
4922 fidl::encoding::FlexibleResult::new(result),
4923 self.tx_id,
4924 0x3d4ea59c80df9bb8,
4925 fidl::encoding::DynamicFlags::FLEXIBLE,
4926 )
4927 }
4928}
4929
4930#[must_use = "FIDL methods require a response to be sent"]
4931#[derive(Debug)]
4932pub struct CapabilitiesDataGetResponder {
4933 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
4934 tx_id: u32,
4935}
4936
4937impl std::ops::Drop for CapabilitiesDataGetResponder {
4941 fn drop(&mut self) {
4942 self.control_handle.shutdown();
4943 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4945 }
4946}
4947
4948impl fidl::endpoints::Responder for CapabilitiesDataGetResponder {
4949 type ControlHandle = CapabilitiesControlHandle;
4950
4951 fn control_handle(&self) -> &CapabilitiesControlHandle {
4952 &self.control_handle
4953 }
4954
4955 fn drop_without_shutdown(mut self) {
4956 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4958 std::mem::forget(self);
4960 }
4961}
4962
4963impl CapabilitiesDataGetResponder {
4964 pub fn send(self, mut result: Result<&Data, CapabilitiesError>) -> Result<(), fidl::Error> {
4968 let _result = self.send_raw(result);
4969 if _result.is_err() {
4970 self.control_handle.shutdown();
4971 }
4972 self.drop_without_shutdown();
4973 _result
4974 }
4975
4976 pub fn send_no_shutdown_on_err(
4978 self,
4979 mut result: Result<&Data, CapabilitiesError>,
4980 ) -> Result<(), fidl::Error> {
4981 let _result = self.send_raw(result);
4982 self.drop_without_shutdown();
4983 _result
4984 }
4985
4986 fn send_raw(&self, mut result: Result<&Data, CapabilitiesError>) -> Result<(), fidl::Error> {
4987 self.control_handle
4988 .inner
4989 .send::<fidl::encoding::FlexibleResultType<Data, CapabilitiesError>>(
4990 fidl::encoding::FlexibleResult::new(result),
4991 self.tx_id,
4992 0x65ae25b59f9e0daf,
4993 fidl::encoding::DynamicFlags::FLEXIBLE,
4994 )
4995 }
4996}
4997
4998#[must_use = "FIDL methods require a response to be sent"]
4999#[derive(Debug)]
5000pub struct CapabilitiesConnectorRouterRouteResponder {
5001 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
5002 tx_id: u32,
5003}
5004
5005impl std::ops::Drop for CapabilitiesConnectorRouterRouteResponder {
5009 fn drop(&mut self) {
5010 self.control_handle.shutdown();
5011 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5013 }
5014}
5015
5016impl fidl::endpoints::Responder for CapabilitiesConnectorRouterRouteResponder {
5017 type ControlHandle = CapabilitiesControlHandle;
5018
5019 fn control_handle(&self) -> &CapabilitiesControlHandle {
5020 &self.control_handle
5021 }
5022
5023 fn drop_without_shutdown(mut self) {
5024 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5026 std::mem::forget(self);
5028 }
5029}
5030
5031impl CapabilitiesConnectorRouterRouteResponder {
5032 pub fn send(self, mut result: Result<RouterResponse, i32>) -> Result<(), fidl::Error> {
5036 let _result = self.send_raw(result);
5037 if _result.is_err() {
5038 self.control_handle.shutdown();
5039 }
5040 self.drop_without_shutdown();
5041 _result
5042 }
5043
5044 pub fn send_no_shutdown_on_err(
5046 self,
5047 mut result: Result<RouterResponse, i32>,
5048 ) -> Result<(), fidl::Error> {
5049 let _result = self.send_raw(result);
5050 self.drop_without_shutdown();
5051 _result
5052 }
5053
5054 fn send_raw(&self, mut result: Result<RouterResponse, i32>) -> Result<(), fidl::Error> {
5055 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5056 CapabilitiesConnectorRouterRouteResponse,
5057 i32,
5058 >>(
5059 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
5060 self.tx_id,
5061 0x1bd9c6e7e3dd487e,
5062 fidl::encoding::DynamicFlags::FLEXIBLE,
5063 )
5064 }
5065}
5066
5067#[must_use = "FIDL methods require a response to be sent"]
5068#[derive(Debug)]
5069pub struct CapabilitiesDirConnectorRouterRouteResponder {
5070 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
5071 tx_id: u32,
5072}
5073
5074impl std::ops::Drop for CapabilitiesDirConnectorRouterRouteResponder {
5078 fn drop(&mut self) {
5079 self.control_handle.shutdown();
5080 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5082 }
5083}
5084
5085impl fidl::endpoints::Responder for CapabilitiesDirConnectorRouterRouteResponder {
5086 type ControlHandle = CapabilitiesControlHandle;
5087
5088 fn control_handle(&self) -> &CapabilitiesControlHandle {
5089 &self.control_handle
5090 }
5091
5092 fn drop_without_shutdown(mut self) {
5093 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5095 std::mem::forget(self);
5097 }
5098}
5099
5100impl CapabilitiesDirConnectorRouterRouteResponder {
5101 pub fn send(self, mut result: Result<RouterResponse, i32>) -> Result<(), fidl::Error> {
5105 let _result = self.send_raw(result);
5106 if _result.is_err() {
5107 self.control_handle.shutdown();
5108 }
5109 self.drop_without_shutdown();
5110 _result
5111 }
5112
5113 pub fn send_no_shutdown_on_err(
5115 self,
5116 mut result: Result<RouterResponse, i32>,
5117 ) -> Result<(), fidl::Error> {
5118 let _result = self.send_raw(result);
5119 self.drop_without_shutdown();
5120 _result
5121 }
5122
5123 fn send_raw(&self, mut result: Result<RouterResponse, i32>) -> Result<(), fidl::Error> {
5124 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5125 CapabilitiesDirConnectorRouterRouteResponse,
5126 i32,
5127 >>(
5128 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
5129 self.tx_id,
5130 0x3afdcc1b79e0799d,
5131 fidl::encoding::DynamicFlags::FLEXIBLE,
5132 )
5133 }
5134}
5135
5136#[must_use = "FIDL methods require a response to be sent"]
5137#[derive(Debug)]
5138pub struct CapabilitiesDictionaryRouterRouteResponder {
5139 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
5140 tx_id: u32,
5141}
5142
5143impl std::ops::Drop for CapabilitiesDictionaryRouterRouteResponder {
5147 fn drop(&mut self) {
5148 self.control_handle.shutdown();
5149 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5151 }
5152}
5153
5154impl fidl::endpoints::Responder for CapabilitiesDictionaryRouterRouteResponder {
5155 type ControlHandle = CapabilitiesControlHandle;
5156
5157 fn control_handle(&self) -> &CapabilitiesControlHandle {
5158 &self.control_handle
5159 }
5160
5161 fn drop_without_shutdown(mut self) {
5162 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5164 std::mem::forget(self);
5166 }
5167}
5168
5169impl CapabilitiesDictionaryRouterRouteResponder {
5170 pub fn send(self, mut result: Result<RouterResponse, i32>) -> Result<(), fidl::Error> {
5174 let _result = self.send_raw(result);
5175 if _result.is_err() {
5176 self.control_handle.shutdown();
5177 }
5178 self.drop_without_shutdown();
5179 _result
5180 }
5181
5182 pub fn send_no_shutdown_on_err(
5184 self,
5185 mut result: Result<RouterResponse, i32>,
5186 ) -> Result<(), fidl::Error> {
5187 let _result = self.send_raw(result);
5188 self.drop_without_shutdown();
5189 _result
5190 }
5191
5192 fn send_raw(&self, mut result: Result<RouterResponse, i32>) -> Result<(), fidl::Error> {
5193 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5194 CapabilitiesDictionaryRouterRouteResponse,
5195 i32,
5196 >>(
5197 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
5198 self.tx_id,
5199 0xcf72de10714a708,
5200 fidl::encoding::DynamicFlags::FLEXIBLE,
5201 )
5202 }
5203}
5204
5205#[must_use = "FIDL methods require a response to be sent"]
5206#[derive(Debug)]
5207pub struct CapabilitiesDataRouterRouteResponder {
5208 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
5209 tx_id: u32,
5210}
5211
5212impl std::ops::Drop for CapabilitiesDataRouterRouteResponder {
5216 fn drop(&mut self) {
5217 self.control_handle.shutdown();
5218 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5220 }
5221}
5222
5223impl fidl::endpoints::Responder for CapabilitiesDataRouterRouteResponder {
5224 type ControlHandle = CapabilitiesControlHandle;
5225
5226 fn control_handle(&self) -> &CapabilitiesControlHandle {
5227 &self.control_handle
5228 }
5229
5230 fn drop_without_shutdown(mut self) {
5231 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5233 std::mem::forget(self);
5235 }
5236}
5237
5238impl CapabilitiesDataRouterRouteResponder {
5239 pub fn send(self, mut result: Result<RouterResponse, i32>) -> Result<(), fidl::Error> {
5243 let _result = self.send_raw(result);
5244 if _result.is_err() {
5245 self.control_handle.shutdown();
5246 }
5247 self.drop_without_shutdown();
5248 _result
5249 }
5250
5251 pub fn send_no_shutdown_on_err(
5253 self,
5254 mut result: Result<RouterResponse, i32>,
5255 ) -> Result<(), fidl::Error> {
5256 let _result = self.send_raw(result);
5257 self.drop_without_shutdown();
5258 _result
5259 }
5260
5261 fn send_raw(&self, mut result: Result<RouterResponse, i32>) -> Result<(), fidl::Error> {
5262 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5263 CapabilitiesDataRouterRouteResponse,
5264 i32,
5265 >>(
5266 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
5267 self.tx_id,
5268 0x61ab188455ed0643,
5269 fidl::encoding::DynamicFlags::FLEXIBLE,
5270 )
5271 }
5272}
5273
5274#[must_use = "FIDL methods require a response to be sent"]
5275#[derive(Debug)]
5276pub struct CapabilitiesCapabilityAssociateHandleResponder {
5277 control_handle: std::mem::ManuallyDrop<CapabilitiesControlHandle>,
5278 tx_id: u32,
5279}
5280
5281impl std::ops::Drop for CapabilitiesCapabilityAssociateHandleResponder {
5285 fn drop(&mut self) {
5286 self.control_handle.shutdown();
5287 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5289 }
5290}
5291
5292impl fidl::endpoints::Responder for CapabilitiesCapabilityAssociateHandleResponder {
5293 type ControlHandle = CapabilitiesControlHandle;
5294
5295 fn control_handle(&self) -> &CapabilitiesControlHandle {
5296 &self.control_handle
5297 }
5298
5299 fn drop_without_shutdown(mut self) {
5300 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5302 std::mem::forget(self);
5304 }
5305}
5306
5307impl CapabilitiesCapabilityAssociateHandleResponder {
5308 pub fn send(self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
5312 let _result = self.send_raw(result);
5313 if _result.is_err() {
5314 self.control_handle.shutdown();
5315 }
5316 self.drop_without_shutdown();
5317 _result
5318 }
5319
5320 pub fn send_no_shutdown_on_err(
5322 self,
5323 mut result: Result<(), CapabilitiesError>,
5324 ) -> Result<(), fidl::Error> {
5325 let _result = self.send_raw(result);
5326 self.drop_without_shutdown();
5327 _result
5328 }
5329
5330 fn send_raw(&self, mut result: Result<(), CapabilitiesError>) -> Result<(), fidl::Error> {
5331 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5332 fidl::encoding::EmptyStruct,
5333 CapabilitiesError,
5334 >>(
5335 fidl::encoding::FlexibleResult::new(result),
5336 self.tx_id,
5337 0x1d69bb61953d8e7,
5338 fidl::encoding::DynamicFlags::FLEXIBLE,
5339 )
5340 }
5341}
5342
5343#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
5344pub struct CapabilityFactoryMarker;
5345
5346impl fidl::endpoints::ProtocolMarker for CapabilityFactoryMarker {
5347 type Proxy = CapabilityFactoryProxy;
5348 type RequestStream = CapabilityFactoryRequestStream;
5349 #[cfg(target_os = "fuchsia")]
5350 type SynchronousProxy = CapabilityFactorySynchronousProxy;
5351
5352 const DEBUG_NAME: &'static str = "fuchsia.component.runtime.CapabilityFactory";
5353}
5354impl fidl::endpoints::DiscoverableProtocolMarker for CapabilityFactoryMarker {}
5355
5356pub trait CapabilityFactoryProxyInterface: Send + Sync {
5357 fn r#create_connector(
5358 &self,
5359 receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
5360 connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
5361 ) -> Result<(), fidl::Error>;
5362 fn r#create_dir_connector(
5363 &self,
5364 dir_receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
5365 dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
5366 ) -> Result<(), fidl::Error>;
5367 fn r#create_dictionary(
5368 &self,
5369 dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
5370 ) -> Result<(), fidl::Error>;
5371 fn r#create_connector_router(
5372 &self,
5373 router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
5374 router_server_end: fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
5375 ) -> Result<(), fidl::Error>;
5376 fn r#create_dir_connector_router(
5377 &self,
5378 router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
5379 router_server_end: fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
5380 ) -> Result<(), fidl::Error>;
5381 fn r#create_dictionary_router(
5382 &self,
5383 router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
5384 router_server_end: fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
5385 ) -> Result<(), fidl::Error>;
5386 fn r#create_data_router(
5387 &self,
5388 router_client_end: fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
5389 router_server_end: fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
5390 ) -> Result<(), fidl::Error>;
5391}
5392#[derive(Debug)]
5393#[cfg(target_os = "fuchsia")]
5394pub struct CapabilityFactorySynchronousProxy {
5395 client: fidl::client::sync::Client,
5396}
5397
5398#[cfg(target_os = "fuchsia")]
5399impl fidl::endpoints::SynchronousProxy for CapabilityFactorySynchronousProxy {
5400 type Proxy = CapabilityFactoryProxy;
5401 type Protocol = CapabilityFactoryMarker;
5402
5403 fn from_channel(inner: fidl::Channel) -> Self {
5404 Self::new(inner)
5405 }
5406
5407 fn into_channel(self) -> fidl::Channel {
5408 self.client.into_channel()
5409 }
5410
5411 fn as_channel(&self) -> &fidl::Channel {
5412 self.client.as_channel()
5413 }
5414}
5415
5416#[cfg(target_os = "fuchsia")]
5417impl CapabilityFactorySynchronousProxy {
5418 pub fn new(channel: fidl::Channel) -> Self {
5419 let protocol_name =
5420 <CapabilityFactoryMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
5421 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
5422 }
5423
5424 pub fn into_channel(self) -> fidl::Channel {
5425 self.client.into_channel()
5426 }
5427
5428 pub fn wait_for_event(
5431 &self,
5432 deadline: zx::MonotonicInstant,
5433 ) -> Result<CapabilityFactoryEvent, fidl::Error> {
5434 CapabilityFactoryEvent::decode(self.client.wait_for_event(deadline)?)
5435 }
5436
5437 pub fn r#create_connector(
5438 &self,
5439 mut receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
5440 mut connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
5441 ) -> Result<(), fidl::Error> {
5442 self.client.send::<CapabilityFactoryCreateConnectorRequest>(
5443 (receiver_client_end, connector_server_end),
5444 0x58be7506ad9c0d1b,
5445 fidl::encoding::DynamicFlags::FLEXIBLE,
5446 )
5447 }
5448
5449 pub fn r#create_dir_connector(
5450 &self,
5451 mut dir_receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
5452 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
5453 ) -> Result<(), fidl::Error> {
5454 self.client.send::<CapabilityFactoryCreateDirConnectorRequest>(
5455 (dir_receiver_client_end, dir_connector_server_end),
5456 0x47e63805e1a638fa,
5457 fidl::encoding::DynamicFlags::FLEXIBLE,
5458 )
5459 }
5460
5461 pub fn r#create_dictionary(
5462 &self,
5463 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
5464 ) -> Result<(), fidl::Error> {
5465 self.client.send::<CapabilityFactoryCreateDictionaryRequest>(
5466 (dictionary_server_end,),
5467 0x1d9473d8c1e82b02,
5468 fidl::encoding::DynamicFlags::FLEXIBLE,
5469 )
5470 }
5471
5472 pub fn r#create_connector_router(
5473 &self,
5474 mut router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
5475 mut router_server_end: fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
5476 ) -> Result<(), fidl::Error> {
5477 self.client.send::<CapabilityFactoryCreateConnectorRouterRequest>(
5478 (router_client_end, router_server_end),
5479 0x10a5577bdd065d17,
5480 fidl::encoding::DynamicFlags::FLEXIBLE,
5481 )
5482 }
5483
5484 pub fn r#create_dir_connector_router(
5485 &self,
5486 mut router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
5487 mut router_server_end: fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
5488 ) -> Result<(), fidl::Error> {
5489 self.client.send::<CapabilityFactoryCreateDirConnectorRouterRequest>(
5490 (router_client_end, router_server_end),
5491 0x6da0f55bc0cb6916,
5492 fidl::encoding::DynamicFlags::FLEXIBLE,
5493 )
5494 }
5495
5496 pub fn r#create_dictionary_router(
5497 &self,
5498 mut router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
5499 mut router_server_end: fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
5500 ) -> Result<(), fidl::Error> {
5501 self.client.send::<CapabilityFactoryCreateDictionaryRouterRequest>(
5502 (router_client_end, router_server_end),
5503 0x22f371a3e3cbdf05,
5504 fidl::encoding::DynamicFlags::FLEXIBLE,
5505 )
5506 }
5507
5508 pub fn r#create_data_router(
5509 &self,
5510 mut router_client_end: fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
5511 mut router_server_end: fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
5512 ) -> Result<(), fidl::Error> {
5513 self.client.send::<CapabilityFactoryCreateDataRouterRequest>(
5514 (router_client_end, router_server_end),
5515 0x42ca43500520bd20,
5516 fidl::encoding::DynamicFlags::FLEXIBLE,
5517 )
5518 }
5519}
5520
5521#[cfg(target_os = "fuchsia")]
5522impl From<CapabilityFactorySynchronousProxy> for zx::NullableHandle {
5523 fn from(value: CapabilityFactorySynchronousProxy) -> Self {
5524 value.into_channel().into()
5525 }
5526}
5527
5528#[cfg(target_os = "fuchsia")]
5529impl From<fidl::Channel> for CapabilityFactorySynchronousProxy {
5530 fn from(value: fidl::Channel) -> Self {
5531 Self::new(value)
5532 }
5533}
5534
5535#[cfg(target_os = "fuchsia")]
5536impl fidl::endpoints::FromClient for CapabilityFactorySynchronousProxy {
5537 type Protocol = CapabilityFactoryMarker;
5538
5539 fn from_client(value: fidl::endpoints::ClientEnd<CapabilityFactoryMarker>) -> Self {
5540 Self::new(value.into_channel())
5541 }
5542}
5543
5544#[derive(Debug, Clone)]
5545pub struct CapabilityFactoryProxy {
5546 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
5547}
5548
5549impl fidl::endpoints::Proxy for CapabilityFactoryProxy {
5550 type Protocol = CapabilityFactoryMarker;
5551
5552 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
5553 Self::new(inner)
5554 }
5555
5556 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
5557 self.client.into_channel().map_err(|client| Self { client })
5558 }
5559
5560 fn as_channel(&self) -> &::fidl::AsyncChannel {
5561 self.client.as_channel()
5562 }
5563}
5564
5565impl CapabilityFactoryProxy {
5566 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
5568 let protocol_name =
5569 <CapabilityFactoryMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
5570 Self { client: fidl::client::Client::new(channel, protocol_name) }
5571 }
5572
5573 pub fn take_event_stream(&self) -> CapabilityFactoryEventStream {
5579 CapabilityFactoryEventStream { event_receiver: self.client.take_event_receiver() }
5580 }
5581
5582 pub fn r#create_connector(
5583 &self,
5584 mut receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
5585 mut connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
5586 ) -> Result<(), fidl::Error> {
5587 CapabilityFactoryProxyInterface::r#create_connector(
5588 self,
5589 receiver_client_end,
5590 connector_server_end,
5591 )
5592 }
5593
5594 pub fn r#create_dir_connector(
5595 &self,
5596 mut dir_receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
5597 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
5598 ) -> Result<(), fidl::Error> {
5599 CapabilityFactoryProxyInterface::r#create_dir_connector(
5600 self,
5601 dir_receiver_client_end,
5602 dir_connector_server_end,
5603 )
5604 }
5605
5606 pub fn r#create_dictionary(
5607 &self,
5608 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
5609 ) -> Result<(), fidl::Error> {
5610 CapabilityFactoryProxyInterface::r#create_dictionary(self, dictionary_server_end)
5611 }
5612
5613 pub fn r#create_connector_router(
5614 &self,
5615 mut router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
5616 mut router_server_end: fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
5617 ) -> Result<(), fidl::Error> {
5618 CapabilityFactoryProxyInterface::r#create_connector_router(
5619 self,
5620 router_client_end,
5621 router_server_end,
5622 )
5623 }
5624
5625 pub fn r#create_dir_connector_router(
5626 &self,
5627 mut router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
5628 mut router_server_end: fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
5629 ) -> Result<(), fidl::Error> {
5630 CapabilityFactoryProxyInterface::r#create_dir_connector_router(
5631 self,
5632 router_client_end,
5633 router_server_end,
5634 )
5635 }
5636
5637 pub fn r#create_dictionary_router(
5638 &self,
5639 mut router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
5640 mut router_server_end: fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
5641 ) -> Result<(), fidl::Error> {
5642 CapabilityFactoryProxyInterface::r#create_dictionary_router(
5643 self,
5644 router_client_end,
5645 router_server_end,
5646 )
5647 }
5648
5649 pub fn r#create_data_router(
5650 &self,
5651 mut router_client_end: fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
5652 mut router_server_end: fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
5653 ) -> Result<(), fidl::Error> {
5654 CapabilityFactoryProxyInterface::r#create_data_router(
5655 self,
5656 router_client_end,
5657 router_server_end,
5658 )
5659 }
5660}
5661
5662impl CapabilityFactoryProxyInterface for CapabilityFactoryProxy {
5663 fn r#create_connector(
5664 &self,
5665 mut receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
5666 mut connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
5667 ) -> Result<(), fidl::Error> {
5668 self.client.send::<CapabilityFactoryCreateConnectorRequest>(
5669 (receiver_client_end, connector_server_end),
5670 0x58be7506ad9c0d1b,
5671 fidl::encoding::DynamicFlags::FLEXIBLE,
5672 )
5673 }
5674
5675 fn r#create_dir_connector(
5676 &self,
5677 mut dir_receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
5678 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
5679 ) -> Result<(), fidl::Error> {
5680 self.client.send::<CapabilityFactoryCreateDirConnectorRequest>(
5681 (dir_receiver_client_end, dir_connector_server_end),
5682 0x47e63805e1a638fa,
5683 fidl::encoding::DynamicFlags::FLEXIBLE,
5684 )
5685 }
5686
5687 fn r#create_dictionary(
5688 &self,
5689 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
5690 ) -> Result<(), fidl::Error> {
5691 self.client.send::<CapabilityFactoryCreateDictionaryRequest>(
5692 (dictionary_server_end,),
5693 0x1d9473d8c1e82b02,
5694 fidl::encoding::DynamicFlags::FLEXIBLE,
5695 )
5696 }
5697
5698 fn r#create_connector_router(
5699 &self,
5700 mut router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
5701 mut router_server_end: fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
5702 ) -> Result<(), fidl::Error> {
5703 self.client.send::<CapabilityFactoryCreateConnectorRouterRequest>(
5704 (router_client_end, router_server_end),
5705 0x10a5577bdd065d17,
5706 fidl::encoding::DynamicFlags::FLEXIBLE,
5707 )
5708 }
5709
5710 fn r#create_dir_connector_router(
5711 &self,
5712 mut router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
5713 mut router_server_end: fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
5714 ) -> Result<(), fidl::Error> {
5715 self.client.send::<CapabilityFactoryCreateDirConnectorRouterRequest>(
5716 (router_client_end, router_server_end),
5717 0x6da0f55bc0cb6916,
5718 fidl::encoding::DynamicFlags::FLEXIBLE,
5719 )
5720 }
5721
5722 fn r#create_dictionary_router(
5723 &self,
5724 mut router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
5725 mut router_server_end: fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
5726 ) -> Result<(), fidl::Error> {
5727 self.client.send::<CapabilityFactoryCreateDictionaryRouterRequest>(
5728 (router_client_end, router_server_end),
5729 0x22f371a3e3cbdf05,
5730 fidl::encoding::DynamicFlags::FLEXIBLE,
5731 )
5732 }
5733
5734 fn r#create_data_router(
5735 &self,
5736 mut router_client_end: fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
5737 mut router_server_end: fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
5738 ) -> Result<(), fidl::Error> {
5739 self.client.send::<CapabilityFactoryCreateDataRouterRequest>(
5740 (router_client_end, router_server_end),
5741 0x42ca43500520bd20,
5742 fidl::encoding::DynamicFlags::FLEXIBLE,
5743 )
5744 }
5745}
5746
5747pub struct CapabilityFactoryEventStream {
5748 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
5749}
5750
5751impl std::marker::Unpin for CapabilityFactoryEventStream {}
5752
5753impl futures::stream::FusedStream for CapabilityFactoryEventStream {
5754 fn is_terminated(&self) -> bool {
5755 self.event_receiver.is_terminated()
5756 }
5757}
5758
5759impl futures::Stream for CapabilityFactoryEventStream {
5760 type Item = Result<CapabilityFactoryEvent, fidl::Error>;
5761
5762 fn poll_next(
5763 mut self: std::pin::Pin<&mut Self>,
5764 cx: &mut std::task::Context<'_>,
5765 ) -> std::task::Poll<Option<Self::Item>> {
5766 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
5767 &mut self.event_receiver,
5768 cx
5769 )?) {
5770 Some(buf) => std::task::Poll::Ready(Some(CapabilityFactoryEvent::decode(buf))),
5771 None => std::task::Poll::Ready(None),
5772 }
5773 }
5774}
5775
5776#[derive(Debug)]
5777pub enum CapabilityFactoryEvent {
5778 #[non_exhaustive]
5779 _UnknownEvent {
5780 ordinal: u64,
5782 },
5783}
5784
5785impl CapabilityFactoryEvent {
5786 fn decode(
5788 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
5789 ) -> Result<CapabilityFactoryEvent, fidl::Error> {
5790 let (bytes, _handles) = buf.split_mut();
5791 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
5792 debug_assert_eq!(tx_header.tx_id, 0);
5793 match tx_header.ordinal {
5794 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
5795 Ok(CapabilityFactoryEvent::_UnknownEvent { ordinal: tx_header.ordinal })
5796 }
5797 _ => Err(fidl::Error::UnknownOrdinal {
5798 ordinal: tx_header.ordinal,
5799 protocol_name:
5800 <CapabilityFactoryMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
5801 }),
5802 }
5803 }
5804}
5805
5806pub struct CapabilityFactoryRequestStream {
5808 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
5809 is_terminated: bool,
5810}
5811
5812impl std::marker::Unpin for CapabilityFactoryRequestStream {}
5813
5814impl futures::stream::FusedStream for CapabilityFactoryRequestStream {
5815 fn is_terminated(&self) -> bool {
5816 self.is_terminated
5817 }
5818}
5819
5820impl fidl::endpoints::RequestStream for CapabilityFactoryRequestStream {
5821 type Protocol = CapabilityFactoryMarker;
5822 type ControlHandle = CapabilityFactoryControlHandle;
5823
5824 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
5825 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
5826 }
5827
5828 fn control_handle(&self) -> Self::ControlHandle {
5829 CapabilityFactoryControlHandle { inner: self.inner.clone() }
5830 }
5831
5832 fn into_inner(
5833 self,
5834 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
5835 {
5836 (self.inner, self.is_terminated)
5837 }
5838
5839 fn from_inner(
5840 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
5841 is_terminated: bool,
5842 ) -> Self {
5843 Self { inner, is_terminated }
5844 }
5845}
5846
5847impl futures::Stream for CapabilityFactoryRequestStream {
5848 type Item = Result<CapabilityFactoryRequest, fidl::Error>;
5849
5850 fn poll_next(
5851 mut self: std::pin::Pin<&mut Self>,
5852 cx: &mut std::task::Context<'_>,
5853 ) -> std::task::Poll<Option<Self::Item>> {
5854 let this = &mut *self;
5855 if this.inner.check_shutdown(cx) {
5856 this.is_terminated = true;
5857 return std::task::Poll::Ready(None);
5858 }
5859 if this.is_terminated {
5860 panic!("polled CapabilityFactoryRequestStream after completion");
5861 }
5862 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
5863 |bytes, handles| {
5864 match this.inner.channel().read_etc(cx, bytes, handles) {
5865 std::task::Poll::Ready(Ok(())) => {}
5866 std::task::Poll::Pending => return std::task::Poll::Pending,
5867 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
5868 this.is_terminated = true;
5869 return std::task::Poll::Ready(None);
5870 }
5871 std::task::Poll::Ready(Err(e)) => {
5872 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
5873 e.into(),
5874 ))));
5875 }
5876 }
5877
5878 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
5880
5881 std::task::Poll::Ready(Some(match header.ordinal {
5882 0x58be7506ad9c0d1b => {
5883 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
5884 let mut req = fidl::new_empty!(
5885 CapabilityFactoryCreateConnectorRequest,
5886 fidl::encoding::DefaultFuchsiaResourceDialect
5887 );
5888 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilityFactoryCreateConnectorRequest>(&header, _body_bytes, handles, &mut req)?;
5889 let control_handle =
5890 CapabilityFactoryControlHandle { inner: this.inner.clone() };
5891 Ok(CapabilityFactoryRequest::CreateConnector {
5892 receiver_client_end: req.receiver_client_end,
5893 connector_server_end: req.connector_server_end,
5894
5895 control_handle,
5896 })
5897 }
5898 0x47e63805e1a638fa => {
5899 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
5900 let mut req = fidl::new_empty!(
5901 CapabilityFactoryCreateDirConnectorRequest,
5902 fidl::encoding::DefaultFuchsiaResourceDialect
5903 );
5904 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilityFactoryCreateDirConnectorRequest>(&header, _body_bytes, handles, &mut req)?;
5905 let control_handle =
5906 CapabilityFactoryControlHandle { inner: this.inner.clone() };
5907 Ok(CapabilityFactoryRequest::CreateDirConnector {
5908 dir_receiver_client_end: req.dir_receiver_client_end,
5909 dir_connector_server_end: req.dir_connector_server_end,
5910
5911 control_handle,
5912 })
5913 }
5914 0x1d9473d8c1e82b02 => {
5915 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
5916 let mut req = fidl::new_empty!(
5917 CapabilityFactoryCreateDictionaryRequest,
5918 fidl::encoding::DefaultFuchsiaResourceDialect
5919 );
5920 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilityFactoryCreateDictionaryRequest>(&header, _body_bytes, handles, &mut req)?;
5921 let control_handle =
5922 CapabilityFactoryControlHandle { inner: this.inner.clone() };
5923 Ok(CapabilityFactoryRequest::CreateDictionary {
5924 dictionary_server_end: req.dictionary_server_end,
5925
5926 control_handle,
5927 })
5928 }
5929 0x10a5577bdd065d17 => {
5930 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
5931 let mut req = fidl::new_empty!(
5932 CapabilityFactoryCreateConnectorRouterRequest,
5933 fidl::encoding::DefaultFuchsiaResourceDialect
5934 );
5935 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilityFactoryCreateConnectorRouterRequest>(&header, _body_bytes, handles, &mut req)?;
5936 let control_handle =
5937 CapabilityFactoryControlHandle { inner: this.inner.clone() };
5938 Ok(CapabilityFactoryRequest::CreateConnectorRouter {
5939 router_client_end: req.router_client_end,
5940 router_server_end: req.router_server_end,
5941
5942 control_handle,
5943 })
5944 }
5945 0x6da0f55bc0cb6916 => {
5946 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
5947 let mut req = fidl::new_empty!(
5948 CapabilityFactoryCreateDirConnectorRouterRequest,
5949 fidl::encoding::DefaultFuchsiaResourceDialect
5950 );
5951 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilityFactoryCreateDirConnectorRouterRequest>(&header, _body_bytes, handles, &mut req)?;
5952 let control_handle =
5953 CapabilityFactoryControlHandle { inner: this.inner.clone() };
5954 Ok(CapabilityFactoryRequest::CreateDirConnectorRouter {
5955 router_client_end: req.router_client_end,
5956 router_server_end: req.router_server_end,
5957
5958 control_handle,
5959 })
5960 }
5961 0x22f371a3e3cbdf05 => {
5962 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
5963 let mut req = fidl::new_empty!(
5964 CapabilityFactoryCreateDictionaryRouterRequest,
5965 fidl::encoding::DefaultFuchsiaResourceDialect
5966 );
5967 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilityFactoryCreateDictionaryRouterRequest>(&header, _body_bytes, handles, &mut req)?;
5968 let control_handle =
5969 CapabilityFactoryControlHandle { inner: this.inner.clone() };
5970 Ok(CapabilityFactoryRequest::CreateDictionaryRouter {
5971 router_client_end: req.router_client_end,
5972 router_server_end: req.router_server_end,
5973
5974 control_handle,
5975 })
5976 }
5977 0x42ca43500520bd20 => {
5978 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
5979 let mut req = fidl::new_empty!(
5980 CapabilityFactoryCreateDataRouterRequest,
5981 fidl::encoding::DefaultFuchsiaResourceDialect
5982 );
5983 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<CapabilityFactoryCreateDataRouterRequest>(&header, _body_bytes, handles, &mut req)?;
5984 let control_handle =
5985 CapabilityFactoryControlHandle { inner: this.inner.clone() };
5986 Ok(CapabilityFactoryRequest::CreateDataRouter {
5987 router_client_end: req.router_client_end,
5988 router_server_end: req.router_server_end,
5989
5990 control_handle,
5991 })
5992 }
5993 _ if header.tx_id == 0
5994 && header
5995 .dynamic_flags()
5996 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
5997 {
5998 Ok(CapabilityFactoryRequest::_UnknownMethod {
5999 ordinal: header.ordinal,
6000 control_handle: CapabilityFactoryControlHandle {
6001 inner: this.inner.clone(),
6002 },
6003 method_type: fidl::MethodType::OneWay,
6004 })
6005 }
6006 _ if header
6007 .dynamic_flags()
6008 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
6009 {
6010 this.inner.send_framework_err(
6011 fidl::encoding::FrameworkErr::UnknownMethod,
6012 header.tx_id,
6013 header.ordinal,
6014 header.dynamic_flags(),
6015 (bytes, handles),
6016 )?;
6017 Ok(CapabilityFactoryRequest::_UnknownMethod {
6018 ordinal: header.ordinal,
6019 control_handle: CapabilityFactoryControlHandle {
6020 inner: this.inner.clone(),
6021 },
6022 method_type: fidl::MethodType::TwoWay,
6023 })
6024 }
6025 _ => Err(fidl::Error::UnknownOrdinal {
6026 ordinal: header.ordinal,
6027 protocol_name:
6028 <CapabilityFactoryMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
6029 }),
6030 }))
6031 },
6032 )
6033 }
6034}
6035
6036#[derive(Debug)]
6038pub enum CapabilityFactoryRequest {
6039 CreateConnector {
6040 receiver_client_end: fidl::endpoints::ClientEnd<ReceiverMarker>,
6041 connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
6042 control_handle: CapabilityFactoryControlHandle,
6043 },
6044 CreateDirConnector {
6045 dir_receiver_client_end: fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
6046 dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
6047 control_handle: CapabilityFactoryControlHandle,
6048 },
6049 CreateDictionary {
6050 dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
6051 control_handle: CapabilityFactoryControlHandle,
6052 },
6053 CreateConnectorRouter {
6054 router_client_end: fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
6055 router_server_end: fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
6056 control_handle: CapabilityFactoryControlHandle,
6057 },
6058 CreateDirConnectorRouter {
6059 router_client_end: fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
6060 router_server_end: fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
6061 control_handle: CapabilityFactoryControlHandle,
6062 },
6063 CreateDictionaryRouter {
6064 router_client_end: fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
6065 router_server_end: fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
6066 control_handle: CapabilityFactoryControlHandle,
6067 },
6068 CreateDataRouter {
6069 router_client_end: fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
6070 router_server_end: fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
6071 control_handle: CapabilityFactoryControlHandle,
6072 },
6073 #[non_exhaustive]
6075 _UnknownMethod {
6076 ordinal: u64,
6078 control_handle: CapabilityFactoryControlHandle,
6079 method_type: fidl::MethodType,
6080 },
6081}
6082
6083impl CapabilityFactoryRequest {
6084 #[allow(irrefutable_let_patterns)]
6085 pub fn into_create_connector(
6086 self,
6087 ) -> Option<(
6088 fidl::endpoints::ClientEnd<ReceiverMarker>,
6089 fidl::endpoints::ServerEnd<ConnectorMarker>,
6090 CapabilityFactoryControlHandle,
6091 )> {
6092 if let CapabilityFactoryRequest::CreateConnector {
6093 receiver_client_end,
6094 connector_server_end,
6095 control_handle,
6096 } = self
6097 {
6098 Some((receiver_client_end, connector_server_end, control_handle))
6099 } else {
6100 None
6101 }
6102 }
6103
6104 #[allow(irrefutable_let_patterns)]
6105 pub fn into_create_dir_connector(
6106 self,
6107 ) -> Option<(
6108 fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
6109 fidl::endpoints::ServerEnd<DirConnectorMarker>,
6110 CapabilityFactoryControlHandle,
6111 )> {
6112 if let CapabilityFactoryRequest::CreateDirConnector {
6113 dir_receiver_client_end,
6114 dir_connector_server_end,
6115 control_handle,
6116 } = self
6117 {
6118 Some((dir_receiver_client_end, dir_connector_server_end, control_handle))
6119 } else {
6120 None
6121 }
6122 }
6123
6124 #[allow(irrefutable_let_patterns)]
6125 pub fn into_create_dictionary(
6126 self,
6127 ) -> Option<(fidl::endpoints::ServerEnd<DictionaryMarker>, CapabilityFactoryControlHandle)>
6128 {
6129 if let CapabilityFactoryRequest::CreateDictionary {
6130 dictionary_server_end,
6131 control_handle,
6132 } = self
6133 {
6134 Some((dictionary_server_end, control_handle))
6135 } else {
6136 None
6137 }
6138 }
6139
6140 #[allow(irrefutable_let_patterns)]
6141 pub fn into_create_connector_router(
6142 self,
6143 ) -> Option<(
6144 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
6145 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
6146 CapabilityFactoryControlHandle,
6147 )> {
6148 if let CapabilityFactoryRequest::CreateConnectorRouter {
6149 router_client_end,
6150 router_server_end,
6151 control_handle,
6152 } = self
6153 {
6154 Some((router_client_end, router_server_end, control_handle))
6155 } else {
6156 None
6157 }
6158 }
6159
6160 #[allow(irrefutable_let_patterns)]
6161 pub fn into_create_dir_connector_router(
6162 self,
6163 ) -> Option<(
6164 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
6165 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
6166 CapabilityFactoryControlHandle,
6167 )> {
6168 if let CapabilityFactoryRequest::CreateDirConnectorRouter {
6169 router_client_end,
6170 router_server_end,
6171 control_handle,
6172 } = self
6173 {
6174 Some((router_client_end, router_server_end, control_handle))
6175 } else {
6176 None
6177 }
6178 }
6179
6180 #[allow(irrefutable_let_patterns)]
6181 pub fn into_create_dictionary_router(
6182 self,
6183 ) -> Option<(
6184 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
6185 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
6186 CapabilityFactoryControlHandle,
6187 )> {
6188 if let CapabilityFactoryRequest::CreateDictionaryRouter {
6189 router_client_end,
6190 router_server_end,
6191 control_handle,
6192 } = self
6193 {
6194 Some((router_client_end, router_server_end, control_handle))
6195 } else {
6196 None
6197 }
6198 }
6199
6200 #[allow(irrefutable_let_patterns)]
6201 pub fn into_create_data_router(
6202 self,
6203 ) -> Option<(
6204 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
6205 fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
6206 CapabilityFactoryControlHandle,
6207 )> {
6208 if let CapabilityFactoryRequest::CreateDataRouter {
6209 router_client_end,
6210 router_server_end,
6211 control_handle,
6212 } = self
6213 {
6214 Some((router_client_end, router_server_end, control_handle))
6215 } else {
6216 None
6217 }
6218 }
6219
6220 pub fn method_name(&self) -> &'static str {
6222 match *self {
6223 CapabilityFactoryRequest::CreateConnector { .. } => "create_connector",
6224 CapabilityFactoryRequest::CreateDirConnector { .. } => "create_dir_connector",
6225 CapabilityFactoryRequest::CreateDictionary { .. } => "create_dictionary",
6226 CapabilityFactoryRequest::CreateConnectorRouter { .. } => "create_connector_router",
6227 CapabilityFactoryRequest::CreateDirConnectorRouter { .. } => {
6228 "create_dir_connector_router"
6229 }
6230 CapabilityFactoryRequest::CreateDictionaryRouter { .. } => "create_dictionary_router",
6231 CapabilityFactoryRequest::CreateDataRouter { .. } => "create_data_router",
6232 CapabilityFactoryRequest::_UnknownMethod {
6233 method_type: fidl::MethodType::OneWay,
6234 ..
6235 } => "unknown one-way method",
6236 CapabilityFactoryRequest::_UnknownMethod {
6237 method_type: fidl::MethodType::TwoWay,
6238 ..
6239 } => "unknown two-way method",
6240 }
6241 }
6242}
6243
6244#[derive(Debug, Clone)]
6245pub struct CapabilityFactoryControlHandle {
6246 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
6247}
6248
6249impl fidl::endpoints::ControlHandle for CapabilityFactoryControlHandle {
6250 fn shutdown(&self) {
6251 self.inner.shutdown()
6252 }
6253
6254 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
6255 self.inner.shutdown_with_epitaph(status)
6256 }
6257
6258 fn is_closed(&self) -> bool {
6259 self.inner.channel().is_closed()
6260 }
6261 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
6262 self.inner.channel().on_closed()
6263 }
6264
6265 #[cfg(target_os = "fuchsia")]
6266 fn signal_peer(
6267 &self,
6268 clear_mask: zx::Signals,
6269 set_mask: zx::Signals,
6270 ) -> Result<(), zx_status::Status> {
6271 use fidl::Peered;
6272 self.inner.channel().signal_peer(clear_mask, set_mask)
6273 }
6274}
6275
6276impl CapabilityFactoryControlHandle {}
6277
6278#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
6279pub struct ConnectorMarker;
6280
6281impl fidl::endpoints::ProtocolMarker for ConnectorMarker {
6282 type Proxy = ConnectorProxy;
6283 type RequestStream = ConnectorRequestStream;
6284 #[cfg(target_os = "fuchsia")]
6285 type SynchronousProxy = ConnectorSynchronousProxy;
6286
6287 const DEBUG_NAME: &'static str = "(anonymous) Connector";
6288}
6289
6290pub trait ConnectorProxyInterface: Send + Sync {
6291 fn r#clone(
6292 &self,
6293 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
6294 ) -> Result<(), fidl::Error>;
6295 fn r#connect(&self, channel: fidl::Channel) -> Result<(), fidl::Error>;
6296}
6297#[derive(Debug)]
6298#[cfg(target_os = "fuchsia")]
6299pub struct ConnectorSynchronousProxy {
6300 client: fidl::client::sync::Client,
6301}
6302
6303#[cfg(target_os = "fuchsia")]
6304impl fidl::endpoints::SynchronousProxy for ConnectorSynchronousProxy {
6305 type Proxy = ConnectorProxy;
6306 type Protocol = ConnectorMarker;
6307
6308 fn from_channel(inner: fidl::Channel) -> Self {
6309 Self::new(inner)
6310 }
6311
6312 fn into_channel(self) -> fidl::Channel {
6313 self.client.into_channel()
6314 }
6315
6316 fn as_channel(&self) -> &fidl::Channel {
6317 self.client.as_channel()
6318 }
6319}
6320
6321#[cfg(target_os = "fuchsia")]
6322impl ConnectorSynchronousProxy {
6323 pub fn new(channel: fidl::Channel) -> Self {
6324 let protocol_name = <ConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
6325 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
6326 }
6327
6328 pub fn into_channel(self) -> fidl::Channel {
6329 self.client.into_channel()
6330 }
6331
6332 pub fn wait_for_event(
6335 &self,
6336 deadline: zx::MonotonicInstant,
6337 ) -> Result<ConnectorEvent, fidl::Error> {
6338 ConnectorEvent::decode(self.client.wait_for_event(deadline)?)
6339 }
6340
6341 pub fn r#clone(
6342 &self,
6343 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
6344 ) -> Result<(), fidl::Error> {
6345 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
6346 (request,),
6347 0x20d8a7aba2168a79,
6348 fidl::encoding::DynamicFlags::empty(),
6349 )
6350 }
6351
6352 pub fn r#connect(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
6354 self.client.send::<ConnectorConnectRequest>(
6355 (channel,),
6356 0x1c0c1727bd474e02,
6357 fidl::encoding::DynamicFlags::FLEXIBLE,
6358 )
6359 }
6360}
6361
6362#[cfg(target_os = "fuchsia")]
6363impl From<ConnectorSynchronousProxy> for zx::NullableHandle {
6364 fn from(value: ConnectorSynchronousProxy) -> Self {
6365 value.into_channel().into()
6366 }
6367}
6368
6369#[cfg(target_os = "fuchsia")]
6370impl From<fidl::Channel> for ConnectorSynchronousProxy {
6371 fn from(value: fidl::Channel) -> Self {
6372 Self::new(value)
6373 }
6374}
6375
6376#[cfg(target_os = "fuchsia")]
6377impl fidl::endpoints::FromClient for ConnectorSynchronousProxy {
6378 type Protocol = ConnectorMarker;
6379
6380 fn from_client(value: fidl::endpoints::ClientEnd<ConnectorMarker>) -> Self {
6381 Self::new(value.into_channel())
6382 }
6383}
6384
6385#[derive(Debug, Clone)]
6386pub struct ConnectorProxy {
6387 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
6388}
6389
6390impl fidl::endpoints::Proxy for ConnectorProxy {
6391 type Protocol = ConnectorMarker;
6392
6393 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
6394 Self::new(inner)
6395 }
6396
6397 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
6398 self.client.into_channel().map_err(|client| Self { client })
6399 }
6400
6401 fn as_channel(&self) -> &::fidl::AsyncChannel {
6402 self.client.as_channel()
6403 }
6404}
6405
6406impl ConnectorProxy {
6407 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
6409 let protocol_name = <ConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
6410 Self { client: fidl::client::Client::new(channel, protocol_name) }
6411 }
6412
6413 pub fn take_event_stream(&self) -> ConnectorEventStream {
6419 ConnectorEventStream { event_receiver: self.client.take_event_receiver() }
6420 }
6421
6422 pub fn r#clone(
6423 &self,
6424 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
6425 ) -> Result<(), fidl::Error> {
6426 ConnectorProxyInterface::r#clone(self, request)
6427 }
6428
6429 pub fn r#connect(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
6431 ConnectorProxyInterface::r#connect(self, channel)
6432 }
6433}
6434
6435impl ConnectorProxyInterface for ConnectorProxy {
6436 fn r#clone(
6437 &self,
6438 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
6439 ) -> Result<(), fidl::Error> {
6440 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
6441 (request,),
6442 0x20d8a7aba2168a79,
6443 fidl::encoding::DynamicFlags::empty(),
6444 )
6445 }
6446
6447 fn r#connect(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
6448 self.client.send::<ConnectorConnectRequest>(
6449 (channel,),
6450 0x1c0c1727bd474e02,
6451 fidl::encoding::DynamicFlags::FLEXIBLE,
6452 )
6453 }
6454}
6455
6456pub struct ConnectorEventStream {
6457 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
6458}
6459
6460impl std::marker::Unpin for ConnectorEventStream {}
6461
6462impl futures::stream::FusedStream for ConnectorEventStream {
6463 fn is_terminated(&self) -> bool {
6464 self.event_receiver.is_terminated()
6465 }
6466}
6467
6468impl futures::Stream for ConnectorEventStream {
6469 type Item = Result<ConnectorEvent, fidl::Error>;
6470
6471 fn poll_next(
6472 mut self: std::pin::Pin<&mut Self>,
6473 cx: &mut std::task::Context<'_>,
6474 ) -> std::task::Poll<Option<Self::Item>> {
6475 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
6476 &mut self.event_receiver,
6477 cx
6478 )?) {
6479 Some(buf) => std::task::Poll::Ready(Some(ConnectorEvent::decode(buf))),
6480 None => std::task::Poll::Ready(None),
6481 }
6482 }
6483}
6484
6485#[derive(Debug)]
6486pub enum ConnectorEvent {
6487 #[non_exhaustive]
6488 _UnknownEvent {
6489 ordinal: u64,
6491 },
6492}
6493
6494impl ConnectorEvent {
6495 fn decode(
6497 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
6498 ) -> Result<ConnectorEvent, fidl::Error> {
6499 let (bytes, _handles) = buf.split_mut();
6500 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
6501 debug_assert_eq!(tx_header.tx_id, 0);
6502 match tx_header.ordinal {
6503 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
6504 Ok(ConnectorEvent::_UnknownEvent { ordinal: tx_header.ordinal })
6505 }
6506 _ => Err(fidl::Error::UnknownOrdinal {
6507 ordinal: tx_header.ordinal,
6508 protocol_name: <ConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
6509 }),
6510 }
6511 }
6512}
6513
6514pub struct ConnectorRequestStream {
6516 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
6517 is_terminated: bool,
6518}
6519
6520impl std::marker::Unpin for ConnectorRequestStream {}
6521
6522impl futures::stream::FusedStream for ConnectorRequestStream {
6523 fn is_terminated(&self) -> bool {
6524 self.is_terminated
6525 }
6526}
6527
6528impl fidl::endpoints::RequestStream for ConnectorRequestStream {
6529 type Protocol = ConnectorMarker;
6530 type ControlHandle = ConnectorControlHandle;
6531
6532 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
6533 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
6534 }
6535
6536 fn control_handle(&self) -> Self::ControlHandle {
6537 ConnectorControlHandle { inner: self.inner.clone() }
6538 }
6539
6540 fn into_inner(
6541 self,
6542 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
6543 {
6544 (self.inner, self.is_terminated)
6545 }
6546
6547 fn from_inner(
6548 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
6549 is_terminated: bool,
6550 ) -> Self {
6551 Self { inner, is_terminated }
6552 }
6553}
6554
6555impl futures::Stream for ConnectorRequestStream {
6556 type Item = Result<ConnectorRequest, fidl::Error>;
6557
6558 fn poll_next(
6559 mut self: std::pin::Pin<&mut Self>,
6560 cx: &mut std::task::Context<'_>,
6561 ) -> std::task::Poll<Option<Self::Item>> {
6562 let this = &mut *self;
6563 if this.inner.check_shutdown(cx) {
6564 this.is_terminated = true;
6565 return std::task::Poll::Ready(None);
6566 }
6567 if this.is_terminated {
6568 panic!("polled ConnectorRequestStream after completion");
6569 }
6570 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
6571 |bytes, handles| {
6572 match this.inner.channel().read_etc(cx, bytes, handles) {
6573 std::task::Poll::Ready(Ok(())) => {}
6574 std::task::Poll::Pending => return std::task::Poll::Pending,
6575 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
6576 this.is_terminated = true;
6577 return std::task::Poll::Ready(None);
6578 }
6579 std::task::Poll::Ready(Err(e)) => {
6580 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
6581 e.into(),
6582 ))));
6583 }
6584 }
6585
6586 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
6588
6589 std::task::Poll::Ready(Some(match header.ordinal {
6590 0x20d8a7aba2168a79 => {
6591 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
6592 let mut req = fidl::new_empty!(
6593 fidl_fuchsia_unknown::CloneableCloneRequest,
6594 fidl::encoding::DefaultFuchsiaResourceDialect
6595 );
6596 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
6597 let control_handle = ConnectorControlHandle { inner: this.inner.clone() };
6598 Ok(ConnectorRequest::Clone { request: req.request, control_handle })
6599 }
6600 0x1c0c1727bd474e02 => {
6601 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
6602 let mut req = fidl::new_empty!(
6603 ConnectorConnectRequest,
6604 fidl::encoding::DefaultFuchsiaResourceDialect
6605 );
6606 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ConnectorConnectRequest>(&header, _body_bytes, handles, &mut req)?;
6607 let control_handle = ConnectorControlHandle { inner: this.inner.clone() };
6608 Ok(ConnectorRequest::Connect { channel: req.channel, control_handle })
6609 }
6610 _ if header.tx_id == 0
6611 && header
6612 .dynamic_flags()
6613 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
6614 {
6615 Ok(ConnectorRequest::_UnknownMethod {
6616 ordinal: header.ordinal,
6617 control_handle: ConnectorControlHandle { inner: this.inner.clone() },
6618 method_type: fidl::MethodType::OneWay,
6619 })
6620 }
6621 _ if header
6622 .dynamic_flags()
6623 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
6624 {
6625 this.inner.send_framework_err(
6626 fidl::encoding::FrameworkErr::UnknownMethod,
6627 header.tx_id,
6628 header.ordinal,
6629 header.dynamic_flags(),
6630 (bytes, handles),
6631 )?;
6632 Ok(ConnectorRequest::_UnknownMethod {
6633 ordinal: header.ordinal,
6634 control_handle: ConnectorControlHandle { inner: this.inner.clone() },
6635 method_type: fidl::MethodType::TwoWay,
6636 })
6637 }
6638 _ => Err(fidl::Error::UnknownOrdinal {
6639 ordinal: header.ordinal,
6640 protocol_name:
6641 <ConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
6642 }),
6643 }))
6644 },
6645 )
6646 }
6647}
6648
6649#[derive(Debug)]
6653pub enum ConnectorRequest {
6654 Clone {
6655 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
6656 control_handle: ConnectorControlHandle,
6657 },
6658 Connect { channel: fidl::Channel, control_handle: ConnectorControlHandle },
6660 #[non_exhaustive]
6662 _UnknownMethod {
6663 ordinal: u64,
6665 control_handle: ConnectorControlHandle,
6666 method_type: fidl::MethodType,
6667 },
6668}
6669
6670impl ConnectorRequest {
6671 #[allow(irrefutable_let_patterns)]
6672 pub fn into_clone(
6673 self,
6674 ) -> Option<(
6675 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
6676 ConnectorControlHandle,
6677 )> {
6678 if let ConnectorRequest::Clone { request, control_handle } = self {
6679 Some((request, control_handle))
6680 } else {
6681 None
6682 }
6683 }
6684
6685 #[allow(irrefutable_let_patterns)]
6686 pub fn into_connect(self) -> Option<(fidl::Channel, ConnectorControlHandle)> {
6687 if let ConnectorRequest::Connect { channel, control_handle } = self {
6688 Some((channel, control_handle))
6689 } else {
6690 None
6691 }
6692 }
6693
6694 pub fn method_name(&self) -> &'static str {
6696 match *self {
6697 ConnectorRequest::Clone { .. } => "clone",
6698 ConnectorRequest::Connect { .. } => "connect",
6699 ConnectorRequest::_UnknownMethod { method_type: fidl::MethodType::OneWay, .. } => {
6700 "unknown one-way method"
6701 }
6702 ConnectorRequest::_UnknownMethod { method_type: fidl::MethodType::TwoWay, .. } => {
6703 "unknown two-way method"
6704 }
6705 }
6706 }
6707}
6708
6709#[derive(Debug, Clone)]
6710pub struct ConnectorControlHandle {
6711 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
6712}
6713
6714impl fidl::endpoints::ControlHandle for ConnectorControlHandle {
6715 fn shutdown(&self) {
6716 self.inner.shutdown()
6717 }
6718
6719 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
6720 self.inner.shutdown_with_epitaph(status)
6721 }
6722
6723 fn is_closed(&self) -> bool {
6724 self.inner.channel().is_closed()
6725 }
6726 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
6727 self.inner.channel().on_closed()
6728 }
6729
6730 #[cfg(target_os = "fuchsia")]
6731 fn signal_peer(
6732 &self,
6733 clear_mask: zx::Signals,
6734 set_mask: zx::Signals,
6735 ) -> Result<(), zx_status::Status> {
6736 use fidl::Peered;
6737 self.inner.channel().signal_peer(clear_mask, set_mask)
6738 }
6739}
6740
6741impl ConnectorControlHandle {}
6742
6743#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
6744pub struct ConnectorRouterMarker;
6745
6746impl fidl::endpoints::ProtocolMarker for ConnectorRouterMarker {
6747 type Proxy = ConnectorRouterProxy;
6748 type RequestStream = ConnectorRouterRequestStream;
6749 #[cfg(target_os = "fuchsia")]
6750 type SynchronousProxy = ConnectorRouterSynchronousProxy;
6751
6752 const DEBUG_NAME: &'static str = "(anonymous) ConnectorRouter";
6753}
6754pub type ConnectorRouterRouteResult = Result<RouterResponse, RouterError>;
6755
6756pub trait ConnectorRouterProxyInterface: Send + Sync {
6757 type RouteResponseFut: std::future::Future<Output = Result<ConnectorRouterRouteResult, fidl::Error>>
6758 + Send;
6759 fn r#route(
6760 &self,
6761 request: RouteRequest,
6762 instance_token: fidl::EventPair,
6763 handle: fidl::EventPair,
6764 ) -> Self::RouteResponseFut;
6765}
6766#[derive(Debug)]
6767#[cfg(target_os = "fuchsia")]
6768pub struct ConnectorRouterSynchronousProxy {
6769 client: fidl::client::sync::Client,
6770}
6771
6772#[cfg(target_os = "fuchsia")]
6773impl fidl::endpoints::SynchronousProxy for ConnectorRouterSynchronousProxy {
6774 type Proxy = ConnectorRouterProxy;
6775 type Protocol = ConnectorRouterMarker;
6776
6777 fn from_channel(inner: fidl::Channel) -> Self {
6778 Self::new(inner)
6779 }
6780
6781 fn into_channel(self) -> fidl::Channel {
6782 self.client.into_channel()
6783 }
6784
6785 fn as_channel(&self) -> &fidl::Channel {
6786 self.client.as_channel()
6787 }
6788}
6789
6790#[cfg(target_os = "fuchsia")]
6791impl ConnectorRouterSynchronousProxy {
6792 pub fn new(channel: fidl::Channel) -> Self {
6793 let protocol_name = <ConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
6794 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
6795 }
6796
6797 pub fn into_channel(self) -> fidl::Channel {
6798 self.client.into_channel()
6799 }
6800
6801 pub fn wait_for_event(
6804 &self,
6805 deadline: zx::MonotonicInstant,
6806 ) -> Result<ConnectorRouterEvent, fidl::Error> {
6807 ConnectorRouterEvent::decode(self.client.wait_for_event(deadline)?)
6808 }
6809
6810 pub fn r#route(
6824 &self,
6825 mut request: RouteRequest,
6826 mut instance_token: fidl::EventPair,
6827 mut handle: fidl::EventPair,
6828 ___deadline: zx::MonotonicInstant,
6829 ) -> Result<ConnectorRouterRouteResult, fidl::Error> {
6830 let _response = self.client.send_query::<
6831 ConnectorRouterRouteRequest,
6832 fidl::encoding::FlexibleResultType<ConnectorRouterRouteResponse, RouterError>,
6833 >(
6834 (&mut request, instance_token, handle,),
6835 0x57a912c92a38f9f8,
6836 fidl::encoding::DynamicFlags::FLEXIBLE,
6837 ___deadline,
6838 )?
6839 .into_result::<ConnectorRouterMarker>("route")?;
6840 Ok(_response.map(|x| x.response))
6841 }
6842}
6843
6844#[cfg(target_os = "fuchsia")]
6845impl From<ConnectorRouterSynchronousProxy> for zx::NullableHandle {
6846 fn from(value: ConnectorRouterSynchronousProxy) -> Self {
6847 value.into_channel().into()
6848 }
6849}
6850
6851#[cfg(target_os = "fuchsia")]
6852impl From<fidl::Channel> for ConnectorRouterSynchronousProxy {
6853 fn from(value: fidl::Channel) -> Self {
6854 Self::new(value)
6855 }
6856}
6857
6858#[cfg(target_os = "fuchsia")]
6859impl fidl::endpoints::FromClient for ConnectorRouterSynchronousProxy {
6860 type Protocol = ConnectorRouterMarker;
6861
6862 fn from_client(value: fidl::endpoints::ClientEnd<ConnectorRouterMarker>) -> Self {
6863 Self::new(value.into_channel())
6864 }
6865}
6866
6867#[derive(Debug, Clone)]
6868pub struct ConnectorRouterProxy {
6869 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
6870}
6871
6872impl fidl::endpoints::Proxy for ConnectorRouterProxy {
6873 type Protocol = ConnectorRouterMarker;
6874
6875 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
6876 Self::new(inner)
6877 }
6878
6879 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
6880 self.client.into_channel().map_err(|client| Self { client })
6881 }
6882
6883 fn as_channel(&self) -> &::fidl::AsyncChannel {
6884 self.client.as_channel()
6885 }
6886}
6887
6888impl ConnectorRouterProxy {
6889 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
6891 let protocol_name = <ConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
6892 Self { client: fidl::client::Client::new(channel, protocol_name) }
6893 }
6894
6895 pub fn take_event_stream(&self) -> ConnectorRouterEventStream {
6901 ConnectorRouterEventStream { event_receiver: self.client.take_event_receiver() }
6902 }
6903
6904 pub fn r#route(
6918 &self,
6919 mut request: RouteRequest,
6920 mut instance_token: fidl::EventPair,
6921 mut handle: fidl::EventPair,
6922 ) -> fidl::client::QueryResponseFut<
6923 ConnectorRouterRouteResult,
6924 fidl::encoding::DefaultFuchsiaResourceDialect,
6925 > {
6926 ConnectorRouterProxyInterface::r#route(self, request, instance_token, handle)
6927 }
6928}
6929
6930impl ConnectorRouterProxyInterface for ConnectorRouterProxy {
6931 type RouteResponseFut = fidl::client::QueryResponseFut<
6932 ConnectorRouterRouteResult,
6933 fidl::encoding::DefaultFuchsiaResourceDialect,
6934 >;
6935 fn r#route(
6936 &self,
6937 mut request: RouteRequest,
6938 mut instance_token: fidl::EventPair,
6939 mut handle: fidl::EventPair,
6940 ) -> Self::RouteResponseFut {
6941 fn _decode(
6942 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6943 ) -> Result<ConnectorRouterRouteResult, fidl::Error> {
6944 let _response = fidl::client::decode_transaction_body::<
6945 fidl::encoding::FlexibleResultType<ConnectorRouterRouteResponse, RouterError>,
6946 fidl::encoding::DefaultFuchsiaResourceDialect,
6947 0x57a912c92a38f9f8,
6948 >(_buf?)?
6949 .into_result::<ConnectorRouterMarker>("route")?;
6950 Ok(_response.map(|x| x.response))
6951 }
6952 self.client
6953 .send_query_and_decode::<ConnectorRouterRouteRequest, ConnectorRouterRouteResult>(
6954 (&mut request, instance_token, handle),
6955 0x57a912c92a38f9f8,
6956 fidl::encoding::DynamicFlags::FLEXIBLE,
6957 _decode,
6958 )
6959 }
6960}
6961
6962pub struct ConnectorRouterEventStream {
6963 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
6964}
6965
6966impl std::marker::Unpin for ConnectorRouterEventStream {}
6967
6968impl futures::stream::FusedStream for ConnectorRouterEventStream {
6969 fn is_terminated(&self) -> bool {
6970 self.event_receiver.is_terminated()
6971 }
6972}
6973
6974impl futures::Stream for ConnectorRouterEventStream {
6975 type Item = Result<ConnectorRouterEvent, fidl::Error>;
6976
6977 fn poll_next(
6978 mut self: std::pin::Pin<&mut Self>,
6979 cx: &mut std::task::Context<'_>,
6980 ) -> std::task::Poll<Option<Self::Item>> {
6981 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
6982 &mut self.event_receiver,
6983 cx
6984 )?) {
6985 Some(buf) => std::task::Poll::Ready(Some(ConnectorRouterEvent::decode(buf))),
6986 None => std::task::Poll::Ready(None),
6987 }
6988 }
6989}
6990
6991#[derive(Debug)]
6992pub enum ConnectorRouterEvent {
6993 #[non_exhaustive]
6994 _UnknownEvent {
6995 ordinal: u64,
6997 },
6998}
6999
7000impl ConnectorRouterEvent {
7001 fn decode(
7003 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
7004 ) -> Result<ConnectorRouterEvent, fidl::Error> {
7005 let (bytes, _handles) = buf.split_mut();
7006 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
7007 debug_assert_eq!(tx_header.tx_id, 0);
7008 match tx_header.ordinal {
7009 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
7010 Ok(ConnectorRouterEvent::_UnknownEvent { ordinal: tx_header.ordinal })
7011 }
7012 _ => Err(fidl::Error::UnknownOrdinal {
7013 ordinal: tx_header.ordinal,
7014 protocol_name:
7015 <ConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
7016 }),
7017 }
7018 }
7019}
7020
7021pub struct ConnectorRouterRequestStream {
7023 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7024 is_terminated: bool,
7025}
7026
7027impl std::marker::Unpin for ConnectorRouterRequestStream {}
7028
7029impl futures::stream::FusedStream for ConnectorRouterRequestStream {
7030 fn is_terminated(&self) -> bool {
7031 self.is_terminated
7032 }
7033}
7034
7035impl fidl::endpoints::RequestStream for ConnectorRouterRequestStream {
7036 type Protocol = ConnectorRouterMarker;
7037 type ControlHandle = ConnectorRouterControlHandle;
7038
7039 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
7040 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
7041 }
7042
7043 fn control_handle(&self) -> Self::ControlHandle {
7044 ConnectorRouterControlHandle { inner: self.inner.clone() }
7045 }
7046
7047 fn into_inner(
7048 self,
7049 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
7050 {
7051 (self.inner, self.is_terminated)
7052 }
7053
7054 fn from_inner(
7055 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7056 is_terminated: bool,
7057 ) -> Self {
7058 Self { inner, is_terminated }
7059 }
7060}
7061
7062impl futures::Stream for ConnectorRouterRequestStream {
7063 type Item = Result<ConnectorRouterRequest, fidl::Error>;
7064
7065 fn poll_next(
7066 mut self: std::pin::Pin<&mut Self>,
7067 cx: &mut std::task::Context<'_>,
7068 ) -> std::task::Poll<Option<Self::Item>> {
7069 let this = &mut *self;
7070 if this.inner.check_shutdown(cx) {
7071 this.is_terminated = true;
7072 return std::task::Poll::Ready(None);
7073 }
7074 if this.is_terminated {
7075 panic!("polled ConnectorRouterRequestStream after completion");
7076 }
7077 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
7078 |bytes, handles| {
7079 match this.inner.channel().read_etc(cx, bytes, handles) {
7080 std::task::Poll::Ready(Ok(())) => {}
7081 std::task::Poll::Pending => return std::task::Poll::Pending,
7082 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
7083 this.is_terminated = true;
7084 return std::task::Poll::Ready(None);
7085 }
7086 std::task::Poll::Ready(Err(e)) => {
7087 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
7088 e.into(),
7089 ))));
7090 }
7091 }
7092
7093 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
7095
7096 std::task::Poll::Ready(Some(match header.ordinal {
7097 0x57a912c92a38f9f8 => {
7098 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7099 let mut req = fidl::new_empty!(
7100 ConnectorRouterRouteRequest,
7101 fidl::encoding::DefaultFuchsiaResourceDialect
7102 );
7103 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ConnectorRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
7104 let control_handle =
7105 ConnectorRouterControlHandle { inner: this.inner.clone() };
7106 Ok(ConnectorRouterRequest::Route {
7107 request: req.request,
7108 instance_token: req.instance_token,
7109 handle: req.handle,
7110
7111 responder: ConnectorRouterRouteResponder {
7112 control_handle: std::mem::ManuallyDrop::new(control_handle),
7113 tx_id: header.tx_id,
7114 },
7115 })
7116 }
7117 _ if header.tx_id == 0
7118 && header
7119 .dynamic_flags()
7120 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
7121 {
7122 Ok(ConnectorRouterRequest::_UnknownMethod {
7123 ordinal: header.ordinal,
7124 control_handle: ConnectorRouterControlHandle {
7125 inner: this.inner.clone(),
7126 },
7127 method_type: fidl::MethodType::OneWay,
7128 })
7129 }
7130 _ if header
7131 .dynamic_flags()
7132 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
7133 {
7134 this.inner.send_framework_err(
7135 fidl::encoding::FrameworkErr::UnknownMethod,
7136 header.tx_id,
7137 header.ordinal,
7138 header.dynamic_flags(),
7139 (bytes, handles),
7140 )?;
7141 Ok(ConnectorRouterRequest::_UnknownMethod {
7142 ordinal: header.ordinal,
7143 control_handle: ConnectorRouterControlHandle {
7144 inner: this.inner.clone(),
7145 },
7146 method_type: fidl::MethodType::TwoWay,
7147 })
7148 }
7149 _ => Err(fidl::Error::UnknownOrdinal {
7150 ordinal: header.ordinal,
7151 protocol_name:
7152 <ConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
7153 }),
7154 }))
7155 },
7156 )
7157 }
7158}
7159
7160#[derive(Debug)]
7162pub enum ConnectorRouterRequest {
7163 Route {
7177 request: RouteRequest,
7178 instance_token: fidl::EventPair,
7179 handle: fidl::EventPair,
7180 responder: ConnectorRouterRouteResponder,
7181 },
7182 #[non_exhaustive]
7184 _UnknownMethod {
7185 ordinal: u64,
7187 control_handle: ConnectorRouterControlHandle,
7188 method_type: fidl::MethodType,
7189 },
7190}
7191
7192impl ConnectorRouterRequest {
7193 #[allow(irrefutable_let_patterns)]
7194 pub fn into_route(
7195 self,
7196 ) -> Option<(RouteRequest, fidl::EventPair, fidl::EventPair, ConnectorRouterRouteResponder)>
7197 {
7198 if let ConnectorRouterRequest::Route { request, instance_token, handle, responder } = self {
7199 Some((request, instance_token, handle, responder))
7200 } else {
7201 None
7202 }
7203 }
7204
7205 pub fn method_name(&self) -> &'static str {
7207 match *self {
7208 ConnectorRouterRequest::Route { .. } => "route",
7209 ConnectorRouterRequest::_UnknownMethod {
7210 method_type: fidl::MethodType::OneWay,
7211 ..
7212 } => "unknown one-way method",
7213 ConnectorRouterRequest::_UnknownMethod {
7214 method_type: fidl::MethodType::TwoWay,
7215 ..
7216 } => "unknown two-way method",
7217 }
7218 }
7219}
7220
7221#[derive(Debug, Clone)]
7222pub struct ConnectorRouterControlHandle {
7223 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7224}
7225
7226impl fidl::endpoints::ControlHandle for ConnectorRouterControlHandle {
7227 fn shutdown(&self) {
7228 self.inner.shutdown()
7229 }
7230
7231 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
7232 self.inner.shutdown_with_epitaph(status)
7233 }
7234
7235 fn is_closed(&self) -> bool {
7236 self.inner.channel().is_closed()
7237 }
7238 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
7239 self.inner.channel().on_closed()
7240 }
7241
7242 #[cfg(target_os = "fuchsia")]
7243 fn signal_peer(
7244 &self,
7245 clear_mask: zx::Signals,
7246 set_mask: zx::Signals,
7247 ) -> Result<(), zx_status::Status> {
7248 use fidl::Peered;
7249 self.inner.channel().signal_peer(clear_mask, set_mask)
7250 }
7251}
7252
7253impl ConnectorRouterControlHandle {}
7254
7255#[must_use = "FIDL methods require a response to be sent"]
7256#[derive(Debug)]
7257pub struct ConnectorRouterRouteResponder {
7258 control_handle: std::mem::ManuallyDrop<ConnectorRouterControlHandle>,
7259 tx_id: u32,
7260}
7261
7262impl std::ops::Drop for ConnectorRouterRouteResponder {
7266 fn drop(&mut self) {
7267 self.control_handle.shutdown();
7268 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
7270 }
7271}
7272
7273impl fidl::endpoints::Responder for ConnectorRouterRouteResponder {
7274 type ControlHandle = ConnectorRouterControlHandle;
7275
7276 fn control_handle(&self) -> &ConnectorRouterControlHandle {
7277 &self.control_handle
7278 }
7279
7280 fn drop_without_shutdown(mut self) {
7281 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
7283 std::mem::forget(self);
7285 }
7286}
7287
7288impl ConnectorRouterRouteResponder {
7289 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
7293 let _result = self.send_raw(result);
7294 if _result.is_err() {
7295 self.control_handle.shutdown();
7296 }
7297 self.drop_without_shutdown();
7298 _result
7299 }
7300
7301 pub fn send_no_shutdown_on_err(
7303 self,
7304 mut result: Result<RouterResponse, RouterError>,
7305 ) -> Result<(), fidl::Error> {
7306 let _result = self.send_raw(result);
7307 self.drop_without_shutdown();
7308 _result
7309 }
7310
7311 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
7312 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
7313 ConnectorRouterRouteResponse,
7314 RouterError,
7315 >>(
7316 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
7317 self.tx_id,
7318 0x57a912c92a38f9f8,
7319 fidl::encoding::DynamicFlags::FLEXIBLE,
7320 )
7321 }
7322}
7323
7324#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
7325pub struct ConnectorRouterDeprecatedMarker;
7326
7327impl fidl::endpoints::ProtocolMarker for ConnectorRouterDeprecatedMarker {
7328 type Proxy = ConnectorRouterDeprecatedProxy;
7329 type RequestStream = ConnectorRouterDeprecatedRequestStream;
7330 #[cfg(target_os = "fuchsia")]
7331 type SynchronousProxy = ConnectorRouterDeprecatedSynchronousProxy;
7332
7333 const DEBUG_NAME: &'static str = "(anonymous) ConnectorRouterDeprecated";
7334}
7335pub type ConnectorRouterDeprecatedRouteResult = Result<RouterResponse, RouterError>;
7336
7337pub trait ConnectorRouterDeprecatedProxyInterface: Send + Sync {
7338 fn r#clone(
7339 &self,
7340 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
7341 ) -> Result<(), fidl::Error>;
7342 type RouteResponseFut: std::future::Future<Output = Result<ConnectorRouterDeprecatedRouteResult, fidl::Error>>
7343 + Send;
7344 fn r#route(
7345 &self,
7346 request: DeprecatedRouteRequest,
7347 connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
7348 ) -> Self::RouteResponseFut;
7349}
7350#[derive(Debug)]
7351#[cfg(target_os = "fuchsia")]
7352pub struct ConnectorRouterDeprecatedSynchronousProxy {
7353 client: fidl::client::sync::Client,
7354}
7355
7356#[cfg(target_os = "fuchsia")]
7357impl fidl::endpoints::SynchronousProxy for ConnectorRouterDeprecatedSynchronousProxy {
7358 type Proxy = ConnectorRouterDeprecatedProxy;
7359 type Protocol = ConnectorRouterDeprecatedMarker;
7360
7361 fn from_channel(inner: fidl::Channel) -> Self {
7362 Self::new(inner)
7363 }
7364
7365 fn into_channel(self) -> fidl::Channel {
7366 self.client.into_channel()
7367 }
7368
7369 fn as_channel(&self) -> &fidl::Channel {
7370 self.client.as_channel()
7371 }
7372}
7373
7374#[cfg(target_os = "fuchsia")]
7375impl ConnectorRouterDeprecatedSynchronousProxy {
7376 pub fn new(channel: fidl::Channel) -> Self {
7377 let protocol_name =
7378 <ConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
7379 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
7380 }
7381
7382 pub fn into_channel(self) -> fidl::Channel {
7383 self.client.into_channel()
7384 }
7385
7386 pub fn wait_for_event(
7389 &self,
7390 deadline: zx::MonotonicInstant,
7391 ) -> Result<ConnectorRouterDeprecatedEvent, fidl::Error> {
7392 ConnectorRouterDeprecatedEvent::decode(self.client.wait_for_event(deadline)?)
7393 }
7394
7395 pub fn r#clone(
7396 &self,
7397 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
7398 ) -> Result<(), fidl::Error> {
7399 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
7400 (request,),
7401 0x20d8a7aba2168a79,
7402 fidl::encoding::DynamicFlags::empty(),
7403 )
7404 }
7405
7406 pub fn r#route(
7415 &self,
7416 mut request: DeprecatedRouteRequest,
7417 mut connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
7418 ___deadline: zx::MonotonicInstant,
7419 ) -> Result<ConnectorRouterDeprecatedRouteResult, fidl::Error> {
7420 let _response = self.client.send_query::<
7421 ConnectorRouterDeprecatedRouteRequest,
7422 fidl::encoding::FlexibleResultType<ConnectorRouterDeprecatedRouteResponse, RouterError>,
7423 >(
7424 (&mut request, connector_server_end,),
7425 0x1b7810fe6a37ff32,
7426 fidl::encoding::DynamicFlags::FLEXIBLE,
7427 ___deadline,
7428 )?
7429 .into_result::<ConnectorRouterDeprecatedMarker>("route")?;
7430 Ok(_response.map(|x| x.response))
7431 }
7432}
7433
7434#[cfg(target_os = "fuchsia")]
7435impl From<ConnectorRouterDeprecatedSynchronousProxy> for zx::NullableHandle {
7436 fn from(value: ConnectorRouterDeprecatedSynchronousProxy) -> Self {
7437 value.into_channel().into()
7438 }
7439}
7440
7441#[cfg(target_os = "fuchsia")]
7442impl From<fidl::Channel> for ConnectorRouterDeprecatedSynchronousProxy {
7443 fn from(value: fidl::Channel) -> Self {
7444 Self::new(value)
7445 }
7446}
7447
7448#[cfg(target_os = "fuchsia")]
7449impl fidl::endpoints::FromClient for ConnectorRouterDeprecatedSynchronousProxy {
7450 type Protocol = ConnectorRouterDeprecatedMarker;
7451
7452 fn from_client(value: fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>) -> Self {
7453 Self::new(value.into_channel())
7454 }
7455}
7456
7457#[derive(Debug, Clone)]
7458pub struct ConnectorRouterDeprecatedProxy {
7459 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
7460}
7461
7462impl fidl::endpoints::Proxy for ConnectorRouterDeprecatedProxy {
7463 type Protocol = ConnectorRouterDeprecatedMarker;
7464
7465 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
7466 Self::new(inner)
7467 }
7468
7469 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
7470 self.client.into_channel().map_err(|client| Self { client })
7471 }
7472
7473 fn as_channel(&self) -> &::fidl::AsyncChannel {
7474 self.client.as_channel()
7475 }
7476}
7477
7478impl ConnectorRouterDeprecatedProxy {
7479 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
7481 let protocol_name =
7482 <ConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
7483 Self { client: fidl::client::Client::new(channel, protocol_name) }
7484 }
7485
7486 pub fn take_event_stream(&self) -> ConnectorRouterDeprecatedEventStream {
7492 ConnectorRouterDeprecatedEventStream { event_receiver: self.client.take_event_receiver() }
7493 }
7494
7495 pub fn r#clone(
7496 &self,
7497 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
7498 ) -> Result<(), fidl::Error> {
7499 ConnectorRouterDeprecatedProxyInterface::r#clone(self, request)
7500 }
7501
7502 pub fn r#route(
7511 &self,
7512 mut request: DeprecatedRouteRequest,
7513 mut connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
7514 ) -> fidl::client::QueryResponseFut<
7515 ConnectorRouterDeprecatedRouteResult,
7516 fidl::encoding::DefaultFuchsiaResourceDialect,
7517 > {
7518 ConnectorRouterDeprecatedProxyInterface::r#route(self, request, connector_server_end)
7519 }
7520}
7521
7522impl ConnectorRouterDeprecatedProxyInterface for ConnectorRouterDeprecatedProxy {
7523 fn r#clone(
7524 &self,
7525 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
7526 ) -> Result<(), fidl::Error> {
7527 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
7528 (request,),
7529 0x20d8a7aba2168a79,
7530 fidl::encoding::DynamicFlags::empty(),
7531 )
7532 }
7533
7534 type RouteResponseFut = fidl::client::QueryResponseFut<
7535 ConnectorRouterDeprecatedRouteResult,
7536 fidl::encoding::DefaultFuchsiaResourceDialect,
7537 >;
7538 fn r#route(
7539 &self,
7540 mut request: DeprecatedRouteRequest,
7541 mut connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
7542 ) -> Self::RouteResponseFut {
7543 fn _decode(
7544 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7545 ) -> Result<ConnectorRouterDeprecatedRouteResult, fidl::Error> {
7546 let _response = fidl::client::decode_transaction_body::<
7547 fidl::encoding::FlexibleResultType<
7548 ConnectorRouterDeprecatedRouteResponse,
7549 RouterError,
7550 >,
7551 fidl::encoding::DefaultFuchsiaResourceDialect,
7552 0x1b7810fe6a37ff32,
7553 >(_buf?)?
7554 .into_result::<ConnectorRouterDeprecatedMarker>("route")?;
7555 Ok(_response.map(|x| x.response))
7556 }
7557 self.client.send_query_and_decode::<
7558 ConnectorRouterDeprecatedRouteRequest,
7559 ConnectorRouterDeprecatedRouteResult,
7560 >(
7561 (&mut request, connector_server_end,),
7562 0x1b7810fe6a37ff32,
7563 fidl::encoding::DynamicFlags::FLEXIBLE,
7564 _decode,
7565 )
7566 }
7567}
7568
7569pub struct ConnectorRouterDeprecatedEventStream {
7570 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
7571}
7572
7573impl std::marker::Unpin for ConnectorRouterDeprecatedEventStream {}
7574
7575impl futures::stream::FusedStream for ConnectorRouterDeprecatedEventStream {
7576 fn is_terminated(&self) -> bool {
7577 self.event_receiver.is_terminated()
7578 }
7579}
7580
7581impl futures::Stream for ConnectorRouterDeprecatedEventStream {
7582 type Item = Result<ConnectorRouterDeprecatedEvent, fidl::Error>;
7583
7584 fn poll_next(
7585 mut self: std::pin::Pin<&mut Self>,
7586 cx: &mut std::task::Context<'_>,
7587 ) -> std::task::Poll<Option<Self::Item>> {
7588 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
7589 &mut self.event_receiver,
7590 cx
7591 )?) {
7592 Some(buf) => std::task::Poll::Ready(Some(ConnectorRouterDeprecatedEvent::decode(buf))),
7593 None => std::task::Poll::Ready(None),
7594 }
7595 }
7596}
7597
7598#[derive(Debug)]
7599pub enum ConnectorRouterDeprecatedEvent {
7600 #[non_exhaustive]
7601 _UnknownEvent {
7602 ordinal: u64,
7604 },
7605}
7606
7607impl ConnectorRouterDeprecatedEvent {
7608 fn decode(
7610 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
7611 ) -> Result<ConnectorRouterDeprecatedEvent, fidl::Error> {
7612 let (bytes, _handles) = buf.split_mut();
7613 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
7614 debug_assert_eq!(tx_header.tx_id, 0);
7615 match tx_header.ordinal {
7616 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
7617 Ok(ConnectorRouterDeprecatedEvent::_UnknownEvent { ordinal: tx_header.ordinal })
7618 }
7619 _ => Err(fidl::Error::UnknownOrdinal {
7620 ordinal: tx_header.ordinal,
7621 protocol_name:
7622 <ConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
7623 }),
7624 }
7625 }
7626}
7627
7628pub struct ConnectorRouterDeprecatedRequestStream {
7630 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7631 is_terminated: bool,
7632}
7633
7634impl std::marker::Unpin for ConnectorRouterDeprecatedRequestStream {}
7635
7636impl futures::stream::FusedStream for ConnectorRouterDeprecatedRequestStream {
7637 fn is_terminated(&self) -> bool {
7638 self.is_terminated
7639 }
7640}
7641
7642impl fidl::endpoints::RequestStream for ConnectorRouterDeprecatedRequestStream {
7643 type Protocol = ConnectorRouterDeprecatedMarker;
7644 type ControlHandle = ConnectorRouterDeprecatedControlHandle;
7645
7646 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
7647 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
7648 }
7649
7650 fn control_handle(&self) -> Self::ControlHandle {
7651 ConnectorRouterDeprecatedControlHandle { inner: self.inner.clone() }
7652 }
7653
7654 fn into_inner(
7655 self,
7656 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
7657 {
7658 (self.inner, self.is_terminated)
7659 }
7660
7661 fn from_inner(
7662 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7663 is_terminated: bool,
7664 ) -> Self {
7665 Self { inner, is_terminated }
7666 }
7667}
7668
7669impl futures::Stream for ConnectorRouterDeprecatedRequestStream {
7670 type Item = Result<ConnectorRouterDeprecatedRequest, fidl::Error>;
7671
7672 fn poll_next(
7673 mut self: std::pin::Pin<&mut Self>,
7674 cx: &mut std::task::Context<'_>,
7675 ) -> std::task::Poll<Option<Self::Item>> {
7676 let this = &mut *self;
7677 if this.inner.check_shutdown(cx) {
7678 this.is_terminated = true;
7679 return std::task::Poll::Ready(None);
7680 }
7681 if this.is_terminated {
7682 panic!("polled ConnectorRouterDeprecatedRequestStream after completion");
7683 }
7684 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
7685 |bytes, handles| {
7686 match this.inner.channel().read_etc(cx, bytes, handles) {
7687 std::task::Poll::Ready(Ok(())) => {}
7688 std::task::Poll::Pending => return std::task::Poll::Pending,
7689 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
7690 this.is_terminated = true;
7691 return std::task::Poll::Ready(None);
7692 }
7693 std::task::Poll::Ready(Err(e)) => {
7694 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
7695 e.into(),
7696 ))));
7697 }
7698 }
7699
7700 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
7702
7703 std::task::Poll::Ready(Some(match header.ordinal {
7704 0x20d8a7aba2168a79 => {
7705 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
7706 let mut req = fidl::new_empty!(fidl_fuchsia_unknown::CloneableCloneRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7707 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
7708 let control_handle = ConnectorRouterDeprecatedControlHandle {
7709 inner: this.inner.clone(),
7710 };
7711 Ok(ConnectorRouterDeprecatedRequest::Clone {request: req.request,
7712
7713 control_handle,
7714 })
7715 }
7716 0x1b7810fe6a37ff32 => {
7717 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7718 let mut req = fidl::new_empty!(ConnectorRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7719 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ConnectorRouterDeprecatedRouteRequest>(&header, _body_bytes, handles, &mut req)?;
7720 let control_handle = ConnectorRouterDeprecatedControlHandle {
7721 inner: this.inner.clone(),
7722 };
7723 Ok(ConnectorRouterDeprecatedRequest::Route {request: req.request,
7724connector_server_end: req.connector_server_end,
7725
7726 responder: ConnectorRouterDeprecatedRouteResponder {
7727 control_handle: std::mem::ManuallyDrop::new(control_handle),
7728 tx_id: header.tx_id,
7729 },
7730 })
7731 }
7732 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
7733 Ok(ConnectorRouterDeprecatedRequest::_UnknownMethod {
7734 ordinal: header.ordinal,
7735 control_handle: ConnectorRouterDeprecatedControlHandle { inner: this.inner.clone() },
7736 method_type: fidl::MethodType::OneWay,
7737 })
7738 }
7739 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
7740 this.inner.send_framework_err(
7741 fidl::encoding::FrameworkErr::UnknownMethod,
7742 header.tx_id,
7743 header.ordinal,
7744 header.dynamic_flags(),
7745 (bytes, handles),
7746 )?;
7747 Ok(ConnectorRouterDeprecatedRequest::_UnknownMethod {
7748 ordinal: header.ordinal,
7749 control_handle: ConnectorRouterDeprecatedControlHandle { inner: this.inner.clone() },
7750 method_type: fidl::MethodType::TwoWay,
7751 })
7752 }
7753 _ => Err(fidl::Error::UnknownOrdinal {
7754 ordinal: header.ordinal,
7755 protocol_name: <ConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
7756 }),
7757 }))
7758 },
7759 )
7760 }
7761}
7762
7763#[derive(Debug)]
7765pub enum ConnectorRouterDeprecatedRequest {
7766 Clone {
7767 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
7768 control_handle: ConnectorRouterDeprecatedControlHandle,
7769 },
7770 Route {
7779 request: DeprecatedRouteRequest,
7780 connector_server_end: fidl::endpoints::ServerEnd<ConnectorMarker>,
7781 responder: ConnectorRouterDeprecatedRouteResponder,
7782 },
7783 #[non_exhaustive]
7785 _UnknownMethod {
7786 ordinal: u64,
7788 control_handle: ConnectorRouterDeprecatedControlHandle,
7789 method_type: fidl::MethodType,
7790 },
7791}
7792
7793impl ConnectorRouterDeprecatedRequest {
7794 #[allow(irrefutable_let_patterns)]
7795 pub fn into_clone(
7796 self,
7797 ) -> Option<(
7798 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
7799 ConnectorRouterDeprecatedControlHandle,
7800 )> {
7801 if let ConnectorRouterDeprecatedRequest::Clone { request, control_handle } = self {
7802 Some((request, control_handle))
7803 } else {
7804 None
7805 }
7806 }
7807
7808 #[allow(irrefutable_let_patterns)]
7809 pub fn into_route(
7810 self,
7811 ) -> Option<(
7812 DeprecatedRouteRequest,
7813 fidl::endpoints::ServerEnd<ConnectorMarker>,
7814 ConnectorRouterDeprecatedRouteResponder,
7815 )> {
7816 if let ConnectorRouterDeprecatedRequest::Route {
7817 request,
7818 connector_server_end,
7819 responder,
7820 } = self
7821 {
7822 Some((request, connector_server_end, responder))
7823 } else {
7824 None
7825 }
7826 }
7827
7828 pub fn method_name(&self) -> &'static str {
7830 match *self {
7831 ConnectorRouterDeprecatedRequest::Clone { .. } => "clone",
7832 ConnectorRouterDeprecatedRequest::Route { .. } => "route",
7833 ConnectorRouterDeprecatedRequest::_UnknownMethod {
7834 method_type: fidl::MethodType::OneWay,
7835 ..
7836 } => "unknown one-way method",
7837 ConnectorRouterDeprecatedRequest::_UnknownMethod {
7838 method_type: fidl::MethodType::TwoWay,
7839 ..
7840 } => "unknown two-way method",
7841 }
7842 }
7843}
7844
7845#[derive(Debug, Clone)]
7846pub struct ConnectorRouterDeprecatedControlHandle {
7847 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7848}
7849
7850impl fidl::endpoints::ControlHandle for ConnectorRouterDeprecatedControlHandle {
7851 fn shutdown(&self) {
7852 self.inner.shutdown()
7853 }
7854
7855 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
7856 self.inner.shutdown_with_epitaph(status)
7857 }
7858
7859 fn is_closed(&self) -> bool {
7860 self.inner.channel().is_closed()
7861 }
7862 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
7863 self.inner.channel().on_closed()
7864 }
7865
7866 #[cfg(target_os = "fuchsia")]
7867 fn signal_peer(
7868 &self,
7869 clear_mask: zx::Signals,
7870 set_mask: zx::Signals,
7871 ) -> Result<(), zx_status::Status> {
7872 use fidl::Peered;
7873 self.inner.channel().signal_peer(clear_mask, set_mask)
7874 }
7875}
7876
7877impl ConnectorRouterDeprecatedControlHandle {}
7878
7879#[must_use = "FIDL methods require a response to be sent"]
7880#[derive(Debug)]
7881pub struct ConnectorRouterDeprecatedRouteResponder {
7882 control_handle: std::mem::ManuallyDrop<ConnectorRouterDeprecatedControlHandle>,
7883 tx_id: u32,
7884}
7885
7886impl std::ops::Drop for ConnectorRouterDeprecatedRouteResponder {
7890 fn drop(&mut self) {
7891 self.control_handle.shutdown();
7892 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
7894 }
7895}
7896
7897impl fidl::endpoints::Responder for ConnectorRouterDeprecatedRouteResponder {
7898 type ControlHandle = ConnectorRouterDeprecatedControlHandle;
7899
7900 fn control_handle(&self) -> &ConnectorRouterDeprecatedControlHandle {
7901 &self.control_handle
7902 }
7903
7904 fn drop_without_shutdown(mut self) {
7905 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
7907 std::mem::forget(self);
7909 }
7910}
7911
7912impl ConnectorRouterDeprecatedRouteResponder {
7913 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
7917 let _result = self.send_raw(result);
7918 if _result.is_err() {
7919 self.control_handle.shutdown();
7920 }
7921 self.drop_without_shutdown();
7922 _result
7923 }
7924
7925 pub fn send_no_shutdown_on_err(
7927 self,
7928 mut result: Result<RouterResponse, RouterError>,
7929 ) -> Result<(), fidl::Error> {
7930 let _result = self.send_raw(result);
7931 self.drop_without_shutdown();
7932 _result
7933 }
7934
7935 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
7936 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
7937 ConnectorRouterDeprecatedRouteResponse,
7938 RouterError,
7939 >>(
7940 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
7941 self.tx_id,
7942 0x1b7810fe6a37ff32,
7943 fidl::encoding::DynamicFlags::FLEXIBLE,
7944 )
7945 }
7946}
7947
7948#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
7949pub struct DataRouterMarker;
7950
7951impl fidl::endpoints::ProtocolMarker for DataRouterMarker {
7952 type Proxy = DataRouterProxy;
7953 type RequestStream = DataRouterRequestStream;
7954 #[cfg(target_os = "fuchsia")]
7955 type SynchronousProxy = DataRouterSynchronousProxy;
7956
7957 const DEBUG_NAME: &'static str = "(anonymous) DataRouter";
7958}
7959pub type DataRouterRouteResult = Result<RouterResponse, RouterError>;
7960
7961pub trait DataRouterProxyInterface: Send + Sync {
7962 type RouteResponseFut: std::future::Future<Output = Result<DataRouterRouteResult, fidl::Error>>
7963 + Send;
7964 fn r#route(
7965 &self,
7966 request: RouteRequest,
7967 instance_token: fidl::EventPair,
7968 handle: fidl::EventPair,
7969 ) -> Self::RouteResponseFut;
7970}
7971#[derive(Debug)]
7972#[cfg(target_os = "fuchsia")]
7973pub struct DataRouterSynchronousProxy {
7974 client: fidl::client::sync::Client,
7975}
7976
7977#[cfg(target_os = "fuchsia")]
7978impl fidl::endpoints::SynchronousProxy for DataRouterSynchronousProxy {
7979 type Proxy = DataRouterProxy;
7980 type Protocol = DataRouterMarker;
7981
7982 fn from_channel(inner: fidl::Channel) -> Self {
7983 Self::new(inner)
7984 }
7985
7986 fn into_channel(self) -> fidl::Channel {
7987 self.client.into_channel()
7988 }
7989
7990 fn as_channel(&self) -> &fidl::Channel {
7991 self.client.as_channel()
7992 }
7993}
7994
7995#[cfg(target_os = "fuchsia")]
7996impl DataRouterSynchronousProxy {
7997 pub fn new(channel: fidl::Channel) -> Self {
7998 let protocol_name = <DataRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
7999 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
8000 }
8001
8002 pub fn into_channel(self) -> fidl::Channel {
8003 self.client.into_channel()
8004 }
8005
8006 pub fn wait_for_event(
8009 &self,
8010 deadline: zx::MonotonicInstant,
8011 ) -> Result<DataRouterEvent, fidl::Error> {
8012 DataRouterEvent::decode(self.client.wait_for_event(deadline)?)
8013 }
8014
8015 pub fn r#route(
8029 &self,
8030 mut request: RouteRequest,
8031 mut instance_token: fidl::EventPair,
8032 mut handle: fidl::EventPair,
8033 ___deadline: zx::MonotonicInstant,
8034 ) -> Result<DataRouterRouteResult, fidl::Error> {
8035 let _response = self.client.send_query::<
8036 DataRouterRouteRequest,
8037 fidl::encoding::FlexibleResultType<DataRouterRouteResponse, RouterError>,
8038 >(
8039 (&mut request, instance_token, handle,),
8040 0x646885ba7e10ceeb,
8041 fidl::encoding::DynamicFlags::FLEXIBLE,
8042 ___deadline,
8043 )?
8044 .into_result::<DataRouterMarker>("route")?;
8045 Ok(_response.map(|x| x.response))
8046 }
8047}
8048
8049#[cfg(target_os = "fuchsia")]
8050impl From<DataRouterSynchronousProxy> for zx::NullableHandle {
8051 fn from(value: DataRouterSynchronousProxy) -> Self {
8052 value.into_channel().into()
8053 }
8054}
8055
8056#[cfg(target_os = "fuchsia")]
8057impl From<fidl::Channel> for DataRouterSynchronousProxy {
8058 fn from(value: fidl::Channel) -> Self {
8059 Self::new(value)
8060 }
8061}
8062
8063#[cfg(target_os = "fuchsia")]
8064impl fidl::endpoints::FromClient for DataRouterSynchronousProxy {
8065 type Protocol = DataRouterMarker;
8066
8067 fn from_client(value: fidl::endpoints::ClientEnd<DataRouterMarker>) -> Self {
8068 Self::new(value.into_channel())
8069 }
8070}
8071
8072#[derive(Debug, Clone)]
8073pub struct DataRouterProxy {
8074 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
8075}
8076
8077impl fidl::endpoints::Proxy for DataRouterProxy {
8078 type Protocol = DataRouterMarker;
8079
8080 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
8081 Self::new(inner)
8082 }
8083
8084 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
8085 self.client.into_channel().map_err(|client| Self { client })
8086 }
8087
8088 fn as_channel(&self) -> &::fidl::AsyncChannel {
8089 self.client.as_channel()
8090 }
8091}
8092
8093impl DataRouterProxy {
8094 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
8096 let protocol_name = <DataRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
8097 Self { client: fidl::client::Client::new(channel, protocol_name) }
8098 }
8099
8100 pub fn take_event_stream(&self) -> DataRouterEventStream {
8106 DataRouterEventStream { event_receiver: self.client.take_event_receiver() }
8107 }
8108
8109 pub fn r#route(
8123 &self,
8124 mut request: RouteRequest,
8125 mut instance_token: fidl::EventPair,
8126 mut handle: fidl::EventPair,
8127 ) -> fidl::client::QueryResponseFut<
8128 DataRouterRouteResult,
8129 fidl::encoding::DefaultFuchsiaResourceDialect,
8130 > {
8131 DataRouterProxyInterface::r#route(self, request, instance_token, handle)
8132 }
8133}
8134
8135impl DataRouterProxyInterface for DataRouterProxy {
8136 type RouteResponseFut = fidl::client::QueryResponseFut<
8137 DataRouterRouteResult,
8138 fidl::encoding::DefaultFuchsiaResourceDialect,
8139 >;
8140 fn r#route(
8141 &self,
8142 mut request: RouteRequest,
8143 mut instance_token: fidl::EventPair,
8144 mut handle: fidl::EventPair,
8145 ) -> Self::RouteResponseFut {
8146 fn _decode(
8147 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
8148 ) -> Result<DataRouterRouteResult, fidl::Error> {
8149 let _response = fidl::client::decode_transaction_body::<
8150 fidl::encoding::FlexibleResultType<DataRouterRouteResponse, RouterError>,
8151 fidl::encoding::DefaultFuchsiaResourceDialect,
8152 0x646885ba7e10ceeb,
8153 >(_buf?)?
8154 .into_result::<DataRouterMarker>("route")?;
8155 Ok(_response.map(|x| x.response))
8156 }
8157 self.client.send_query_and_decode::<DataRouterRouteRequest, DataRouterRouteResult>(
8158 (&mut request, instance_token, handle),
8159 0x646885ba7e10ceeb,
8160 fidl::encoding::DynamicFlags::FLEXIBLE,
8161 _decode,
8162 )
8163 }
8164}
8165
8166pub struct DataRouterEventStream {
8167 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
8168}
8169
8170impl std::marker::Unpin for DataRouterEventStream {}
8171
8172impl futures::stream::FusedStream for DataRouterEventStream {
8173 fn is_terminated(&self) -> bool {
8174 self.event_receiver.is_terminated()
8175 }
8176}
8177
8178impl futures::Stream for DataRouterEventStream {
8179 type Item = Result<DataRouterEvent, fidl::Error>;
8180
8181 fn poll_next(
8182 mut self: std::pin::Pin<&mut Self>,
8183 cx: &mut std::task::Context<'_>,
8184 ) -> std::task::Poll<Option<Self::Item>> {
8185 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
8186 &mut self.event_receiver,
8187 cx
8188 )?) {
8189 Some(buf) => std::task::Poll::Ready(Some(DataRouterEvent::decode(buf))),
8190 None => std::task::Poll::Ready(None),
8191 }
8192 }
8193}
8194
8195#[derive(Debug)]
8196pub enum DataRouterEvent {
8197 #[non_exhaustive]
8198 _UnknownEvent {
8199 ordinal: u64,
8201 },
8202}
8203
8204impl DataRouterEvent {
8205 fn decode(
8207 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
8208 ) -> Result<DataRouterEvent, fidl::Error> {
8209 let (bytes, _handles) = buf.split_mut();
8210 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
8211 debug_assert_eq!(tx_header.tx_id, 0);
8212 match tx_header.ordinal {
8213 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
8214 Ok(DataRouterEvent::_UnknownEvent { ordinal: tx_header.ordinal })
8215 }
8216 _ => Err(fidl::Error::UnknownOrdinal {
8217 ordinal: tx_header.ordinal,
8218 protocol_name: <DataRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
8219 }),
8220 }
8221 }
8222}
8223
8224pub struct DataRouterRequestStream {
8226 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
8227 is_terminated: bool,
8228}
8229
8230impl std::marker::Unpin for DataRouterRequestStream {}
8231
8232impl futures::stream::FusedStream for DataRouterRequestStream {
8233 fn is_terminated(&self) -> bool {
8234 self.is_terminated
8235 }
8236}
8237
8238impl fidl::endpoints::RequestStream for DataRouterRequestStream {
8239 type Protocol = DataRouterMarker;
8240 type ControlHandle = DataRouterControlHandle;
8241
8242 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
8243 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
8244 }
8245
8246 fn control_handle(&self) -> Self::ControlHandle {
8247 DataRouterControlHandle { inner: self.inner.clone() }
8248 }
8249
8250 fn into_inner(
8251 self,
8252 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
8253 {
8254 (self.inner, self.is_terminated)
8255 }
8256
8257 fn from_inner(
8258 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
8259 is_terminated: bool,
8260 ) -> Self {
8261 Self { inner, is_terminated }
8262 }
8263}
8264
8265impl futures::Stream for DataRouterRequestStream {
8266 type Item = Result<DataRouterRequest, fidl::Error>;
8267
8268 fn poll_next(
8269 mut self: std::pin::Pin<&mut Self>,
8270 cx: &mut std::task::Context<'_>,
8271 ) -> std::task::Poll<Option<Self::Item>> {
8272 let this = &mut *self;
8273 if this.inner.check_shutdown(cx) {
8274 this.is_terminated = true;
8275 return std::task::Poll::Ready(None);
8276 }
8277 if this.is_terminated {
8278 panic!("polled DataRouterRequestStream after completion");
8279 }
8280 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
8281 |bytes, handles| {
8282 match this.inner.channel().read_etc(cx, bytes, handles) {
8283 std::task::Poll::Ready(Ok(())) => {}
8284 std::task::Poll::Pending => return std::task::Poll::Pending,
8285 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
8286 this.is_terminated = true;
8287 return std::task::Poll::Ready(None);
8288 }
8289 std::task::Poll::Ready(Err(e)) => {
8290 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
8291 e.into(),
8292 ))));
8293 }
8294 }
8295
8296 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
8298
8299 std::task::Poll::Ready(Some(match header.ordinal {
8300 0x646885ba7e10ceeb => {
8301 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
8302 let mut req = fidl::new_empty!(
8303 DataRouterRouteRequest,
8304 fidl::encoding::DefaultFuchsiaResourceDialect
8305 );
8306 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DataRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
8307 let control_handle = DataRouterControlHandle { inner: this.inner.clone() };
8308 Ok(DataRouterRequest::Route {
8309 request: req.request,
8310 instance_token: req.instance_token,
8311 handle: req.handle,
8312
8313 responder: DataRouterRouteResponder {
8314 control_handle: std::mem::ManuallyDrop::new(control_handle),
8315 tx_id: header.tx_id,
8316 },
8317 })
8318 }
8319 _ if header.tx_id == 0
8320 && header
8321 .dynamic_flags()
8322 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
8323 {
8324 Ok(DataRouterRequest::_UnknownMethod {
8325 ordinal: header.ordinal,
8326 control_handle: DataRouterControlHandle { inner: this.inner.clone() },
8327 method_type: fidl::MethodType::OneWay,
8328 })
8329 }
8330 _ if header
8331 .dynamic_flags()
8332 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
8333 {
8334 this.inner.send_framework_err(
8335 fidl::encoding::FrameworkErr::UnknownMethod,
8336 header.tx_id,
8337 header.ordinal,
8338 header.dynamic_flags(),
8339 (bytes, handles),
8340 )?;
8341 Ok(DataRouterRequest::_UnknownMethod {
8342 ordinal: header.ordinal,
8343 control_handle: DataRouterControlHandle { inner: this.inner.clone() },
8344 method_type: fidl::MethodType::TwoWay,
8345 })
8346 }
8347 _ => Err(fidl::Error::UnknownOrdinal {
8348 ordinal: header.ordinal,
8349 protocol_name:
8350 <DataRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
8351 }),
8352 }))
8353 },
8354 )
8355 }
8356}
8357
8358#[derive(Debug)]
8360pub enum DataRouterRequest {
8361 Route {
8375 request: RouteRequest,
8376 instance_token: fidl::EventPair,
8377 handle: fidl::EventPair,
8378 responder: DataRouterRouteResponder,
8379 },
8380 #[non_exhaustive]
8382 _UnknownMethod {
8383 ordinal: u64,
8385 control_handle: DataRouterControlHandle,
8386 method_type: fidl::MethodType,
8387 },
8388}
8389
8390impl DataRouterRequest {
8391 #[allow(irrefutable_let_patterns)]
8392 pub fn into_route(
8393 self,
8394 ) -> Option<(RouteRequest, fidl::EventPair, fidl::EventPair, DataRouterRouteResponder)> {
8395 if let DataRouterRequest::Route { request, instance_token, handle, responder } = self {
8396 Some((request, instance_token, handle, responder))
8397 } else {
8398 None
8399 }
8400 }
8401
8402 pub fn method_name(&self) -> &'static str {
8404 match *self {
8405 DataRouterRequest::Route { .. } => "route",
8406 DataRouterRequest::_UnknownMethod { method_type: fidl::MethodType::OneWay, .. } => {
8407 "unknown one-way method"
8408 }
8409 DataRouterRequest::_UnknownMethod { method_type: fidl::MethodType::TwoWay, .. } => {
8410 "unknown two-way method"
8411 }
8412 }
8413 }
8414}
8415
8416#[derive(Debug, Clone)]
8417pub struct DataRouterControlHandle {
8418 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
8419}
8420
8421impl fidl::endpoints::ControlHandle for DataRouterControlHandle {
8422 fn shutdown(&self) {
8423 self.inner.shutdown()
8424 }
8425
8426 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
8427 self.inner.shutdown_with_epitaph(status)
8428 }
8429
8430 fn is_closed(&self) -> bool {
8431 self.inner.channel().is_closed()
8432 }
8433 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
8434 self.inner.channel().on_closed()
8435 }
8436
8437 #[cfg(target_os = "fuchsia")]
8438 fn signal_peer(
8439 &self,
8440 clear_mask: zx::Signals,
8441 set_mask: zx::Signals,
8442 ) -> Result<(), zx_status::Status> {
8443 use fidl::Peered;
8444 self.inner.channel().signal_peer(clear_mask, set_mask)
8445 }
8446}
8447
8448impl DataRouterControlHandle {}
8449
8450#[must_use = "FIDL methods require a response to be sent"]
8451#[derive(Debug)]
8452pub struct DataRouterRouteResponder {
8453 control_handle: std::mem::ManuallyDrop<DataRouterControlHandle>,
8454 tx_id: u32,
8455}
8456
8457impl std::ops::Drop for DataRouterRouteResponder {
8461 fn drop(&mut self) {
8462 self.control_handle.shutdown();
8463 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8465 }
8466}
8467
8468impl fidl::endpoints::Responder for DataRouterRouteResponder {
8469 type ControlHandle = DataRouterControlHandle;
8470
8471 fn control_handle(&self) -> &DataRouterControlHandle {
8472 &self.control_handle
8473 }
8474
8475 fn drop_without_shutdown(mut self) {
8476 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8478 std::mem::forget(self);
8480 }
8481}
8482
8483impl DataRouterRouteResponder {
8484 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
8488 let _result = self.send_raw(result);
8489 if _result.is_err() {
8490 self.control_handle.shutdown();
8491 }
8492 self.drop_without_shutdown();
8493 _result
8494 }
8495
8496 pub fn send_no_shutdown_on_err(
8498 self,
8499 mut result: Result<RouterResponse, RouterError>,
8500 ) -> Result<(), fidl::Error> {
8501 let _result = self.send_raw(result);
8502 self.drop_without_shutdown();
8503 _result
8504 }
8505
8506 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
8507 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
8508 DataRouterRouteResponse,
8509 RouterError,
8510 >>(
8511 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
8512 self.tx_id,
8513 0x646885ba7e10ceeb,
8514 fidl::encoding::DynamicFlags::FLEXIBLE,
8515 )
8516 }
8517}
8518
8519#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
8520pub struct DataRouterDeprecatedMarker;
8521
8522impl fidl::endpoints::ProtocolMarker for DataRouterDeprecatedMarker {
8523 type Proxy = DataRouterDeprecatedProxy;
8524 type RequestStream = DataRouterDeprecatedRequestStream;
8525 #[cfg(target_os = "fuchsia")]
8526 type SynchronousProxy = DataRouterDeprecatedSynchronousProxy;
8527
8528 const DEBUG_NAME: &'static str = "(anonymous) DataRouterDeprecated";
8529}
8530pub type DataRouterDeprecatedRouteResult = Result<(RouterResponse, Option<Box<Data>>), RouterError>;
8531
8532pub trait DataRouterDeprecatedProxyInterface: Send + Sync {
8533 fn r#clone(
8534 &self,
8535 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
8536 ) -> Result<(), fidl::Error>;
8537 type RouteResponseFut: std::future::Future<Output = Result<DataRouterDeprecatedRouteResult, fidl::Error>>
8538 + Send;
8539 fn r#route(&self, request: DeprecatedRouteRequest) -> Self::RouteResponseFut;
8540}
8541#[derive(Debug)]
8542#[cfg(target_os = "fuchsia")]
8543pub struct DataRouterDeprecatedSynchronousProxy {
8544 client: fidl::client::sync::Client,
8545}
8546
8547#[cfg(target_os = "fuchsia")]
8548impl fidl::endpoints::SynchronousProxy for DataRouterDeprecatedSynchronousProxy {
8549 type Proxy = DataRouterDeprecatedProxy;
8550 type Protocol = DataRouterDeprecatedMarker;
8551
8552 fn from_channel(inner: fidl::Channel) -> Self {
8553 Self::new(inner)
8554 }
8555
8556 fn into_channel(self) -> fidl::Channel {
8557 self.client.into_channel()
8558 }
8559
8560 fn as_channel(&self) -> &fidl::Channel {
8561 self.client.as_channel()
8562 }
8563}
8564
8565#[cfg(target_os = "fuchsia")]
8566impl DataRouterDeprecatedSynchronousProxy {
8567 pub fn new(channel: fidl::Channel) -> Self {
8568 let protocol_name =
8569 <DataRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
8570 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
8571 }
8572
8573 pub fn into_channel(self) -> fidl::Channel {
8574 self.client.into_channel()
8575 }
8576
8577 pub fn wait_for_event(
8580 &self,
8581 deadline: zx::MonotonicInstant,
8582 ) -> Result<DataRouterDeprecatedEvent, fidl::Error> {
8583 DataRouterDeprecatedEvent::decode(self.client.wait_for_event(deadline)?)
8584 }
8585
8586 pub fn r#clone(
8587 &self,
8588 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
8589 ) -> Result<(), fidl::Error> {
8590 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
8591 (request,),
8592 0x20d8a7aba2168a79,
8593 fidl::encoding::DynamicFlags::empty(),
8594 )
8595 }
8596
8597 pub fn r#route(
8606 &self,
8607 mut request: DeprecatedRouteRequest,
8608 ___deadline: zx::MonotonicInstant,
8609 ) -> Result<DataRouterDeprecatedRouteResult, fidl::Error> {
8610 let _response = self.client.send_query::<
8611 DataRouterDeprecatedRouteRequest,
8612 fidl::encoding::FlexibleResultType<DataRouterDeprecatedRouteResponse, RouterError>,
8613 >(
8614 (&mut request,),
8615 0x9a0b381e65e9ed3,
8616 fidl::encoding::DynamicFlags::FLEXIBLE,
8617 ___deadline,
8618 )?
8619 .into_result::<DataRouterDeprecatedMarker>("route")?;
8620 Ok(_response.map(|x| (x.response, x.data)))
8621 }
8622}
8623
8624#[cfg(target_os = "fuchsia")]
8625impl From<DataRouterDeprecatedSynchronousProxy> for zx::NullableHandle {
8626 fn from(value: DataRouterDeprecatedSynchronousProxy) -> Self {
8627 value.into_channel().into()
8628 }
8629}
8630
8631#[cfg(target_os = "fuchsia")]
8632impl From<fidl::Channel> for DataRouterDeprecatedSynchronousProxy {
8633 fn from(value: fidl::Channel) -> Self {
8634 Self::new(value)
8635 }
8636}
8637
8638#[cfg(target_os = "fuchsia")]
8639impl fidl::endpoints::FromClient for DataRouterDeprecatedSynchronousProxy {
8640 type Protocol = DataRouterDeprecatedMarker;
8641
8642 fn from_client(value: fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>) -> Self {
8643 Self::new(value.into_channel())
8644 }
8645}
8646
8647#[derive(Debug, Clone)]
8648pub struct DataRouterDeprecatedProxy {
8649 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
8650}
8651
8652impl fidl::endpoints::Proxy for DataRouterDeprecatedProxy {
8653 type Protocol = DataRouterDeprecatedMarker;
8654
8655 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
8656 Self::new(inner)
8657 }
8658
8659 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
8660 self.client.into_channel().map_err(|client| Self { client })
8661 }
8662
8663 fn as_channel(&self) -> &::fidl::AsyncChannel {
8664 self.client.as_channel()
8665 }
8666}
8667
8668impl DataRouterDeprecatedProxy {
8669 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
8671 let protocol_name =
8672 <DataRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
8673 Self { client: fidl::client::Client::new(channel, protocol_name) }
8674 }
8675
8676 pub fn take_event_stream(&self) -> DataRouterDeprecatedEventStream {
8682 DataRouterDeprecatedEventStream { event_receiver: self.client.take_event_receiver() }
8683 }
8684
8685 pub fn r#clone(
8686 &self,
8687 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
8688 ) -> Result<(), fidl::Error> {
8689 DataRouterDeprecatedProxyInterface::r#clone(self, request)
8690 }
8691
8692 pub fn r#route(
8701 &self,
8702 mut request: DeprecatedRouteRequest,
8703 ) -> fidl::client::QueryResponseFut<
8704 DataRouterDeprecatedRouteResult,
8705 fidl::encoding::DefaultFuchsiaResourceDialect,
8706 > {
8707 DataRouterDeprecatedProxyInterface::r#route(self, request)
8708 }
8709}
8710
8711impl DataRouterDeprecatedProxyInterface for DataRouterDeprecatedProxy {
8712 fn r#clone(
8713 &self,
8714 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
8715 ) -> Result<(), fidl::Error> {
8716 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
8717 (request,),
8718 0x20d8a7aba2168a79,
8719 fidl::encoding::DynamicFlags::empty(),
8720 )
8721 }
8722
8723 type RouteResponseFut = fidl::client::QueryResponseFut<
8724 DataRouterDeprecatedRouteResult,
8725 fidl::encoding::DefaultFuchsiaResourceDialect,
8726 >;
8727 fn r#route(&self, mut request: DeprecatedRouteRequest) -> Self::RouteResponseFut {
8728 fn _decode(
8729 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
8730 ) -> Result<DataRouterDeprecatedRouteResult, fidl::Error> {
8731 let _response = fidl::client::decode_transaction_body::<
8732 fidl::encoding::FlexibleResultType<DataRouterDeprecatedRouteResponse, RouterError>,
8733 fidl::encoding::DefaultFuchsiaResourceDialect,
8734 0x9a0b381e65e9ed3,
8735 >(_buf?)?
8736 .into_result::<DataRouterDeprecatedMarker>("route")?;
8737 Ok(_response.map(|x| (x.response, x.data)))
8738 }
8739 self.client.send_query_and_decode::<
8740 DataRouterDeprecatedRouteRequest,
8741 DataRouterDeprecatedRouteResult,
8742 >(
8743 (&mut request,),
8744 0x9a0b381e65e9ed3,
8745 fidl::encoding::DynamicFlags::FLEXIBLE,
8746 _decode,
8747 )
8748 }
8749}
8750
8751pub struct DataRouterDeprecatedEventStream {
8752 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
8753}
8754
8755impl std::marker::Unpin for DataRouterDeprecatedEventStream {}
8756
8757impl futures::stream::FusedStream for DataRouterDeprecatedEventStream {
8758 fn is_terminated(&self) -> bool {
8759 self.event_receiver.is_terminated()
8760 }
8761}
8762
8763impl futures::Stream for DataRouterDeprecatedEventStream {
8764 type Item = Result<DataRouterDeprecatedEvent, fidl::Error>;
8765
8766 fn poll_next(
8767 mut self: std::pin::Pin<&mut Self>,
8768 cx: &mut std::task::Context<'_>,
8769 ) -> std::task::Poll<Option<Self::Item>> {
8770 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
8771 &mut self.event_receiver,
8772 cx
8773 )?) {
8774 Some(buf) => std::task::Poll::Ready(Some(DataRouterDeprecatedEvent::decode(buf))),
8775 None => std::task::Poll::Ready(None),
8776 }
8777 }
8778}
8779
8780#[derive(Debug)]
8781pub enum DataRouterDeprecatedEvent {
8782 #[non_exhaustive]
8783 _UnknownEvent {
8784 ordinal: u64,
8786 },
8787}
8788
8789impl DataRouterDeprecatedEvent {
8790 fn decode(
8792 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
8793 ) -> Result<DataRouterDeprecatedEvent, fidl::Error> {
8794 let (bytes, _handles) = buf.split_mut();
8795 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
8796 debug_assert_eq!(tx_header.tx_id, 0);
8797 match tx_header.ordinal {
8798 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
8799 Ok(DataRouterDeprecatedEvent::_UnknownEvent { ordinal: tx_header.ordinal })
8800 }
8801 _ => Err(fidl::Error::UnknownOrdinal {
8802 ordinal: tx_header.ordinal,
8803 protocol_name:
8804 <DataRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
8805 }),
8806 }
8807 }
8808}
8809
8810pub struct DataRouterDeprecatedRequestStream {
8812 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
8813 is_terminated: bool,
8814}
8815
8816impl std::marker::Unpin for DataRouterDeprecatedRequestStream {}
8817
8818impl futures::stream::FusedStream for DataRouterDeprecatedRequestStream {
8819 fn is_terminated(&self) -> bool {
8820 self.is_terminated
8821 }
8822}
8823
8824impl fidl::endpoints::RequestStream for DataRouterDeprecatedRequestStream {
8825 type Protocol = DataRouterDeprecatedMarker;
8826 type ControlHandle = DataRouterDeprecatedControlHandle;
8827
8828 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
8829 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
8830 }
8831
8832 fn control_handle(&self) -> Self::ControlHandle {
8833 DataRouterDeprecatedControlHandle { inner: self.inner.clone() }
8834 }
8835
8836 fn into_inner(
8837 self,
8838 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
8839 {
8840 (self.inner, self.is_terminated)
8841 }
8842
8843 fn from_inner(
8844 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
8845 is_terminated: bool,
8846 ) -> Self {
8847 Self { inner, is_terminated }
8848 }
8849}
8850
8851impl futures::Stream for DataRouterDeprecatedRequestStream {
8852 type Item = Result<DataRouterDeprecatedRequest, fidl::Error>;
8853
8854 fn poll_next(
8855 mut self: std::pin::Pin<&mut Self>,
8856 cx: &mut std::task::Context<'_>,
8857 ) -> std::task::Poll<Option<Self::Item>> {
8858 let this = &mut *self;
8859 if this.inner.check_shutdown(cx) {
8860 this.is_terminated = true;
8861 return std::task::Poll::Ready(None);
8862 }
8863 if this.is_terminated {
8864 panic!("polled DataRouterDeprecatedRequestStream after completion");
8865 }
8866 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
8867 |bytes, handles| {
8868 match this.inner.channel().read_etc(cx, bytes, handles) {
8869 std::task::Poll::Ready(Ok(())) => {}
8870 std::task::Poll::Pending => return std::task::Poll::Pending,
8871 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
8872 this.is_terminated = true;
8873 return std::task::Poll::Ready(None);
8874 }
8875 std::task::Poll::Ready(Err(e)) => {
8876 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
8877 e.into(),
8878 ))));
8879 }
8880 }
8881
8882 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
8884
8885 std::task::Poll::Ready(Some(match header.ordinal {
8886 0x20d8a7aba2168a79 => {
8887 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
8888 let mut req = fidl::new_empty!(fidl_fuchsia_unknown::CloneableCloneRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
8889 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
8890 let control_handle = DataRouterDeprecatedControlHandle {
8891 inner: this.inner.clone(),
8892 };
8893 Ok(DataRouterDeprecatedRequest::Clone {request: req.request,
8894
8895 control_handle,
8896 })
8897 }
8898 0x9a0b381e65e9ed3 => {
8899 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
8900 let mut req = fidl::new_empty!(DataRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
8901 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DataRouterDeprecatedRouteRequest>(&header, _body_bytes, handles, &mut req)?;
8902 let control_handle = DataRouterDeprecatedControlHandle {
8903 inner: this.inner.clone(),
8904 };
8905 Ok(DataRouterDeprecatedRequest::Route {request: req.request,
8906
8907 responder: DataRouterDeprecatedRouteResponder {
8908 control_handle: std::mem::ManuallyDrop::new(control_handle),
8909 tx_id: header.tx_id,
8910 },
8911 })
8912 }
8913 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
8914 Ok(DataRouterDeprecatedRequest::_UnknownMethod {
8915 ordinal: header.ordinal,
8916 control_handle: DataRouterDeprecatedControlHandle { inner: this.inner.clone() },
8917 method_type: fidl::MethodType::OneWay,
8918 })
8919 }
8920 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
8921 this.inner.send_framework_err(
8922 fidl::encoding::FrameworkErr::UnknownMethod,
8923 header.tx_id,
8924 header.ordinal,
8925 header.dynamic_flags(),
8926 (bytes, handles),
8927 )?;
8928 Ok(DataRouterDeprecatedRequest::_UnknownMethod {
8929 ordinal: header.ordinal,
8930 control_handle: DataRouterDeprecatedControlHandle { inner: this.inner.clone() },
8931 method_type: fidl::MethodType::TwoWay,
8932 })
8933 }
8934 _ => Err(fidl::Error::UnknownOrdinal {
8935 ordinal: header.ordinal,
8936 protocol_name: <DataRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
8937 }),
8938 }))
8939 },
8940 )
8941 }
8942}
8943
8944#[derive(Debug)]
8946pub enum DataRouterDeprecatedRequest {
8947 Clone {
8948 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
8949 control_handle: DataRouterDeprecatedControlHandle,
8950 },
8951 Route { request: DeprecatedRouteRequest, responder: DataRouterDeprecatedRouteResponder },
8960 #[non_exhaustive]
8962 _UnknownMethod {
8963 ordinal: u64,
8965 control_handle: DataRouterDeprecatedControlHandle,
8966 method_type: fidl::MethodType,
8967 },
8968}
8969
8970impl DataRouterDeprecatedRequest {
8971 #[allow(irrefutable_let_patterns)]
8972 pub fn into_clone(
8973 self,
8974 ) -> Option<(
8975 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
8976 DataRouterDeprecatedControlHandle,
8977 )> {
8978 if let DataRouterDeprecatedRequest::Clone { request, control_handle } = self {
8979 Some((request, control_handle))
8980 } else {
8981 None
8982 }
8983 }
8984
8985 #[allow(irrefutable_let_patterns)]
8986 pub fn into_route(
8987 self,
8988 ) -> Option<(DeprecatedRouteRequest, DataRouterDeprecatedRouteResponder)> {
8989 if let DataRouterDeprecatedRequest::Route { request, responder } = self {
8990 Some((request, responder))
8991 } else {
8992 None
8993 }
8994 }
8995
8996 pub fn method_name(&self) -> &'static str {
8998 match *self {
8999 DataRouterDeprecatedRequest::Clone { .. } => "clone",
9000 DataRouterDeprecatedRequest::Route { .. } => "route",
9001 DataRouterDeprecatedRequest::_UnknownMethod {
9002 method_type: fidl::MethodType::OneWay,
9003 ..
9004 } => "unknown one-way method",
9005 DataRouterDeprecatedRequest::_UnknownMethod {
9006 method_type: fidl::MethodType::TwoWay,
9007 ..
9008 } => "unknown two-way method",
9009 }
9010 }
9011}
9012
9013#[derive(Debug, Clone)]
9014pub struct DataRouterDeprecatedControlHandle {
9015 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
9016}
9017
9018impl fidl::endpoints::ControlHandle for DataRouterDeprecatedControlHandle {
9019 fn shutdown(&self) {
9020 self.inner.shutdown()
9021 }
9022
9023 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
9024 self.inner.shutdown_with_epitaph(status)
9025 }
9026
9027 fn is_closed(&self) -> bool {
9028 self.inner.channel().is_closed()
9029 }
9030 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
9031 self.inner.channel().on_closed()
9032 }
9033
9034 #[cfg(target_os = "fuchsia")]
9035 fn signal_peer(
9036 &self,
9037 clear_mask: zx::Signals,
9038 set_mask: zx::Signals,
9039 ) -> Result<(), zx_status::Status> {
9040 use fidl::Peered;
9041 self.inner.channel().signal_peer(clear_mask, set_mask)
9042 }
9043}
9044
9045impl DataRouterDeprecatedControlHandle {}
9046
9047#[must_use = "FIDL methods require a response to be sent"]
9048#[derive(Debug)]
9049pub struct DataRouterDeprecatedRouteResponder {
9050 control_handle: std::mem::ManuallyDrop<DataRouterDeprecatedControlHandle>,
9051 tx_id: u32,
9052}
9053
9054impl std::ops::Drop for DataRouterDeprecatedRouteResponder {
9058 fn drop(&mut self) {
9059 self.control_handle.shutdown();
9060 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9062 }
9063}
9064
9065impl fidl::endpoints::Responder for DataRouterDeprecatedRouteResponder {
9066 type ControlHandle = DataRouterDeprecatedControlHandle;
9067
9068 fn control_handle(&self) -> &DataRouterDeprecatedControlHandle {
9069 &self.control_handle
9070 }
9071
9072 fn drop_without_shutdown(mut self) {
9073 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9075 std::mem::forget(self);
9077 }
9078}
9079
9080impl DataRouterDeprecatedRouteResponder {
9081 pub fn send(
9085 self,
9086 mut result: Result<(RouterResponse, Option<&Data>), RouterError>,
9087 ) -> Result<(), fidl::Error> {
9088 let _result = self.send_raw(result);
9089 if _result.is_err() {
9090 self.control_handle.shutdown();
9091 }
9092 self.drop_without_shutdown();
9093 _result
9094 }
9095
9096 pub fn send_no_shutdown_on_err(
9098 self,
9099 mut result: Result<(RouterResponse, Option<&Data>), RouterError>,
9100 ) -> Result<(), fidl::Error> {
9101 let _result = self.send_raw(result);
9102 self.drop_without_shutdown();
9103 _result
9104 }
9105
9106 fn send_raw(
9107 &self,
9108 mut result: Result<(RouterResponse, Option<&Data>), RouterError>,
9109 ) -> Result<(), fidl::Error> {
9110 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
9111 DataRouterDeprecatedRouteResponse,
9112 RouterError,
9113 >>(
9114 fidl::encoding::FlexibleResult::new(result),
9115 self.tx_id,
9116 0x9a0b381e65e9ed3,
9117 fidl::encoding::DynamicFlags::FLEXIBLE,
9118 )
9119 }
9120}
9121
9122#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
9123pub struct DictionaryMarker;
9124
9125impl fidl::endpoints::ProtocolMarker for DictionaryMarker {
9126 type Proxy = DictionaryProxy;
9127 type RequestStream = DictionaryRequestStream;
9128 #[cfg(target_os = "fuchsia")]
9129 type SynchronousProxy = DictionarySynchronousProxy;
9130
9131 const DEBUG_NAME: &'static str = "(anonymous) Dictionary";
9132}
9133
9134pub trait DictionaryProxyInterface: Send + Sync {
9135 fn r#clone(
9136 &self,
9137 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
9138 ) -> Result<(), fidl::Error>;
9139 fn r#insert(&self, key: &str, capability: CapabilityDeprecated) -> Result<(), fidl::Error>;
9140 type GetResponseFut: std::future::Future<Output = Result<Option<Box<CapabilityDeprecated>>, fidl::Error>>
9141 + Send;
9142 fn r#get(&self, key: &str) -> Self::GetResponseFut;
9143 type RemoveResponseFut: std::future::Future<Output = Result<Option<Box<CapabilityDeprecated>>, fidl::Error>>
9144 + Send;
9145 fn r#remove(&self, key: &str) -> Self::RemoveResponseFut;
9146 fn r#iterate_keys(
9147 &self,
9148 key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
9149 ) -> Result<(), fidl::Error>;
9150 type LegacyExportResponseFut: std::future::Future<
9151 Output = Result<fidl_fuchsia_component_sandbox::DictionaryRef, fidl::Error>,
9152 > + Send;
9153 fn r#legacy_export(&self) -> Self::LegacyExportResponseFut;
9154}
9155#[derive(Debug)]
9156#[cfg(target_os = "fuchsia")]
9157pub struct DictionarySynchronousProxy {
9158 client: fidl::client::sync::Client,
9159}
9160
9161#[cfg(target_os = "fuchsia")]
9162impl fidl::endpoints::SynchronousProxy for DictionarySynchronousProxy {
9163 type Proxy = DictionaryProxy;
9164 type Protocol = DictionaryMarker;
9165
9166 fn from_channel(inner: fidl::Channel) -> Self {
9167 Self::new(inner)
9168 }
9169
9170 fn into_channel(self) -> fidl::Channel {
9171 self.client.into_channel()
9172 }
9173
9174 fn as_channel(&self) -> &fidl::Channel {
9175 self.client.as_channel()
9176 }
9177}
9178
9179#[cfg(target_os = "fuchsia")]
9180impl DictionarySynchronousProxy {
9181 pub fn new(channel: fidl::Channel) -> Self {
9182 let protocol_name = <DictionaryMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
9183 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
9184 }
9185
9186 pub fn into_channel(self) -> fidl::Channel {
9187 self.client.into_channel()
9188 }
9189
9190 pub fn wait_for_event(
9193 &self,
9194 deadline: zx::MonotonicInstant,
9195 ) -> Result<DictionaryEvent, fidl::Error> {
9196 DictionaryEvent::decode(self.client.wait_for_event(deadline)?)
9197 }
9198
9199 pub fn r#clone(
9200 &self,
9201 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
9202 ) -> Result<(), fidl::Error> {
9203 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
9204 (request,),
9205 0x20d8a7aba2168a79,
9206 fidl::encoding::DynamicFlags::empty(),
9207 )
9208 }
9209
9210 pub fn r#insert(
9216 &self,
9217 mut key: &str,
9218 mut capability: CapabilityDeprecated,
9219 ) -> Result<(), fidl::Error> {
9220 self.client.send::<DictionaryInsertRequest>(
9221 (key, &mut capability),
9222 0x673364c89c4b0ed7,
9223 fidl::encoding::DynamicFlags::FLEXIBLE,
9224 )
9225 }
9226
9227 pub fn r#get(
9230 &self,
9231 mut key: &str,
9232 ___deadline: zx::MonotonicInstant,
9233 ) -> Result<Option<Box<CapabilityDeprecated>>, fidl::Error> {
9234 let _response = self.client.send_query::<
9235 DictionaryGetRequest,
9236 fidl::encoding::FlexibleType<DictionaryGetResponse>,
9237 >(
9238 (key,),
9239 0x46d4b1dcd30feed9,
9240 fidl::encoding::DynamicFlags::FLEXIBLE,
9241 ___deadline,
9242 )?
9243 .into_result::<DictionaryMarker>("get")?;
9244 Ok(_response.capability)
9245 }
9246
9247 pub fn r#remove(
9250 &self,
9251 mut key: &str,
9252 ___deadline: zx::MonotonicInstant,
9253 ) -> Result<Option<Box<CapabilityDeprecated>>, fidl::Error> {
9254 let _response = self.client.send_query::<
9255 DictionaryRemoveRequest,
9256 fidl::encoding::FlexibleType<DictionaryRemoveResponse>,
9257 >(
9258 (key,),
9259 0x7931ac0ea29dffe7,
9260 fidl::encoding::DynamicFlags::FLEXIBLE,
9261 ___deadline,
9262 )?
9263 .into_result::<DictionaryMarker>("remove")?;
9264 Ok(_response.capability)
9265 }
9266
9267 pub fn r#iterate_keys(
9270 &self,
9271 mut key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
9272 ) -> Result<(), fidl::Error> {
9273 self.client.send::<DictionaryIterateKeysRequest>(
9274 (key_iterator,),
9275 0x331df1e1e73158a1,
9276 fidl::encoding::DynamicFlags::FLEXIBLE,
9277 )
9278 }
9279
9280 pub fn r#legacy_export(
9283 &self,
9284 ___deadline: zx::MonotonicInstant,
9285 ) -> Result<fidl_fuchsia_component_sandbox::DictionaryRef, fidl::Error> {
9286 let _response = self.client.send_query::<
9287 fidl::encoding::EmptyPayload,
9288 fidl::encoding::FlexibleType<DictionaryLegacyExportResponse>,
9289 >(
9290 (),
9291 0x722a26456a1ee1d0,
9292 fidl::encoding::DynamicFlags::FLEXIBLE,
9293 ___deadline,
9294 )?
9295 .into_result::<DictionaryMarker>("legacy_export")?;
9296 Ok(_response.dictionary_ref)
9297 }
9298}
9299
9300#[cfg(target_os = "fuchsia")]
9301impl From<DictionarySynchronousProxy> for zx::NullableHandle {
9302 fn from(value: DictionarySynchronousProxy) -> Self {
9303 value.into_channel().into()
9304 }
9305}
9306
9307#[cfg(target_os = "fuchsia")]
9308impl From<fidl::Channel> for DictionarySynchronousProxy {
9309 fn from(value: fidl::Channel) -> Self {
9310 Self::new(value)
9311 }
9312}
9313
9314#[cfg(target_os = "fuchsia")]
9315impl fidl::endpoints::FromClient for DictionarySynchronousProxy {
9316 type Protocol = DictionaryMarker;
9317
9318 fn from_client(value: fidl::endpoints::ClientEnd<DictionaryMarker>) -> Self {
9319 Self::new(value.into_channel())
9320 }
9321}
9322
9323#[derive(Debug, Clone)]
9324pub struct DictionaryProxy {
9325 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
9326}
9327
9328impl fidl::endpoints::Proxy for DictionaryProxy {
9329 type Protocol = DictionaryMarker;
9330
9331 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
9332 Self::new(inner)
9333 }
9334
9335 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
9336 self.client.into_channel().map_err(|client| Self { client })
9337 }
9338
9339 fn as_channel(&self) -> &::fidl::AsyncChannel {
9340 self.client.as_channel()
9341 }
9342}
9343
9344impl DictionaryProxy {
9345 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
9347 let protocol_name = <DictionaryMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
9348 Self { client: fidl::client::Client::new(channel, protocol_name) }
9349 }
9350
9351 pub fn take_event_stream(&self) -> DictionaryEventStream {
9357 DictionaryEventStream { event_receiver: self.client.take_event_receiver() }
9358 }
9359
9360 pub fn r#clone(
9361 &self,
9362 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
9363 ) -> Result<(), fidl::Error> {
9364 DictionaryProxyInterface::r#clone(self, request)
9365 }
9366
9367 pub fn r#insert(
9373 &self,
9374 mut key: &str,
9375 mut capability: CapabilityDeprecated,
9376 ) -> Result<(), fidl::Error> {
9377 DictionaryProxyInterface::r#insert(self, key, capability)
9378 }
9379
9380 pub fn r#get(
9383 &self,
9384 mut key: &str,
9385 ) -> fidl::client::QueryResponseFut<
9386 Option<Box<CapabilityDeprecated>>,
9387 fidl::encoding::DefaultFuchsiaResourceDialect,
9388 > {
9389 DictionaryProxyInterface::r#get(self, key)
9390 }
9391
9392 pub fn r#remove(
9395 &self,
9396 mut key: &str,
9397 ) -> fidl::client::QueryResponseFut<
9398 Option<Box<CapabilityDeprecated>>,
9399 fidl::encoding::DefaultFuchsiaResourceDialect,
9400 > {
9401 DictionaryProxyInterface::r#remove(self, key)
9402 }
9403
9404 pub fn r#iterate_keys(
9407 &self,
9408 mut key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
9409 ) -> Result<(), fidl::Error> {
9410 DictionaryProxyInterface::r#iterate_keys(self, key_iterator)
9411 }
9412
9413 pub fn r#legacy_export(
9416 &self,
9417 ) -> fidl::client::QueryResponseFut<
9418 fidl_fuchsia_component_sandbox::DictionaryRef,
9419 fidl::encoding::DefaultFuchsiaResourceDialect,
9420 > {
9421 DictionaryProxyInterface::r#legacy_export(self)
9422 }
9423}
9424
9425impl DictionaryProxyInterface for DictionaryProxy {
9426 fn r#clone(
9427 &self,
9428 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
9429 ) -> Result<(), fidl::Error> {
9430 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
9431 (request,),
9432 0x20d8a7aba2168a79,
9433 fidl::encoding::DynamicFlags::empty(),
9434 )
9435 }
9436
9437 fn r#insert(
9438 &self,
9439 mut key: &str,
9440 mut capability: CapabilityDeprecated,
9441 ) -> Result<(), fidl::Error> {
9442 self.client.send::<DictionaryInsertRequest>(
9443 (key, &mut capability),
9444 0x673364c89c4b0ed7,
9445 fidl::encoding::DynamicFlags::FLEXIBLE,
9446 )
9447 }
9448
9449 type GetResponseFut = fidl::client::QueryResponseFut<
9450 Option<Box<CapabilityDeprecated>>,
9451 fidl::encoding::DefaultFuchsiaResourceDialect,
9452 >;
9453 fn r#get(&self, mut key: &str) -> Self::GetResponseFut {
9454 fn _decode(
9455 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
9456 ) -> Result<Option<Box<CapabilityDeprecated>>, fidl::Error> {
9457 let _response = fidl::client::decode_transaction_body::<
9458 fidl::encoding::FlexibleType<DictionaryGetResponse>,
9459 fidl::encoding::DefaultFuchsiaResourceDialect,
9460 0x46d4b1dcd30feed9,
9461 >(_buf?)?
9462 .into_result::<DictionaryMarker>("get")?;
9463 Ok(_response.capability)
9464 }
9465 self.client
9466 .send_query_and_decode::<DictionaryGetRequest, Option<Box<CapabilityDeprecated>>>(
9467 (key,),
9468 0x46d4b1dcd30feed9,
9469 fidl::encoding::DynamicFlags::FLEXIBLE,
9470 _decode,
9471 )
9472 }
9473
9474 type RemoveResponseFut = fidl::client::QueryResponseFut<
9475 Option<Box<CapabilityDeprecated>>,
9476 fidl::encoding::DefaultFuchsiaResourceDialect,
9477 >;
9478 fn r#remove(&self, mut key: &str) -> Self::RemoveResponseFut {
9479 fn _decode(
9480 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
9481 ) -> Result<Option<Box<CapabilityDeprecated>>, fidl::Error> {
9482 let _response = fidl::client::decode_transaction_body::<
9483 fidl::encoding::FlexibleType<DictionaryRemoveResponse>,
9484 fidl::encoding::DefaultFuchsiaResourceDialect,
9485 0x7931ac0ea29dffe7,
9486 >(_buf?)?
9487 .into_result::<DictionaryMarker>("remove")?;
9488 Ok(_response.capability)
9489 }
9490 self.client
9491 .send_query_and_decode::<DictionaryRemoveRequest, Option<Box<CapabilityDeprecated>>>(
9492 (key,),
9493 0x7931ac0ea29dffe7,
9494 fidl::encoding::DynamicFlags::FLEXIBLE,
9495 _decode,
9496 )
9497 }
9498
9499 fn r#iterate_keys(
9500 &self,
9501 mut key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
9502 ) -> Result<(), fidl::Error> {
9503 self.client.send::<DictionaryIterateKeysRequest>(
9504 (key_iterator,),
9505 0x331df1e1e73158a1,
9506 fidl::encoding::DynamicFlags::FLEXIBLE,
9507 )
9508 }
9509
9510 type LegacyExportResponseFut = fidl::client::QueryResponseFut<
9511 fidl_fuchsia_component_sandbox::DictionaryRef,
9512 fidl::encoding::DefaultFuchsiaResourceDialect,
9513 >;
9514 fn r#legacy_export(&self) -> Self::LegacyExportResponseFut {
9515 fn _decode(
9516 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
9517 ) -> Result<fidl_fuchsia_component_sandbox::DictionaryRef, fidl::Error> {
9518 let _response = fidl::client::decode_transaction_body::<
9519 fidl::encoding::FlexibleType<DictionaryLegacyExportResponse>,
9520 fidl::encoding::DefaultFuchsiaResourceDialect,
9521 0x722a26456a1ee1d0,
9522 >(_buf?)?
9523 .into_result::<DictionaryMarker>("legacy_export")?;
9524 Ok(_response.dictionary_ref)
9525 }
9526 self.client.send_query_and_decode::<
9527 fidl::encoding::EmptyPayload,
9528 fidl_fuchsia_component_sandbox::DictionaryRef,
9529 >(
9530 (),
9531 0x722a26456a1ee1d0,
9532 fidl::encoding::DynamicFlags::FLEXIBLE,
9533 _decode,
9534 )
9535 }
9536}
9537
9538pub struct DictionaryEventStream {
9539 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
9540}
9541
9542impl std::marker::Unpin for DictionaryEventStream {}
9543
9544impl futures::stream::FusedStream for DictionaryEventStream {
9545 fn is_terminated(&self) -> bool {
9546 self.event_receiver.is_terminated()
9547 }
9548}
9549
9550impl futures::Stream for DictionaryEventStream {
9551 type Item = Result<DictionaryEvent, fidl::Error>;
9552
9553 fn poll_next(
9554 mut self: std::pin::Pin<&mut Self>,
9555 cx: &mut std::task::Context<'_>,
9556 ) -> std::task::Poll<Option<Self::Item>> {
9557 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
9558 &mut self.event_receiver,
9559 cx
9560 )?) {
9561 Some(buf) => std::task::Poll::Ready(Some(DictionaryEvent::decode(buf))),
9562 None => std::task::Poll::Ready(None),
9563 }
9564 }
9565}
9566
9567#[derive(Debug)]
9568pub enum DictionaryEvent {
9569 #[non_exhaustive]
9570 _UnknownEvent {
9571 ordinal: u64,
9573 },
9574}
9575
9576impl DictionaryEvent {
9577 fn decode(
9579 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
9580 ) -> Result<DictionaryEvent, fidl::Error> {
9581 let (bytes, _handles) = buf.split_mut();
9582 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
9583 debug_assert_eq!(tx_header.tx_id, 0);
9584 match tx_header.ordinal {
9585 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
9586 Ok(DictionaryEvent::_UnknownEvent { ordinal: tx_header.ordinal })
9587 }
9588 _ => Err(fidl::Error::UnknownOrdinal {
9589 ordinal: tx_header.ordinal,
9590 protocol_name: <DictionaryMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
9591 }),
9592 }
9593 }
9594}
9595
9596pub struct DictionaryRequestStream {
9598 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
9599 is_terminated: bool,
9600}
9601
9602impl std::marker::Unpin for DictionaryRequestStream {}
9603
9604impl futures::stream::FusedStream for DictionaryRequestStream {
9605 fn is_terminated(&self) -> bool {
9606 self.is_terminated
9607 }
9608}
9609
9610impl fidl::endpoints::RequestStream for DictionaryRequestStream {
9611 type Protocol = DictionaryMarker;
9612 type ControlHandle = DictionaryControlHandle;
9613
9614 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
9615 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
9616 }
9617
9618 fn control_handle(&self) -> Self::ControlHandle {
9619 DictionaryControlHandle { inner: self.inner.clone() }
9620 }
9621
9622 fn into_inner(
9623 self,
9624 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
9625 {
9626 (self.inner, self.is_terminated)
9627 }
9628
9629 fn from_inner(
9630 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
9631 is_terminated: bool,
9632 ) -> Self {
9633 Self { inner, is_terminated }
9634 }
9635}
9636
9637impl futures::Stream for DictionaryRequestStream {
9638 type Item = Result<DictionaryRequest, fidl::Error>;
9639
9640 fn poll_next(
9641 mut self: std::pin::Pin<&mut Self>,
9642 cx: &mut std::task::Context<'_>,
9643 ) -> std::task::Poll<Option<Self::Item>> {
9644 let this = &mut *self;
9645 if this.inner.check_shutdown(cx) {
9646 this.is_terminated = true;
9647 return std::task::Poll::Ready(None);
9648 }
9649 if this.is_terminated {
9650 panic!("polled DictionaryRequestStream after completion");
9651 }
9652 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
9653 |bytes, handles| {
9654 match this.inner.channel().read_etc(cx, bytes, handles) {
9655 std::task::Poll::Ready(Ok(())) => {}
9656 std::task::Poll::Pending => return std::task::Poll::Pending,
9657 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
9658 this.is_terminated = true;
9659 return std::task::Poll::Ready(None);
9660 }
9661 std::task::Poll::Ready(Err(e)) => {
9662 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
9663 e.into(),
9664 ))));
9665 }
9666 }
9667
9668 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
9670
9671 std::task::Poll::Ready(Some(match header.ordinal {
9672 0x20d8a7aba2168a79 => {
9673 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
9674 let mut req = fidl::new_empty!(
9675 fidl_fuchsia_unknown::CloneableCloneRequest,
9676 fidl::encoding::DefaultFuchsiaResourceDialect
9677 );
9678 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
9679 let control_handle = DictionaryControlHandle { inner: this.inner.clone() };
9680 Ok(DictionaryRequest::Clone { request: req.request, control_handle })
9681 }
9682 0x673364c89c4b0ed7 => {
9683 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
9684 let mut req = fidl::new_empty!(
9685 DictionaryInsertRequest,
9686 fidl::encoding::DefaultFuchsiaResourceDialect
9687 );
9688 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DictionaryInsertRequest>(&header, _body_bytes, handles, &mut req)?;
9689 let control_handle = DictionaryControlHandle { inner: this.inner.clone() };
9690 Ok(DictionaryRequest::Insert {
9691 key: req.key,
9692 capability: req.capability,
9693
9694 control_handle,
9695 })
9696 }
9697 0x46d4b1dcd30feed9 => {
9698 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
9699 let mut req = fidl::new_empty!(
9700 DictionaryGetRequest,
9701 fidl::encoding::DefaultFuchsiaResourceDialect
9702 );
9703 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DictionaryGetRequest>(&header, _body_bytes, handles, &mut req)?;
9704 let control_handle = DictionaryControlHandle { inner: this.inner.clone() };
9705 Ok(DictionaryRequest::Get {
9706 key: req.key,
9707
9708 responder: DictionaryGetResponder {
9709 control_handle: std::mem::ManuallyDrop::new(control_handle),
9710 tx_id: header.tx_id,
9711 },
9712 })
9713 }
9714 0x7931ac0ea29dffe7 => {
9715 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
9716 let mut req = fidl::new_empty!(
9717 DictionaryRemoveRequest,
9718 fidl::encoding::DefaultFuchsiaResourceDialect
9719 );
9720 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DictionaryRemoveRequest>(&header, _body_bytes, handles, &mut req)?;
9721 let control_handle = DictionaryControlHandle { inner: this.inner.clone() };
9722 Ok(DictionaryRequest::Remove {
9723 key: req.key,
9724
9725 responder: DictionaryRemoveResponder {
9726 control_handle: std::mem::ManuallyDrop::new(control_handle),
9727 tx_id: header.tx_id,
9728 },
9729 })
9730 }
9731 0x331df1e1e73158a1 => {
9732 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
9733 let mut req = fidl::new_empty!(
9734 DictionaryIterateKeysRequest,
9735 fidl::encoding::DefaultFuchsiaResourceDialect
9736 );
9737 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DictionaryIterateKeysRequest>(&header, _body_bytes, handles, &mut req)?;
9738 let control_handle = DictionaryControlHandle { inner: this.inner.clone() };
9739 Ok(DictionaryRequest::IterateKeys {
9740 key_iterator: req.key_iterator,
9741
9742 control_handle,
9743 })
9744 }
9745 0x722a26456a1ee1d0 => {
9746 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
9747 let mut req = fidl::new_empty!(
9748 fidl::encoding::EmptyPayload,
9749 fidl::encoding::DefaultFuchsiaResourceDialect
9750 );
9751 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
9752 let control_handle = DictionaryControlHandle { inner: this.inner.clone() };
9753 Ok(DictionaryRequest::LegacyExport {
9754 responder: DictionaryLegacyExportResponder {
9755 control_handle: std::mem::ManuallyDrop::new(control_handle),
9756 tx_id: header.tx_id,
9757 },
9758 })
9759 }
9760 _ if header.tx_id == 0
9761 && header
9762 .dynamic_flags()
9763 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
9764 {
9765 Ok(DictionaryRequest::_UnknownMethod {
9766 ordinal: header.ordinal,
9767 control_handle: DictionaryControlHandle { inner: this.inner.clone() },
9768 method_type: fidl::MethodType::OneWay,
9769 })
9770 }
9771 _ if header
9772 .dynamic_flags()
9773 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
9774 {
9775 this.inner.send_framework_err(
9776 fidl::encoding::FrameworkErr::UnknownMethod,
9777 header.tx_id,
9778 header.ordinal,
9779 header.dynamic_flags(),
9780 (bytes, handles),
9781 )?;
9782 Ok(DictionaryRequest::_UnknownMethod {
9783 ordinal: header.ordinal,
9784 control_handle: DictionaryControlHandle { inner: this.inner.clone() },
9785 method_type: fidl::MethodType::TwoWay,
9786 })
9787 }
9788 _ => Err(fidl::Error::UnknownOrdinal {
9789 ordinal: header.ordinal,
9790 protocol_name:
9791 <DictionaryMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
9792 }),
9793 }))
9794 },
9795 )
9796 }
9797}
9798
9799#[derive(Debug)]
9801pub enum DictionaryRequest {
9802 Clone {
9803 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
9804 control_handle: DictionaryControlHandle,
9805 },
9806 Insert {
9812 key: String,
9813 capability: CapabilityDeprecated,
9814 control_handle: DictionaryControlHandle,
9815 },
9816 Get { key: String, responder: DictionaryGetResponder },
9819 Remove { key: String, responder: DictionaryRemoveResponder },
9822 IterateKeys {
9825 key_iterator: fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
9826 control_handle: DictionaryControlHandle,
9827 },
9828 LegacyExport { responder: DictionaryLegacyExportResponder },
9831 #[non_exhaustive]
9833 _UnknownMethod {
9834 ordinal: u64,
9836 control_handle: DictionaryControlHandle,
9837 method_type: fidl::MethodType,
9838 },
9839}
9840
9841impl DictionaryRequest {
9842 #[allow(irrefutable_let_patterns)]
9843 pub fn into_clone(
9844 self,
9845 ) -> Option<(
9846 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
9847 DictionaryControlHandle,
9848 )> {
9849 if let DictionaryRequest::Clone { request, control_handle } = self {
9850 Some((request, control_handle))
9851 } else {
9852 None
9853 }
9854 }
9855
9856 #[allow(irrefutable_let_patterns)]
9857 pub fn into_insert(self) -> Option<(String, CapabilityDeprecated, DictionaryControlHandle)> {
9858 if let DictionaryRequest::Insert { key, capability, control_handle } = self {
9859 Some((key, capability, control_handle))
9860 } else {
9861 None
9862 }
9863 }
9864
9865 #[allow(irrefutable_let_patterns)]
9866 pub fn into_get(self) -> Option<(String, DictionaryGetResponder)> {
9867 if let DictionaryRequest::Get { key, responder } = self {
9868 Some((key, responder))
9869 } else {
9870 None
9871 }
9872 }
9873
9874 #[allow(irrefutable_let_patterns)]
9875 pub fn into_remove(self) -> Option<(String, DictionaryRemoveResponder)> {
9876 if let DictionaryRequest::Remove { key, responder } = self {
9877 Some((key, responder))
9878 } else {
9879 None
9880 }
9881 }
9882
9883 #[allow(irrefutable_let_patterns)]
9884 pub fn into_iterate_keys(
9885 self,
9886 ) -> Option<(fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>, DictionaryControlHandle)>
9887 {
9888 if let DictionaryRequest::IterateKeys { key_iterator, control_handle } = self {
9889 Some((key_iterator, control_handle))
9890 } else {
9891 None
9892 }
9893 }
9894
9895 #[allow(irrefutable_let_patterns)]
9896 pub fn into_legacy_export(self) -> Option<(DictionaryLegacyExportResponder)> {
9897 if let DictionaryRequest::LegacyExport { responder } = self {
9898 Some((responder))
9899 } else {
9900 None
9901 }
9902 }
9903
9904 pub fn method_name(&self) -> &'static str {
9906 match *self {
9907 DictionaryRequest::Clone { .. } => "clone",
9908 DictionaryRequest::Insert { .. } => "insert",
9909 DictionaryRequest::Get { .. } => "get",
9910 DictionaryRequest::Remove { .. } => "remove",
9911 DictionaryRequest::IterateKeys { .. } => "iterate_keys",
9912 DictionaryRequest::LegacyExport { .. } => "legacy_export",
9913 DictionaryRequest::_UnknownMethod { method_type: fidl::MethodType::OneWay, .. } => {
9914 "unknown one-way method"
9915 }
9916 DictionaryRequest::_UnknownMethod { method_type: fidl::MethodType::TwoWay, .. } => {
9917 "unknown two-way method"
9918 }
9919 }
9920 }
9921}
9922
9923#[derive(Debug, Clone)]
9924pub struct DictionaryControlHandle {
9925 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
9926}
9927
9928impl fidl::endpoints::ControlHandle for DictionaryControlHandle {
9929 fn shutdown(&self) {
9930 self.inner.shutdown()
9931 }
9932
9933 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
9934 self.inner.shutdown_with_epitaph(status)
9935 }
9936
9937 fn is_closed(&self) -> bool {
9938 self.inner.channel().is_closed()
9939 }
9940 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
9941 self.inner.channel().on_closed()
9942 }
9943
9944 #[cfg(target_os = "fuchsia")]
9945 fn signal_peer(
9946 &self,
9947 clear_mask: zx::Signals,
9948 set_mask: zx::Signals,
9949 ) -> Result<(), zx_status::Status> {
9950 use fidl::Peered;
9951 self.inner.channel().signal_peer(clear_mask, set_mask)
9952 }
9953}
9954
9955impl DictionaryControlHandle {}
9956
9957#[must_use = "FIDL methods require a response to be sent"]
9958#[derive(Debug)]
9959pub struct DictionaryGetResponder {
9960 control_handle: std::mem::ManuallyDrop<DictionaryControlHandle>,
9961 tx_id: u32,
9962}
9963
9964impl std::ops::Drop for DictionaryGetResponder {
9968 fn drop(&mut self) {
9969 self.control_handle.shutdown();
9970 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9972 }
9973}
9974
9975impl fidl::endpoints::Responder for DictionaryGetResponder {
9976 type ControlHandle = DictionaryControlHandle;
9977
9978 fn control_handle(&self) -> &DictionaryControlHandle {
9979 &self.control_handle
9980 }
9981
9982 fn drop_without_shutdown(mut self) {
9983 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9985 std::mem::forget(self);
9987 }
9988}
9989
9990impl DictionaryGetResponder {
9991 pub fn send(self, mut capability: Option<CapabilityDeprecated>) -> Result<(), fidl::Error> {
9995 let _result = self.send_raw(capability);
9996 if _result.is_err() {
9997 self.control_handle.shutdown();
9998 }
9999 self.drop_without_shutdown();
10000 _result
10001 }
10002
10003 pub fn send_no_shutdown_on_err(
10005 self,
10006 mut capability: Option<CapabilityDeprecated>,
10007 ) -> Result<(), fidl::Error> {
10008 let _result = self.send_raw(capability);
10009 self.drop_without_shutdown();
10010 _result
10011 }
10012
10013 fn send_raw(&self, mut capability: Option<CapabilityDeprecated>) -> Result<(), fidl::Error> {
10014 self.control_handle.inner.send::<fidl::encoding::FlexibleType<DictionaryGetResponse>>(
10015 fidl::encoding::Flexible::new((capability.as_mut(),)),
10016 self.tx_id,
10017 0x46d4b1dcd30feed9,
10018 fidl::encoding::DynamicFlags::FLEXIBLE,
10019 )
10020 }
10021}
10022
10023#[must_use = "FIDL methods require a response to be sent"]
10024#[derive(Debug)]
10025pub struct DictionaryRemoveResponder {
10026 control_handle: std::mem::ManuallyDrop<DictionaryControlHandle>,
10027 tx_id: u32,
10028}
10029
10030impl std::ops::Drop for DictionaryRemoveResponder {
10034 fn drop(&mut self) {
10035 self.control_handle.shutdown();
10036 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
10038 }
10039}
10040
10041impl fidl::endpoints::Responder for DictionaryRemoveResponder {
10042 type ControlHandle = DictionaryControlHandle;
10043
10044 fn control_handle(&self) -> &DictionaryControlHandle {
10045 &self.control_handle
10046 }
10047
10048 fn drop_without_shutdown(mut self) {
10049 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
10051 std::mem::forget(self);
10053 }
10054}
10055
10056impl DictionaryRemoveResponder {
10057 pub fn send(self, mut capability: Option<CapabilityDeprecated>) -> Result<(), fidl::Error> {
10061 let _result = self.send_raw(capability);
10062 if _result.is_err() {
10063 self.control_handle.shutdown();
10064 }
10065 self.drop_without_shutdown();
10066 _result
10067 }
10068
10069 pub fn send_no_shutdown_on_err(
10071 self,
10072 mut capability: Option<CapabilityDeprecated>,
10073 ) -> Result<(), fidl::Error> {
10074 let _result = self.send_raw(capability);
10075 self.drop_without_shutdown();
10076 _result
10077 }
10078
10079 fn send_raw(&self, mut capability: Option<CapabilityDeprecated>) -> Result<(), fidl::Error> {
10080 self.control_handle.inner.send::<fidl::encoding::FlexibleType<DictionaryRemoveResponse>>(
10081 fidl::encoding::Flexible::new((capability.as_mut(),)),
10082 self.tx_id,
10083 0x7931ac0ea29dffe7,
10084 fidl::encoding::DynamicFlags::FLEXIBLE,
10085 )
10086 }
10087}
10088
10089#[must_use = "FIDL methods require a response to be sent"]
10090#[derive(Debug)]
10091pub struct DictionaryLegacyExportResponder {
10092 control_handle: std::mem::ManuallyDrop<DictionaryControlHandle>,
10093 tx_id: u32,
10094}
10095
10096impl std::ops::Drop for DictionaryLegacyExportResponder {
10100 fn drop(&mut self) {
10101 self.control_handle.shutdown();
10102 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
10104 }
10105}
10106
10107impl fidl::endpoints::Responder for DictionaryLegacyExportResponder {
10108 type ControlHandle = DictionaryControlHandle;
10109
10110 fn control_handle(&self) -> &DictionaryControlHandle {
10111 &self.control_handle
10112 }
10113
10114 fn drop_without_shutdown(mut self) {
10115 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
10117 std::mem::forget(self);
10119 }
10120}
10121
10122impl DictionaryLegacyExportResponder {
10123 pub fn send(
10127 self,
10128 mut dictionary_ref: fidl_fuchsia_component_sandbox::DictionaryRef,
10129 ) -> Result<(), fidl::Error> {
10130 let _result = self.send_raw(dictionary_ref);
10131 if _result.is_err() {
10132 self.control_handle.shutdown();
10133 }
10134 self.drop_without_shutdown();
10135 _result
10136 }
10137
10138 pub fn send_no_shutdown_on_err(
10140 self,
10141 mut dictionary_ref: fidl_fuchsia_component_sandbox::DictionaryRef,
10142 ) -> Result<(), fidl::Error> {
10143 let _result = self.send_raw(dictionary_ref);
10144 self.drop_without_shutdown();
10145 _result
10146 }
10147
10148 fn send_raw(
10149 &self,
10150 mut dictionary_ref: fidl_fuchsia_component_sandbox::DictionaryRef,
10151 ) -> Result<(), fidl::Error> {
10152 self.control_handle
10153 .inner
10154 .send::<fidl::encoding::FlexibleType<DictionaryLegacyExportResponse>>(
10155 fidl::encoding::Flexible::new((&mut dictionary_ref,)),
10156 self.tx_id,
10157 0x722a26456a1ee1d0,
10158 fidl::encoding::DynamicFlags::FLEXIBLE,
10159 )
10160 }
10161}
10162
10163#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
10164pub struct DictionaryKeyIteratorMarker;
10165
10166impl fidl::endpoints::ProtocolMarker for DictionaryKeyIteratorMarker {
10167 type Proxy = DictionaryKeyIteratorProxy;
10168 type RequestStream = DictionaryKeyIteratorRequestStream;
10169 #[cfg(target_os = "fuchsia")]
10170 type SynchronousProxy = DictionaryKeyIteratorSynchronousProxy;
10171
10172 const DEBUG_NAME: &'static str = "(anonymous) DictionaryKeyIterator";
10173}
10174
10175pub trait DictionaryKeyIteratorProxyInterface: Send + Sync {
10176 type GetNextResponseFut: std::future::Future<Output = Result<Vec<String>, fidl::Error>> + Send;
10177 fn r#get_next(&self) -> Self::GetNextResponseFut;
10178}
10179#[derive(Debug)]
10180#[cfg(target_os = "fuchsia")]
10181pub struct DictionaryKeyIteratorSynchronousProxy {
10182 client: fidl::client::sync::Client,
10183}
10184
10185#[cfg(target_os = "fuchsia")]
10186impl fidl::endpoints::SynchronousProxy for DictionaryKeyIteratorSynchronousProxy {
10187 type Proxy = DictionaryKeyIteratorProxy;
10188 type Protocol = DictionaryKeyIteratorMarker;
10189
10190 fn from_channel(inner: fidl::Channel) -> Self {
10191 Self::new(inner)
10192 }
10193
10194 fn into_channel(self) -> fidl::Channel {
10195 self.client.into_channel()
10196 }
10197
10198 fn as_channel(&self) -> &fidl::Channel {
10199 self.client.as_channel()
10200 }
10201}
10202
10203#[cfg(target_os = "fuchsia")]
10204impl DictionaryKeyIteratorSynchronousProxy {
10205 pub fn new(channel: fidl::Channel) -> Self {
10206 let protocol_name =
10207 <DictionaryKeyIteratorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
10208 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
10209 }
10210
10211 pub fn into_channel(self) -> fidl::Channel {
10212 self.client.into_channel()
10213 }
10214
10215 pub fn wait_for_event(
10218 &self,
10219 deadline: zx::MonotonicInstant,
10220 ) -> Result<DictionaryKeyIteratorEvent, fidl::Error> {
10221 DictionaryKeyIteratorEvent::decode(self.client.wait_for_event(deadline)?)
10222 }
10223
10224 pub fn r#get_next(
10227 &self,
10228 ___deadline: zx::MonotonicInstant,
10229 ) -> Result<Vec<String>, fidl::Error> {
10230 let _response = self
10231 .client
10232 .send_query::<fidl::encoding::EmptyPayload, DictionaryKeyIteratorGetNextResponse>(
10233 (),
10234 0x3806bda34433db54,
10235 fidl::encoding::DynamicFlags::empty(),
10236 ___deadline,
10237 )?;
10238 Ok(_response.keys)
10239 }
10240}
10241
10242#[cfg(target_os = "fuchsia")]
10243impl From<DictionaryKeyIteratorSynchronousProxy> for zx::NullableHandle {
10244 fn from(value: DictionaryKeyIteratorSynchronousProxy) -> Self {
10245 value.into_channel().into()
10246 }
10247}
10248
10249#[cfg(target_os = "fuchsia")]
10250impl From<fidl::Channel> for DictionaryKeyIteratorSynchronousProxy {
10251 fn from(value: fidl::Channel) -> Self {
10252 Self::new(value)
10253 }
10254}
10255
10256#[cfg(target_os = "fuchsia")]
10257impl fidl::endpoints::FromClient for DictionaryKeyIteratorSynchronousProxy {
10258 type Protocol = DictionaryKeyIteratorMarker;
10259
10260 fn from_client(value: fidl::endpoints::ClientEnd<DictionaryKeyIteratorMarker>) -> Self {
10261 Self::new(value.into_channel())
10262 }
10263}
10264
10265#[derive(Debug, Clone)]
10266pub struct DictionaryKeyIteratorProxy {
10267 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
10268}
10269
10270impl fidl::endpoints::Proxy for DictionaryKeyIteratorProxy {
10271 type Protocol = DictionaryKeyIteratorMarker;
10272
10273 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
10274 Self::new(inner)
10275 }
10276
10277 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
10278 self.client.into_channel().map_err(|client| Self { client })
10279 }
10280
10281 fn as_channel(&self) -> &::fidl::AsyncChannel {
10282 self.client.as_channel()
10283 }
10284}
10285
10286impl DictionaryKeyIteratorProxy {
10287 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
10289 let protocol_name =
10290 <DictionaryKeyIteratorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
10291 Self { client: fidl::client::Client::new(channel, protocol_name) }
10292 }
10293
10294 pub fn take_event_stream(&self) -> DictionaryKeyIteratorEventStream {
10300 DictionaryKeyIteratorEventStream { event_receiver: self.client.take_event_receiver() }
10301 }
10302
10303 pub fn r#get_next(
10306 &self,
10307 ) -> fidl::client::QueryResponseFut<Vec<String>, fidl::encoding::DefaultFuchsiaResourceDialect>
10308 {
10309 DictionaryKeyIteratorProxyInterface::r#get_next(self)
10310 }
10311}
10312
10313impl DictionaryKeyIteratorProxyInterface for DictionaryKeyIteratorProxy {
10314 type GetNextResponseFut =
10315 fidl::client::QueryResponseFut<Vec<String>, fidl::encoding::DefaultFuchsiaResourceDialect>;
10316 fn r#get_next(&self) -> Self::GetNextResponseFut {
10317 fn _decode(
10318 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
10319 ) -> Result<Vec<String>, fidl::Error> {
10320 let _response = fidl::client::decode_transaction_body::<
10321 DictionaryKeyIteratorGetNextResponse,
10322 fidl::encoding::DefaultFuchsiaResourceDialect,
10323 0x3806bda34433db54,
10324 >(_buf?)?;
10325 Ok(_response.keys)
10326 }
10327 self.client.send_query_and_decode::<fidl::encoding::EmptyPayload, Vec<String>>(
10328 (),
10329 0x3806bda34433db54,
10330 fidl::encoding::DynamicFlags::empty(),
10331 _decode,
10332 )
10333 }
10334}
10335
10336pub struct DictionaryKeyIteratorEventStream {
10337 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
10338}
10339
10340impl std::marker::Unpin for DictionaryKeyIteratorEventStream {}
10341
10342impl futures::stream::FusedStream for DictionaryKeyIteratorEventStream {
10343 fn is_terminated(&self) -> bool {
10344 self.event_receiver.is_terminated()
10345 }
10346}
10347
10348impl futures::Stream for DictionaryKeyIteratorEventStream {
10349 type Item = Result<DictionaryKeyIteratorEvent, fidl::Error>;
10350
10351 fn poll_next(
10352 mut self: std::pin::Pin<&mut Self>,
10353 cx: &mut std::task::Context<'_>,
10354 ) -> std::task::Poll<Option<Self::Item>> {
10355 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
10356 &mut self.event_receiver,
10357 cx
10358 )?) {
10359 Some(buf) => std::task::Poll::Ready(Some(DictionaryKeyIteratorEvent::decode(buf))),
10360 None => std::task::Poll::Ready(None),
10361 }
10362 }
10363}
10364
10365#[derive(Debug)]
10366pub enum DictionaryKeyIteratorEvent {}
10367
10368impl DictionaryKeyIteratorEvent {
10369 fn decode(
10371 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
10372 ) -> Result<DictionaryKeyIteratorEvent, fidl::Error> {
10373 let (bytes, _handles) = buf.split_mut();
10374 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
10375 debug_assert_eq!(tx_header.tx_id, 0);
10376 match tx_header.ordinal {
10377 _ => Err(fidl::Error::UnknownOrdinal {
10378 ordinal: tx_header.ordinal,
10379 protocol_name:
10380 <DictionaryKeyIteratorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
10381 }),
10382 }
10383 }
10384}
10385
10386pub struct DictionaryKeyIteratorRequestStream {
10388 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
10389 is_terminated: bool,
10390}
10391
10392impl std::marker::Unpin for DictionaryKeyIteratorRequestStream {}
10393
10394impl futures::stream::FusedStream for DictionaryKeyIteratorRequestStream {
10395 fn is_terminated(&self) -> bool {
10396 self.is_terminated
10397 }
10398}
10399
10400impl fidl::endpoints::RequestStream for DictionaryKeyIteratorRequestStream {
10401 type Protocol = DictionaryKeyIteratorMarker;
10402 type ControlHandle = DictionaryKeyIteratorControlHandle;
10403
10404 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
10405 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
10406 }
10407
10408 fn control_handle(&self) -> Self::ControlHandle {
10409 DictionaryKeyIteratorControlHandle { inner: self.inner.clone() }
10410 }
10411
10412 fn into_inner(
10413 self,
10414 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
10415 {
10416 (self.inner, self.is_terminated)
10417 }
10418
10419 fn from_inner(
10420 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
10421 is_terminated: bool,
10422 ) -> Self {
10423 Self { inner, is_terminated }
10424 }
10425}
10426
10427impl futures::Stream for DictionaryKeyIteratorRequestStream {
10428 type Item = Result<DictionaryKeyIteratorRequest, fidl::Error>;
10429
10430 fn poll_next(
10431 mut self: std::pin::Pin<&mut Self>,
10432 cx: &mut std::task::Context<'_>,
10433 ) -> std::task::Poll<Option<Self::Item>> {
10434 let this = &mut *self;
10435 if this.inner.check_shutdown(cx) {
10436 this.is_terminated = true;
10437 return std::task::Poll::Ready(None);
10438 }
10439 if this.is_terminated {
10440 panic!("polled DictionaryKeyIteratorRequestStream after completion");
10441 }
10442 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
10443 |bytes, handles| {
10444 match this.inner.channel().read_etc(cx, bytes, handles) {
10445 std::task::Poll::Ready(Ok(())) => {}
10446 std::task::Poll::Pending => return std::task::Poll::Pending,
10447 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
10448 this.is_terminated = true;
10449 return std::task::Poll::Ready(None);
10450 }
10451 std::task::Poll::Ready(Err(e)) => {
10452 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
10453 e.into(),
10454 ))));
10455 }
10456 }
10457
10458 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
10460
10461 std::task::Poll::Ready(Some(match header.ordinal {
10462 0x3806bda34433db54 => {
10463 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
10464 let mut req = fidl::new_empty!(fidl::encoding::EmptyPayload, fidl::encoding::DefaultFuchsiaResourceDialect);
10465 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
10466 let control_handle = DictionaryKeyIteratorControlHandle {
10467 inner: this.inner.clone(),
10468 };
10469 Ok(DictionaryKeyIteratorRequest::GetNext {
10470 responder: DictionaryKeyIteratorGetNextResponder {
10471 control_handle: std::mem::ManuallyDrop::new(control_handle),
10472 tx_id: header.tx_id,
10473 },
10474 })
10475 }
10476 _ => Err(fidl::Error::UnknownOrdinal {
10477 ordinal: header.ordinal,
10478 protocol_name: <DictionaryKeyIteratorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
10479 }),
10480 }))
10481 },
10482 )
10483 }
10484}
10485
10486#[derive(Debug)]
10487pub enum DictionaryKeyIteratorRequest {
10488 GetNext { responder: DictionaryKeyIteratorGetNextResponder },
10491}
10492
10493impl DictionaryKeyIteratorRequest {
10494 #[allow(irrefutable_let_patterns)]
10495 pub fn into_get_next(self) -> Option<(DictionaryKeyIteratorGetNextResponder)> {
10496 if let DictionaryKeyIteratorRequest::GetNext { responder } = self {
10497 Some((responder))
10498 } else {
10499 None
10500 }
10501 }
10502
10503 pub fn method_name(&self) -> &'static str {
10505 match *self {
10506 DictionaryKeyIteratorRequest::GetNext { .. } => "get_next",
10507 }
10508 }
10509}
10510
10511#[derive(Debug, Clone)]
10512pub struct DictionaryKeyIteratorControlHandle {
10513 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
10514}
10515
10516impl fidl::endpoints::ControlHandle for DictionaryKeyIteratorControlHandle {
10517 fn shutdown(&self) {
10518 self.inner.shutdown()
10519 }
10520
10521 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
10522 self.inner.shutdown_with_epitaph(status)
10523 }
10524
10525 fn is_closed(&self) -> bool {
10526 self.inner.channel().is_closed()
10527 }
10528 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
10529 self.inner.channel().on_closed()
10530 }
10531
10532 #[cfg(target_os = "fuchsia")]
10533 fn signal_peer(
10534 &self,
10535 clear_mask: zx::Signals,
10536 set_mask: zx::Signals,
10537 ) -> Result<(), zx_status::Status> {
10538 use fidl::Peered;
10539 self.inner.channel().signal_peer(clear_mask, set_mask)
10540 }
10541}
10542
10543impl DictionaryKeyIteratorControlHandle {}
10544
10545#[must_use = "FIDL methods require a response to be sent"]
10546#[derive(Debug)]
10547pub struct DictionaryKeyIteratorGetNextResponder {
10548 control_handle: std::mem::ManuallyDrop<DictionaryKeyIteratorControlHandle>,
10549 tx_id: u32,
10550}
10551
10552impl std::ops::Drop for DictionaryKeyIteratorGetNextResponder {
10556 fn drop(&mut self) {
10557 self.control_handle.shutdown();
10558 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
10560 }
10561}
10562
10563impl fidl::endpoints::Responder for DictionaryKeyIteratorGetNextResponder {
10564 type ControlHandle = DictionaryKeyIteratorControlHandle;
10565
10566 fn control_handle(&self) -> &DictionaryKeyIteratorControlHandle {
10567 &self.control_handle
10568 }
10569
10570 fn drop_without_shutdown(mut self) {
10571 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
10573 std::mem::forget(self);
10575 }
10576}
10577
10578impl DictionaryKeyIteratorGetNextResponder {
10579 pub fn send(self, mut keys: &[String]) -> Result<(), fidl::Error> {
10583 let _result = self.send_raw(keys);
10584 if _result.is_err() {
10585 self.control_handle.shutdown();
10586 }
10587 self.drop_without_shutdown();
10588 _result
10589 }
10590
10591 pub fn send_no_shutdown_on_err(self, mut keys: &[String]) -> Result<(), fidl::Error> {
10593 let _result = self.send_raw(keys);
10594 self.drop_without_shutdown();
10595 _result
10596 }
10597
10598 fn send_raw(&self, mut keys: &[String]) -> Result<(), fidl::Error> {
10599 self.control_handle.inner.send::<DictionaryKeyIteratorGetNextResponse>(
10600 (keys,),
10601 self.tx_id,
10602 0x3806bda34433db54,
10603 fidl::encoding::DynamicFlags::empty(),
10604 )
10605 }
10606}
10607
10608#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
10609pub struct DictionaryRouterMarker;
10610
10611impl fidl::endpoints::ProtocolMarker for DictionaryRouterMarker {
10612 type Proxy = DictionaryRouterProxy;
10613 type RequestStream = DictionaryRouterRequestStream;
10614 #[cfg(target_os = "fuchsia")]
10615 type SynchronousProxy = DictionaryRouterSynchronousProxy;
10616
10617 const DEBUG_NAME: &'static str = "(anonymous) DictionaryRouter";
10618}
10619pub type DictionaryRouterRouteResult = Result<RouterResponse, RouterError>;
10620
10621pub trait DictionaryRouterProxyInterface: Send + Sync {
10622 type RouteResponseFut: std::future::Future<Output = Result<DictionaryRouterRouteResult, fidl::Error>>
10623 + Send;
10624 fn r#route(
10625 &self,
10626 request: RouteRequest,
10627 instance_token: fidl::EventPair,
10628 handle: fidl::EventPair,
10629 ) -> Self::RouteResponseFut;
10630}
10631#[derive(Debug)]
10632#[cfg(target_os = "fuchsia")]
10633pub struct DictionaryRouterSynchronousProxy {
10634 client: fidl::client::sync::Client,
10635}
10636
10637#[cfg(target_os = "fuchsia")]
10638impl fidl::endpoints::SynchronousProxy for DictionaryRouterSynchronousProxy {
10639 type Proxy = DictionaryRouterProxy;
10640 type Protocol = DictionaryRouterMarker;
10641
10642 fn from_channel(inner: fidl::Channel) -> Self {
10643 Self::new(inner)
10644 }
10645
10646 fn into_channel(self) -> fidl::Channel {
10647 self.client.into_channel()
10648 }
10649
10650 fn as_channel(&self) -> &fidl::Channel {
10651 self.client.as_channel()
10652 }
10653}
10654
10655#[cfg(target_os = "fuchsia")]
10656impl DictionaryRouterSynchronousProxy {
10657 pub fn new(channel: fidl::Channel) -> Self {
10658 let protocol_name = <DictionaryRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
10659 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
10660 }
10661
10662 pub fn into_channel(self) -> fidl::Channel {
10663 self.client.into_channel()
10664 }
10665
10666 pub fn wait_for_event(
10669 &self,
10670 deadline: zx::MonotonicInstant,
10671 ) -> Result<DictionaryRouterEvent, fidl::Error> {
10672 DictionaryRouterEvent::decode(self.client.wait_for_event(deadline)?)
10673 }
10674
10675 pub fn r#route(
10689 &self,
10690 mut request: RouteRequest,
10691 mut instance_token: fidl::EventPair,
10692 mut handle: fidl::EventPair,
10693 ___deadline: zx::MonotonicInstant,
10694 ) -> Result<DictionaryRouterRouteResult, fidl::Error> {
10695 let _response = self.client.send_query::<
10696 DictionaryRouterRouteRequest,
10697 fidl::encoding::FlexibleResultType<DictionaryRouterRouteResponse, RouterError>,
10698 >(
10699 (&mut request, instance_token, handle,),
10700 0x199389f437b3937b,
10701 fidl::encoding::DynamicFlags::FLEXIBLE,
10702 ___deadline,
10703 )?
10704 .into_result::<DictionaryRouterMarker>("route")?;
10705 Ok(_response.map(|x| x.response))
10706 }
10707}
10708
10709#[cfg(target_os = "fuchsia")]
10710impl From<DictionaryRouterSynchronousProxy> for zx::NullableHandle {
10711 fn from(value: DictionaryRouterSynchronousProxy) -> Self {
10712 value.into_channel().into()
10713 }
10714}
10715
10716#[cfg(target_os = "fuchsia")]
10717impl From<fidl::Channel> for DictionaryRouterSynchronousProxy {
10718 fn from(value: fidl::Channel) -> Self {
10719 Self::new(value)
10720 }
10721}
10722
10723#[cfg(target_os = "fuchsia")]
10724impl fidl::endpoints::FromClient for DictionaryRouterSynchronousProxy {
10725 type Protocol = DictionaryRouterMarker;
10726
10727 fn from_client(value: fidl::endpoints::ClientEnd<DictionaryRouterMarker>) -> Self {
10728 Self::new(value.into_channel())
10729 }
10730}
10731
10732#[derive(Debug, Clone)]
10733pub struct DictionaryRouterProxy {
10734 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
10735}
10736
10737impl fidl::endpoints::Proxy for DictionaryRouterProxy {
10738 type Protocol = DictionaryRouterMarker;
10739
10740 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
10741 Self::new(inner)
10742 }
10743
10744 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
10745 self.client.into_channel().map_err(|client| Self { client })
10746 }
10747
10748 fn as_channel(&self) -> &::fidl::AsyncChannel {
10749 self.client.as_channel()
10750 }
10751}
10752
10753impl DictionaryRouterProxy {
10754 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
10756 let protocol_name = <DictionaryRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
10757 Self { client: fidl::client::Client::new(channel, protocol_name) }
10758 }
10759
10760 pub fn take_event_stream(&self) -> DictionaryRouterEventStream {
10766 DictionaryRouterEventStream { event_receiver: self.client.take_event_receiver() }
10767 }
10768
10769 pub fn r#route(
10783 &self,
10784 mut request: RouteRequest,
10785 mut instance_token: fidl::EventPair,
10786 mut handle: fidl::EventPair,
10787 ) -> fidl::client::QueryResponseFut<
10788 DictionaryRouterRouteResult,
10789 fidl::encoding::DefaultFuchsiaResourceDialect,
10790 > {
10791 DictionaryRouterProxyInterface::r#route(self, request, instance_token, handle)
10792 }
10793}
10794
10795impl DictionaryRouterProxyInterface for DictionaryRouterProxy {
10796 type RouteResponseFut = fidl::client::QueryResponseFut<
10797 DictionaryRouterRouteResult,
10798 fidl::encoding::DefaultFuchsiaResourceDialect,
10799 >;
10800 fn r#route(
10801 &self,
10802 mut request: RouteRequest,
10803 mut instance_token: fidl::EventPair,
10804 mut handle: fidl::EventPair,
10805 ) -> Self::RouteResponseFut {
10806 fn _decode(
10807 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
10808 ) -> Result<DictionaryRouterRouteResult, fidl::Error> {
10809 let _response = fidl::client::decode_transaction_body::<
10810 fidl::encoding::FlexibleResultType<DictionaryRouterRouteResponse, RouterError>,
10811 fidl::encoding::DefaultFuchsiaResourceDialect,
10812 0x199389f437b3937b,
10813 >(_buf?)?
10814 .into_result::<DictionaryRouterMarker>("route")?;
10815 Ok(_response.map(|x| x.response))
10816 }
10817 self.client
10818 .send_query_and_decode::<DictionaryRouterRouteRequest, DictionaryRouterRouteResult>(
10819 (&mut request, instance_token, handle),
10820 0x199389f437b3937b,
10821 fidl::encoding::DynamicFlags::FLEXIBLE,
10822 _decode,
10823 )
10824 }
10825}
10826
10827pub struct DictionaryRouterEventStream {
10828 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
10829}
10830
10831impl std::marker::Unpin for DictionaryRouterEventStream {}
10832
10833impl futures::stream::FusedStream for DictionaryRouterEventStream {
10834 fn is_terminated(&self) -> bool {
10835 self.event_receiver.is_terminated()
10836 }
10837}
10838
10839impl futures::Stream for DictionaryRouterEventStream {
10840 type Item = Result<DictionaryRouterEvent, fidl::Error>;
10841
10842 fn poll_next(
10843 mut self: std::pin::Pin<&mut Self>,
10844 cx: &mut std::task::Context<'_>,
10845 ) -> std::task::Poll<Option<Self::Item>> {
10846 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
10847 &mut self.event_receiver,
10848 cx
10849 )?) {
10850 Some(buf) => std::task::Poll::Ready(Some(DictionaryRouterEvent::decode(buf))),
10851 None => std::task::Poll::Ready(None),
10852 }
10853 }
10854}
10855
10856#[derive(Debug)]
10857pub enum DictionaryRouterEvent {
10858 #[non_exhaustive]
10859 _UnknownEvent {
10860 ordinal: u64,
10862 },
10863}
10864
10865impl DictionaryRouterEvent {
10866 fn decode(
10868 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
10869 ) -> Result<DictionaryRouterEvent, fidl::Error> {
10870 let (bytes, _handles) = buf.split_mut();
10871 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
10872 debug_assert_eq!(tx_header.tx_id, 0);
10873 match tx_header.ordinal {
10874 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
10875 Ok(DictionaryRouterEvent::_UnknownEvent { ordinal: tx_header.ordinal })
10876 }
10877 _ => Err(fidl::Error::UnknownOrdinal {
10878 ordinal: tx_header.ordinal,
10879 protocol_name:
10880 <DictionaryRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
10881 }),
10882 }
10883 }
10884}
10885
10886pub struct DictionaryRouterRequestStream {
10888 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
10889 is_terminated: bool,
10890}
10891
10892impl std::marker::Unpin for DictionaryRouterRequestStream {}
10893
10894impl futures::stream::FusedStream for DictionaryRouterRequestStream {
10895 fn is_terminated(&self) -> bool {
10896 self.is_terminated
10897 }
10898}
10899
10900impl fidl::endpoints::RequestStream for DictionaryRouterRequestStream {
10901 type Protocol = DictionaryRouterMarker;
10902 type ControlHandle = DictionaryRouterControlHandle;
10903
10904 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
10905 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
10906 }
10907
10908 fn control_handle(&self) -> Self::ControlHandle {
10909 DictionaryRouterControlHandle { inner: self.inner.clone() }
10910 }
10911
10912 fn into_inner(
10913 self,
10914 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
10915 {
10916 (self.inner, self.is_terminated)
10917 }
10918
10919 fn from_inner(
10920 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
10921 is_terminated: bool,
10922 ) -> Self {
10923 Self { inner, is_terminated }
10924 }
10925}
10926
10927impl futures::Stream for DictionaryRouterRequestStream {
10928 type Item = Result<DictionaryRouterRequest, fidl::Error>;
10929
10930 fn poll_next(
10931 mut self: std::pin::Pin<&mut Self>,
10932 cx: &mut std::task::Context<'_>,
10933 ) -> std::task::Poll<Option<Self::Item>> {
10934 let this = &mut *self;
10935 if this.inner.check_shutdown(cx) {
10936 this.is_terminated = true;
10937 return std::task::Poll::Ready(None);
10938 }
10939 if this.is_terminated {
10940 panic!("polled DictionaryRouterRequestStream after completion");
10941 }
10942 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
10943 |bytes, handles| {
10944 match this.inner.channel().read_etc(cx, bytes, handles) {
10945 std::task::Poll::Ready(Ok(())) => {}
10946 std::task::Poll::Pending => return std::task::Poll::Pending,
10947 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
10948 this.is_terminated = true;
10949 return std::task::Poll::Ready(None);
10950 }
10951 std::task::Poll::Ready(Err(e)) => {
10952 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
10953 e.into(),
10954 ))));
10955 }
10956 }
10957
10958 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
10960
10961 std::task::Poll::Ready(Some(match header.ordinal {
10962 0x199389f437b3937b => {
10963 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
10964 let mut req = fidl::new_empty!(
10965 DictionaryRouterRouteRequest,
10966 fidl::encoding::DefaultFuchsiaResourceDialect
10967 );
10968 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DictionaryRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
10969 let control_handle =
10970 DictionaryRouterControlHandle { inner: this.inner.clone() };
10971 Ok(DictionaryRouterRequest::Route {
10972 request: req.request,
10973 instance_token: req.instance_token,
10974 handle: req.handle,
10975
10976 responder: DictionaryRouterRouteResponder {
10977 control_handle: std::mem::ManuallyDrop::new(control_handle),
10978 tx_id: header.tx_id,
10979 },
10980 })
10981 }
10982 _ if header.tx_id == 0
10983 && header
10984 .dynamic_flags()
10985 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
10986 {
10987 Ok(DictionaryRouterRequest::_UnknownMethod {
10988 ordinal: header.ordinal,
10989 control_handle: DictionaryRouterControlHandle {
10990 inner: this.inner.clone(),
10991 },
10992 method_type: fidl::MethodType::OneWay,
10993 })
10994 }
10995 _ if header
10996 .dynamic_flags()
10997 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
10998 {
10999 this.inner.send_framework_err(
11000 fidl::encoding::FrameworkErr::UnknownMethod,
11001 header.tx_id,
11002 header.ordinal,
11003 header.dynamic_flags(),
11004 (bytes, handles),
11005 )?;
11006 Ok(DictionaryRouterRequest::_UnknownMethod {
11007 ordinal: header.ordinal,
11008 control_handle: DictionaryRouterControlHandle {
11009 inner: this.inner.clone(),
11010 },
11011 method_type: fidl::MethodType::TwoWay,
11012 })
11013 }
11014 _ => Err(fidl::Error::UnknownOrdinal {
11015 ordinal: header.ordinal,
11016 protocol_name:
11017 <DictionaryRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
11018 }),
11019 }))
11020 },
11021 )
11022 }
11023}
11024
11025#[derive(Debug)]
11027pub enum DictionaryRouterRequest {
11028 Route {
11042 request: RouteRequest,
11043 instance_token: fidl::EventPair,
11044 handle: fidl::EventPair,
11045 responder: DictionaryRouterRouteResponder,
11046 },
11047 #[non_exhaustive]
11049 _UnknownMethod {
11050 ordinal: u64,
11052 control_handle: DictionaryRouterControlHandle,
11053 method_type: fidl::MethodType,
11054 },
11055}
11056
11057impl DictionaryRouterRequest {
11058 #[allow(irrefutable_let_patterns)]
11059 pub fn into_route(
11060 self,
11061 ) -> Option<(RouteRequest, fidl::EventPair, fidl::EventPair, DictionaryRouterRouteResponder)>
11062 {
11063 if let DictionaryRouterRequest::Route { request, instance_token, handle, responder } = self
11064 {
11065 Some((request, instance_token, handle, responder))
11066 } else {
11067 None
11068 }
11069 }
11070
11071 pub fn method_name(&self) -> &'static str {
11073 match *self {
11074 DictionaryRouterRequest::Route { .. } => "route",
11075 DictionaryRouterRequest::_UnknownMethod {
11076 method_type: fidl::MethodType::OneWay,
11077 ..
11078 } => "unknown one-way method",
11079 DictionaryRouterRequest::_UnknownMethod {
11080 method_type: fidl::MethodType::TwoWay,
11081 ..
11082 } => "unknown two-way method",
11083 }
11084 }
11085}
11086
11087#[derive(Debug, Clone)]
11088pub struct DictionaryRouterControlHandle {
11089 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
11090}
11091
11092impl fidl::endpoints::ControlHandle for DictionaryRouterControlHandle {
11093 fn shutdown(&self) {
11094 self.inner.shutdown()
11095 }
11096
11097 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
11098 self.inner.shutdown_with_epitaph(status)
11099 }
11100
11101 fn is_closed(&self) -> bool {
11102 self.inner.channel().is_closed()
11103 }
11104 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
11105 self.inner.channel().on_closed()
11106 }
11107
11108 #[cfg(target_os = "fuchsia")]
11109 fn signal_peer(
11110 &self,
11111 clear_mask: zx::Signals,
11112 set_mask: zx::Signals,
11113 ) -> Result<(), zx_status::Status> {
11114 use fidl::Peered;
11115 self.inner.channel().signal_peer(clear_mask, set_mask)
11116 }
11117}
11118
11119impl DictionaryRouterControlHandle {}
11120
11121#[must_use = "FIDL methods require a response to be sent"]
11122#[derive(Debug)]
11123pub struct DictionaryRouterRouteResponder {
11124 control_handle: std::mem::ManuallyDrop<DictionaryRouterControlHandle>,
11125 tx_id: u32,
11126}
11127
11128impl std::ops::Drop for DictionaryRouterRouteResponder {
11132 fn drop(&mut self) {
11133 self.control_handle.shutdown();
11134 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
11136 }
11137}
11138
11139impl fidl::endpoints::Responder for DictionaryRouterRouteResponder {
11140 type ControlHandle = DictionaryRouterControlHandle;
11141
11142 fn control_handle(&self) -> &DictionaryRouterControlHandle {
11143 &self.control_handle
11144 }
11145
11146 fn drop_without_shutdown(mut self) {
11147 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
11149 std::mem::forget(self);
11151 }
11152}
11153
11154impl DictionaryRouterRouteResponder {
11155 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
11159 let _result = self.send_raw(result);
11160 if _result.is_err() {
11161 self.control_handle.shutdown();
11162 }
11163 self.drop_without_shutdown();
11164 _result
11165 }
11166
11167 pub fn send_no_shutdown_on_err(
11169 self,
11170 mut result: Result<RouterResponse, RouterError>,
11171 ) -> Result<(), fidl::Error> {
11172 let _result = self.send_raw(result);
11173 self.drop_without_shutdown();
11174 _result
11175 }
11176
11177 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
11178 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
11179 DictionaryRouterRouteResponse,
11180 RouterError,
11181 >>(
11182 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
11183 self.tx_id,
11184 0x199389f437b3937b,
11185 fidl::encoding::DynamicFlags::FLEXIBLE,
11186 )
11187 }
11188}
11189
11190#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
11191pub struct DictionaryRouterDeprecatedMarker;
11192
11193impl fidl::endpoints::ProtocolMarker for DictionaryRouterDeprecatedMarker {
11194 type Proxy = DictionaryRouterDeprecatedProxy;
11195 type RequestStream = DictionaryRouterDeprecatedRequestStream;
11196 #[cfg(target_os = "fuchsia")]
11197 type SynchronousProxy = DictionaryRouterDeprecatedSynchronousProxy;
11198
11199 const DEBUG_NAME: &'static str = "(anonymous) DictionaryRouterDeprecated";
11200}
11201pub type DictionaryRouterDeprecatedRouteResult = Result<RouterResponse, RouterError>;
11202
11203pub trait DictionaryRouterDeprecatedProxyInterface: Send + Sync {
11204 fn r#clone(
11205 &self,
11206 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11207 ) -> Result<(), fidl::Error>;
11208 type RouteResponseFut: std::future::Future<Output = Result<DictionaryRouterDeprecatedRouteResult, fidl::Error>>
11209 + Send;
11210 fn r#route(
11211 &self,
11212 request: DeprecatedRouteRequest,
11213 dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11214 ) -> Self::RouteResponseFut;
11215}
11216#[derive(Debug)]
11217#[cfg(target_os = "fuchsia")]
11218pub struct DictionaryRouterDeprecatedSynchronousProxy {
11219 client: fidl::client::sync::Client,
11220}
11221
11222#[cfg(target_os = "fuchsia")]
11223impl fidl::endpoints::SynchronousProxy for DictionaryRouterDeprecatedSynchronousProxy {
11224 type Proxy = DictionaryRouterDeprecatedProxy;
11225 type Protocol = DictionaryRouterDeprecatedMarker;
11226
11227 fn from_channel(inner: fidl::Channel) -> Self {
11228 Self::new(inner)
11229 }
11230
11231 fn into_channel(self) -> fidl::Channel {
11232 self.client.into_channel()
11233 }
11234
11235 fn as_channel(&self) -> &fidl::Channel {
11236 self.client.as_channel()
11237 }
11238}
11239
11240#[cfg(target_os = "fuchsia")]
11241impl DictionaryRouterDeprecatedSynchronousProxy {
11242 pub fn new(channel: fidl::Channel) -> Self {
11243 let protocol_name =
11244 <DictionaryRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
11245 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
11246 }
11247
11248 pub fn into_channel(self) -> fidl::Channel {
11249 self.client.into_channel()
11250 }
11251
11252 pub fn wait_for_event(
11255 &self,
11256 deadline: zx::MonotonicInstant,
11257 ) -> Result<DictionaryRouterDeprecatedEvent, fidl::Error> {
11258 DictionaryRouterDeprecatedEvent::decode(self.client.wait_for_event(deadline)?)
11259 }
11260
11261 pub fn r#clone(
11262 &self,
11263 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11264 ) -> Result<(), fidl::Error> {
11265 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
11266 (request,),
11267 0x20d8a7aba2168a79,
11268 fidl::encoding::DynamicFlags::empty(),
11269 )
11270 }
11271
11272 pub fn r#route(
11281 &self,
11282 mut request: DeprecatedRouteRequest,
11283 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11284 ___deadline: zx::MonotonicInstant,
11285 ) -> Result<DictionaryRouterDeprecatedRouteResult, fidl::Error> {
11286 let _response = self.client.send_query::<
11287 DictionaryRouterDeprecatedRouteRequest,
11288 fidl::encoding::FlexibleResultType<DictionaryRouterDeprecatedRouteResponse, RouterError>,
11289 >(
11290 (&mut request, dictionary_server_end,),
11291 0x10b86c8a8e9eb51a,
11292 fidl::encoding::DynamicFlags::FLEXIBLE,
11293 ___deadline,
11294 )?
11295 .into_result::<DictionaryRouterDeprecatedMarker>("route")?;
11296 Ok(_response.map(|x| x.response))
11297 }
11298}
11299
11300#[cfg(target_os = "fuchsia")]
11301impl From<DictionaryRouterDeprecatedSynchronousProxy> for zx::NullableHandle {
11302 fn from(value: DictionaryRouterDeprecatedSynchronousProxy) -> Self {
11303 value.into_channel().into()
11304 }
11305}
11306
11307#[cfg(target_os = "fuchsia")]
11308impl From<fidl::Channel> for DictionaryRouterDeprecatedSynchronousProxy {
11309 fn from(value: fidl::Channel) -> Self {
11310 Self::new(value)
11311 }
11312}
11313
11314#[cfg(target_os = "fuchsia")]
11315impl fidl::endpoints::FromClient for DictionaryRouterDeprecatedSynchronousProxy {
11316 type Protocol = DictionaryRouterDeprecatedMarker;
11317
11318 fn from_client(value: fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>) -> Self {
11319 Self::new(value.into_channel())
11320 }
11321}
11322
11323#[derive(Debug, Clone)]
11324pub struct DictionaryRouterDeprecatedProxy {
11325 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
11326}
11327
11328impl fidl::endpoints::Proxy for DictionaryRouterDeprecatedProxy {
11329 type Protocol = DictionaryRouterDeprecatedMarker;
11330
11331 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
11332 Self::new(inner)
11333 }
11334
11335 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
11336 self.client.into_channel().map_err(|client| Self { client })
11337 }
11338
11339 fn as_channel(&self) -> &::fidl::AsyncChannel {
11340 self.client.as_channel()
11341 }
11342}
11343
11344impl DictionaryRouterDeprecatedProxy {
11345 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
11347 let protocol_name =
11348 <DictionaryRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
11349 Self { client: fidl::client::Client::new(channel, protocol_name) }
11350 }
11351
11352 pub fn take_event_stream(&self) -> DictionaryRouterDeprecatedEventStream {
11358 DictionaryRouterDeprecatedEventStream { event_receiver: self.client.take_event_receiver() }
11359 }
11360
11361 pub fn r#clone(
11362 &self,
11363 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11364 ) -> Result<(), fidl::Error> {
11365 DictionaryRouterDeprecatedProxyInterface::r#clone(self, request)
11366 }
11367
11368 pub fn r#route(
11377 &self,
11378 mut request: DeprecatedRouteRequest,
11379 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11380 ) -> fidl::client::QueryResponseFut<
11381 DictionaryRouterDeprecatedRouteResult,
11382 fidl::encoding::DefaultFuchsiaResourceDialect,
11383 > {
11384 DictionaryRouterDeprecatedProxyInterface::r#route(self, request, dictionary_server_end)
11385 }
11386}
11387
11388impl DictionaryRouterDeprecatedProxyInterface for DictionaryRouterDeprecatedProxy {
11389 fn r#clone(
11390 &self,
11391 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11392 ) -> Result<(), fidl::Error> {
11393 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
11394 (request,),
11395 0x20d8a7aba2168a79,
11396 fidl::encoding::DynamicFlags::empty(),
11397 )
11398 }
11399
11400 type RouteResponseFut = fidl::client::QueryResponseFut<
11401 DictionaryRouterDeprecatedRouteResult,
11402 fidl::encoding::DefaultFuchsiaResourceDialect,
11403 >;
11404 fn r#route(
11405 &self,
11406 mut request: DeprecatedRouteRequest,
11407 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11408 ) -> Self::RouteResponseFut {
11409 fn _decode(
11410 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
11411 ) -> Result<DictionaryRouterDeprecatedRouteResult, fidl::Error> {
11412 let _response = fidl::client::decode_transaction_body::<
11413 fidl::encoding::FlexibleResultType<
11414 DictionaryRouterDeprecatedRouteResponse,
11415 RouterError,
11416 >,
11417 fidl::encoding::DefaultFuchsiaResourceDialect,
11418 0x10b86c8a8e9eb51a,
11419 >(_buf?)?
11420 .into_result::<DictionaryRouterDeprecatedMarker>("route")?;
11421 Ok(_response.map(|x| x.response))
11422 }
11423 self.client.send_query_and_decode::<
11424 DictionaryRouterDeprecatedRouteRequest,
11425 DictionaryRouterDeprecatedRouteResult,
11426 >(
11427 (&mut request, dictionary_server_end,),
11428 0x10b86c8a8e9eb51a,
11429 fidl::encoding::DynamicFlags::FLEXIBLE,
11430 _decode,
11431 )
11432 }
11433}
11434
11435pub struct DictionaryRouterDeprecatedEventStream {
11436 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
11437}
11438
11439impl std::marker::Unpin for DictionaryRouterDeprecatedEventStream {}
11440
11441impl futures::stream::FusedStream for DictionaryRouterDeprecatedEventStream {
11442 fn is_terminated(&self) -> bool {
11443 self.event_receiver.is_terminated()
11444 }
11445}
11446
11447impl futures::Stream for DictionaryRouterDeprecatedEventStream {
11448 type Item = Result<DictionaryRouterDeprecatedEvent, fidl::Error>;
11449
11450 fn poll_next(
11451 mut self: std::pin::Pin<&mut Self>,
11452 cx: &mut std::task::Context<'_>,
11453 ) -> std::task::Poll<Option<Self::Item>> {
11454 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
11455 &mut self.event_receiver,
11456 cx
11457 )?) {
11458 Some(buf) => std::task::Poll::Ready(Some(DictionaryRouterDeprecatedEvent::decode(buf))),
11459 None => std::task::Poll::Ready(None),
11460 }
11461 }
11462}
11463
11464#[derive(Debug)]
11465pub enum DictionaryRouterDeprecatedEvent {
11466 #[non_exhaustive]
11467 _UnknownEvent {
11468 ordinal: u64,
11470 },
11471}
11472
11473impl DictionaryRouterDeprecatedEvent {
11474 fn decode(
11476 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
11477 ) -> Result<DictionaryRouterDeprecatedEvent, fidl::Error> {
11478 let (bytes, _handles) = buf.split_mut();
11479 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
11480 debug_assert_eq!(tx_header.tx_id, 0);
11481 match tx_header.ordinal {
11482 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
11483 Ok(DictionaryRouterDeprecatedEvent::_UnknownEvent {
11484 ordinal: tx_header.ordinal,
11485 })
11486 }
11487 _ => Err(fidl::Error::UnknownOrdinal {
11488 ordinal: tx_header.ordinal,
11489 protocol_name: <DictionaryRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
11490 })
11491 }
11492 }
11493}
11494
11495pub struct DictionaryRouterDeprecatedRequestStream {
11497 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
11498 is_terminated: bool,
11499}
11500
11501impl std::marker::Unpin for DictionaryRouterDeprecatedRequestStream {}
11502
11503impl futures::stream::FusedStream for DictionaryRouterDeprecatedRequestStream {
11504 fn is_terminated(&self) -> bool {
11505 self.is_terminated
11506 }
11507}
11508
11509impl fidl::endpoints::RequestStream for DictionaryRouterDeprecatedRequestStream {
11510 type Protocol = DictionaryRouterDeprecatedMarker;
11511 type ControlHandle = DictionaryRouterDeprecatedControlHandle;
11512
11513 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
11514 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
11515 }
11516
11517 fn control_handle(&self) -> Self::ControlHandle {
11518 DictionaryRouterDeprecatedControlHandle { inner: self.inner.clone() }
11519 }
11520
11521 fn into_inner(
11522 self,
11523 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
11524 {
11525 (self.inner, self.is_terminated)
11526 }
11527
11528 fn from_inner(
11529 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
11530 is_terminated: bool,
11531 ) -> Self {
11532 Self { inner, is_terminated }
11533 }
11534}
11535
11536impl futures::Stream for DictionaryRouterDeprecatedRequestStream {
11537 type Item = Result<DictionaryRouterDeprecatedRequest, fidl::Error>;
11538
11539 fn poll_next(
11540 mut self: std::pin::Pin<&mut Self>,
11541 cx: &mut std::task::Context<'_>,
11542 ) -> std::task::Poll<Option<Self::Item>> {
11543 let this = &mut *self;
11544 if this.inner.check_shutdown(cx) {
11545 this.is_terminated = true;
11546 return std::task::Poll::Ready(None);
11547 }
11548 if this.is_terminated {
11549 panic!("polled DictionaryRouterDeprecatedRequestStream after completion");
11550 }
11551 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
11552 |bytes, handles| {
11553 match this.inner.channel().read_etc(cx, bytes, handles) {
11554 std::task::Poll::Ready(Ok(())) => {}
11555 std::task::Poll::Pending => return std::task::Poll::Pending,
11556 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
11557 this.is_terminated = true;
11558 return std::task::Poll::Ready(None);
11559 }
11560 std::task::Poll::Ready(Err(e)) => {
11561 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
11562 e.into(),
11563 ))));
11564 }
11565 }
11566
11567 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
11569
11570 std::task::Poll::Ready(Some(match header.ordinal {
11571 0x20d8a7aba2168a79 => {
11572 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
11573 let mut req = fidl::new_empty!(fidl_fuchsia_unknown::CloneableCloneRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
11574 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
11575 let control_handle = DictionaryRouterDeprecatedControlHandle {
11576 inner: this.inner.clone(),
11577 };
11578 Ok(DictionaryRouterDeprecatedRequest::Clone {request: req.request,
11579
11580 control_handle,
11581 })
11582 }
11583 0x10b86c8a8e9eb51a => {
11584 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
11585 let mut req = fidl::new_empty!(DictionaryRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
11586 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DictionaryRouterDeprecatedRouteRequest>(&header, _body_bytes, handles, &mut req)?;
11587 let control_handle = DictionaryRouterDeprecatedControlHandle {
11588 inner: this.inner.clone(),
11589 };
11590 Ok(DictionaryRouterDeprecatedRequest::Route {request: req.request,
11591dictionary_server_end: req.dictionary_server_end,
11592
11593 responder: DictionaryRouterDeprecatedRouteResponder {
11594 control_handle: std::mem::ManuallyDrop::new(control_handle),
11595 tx_id: header.tx_id,
11596 },
11597 })
11598 }
11599 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
11600 Ok(DictionaryRouterDeprecatedRequest::_UnknownMethod {
11601 ordinal: header.ordinal,
11602 control_handle: DictionaryRouterDeprecatedControlHandle { inner: this.inner.clone() },
11603 method_type: fidl::MethodType::OneWay,
11604 })
11605 }
11606 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
11607 this.inner.send_framework_err(
11608 fidl::encoding::FrameworkErr::UnknownMethod,
11609 header.tx_id,
11610 header.ordinal,
11611 header.dynamic_flags(),
11612 (bytes, handles),
11613 )?;
11614 Ok(DictionaryRouterDeprecatedRequest::_UnknownMethod {
11615 ordinal: header.ordinal,
11616 control_handle: DictionaryRouterDeprecatedControlHandle { inner: this.inner.clone() },
11617 method_type: fidl::MethodType::TwoWay,
11618 })
11619 }
11620 _ => Err(fidl::Error::UnknownOrdinal {
11621 ordinal: header.ordinal,
11622 protocol_name: <DictionaryRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
11623 }),
11624 }))
11625 },
11626 )
11627 }
11628}
11629
11630#[derive(Debug)]
11632pub enum DictionaryRouterDeprecatedRequest {
11633 Clone {
11634 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11635 control_handle: DictionaryRouterDeprecatedControlHandle,
11636 },
11637 Route {
11646 request: DeprecatedRouteRequest,
11647 dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11648 responder: DictionaryRouterDeprecatedRouteResponder,
11649 },
11650 #[non_exhaustive]
11652 _UnknownMethod {
11653 ordinal: u64,
11655 control_handle: DictionaryRouterDeprecatedControlHandle,
11656 method_type: fidl::MethodType,
11657 },
11658}
11659
11660impl DictionaryRouterDeprecatedRequest {
11661 #[allow(irrefutable_let_patterns)]
11662 pub fn into_clone(
11663 self,
11664 ) -> Option<(
11665 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11666 DictionaryRouterDeprecatedControlHandle,
11667 )> {
11668 if let DictionaryRouterDeprecatedRequest::Clone { request, control_handle } = self {
11669 Some((request, control_handle))
11670 } else {
11671 None
11672 }
11673 }
11674
11675 #[allow(irrefutable_let_patterns)]
11676 pub fn into_route(
11677 self,
11678 ) -> Option<(
11679 DeprecatedRouteRequest,
11680 fidl::endpoints::ServerEnd<DictionaryMarker>,
11681 DictionaryRouterDeprecatedRouteResponder,
11682 )> {
11683 if let DictionaryRouterDeprecatedRequest::Route {
11684 request,
11685 dictionary_server_end,
11686 responder,
11687 } = self
11688 {
11689 Some((request, dictionary_server_end, responder))
11690 } else {
11691 None
11692 }
11693 }
11694
11695 pub fn method_name(&self) -> &'static str {
11697 match *self {
11698 DictionaryRouterDeprecatedRequest::Clone { .. } => "clone",
11699 DictionaryRouterDeprecatedRequest::Route { .. } => "route",
11700 DictionaryRouterDeprecatedRequest::_UnknownMethod {
11701 method_type: fidl::MethodType::OneWay,
11702 ..
11703 } => "unknown one-way method",
11704 DictionaryRouterDeprecatedRequest::_UnknownMethod {
11705 method_type: fidl::MethodType::TwoWay,
11706 ..
11707 } => "unknown two-way method",
11708 }
11709 }
11710}
11711
11712#[derive(Debug, Clone)]
11713pub struct DictionaryRouterDeprecatedControlHandle {
11714 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
11715}
11716
11717impl fidl::endpoints::ControlHandle for DictionaryRouterDeprecatedControlHandle {
11718 fn shutdown(&self) {
11719 self.inner.shutdown()
11720 }
11721
11722 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
11723 self.inner.shutdown_with_epitaph(status)
11724 }
11725
11726 fn is_closed(&self) -> bool {
11727 self.inner.channel().is_closed()
11728 }
11729 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
11730 self.inner.channel().on_closed()
11731 }
11732
11733 #[cfg(target_os = "fuchsia")]
11734 fn signal_peer(
11735 &self,
11736 clear_mask: zx::Signals,
11737 set_mask: zx::Signals,
11738 ) -> Result<(), zx_status::Status> {
11739 use fidl::Peered;
11740 self.inner.channel().signal_peer(clear_mask, set_mask)
11741 }
11742}
11743
11744impl DictionaryRouterDeprecatedControlHandle {}
11745
11746#[must_use = "FIDL methods require a response to be sent"]
11747#[derive(Debug)]
11748pub struct DictionaryRouterDeprecatedRouteResponder {
11749 control_handle: std::mem::ManuallyDrop<DictionaryRouterDeprecatedControlHandle>,
11750 tx_id: u32,
11751}
11752
11753impl std::ops::Drop for DictionaryRouterDeprecatedRouteResponder {
11757 fn drop(&mut self) {
11758 self.control_handle.shutdown();
11759 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
11761 }
11762}
11763
11764impl fidl::endpoints::Responder for DictionaryRouterDeprecatedRouteResponder {
11765 type ControlHandle = DictionaryRouterDeprecatedControlHandle;
11766
11767 fn control_handle(&self) -> &DictionaryRouterDeprecatedControlHandle {
11768 &self.control_handle
11769 }
11770
11771 fn drop_without_shutdown(mut self) {
11772 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
11774 std::mem::forget(self);
11776 }
11777}
11778
11779impl DictionaryRouterDeprecatedRouteResponder {
11780 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
11784 let _result = self.send_raw(result);
11785 if _result.is_err() {
11786 self.control_handle.shutdown();
11787 }
11788 self.drop_without_shutdown();
11789 _result
11790 }
11791
11792 pub fn send_no_shutdown_on_err(
11794 self,
11795 mut result: Result<RouterResponse, RouterError>,
11796 ) -> Result<(), fidl::Error> {
11797 let _result = self.send_raw(result);
11798 self.drop_without_shutdown();
11799 _result
11800 }
11801
11802 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
11803 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
11804 DictionaryRouterDeprecatedRouteResponse,
11805 RouterError,
11806 >>(
11807 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
11808 self.tx_id,
11809 0x10b86c8a8e9eb51a,
11810 fidl::encoding::DynamicFlags::FLEXIBLE,
11811 )
11812 }
11813}
11814
11815#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
11816pub struct DirConnectorMarker;
11817
11818impl fidl::endpoints::ProtocolMarker for DirConnectorMarker {
11819 type Proxy = DirConnectorProxy;
11820 type RequestStream = DirConnectorRequestStream;
11821 #[cfg(target_os = "fuchsia")]
11822 type SynchronousProxy = DirConnectorSynchronousProxy;
11823
11824 const DEBUG_NAME: &'static str = "(anonymous) DirConnector";
11825}
11826
11827pub trait DirConnectorProxyInterface: Send + Sync {
11828 fn r#clone(
11829 &self,
11830 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11831 ) -> Result<(), fidl::Error>;
11832 fn r#connect(
11833 &self,
11834 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
11835 ) -> Result<(), fidl::Error>;
11836}
11837#[derive(Debug)]
11838#[cfg(target_os = "fuchsia")]
11839pub struct DirConnectorSynchronousProxy {
11840 client: fidl::client::sync::Client,
11841}
11842
11843#[cfg(target_os = "fuchsia")]
11844impl fidl::endpoints::SynchronousProxy for DirConnectorSynchronousProxy {
11845 type Proxy = DirConnectorProxy;
11846 type Protocol = DirConnectorMarker;
11847
11848 fn from_channel(inner: fidl::Channel) -> Self {
11849 Self::new(inner)
11850 }
11851
11852 fn into_channel(self) -> fidl::Channel {
11853 self.client.into_channel()
11854 }
11855
11856 fn as_channel(&self) -> &fidl::Channel {
11857 self.client.as_channel()
11858 }
11859}
11860
11861#[cfg(target_os = "fuchsia")]
11862impl DirConnectorSynchronousProxy {
11863 pub fn new(channel: fidl::Channel) -> Self {
11864 let protocol_name = <DirConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
11865 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
11866 }
11867
11868 pub fn into_channel(self) -> fidl::Channel {
11869 self.client.into_channel()
11870 }
11871
11872 pub fn wait_for_event(
11875 &self,
11876 deadline: zx::MonotonicInstant,
11877 ) -> Result<DirConnectorEvent, fidl::Error> {
11878 DirConnectorEvent::decode(self.client.wait_for_event(deadline)?)
11879 }
11880
11881 pub fn r#clone(
11882 &self,
11883 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11884 ) -> Result<(), fidl::Error> {
11885 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
11886 (request,),
11887 0x20d8a7aba2168a79,
11888 fidl::encoding::DynamicFlags::empty(),
11889 )
11890 }
11891
11892 pub fn r#connect(
11894 &self,
11895 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
11896 ) -> Result<(), fidl::Error> {
11897 self.client.send::<DirConnectorConnectRequest>(
11898 (channel,),
11899 0x23fbb3d289ca7e5b,
11900 fidl::encoding::DynamicFlags::FLEXIBLE,
11901 )
11902 }
11903}
11904
11905#[cfg(target_os = "fuchsia")]
11906impl From<DirConnectorSynchronousProxy> for zx::NullableHandle {
11907 fn from(value: DirConnectorSynchronousProxy) -> Self {
11908 value.into_channel().into()
11909 }
11910}
11911
11912#[cfg(target_os = "fuchsia")]
11913impl From<fidl::Channel> for DirConnectorSynchronousProxy {
11914 fn from(value: fidl::Channel) -> Self {
11915 Self::new(value)
11916 }
11917}
11918
11919#[cfg(target_os = "fuchsia")]
11920impl fidl::endpoints::FromClient for DirConnectorSynchronousProxy {
11921 type Protocol = DirConnectorMarker;
11922
11923 fn from_client(value: fidl::endpoints::ClientEnd<DirConnectorMarker>) -> Self {
11924 Self::new(value.into_channel())
11925 }
11926}
11927
11928#[derive(Debug, Clone)]
11929pub struct DirConnectorProxy {
11930 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
11931}
11932
11933impl fidl::endpoints::Proxy for DirConnectorProxy {
11934 type Protocol = DirConnectorMarker;
11935
11936 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
11937 Self::new(inner)
11938 }
11939
11940 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
11941 self.client.into_channel().map_err(|client| Self { client })
11942 }
11943
11944 fn as_channel(&self) -> &::fidl::AsyncChannel {
11945 self.client.as_channel()
11946 }
11947}
11948
11949impl DirConnectorProxy {
11950 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
11952 let protocol_name = <DirConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
11953 Self { client: fidl::client::Client::new(channel, protocol_name) }
11954 }
11955
11956 pub fn take_event_stream(&self) -> DirConnectorEventStream {
11962 DirConnectorEventStream { event_receiver: self.client.take_event_receiver() }
11963 }
11964
11965 pub fn r#clone(
11966 &self,
11967 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11968 ) -> Result<(), fidl::Error> {
11969 DirConnectorProxyInterface::r#clone(self, request)
11970 }
11971
11972 pub fn r#connect(
11974 &self,
11975 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
11976 ) -> Result<(), fidl::Error> {
11977 DirConnectorProxyInterface::r#connect(self, channel)
11978 }
11979}
11980
11981impl DirConnectorProxyInterface for DirConnectorProxy {
11982 fn r#clone(
11983 &self,
11984 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11985 ) -> Result<(), fidl::Error> {
11986 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
11987 (request,),
11988 0x20d8a7aba2168a79,
11989 fidl::encoding::DynamicFlags::empty(),
11990 )
11991 }
11992
11993 fn r#connect(
11994 &self,
11995 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
11996 ) -> Result<(), fidl::Error> {
11997 self.client.send::<DirConnectorConnectRequest>(
11998 (channel,),
11999 0x23fbb3d289ca7e5b,
12000 fidl::encoding::DynamicFlags::FLEXIBLE,
12001 )
12002 }
12003}
12004
12005pub struct DirConnectorEventStream {
12006 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
12007}
12008
12009impl std::marker::Unpin for DirConnectorEventStream {}
12010
12011impl futures::stream::FusedStream for DirConnectorEventStream {
12012 fn is_terminated(&self) -> bool {
12013 self.event_receiver.is_terminated()
12014 }
12015}
12016
12017impl futures::Stream for DirConnectorEventStream {
12018 type Item = Result<DirConnectorEvent, fidl::Error>;
12019
12020 fn poll_next(
12021 mut self: std::pin::Pin<&mut Self>,
12022 cx: &mut std::task::Context<'_>,
12023 ) -> std::task::Poll<Option<Self::Item>> {
12024 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
12025 &mut self.event_receiver,
12026 cx
12027 )?) {
12028 Some(buf) => std::task::Poll::Ready(Some(DirConnectorEvent::decode(buf))),
12029 None => std::task::Poll::Ready(None),
12030 }
12031 }
12032}
12033
12034#[derive(Debug)]
12035pub enum DirConnectorEvent {
12036 #[non_exhaustive]
12037 _UnknownEvent {
12038 ordinal: u64,
12040 },
12041}
12042
12043impl DirConnectorEvent {
12044 fn decode(
12046 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
12047 ) -> Result<DirConnectorEvent, fidl::Error> {
12048 let (bytes, _handles) = buf.split_mut();
12049 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
12050 debug_assert_eq!(tx_header.tx_id, 0);
12051 match tx_header.ordinal {
12052 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
12053 Ok(DirConnectorEvent::_UnknownEvent { ordinal: tx_header.ordinal })
12054 }
12055 _ => Err(fidl::Error::UnknownOrdinal {
12056 ordinal: tx_header.ordinal,
12057 protocol_name: <DirConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
12058 }),
12059 }
12060 }
12061}
12062
12063pub struct DirConnectorRequestStream {
12065 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12066 is_terminated: bool,
12067}
12068
12069impl std::marker::Unpin for DirConnectorRequestStream {}
12070
12071impl futures::stream::FusedStream for DirConnectorRequestStream {
12072 fn is_terminated(&self) -> bool {
12073 self.is_terminated
12074 }
12075}
12076
12077impl fidl::endpoints::RequestStream for DirConnectorRequestStream {
12078 type Protocol = DirConnectorMarker;
12079 type ControlHandle = DirConnectorControlHandle;
12080
12081 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
12082 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
12083 }
12084
12085 fn control_handle(&self) -> Self::ControlHandle {
12086 DirConnectorControlHandle { inner: self.inner.clone() }
12087 }
12088
12089 fn into_inner(
12090 self,
12091 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
12092 {
12093 (self.inner, self.is_terminated)
12094 }
12095
12096 fn from_inner(
12097 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12098 is_terminated: bool,
12099 ) -> Self {
12100 Self { inner, is_terminated }
12101 }
12102}
12103
12104impl futures::Stream for DirConnectorRequestStream {
12105 type Item = Result<DirConnectorRequest, fidl::Error>;
12106
12107 fn poll_next(
12108 mut self: std::pin::Pin<&mut Self>,
12109 cx: &mut std::task::Context<'_>,
12110 ) -> std::task::Poll<Option<Self::Item>> {
12111 let this = &mut *self;
12112 if this.inner.check_shutdown(cx) {
12113 this.is_terminated = true;
12114 return std::task::Poll::Ready(None);
12115 }
12116 if this.is_terminated {
12117 panic!("polled DirConnectorRequestStream after completion");
12118 }
12119 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
12120 |bytes, handles| {
12121 match this.inner.channel().read_etc(cx, bytes, handles) {
12122 std::task::Poll::Ready(Ok(())) => {}
12123 std::task::Poll::Pending => return std::task::Poll::Pending,
12124 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
12125 this.is_terminated = true;
12126 return std::task::Poll::Ready(None);
12127 }
12128 std::task::Poll::Ready(Err(e)) => {
12129 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
12130 e.into(),
12131 ))));
12132 }
12133 }
12134
12135 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
12137
12138 std::task::Poll::Ready(Some(match header.ordinal {
12139 0x20d8a7aba2168a79 => {
12140 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
12141 let mut req = fidl::new_empty!(
12142 fidl_fuchsia_unknown::CloneableCloneRequest,
12143 fidl::encoding::DefaultFuchsiaResourceDialect
12144 );
12145 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
12146 let control_handle =
12147 DirConnectorControlHandle { inner: this.inner.clone() };
12148 Ok(DirConnectorRequest::Clone { request: req.request, control_handle })
12149 }
12150 0x23fbb3d289ca7e5b => {
12151 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
12152 let mut req = fidl::new_empty!(
12153 DirConnectorConnectRequest,
12154 fidl::encoding::DefaultFuchsiaResourceDialect
12155 );
12156 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirConnectorConnectRequest>(&header, _body_bytes, handles, &mut req)?;
12157 let control_handle =
12158 DirConnectorControlHandle { inner: this.inner.clone() };
12159 Ok(DirConnectorRequest::Connect { channel: req.channel, control_handle })
12160 }
12161 _ if header.tx_id == 0
12162 && header
12163 .dynamic_flags()
12164 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
12165 {
12166 Ok(DirConnectorRequest::_UnknownMethod {
12167 ordinal: header.ordinal,
12168 control_handle: DirConnectorControlHandle { inner: this.inner.clone() },
12169 method_type: fidl::MethodType::OneWay,
12170 })
12171 }
12172 _ if header
12173 .dynamic_flags()
12174 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
12175 {
12176 this.inner.send_framework_err(
12177 fidl::encoding::FrameworkErr::UnknownMethod,
12178 header.tx_id,
12179 header.ordinal,
12180 header.dynamic_flags(),
12181 (bytes, handles),
12182 )?;
12183 Ok(DirConnectorRequest::_UnknownMethod {
12184 ordinal: header.ordinal,
12185 control_handle: DirConnectorControlHandle { inner: this.inner.clone() },
12186 method_type: fidl::MethodType::TwoWay,
12187 })
12188 }
12189 _ => Err(fidl::Error::UnknownOrdinal {
12190 ordinal: header.ordinal,
12191 protocol_name:
12192 <DirConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
12193 }),
12194 }))
12195 },
12196 )
12197 }
12198}
12199
12200#[derive(Debug)]
12204pub enum DirConnectorRequest {
12205 Clone {
12206 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
12207 control_handle: DirConnectorControlHandle,
12208 },
12209 Connect {
12211 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
12212 control_handle: DirConnectorControlHandle,
12213 },
12214 #[non_exhaustive]
12216 _UnknownMethod {
12217 ordinal: u64,
12219 control_handle: DirConnectorControlHandle,
12220 method_type: fidl::MethodType,
12221 },
12222}
12223
12224impl DirConnectorRequest {
12225 #[allow(irrefutable_let_patterns)]
12226 pub fn into_clone(
12227 self,
12228 ) -> Option<(
12229 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
12230 DirConnectorControlHandle,
12231 )> {
12232 if let DirConnectorRequest::Clone { request, control_handle } = self {
12233 Some((request, control_handle))
12234 } else {
12235 None
12236 }
12237 }
12238
12239 #[allow(irrefutable_let_patterns)]
12240 pub fn into_connect(
12241 self,
12242 ) -> Option<(
12243 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
12244 DirConnectorControlHandle,
12245 )> {
12246 if let DirConnectorRequest::Connect { channel, control_handle } = self {
12247 Some((channel, control_handle))
12248 } else {
12249 None
12250 }
12251 }
12252
12253 pub fn method_name(&self) -> &'static str {
12255 match *self {
12256 DirConnectorRequest::Clone { .. } => "clone",
12257 DirConnectorRequest::Connect { .. } => "connect",
12258 DirConnectorRequest::_UnknownMethod {
12259 method_type: fidl::MethodType::OneWay, ..
12260 } => "unknown one-way method",
12261 DirConnectorRequest::_UnknownMethod {
12262 method_type: fidl::MethodType::TwoWay, ..
12263 } => "unknown two-way method",
12264 }
12265 }
12266}
12267
12268#[derive(Debug, Clone)]
12269pub struct DirConnectorControlHandle {
12270 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12271}
12272
12273impl fidl::endpoints::ControlHandle for DirConnectorControlHandle {
12274 fn shutdown(&self) {
12275 self.inner.shutdown()
12276 }
12277
12278 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
12279 self.inner.shutdown_with_epitaph(status)
12280 }
12281
12282 fn is_closed(&self) -> bool {
12283 self.inner.channel().is_closed()
12284 }
12285 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
12286 self.inner.channel().on_closed()
12287 }
12288
12289 #[cfg(target_os = "fuchsia")]
12290 fn signal_peer(
12291 &self,
12292 clear_mask: zx::Signals,
12293 set_mask: zx::Signals,
12294 ) -> Result<(), zx_status::Status> {
12295 use fidl::Peered;
12296 self.inner.channel().signal_peer(clear_mask, set_mask)
12297 }
12298}
12299
12300impl DirConnectorControlHandle {}
12301
12302#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
12303pub struct DirConnectorRouterMarker;
12304
12305impl fidl::endpoints::ProtocolMarker for DirConnectorRouterMarker {
12306 type Proxy = DirConnectorRouterProxy;
12307 type RequestStream = DirConnectorRouterRequestStream;
12308 #[cfg(target_os = "fuchsia")]
12309 type SynchronousProxy = DirConnectorRouterSynchronousProxy;
12310
12311 const DEBUG_NAME: &'static str = "(anonymous) DirConnectorRouter";
12312}
12313pub type DirConnectorRouterRouteResult = Result<RouterResponse, RouterError>;
12314
12315pub trait DirConnectorRouterProxyInterface: Send + Sync {
12316 type RouteResponseFut: std::future::Future<Output = Result<DirConnectorRouterRouteResult, fidl::Error>>
12317 + Send;
12318 fn r#route(
12319 &self,
12320 request: RouteRequest,
12321 instance_token: fidl::EventPair,
12322 handle: fidl::EventPair,
12323 ) -> Self::RouteResponseFut;
12324}
12325#[derive(Debug)]
12326#[cfg(target_os = "fuchsia")]
12327pub struct DirConnectorRouterSynchronousProxy {
12328 client: fidl::client::sync::Client,
12329}
12330
12331#[cfg(target_os = "fuchsia")]
12332impl fidl::endpoints::SynchronousProxy for DirConnectorRouterSynchronousProxy {
12333 type Proxy = DirConnectorRouterProxy;
12334 type Protocol = DirConnectorRouterMarker;
12335
12336 fn from_channel(inner: fidl::Channel) -> Self {
12337 Self::new(inner)
12338 }
12339
12340 fn into_channel(self) -> fidl::Channel {
12341 self.client.into_channel()
12342 }
12343
12344 fn as_channel(&self) -> &fidl::Channel {
12345 self.client.as_channel()
12346 }
12347}
12348
12349#[cfg(target_os = "fuchsia")]
12350impl DirConnectorRouterSynchronousProxy {
12351 pub fn new(channel: fidl::Channel) -> Self {
12352 let protocol_name =
12353 <DirConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
12354 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
12355 }
12356
12357 pub fn into_channel(self) -> fidl::Channel {
12358 self.client.into_channel()
12359 }
12360
12361 pub fn wait_for_event(
12364 &self,
12365 deadline: zx::MonotonicInstant,
12366 ) -> Result<DirConnectorRouterEvent, fidl::Error> {
12367 DirConnectorRouterEvent::decode(self.client.wait_for_event(deadline)?)
12368 }
12369
12370 pub fn r#route(
12384 &self,
12385 mut request: RouteRequest,
12386 mut instance_token: fidl::EventPair,
12387 mut handle: fidl::EventPair,
12388 ___deadline: zx::MonotonicInstant,
12389 ) -> Result<DirConnectorRouterRouteResult, fidl::Error> {
12390 let _response = self.client.send_query::<
12391 DirConnectorRouterRouteRequest,
12392 fidl::encoding::FlexibleResultType<DirConnectorRouterRouteResponse, RouterError>,
12393 >(
12394 (&mut request, instance_token, handle,),
12395 0x233f2ac038127462,
12396 fidl::encoding::DynamicFlags::FLEXIBLE,
12397 ___deadline,
12398 )?
12399 .into_result::<DirConnectorRouterMarker>("route")?;
12400 Ok(_response.map(|x| x.response))
12401 }
12402}
12403
12404#[cfg(target_os = "fuchsia")]
12405impl From<DirConnectorRouterSynchronousProxy> for zx::NullableHandle {
12406 fn from(value: DirConnectorRouterSynchronousProxy) -> Self {
12407 value.into_channel().into()
12408 }
12409}
12410
12411#[cfg(target_os = "fuchsia")]
12412impl From<fidl::Channel> for DirConnectorRouterSynchronousProxy {
12413 fn from(value: fidl::Channel) -> Self {
12414 Self::new(value)
12415 }
12416}
12417
12418#[cfg(target_os = "fuchsia")]
12419impl fidl::endpoints::FromClient for DirConnectorRouterSynchronousProxy {
12420 type Protocol = DirConnectorRouterMarker;
12421
12422 fn from_client(value: fidl::endpoints::ClientEnd<DirConnectorRouterMarker>) -> Self {
12423 Self::new(value.into_channel())
12424 }
12425}
12426
12427#[derive(Debug, Clone)]
12428pub struct DirConnectorRouterProxy {
12429 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
12430}
12431
12432impl fidl::endpoints::Proxy for DirConnectorRouterProxy {
12433 type Protocol = DirConnectorRouterMarker;
12434
12435 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
12436 Self::new(inner)
12437 }
12438
12439 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
12440 self.client.into_channel().map_err(|client| Self { client })
12441 }
12442
12443 fn as_channel(&self) -> &::fidl::AsyncChannel {
12444 self.client.as_channel()
12445 }
12446}
12447
12448impl DirConnectorRouterProxy {
12449 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
12451 let protocol_name =
12452 <DirConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
12453 Self { client: fidl::client::Client::new(channel, protocol_name) }
12454 }
12455
12456 pub fn take_event_stream(&self) -> DirConnectorRouterEventStream {
12462 DirConnectorRouterEventStream { event_receiver: self.client.take_event_receiver() }
12463 }
12464
12465 pub fn r#route(
12479 &self,
12480 mut request: RouteRequest,
12481 mut instance_token: fidl::EventPair,
12482 mut handle: fidl::EventPair,
12483 ) -> fidl::client::QueryResponseFut<
12484 DirConnectorRouterRouteResult,
12485 fidl::encoding::DefaultFuchsiaResourceDialect,
12486 > {
12487 DirConnectorRouterProxyInterface::r#route(self, request, instance_token, handle)
12488 }
12489}
12490
12491impl DirConnectorRouterProxyInterface for DirConnectorRouterProxy {
12492 type RouteResponseFut = fidl::client::QueryResponseFut<
12493 DirConnectorRouterRouteResult,
12494 fidl::encoding::DefaultFuchsiaResourceDialect,
12495 >;
12496 fn r#route(
12497 &self,
12498 mut request: RouteRequest,
12499 mut instance_token: fidl::EventPair,
12500 mut handle: fidl::EventPair,
12501 ) -> Self::RouteResponseFut {
12502 fn _decode(
12503 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
12504 ) -> Result<DirConnectorRouterRouteResult, fidl::Error> {
12505 let _response = fidl::client::decode_transaction_body::<
12506 fidl::encoding::FlexibleResultType<DirConnectorRouterRouteResponse, RouterError>,
12507 fidl::encoding::DefaultFuchsiaResourceDialect,
12508 0x233f2ac038127462,
12509 >(_buf?)?
12510 .into_result::<DirConnectorRouterMarker>("route")?;
12511 Ok(_response.map(|x| x.response))
12512 }
12513 self.client
12514 .send_query_and_decode::<DirConnectorRouterRouteRequest, DirConnectorRouterRouteResult>(
12515 (&mut request, instance_token, handle),
12516 0x233f2ac038127462,
12517 fidl::encoding::DynamicFlags::FLEXIBLE,
12518 _decode,
12519 )
12520 }
12521}
12522
12523pub struct DirConnectorRouterEventStream {
12524 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
12525}
12526
12527impl std::marker::Unpin for DirConnectorRouterEventStream {}
12528
12529impl futures::stream::FusedStream for DirConnectorRouterEventStream {
12530 fn is_terminated(&self) -> bool {
12531 self.event_receiver.is_terminated()
12532 }
12533}
12534
12535impl futures::Stream for DirConnectorRouterEventStream {
12536 type Item = Result<DirConnectorRouterEvent, fidl::Error>;
12537
12538 fn poll_next(
12539 mut self: std::pin::Pin<&mut Self>,
12540 cx: &mut std::task::Context<'_>,
12541 ) -> std::task::Poll<Option<Self::Item>> {
12542 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
12543 &mut self.event_receiver,
12544 cx
12545 )?) {
12546 Some(buf) => std::task::Poll::Ready(Some(DirConnectorRouterEvent::decode(buf))),
12547 None => std::task::Poll::Ready(None),
12548 }
12549 }
12550}
12551
12552#[derive(Debug)]
12553pub enum DirConnectorRouterEvent {
12554 #[non_exhaustive]
12555 _UnknownEvent {
12556 ordinal: u64,
12558 },
12559}
12560
12561impl DirConnectorRouterEvent {
12562 fn decode(
12564 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
12565 ) -> Result<DirConnectorRouterEvent, fidl::Error> {
12566 let (bytes, _handles) = buf.split_mut();
12567 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
12568 debug_assert_eq!(tx_header.tx_id, 0);
12569 match tx_header.ordinal {
12570 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
12571 Ok(DirConnectorRouterEvent::_UnknownEvent { ordinal: tx_header.ordinal })
12572 }
12573 _ => Err(fidl::Error::UnknownOrdinal {
12574 ordinal: tx_header.ordinal,
12575 protocol_name:
12576 <DirConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
12577 }),
12578 }
12579 }
12580}
12581
12582pub struct DirConnectorRouterRequestStream {
12584 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12585 is_terminated: bool,
12586}
12587
12588impl std::marker::Unpin for DirConnectorRouterRequestStream {}
12589
12590impl futures::stream::FusedStream for DirConnectorRouterRequestStream {
12591 fn is_terminated(&self) -> bool {
12592 self.is_terminated
12593 }
12594}
12595
12596impl fidl::endpoints::RequestStream for DirConnectorRouterRequestStream {
12597 type Protocol = DirConnectorRouterMarker;
12598 type ControlHandle = DirConnectorRouterControlHandle;
12599
12600 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
12601 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
12602 }
12603
12604 fn control_handle(&self) -> Self::ControlHandle {
12605 DirConnectorRouterControlHandle { inner: self.inner.clone() }
12606 }
12607
12608 fn into_inner(
12609 self,
12610 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
12611 {
12612 (self.inner, self.is_terminated)
12613 }
12614
12615 fn from_inner(
12616 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12617 is_terminated: bool,
12618 ) -> Self {
12619 Self { inner, is_terminated }
12620 }
12621}
12622
12623impl futures::Stream for DirConnectorRouterRequestStream {
12624 type Item = Result<DirConnectorRouterRequest, fidl::Error>;
12625
12626 fn poll_next(
12627 mut self: std::pin::Pin<&mut Self>,
12628 cx: &mut std::task::Context<'_>,
12629 ) -> std::task::Poll<Option<Self::Item>> {
12630 let this = &mut *self;
12631 if this.inner.check_shutdown(cx) {
12632 this.is_terminated = true;
12633 return std::task::Poll::Ready(None);
12634 }
12635 if this.is_terminated {
12636 panic!("polled DirConnectorRouterRequestStream after completion");
12637 }
12638 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
12639 |bytes, handles| {
12640 match this.inner.channel().read_etc(cx, bytes, handles) {
12641 std::task::Poll::Ready(Ok(())) => {}
12642 std::task::Poll::Pending => return std::task::Poll::Pending,
12643 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
12644 this.is_terminated = true;
12645 return std::task::Poll::Ready(None);
12646 }
12647 std::task::Poll::Ready(Err(e)) => {
12648 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
12649 e.into(),
12650 ))));
12651 }
12652 }
12653
12654 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
12656
12657 std::task::Poll::Ready(Some(match header.ordinal {
12658 0x233f2ac038127462 => {
12659 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
12660 let mut req = fidl::new_empty!(DirConnectorRouterRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
12661 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirConnectorRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
12662 let control_handle = DirConnectorRouterControlHandle {
12663 inner: this.inner.clone(),
12664 };
12665 Ok(DirConnectorRouterRequest::Route {request: req.request,
12666instance_token: req.instance_token,
12667handle: req.handle,
12668
12669 responder: DirConnectorRouterRouteResponder {
12670 control_handle: std::mem::ManuallyDrop::new(control_handle),
12671 tx_id: header.tx_id,
12672 },
12673 })
12674 }
12675 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
12676 Ok(DirConnectorRouterRequest::_UnknownMethod {
12677 ordinal: header.ordinal,
12678 control_handle: DirConnectorRouterControlHandle { inner: this.inner.clone() },
12679 method_type: fidl::MethodType::OneWay,
12680 })
12681 }
12682 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
12683 this.inner.send_framework_err(
12684 fidl::encoding::FrameworkErr::UnknownMethod,
12685 header.tx_id,
12686 header.ordinal,
12687 header.dynamic_flags(),
12688 (bytes, handles),
12689 )?;
12690 Ok(DirConnectorRouterRequest::_UnknownMethod {
12691 ordinal: header.ordinal,
12692 control_handle: DirConnectorRouterControlHandle { inner: this.inner.clone() },
12693 method_type: fidl::MethodType::TwoWay,
12694 })
12695 }
12696 _ => Err(fidl::Error::UnknownOrdinal {
12697 ordinal: header.ordinal,
12698 protocol_name: <DirConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
12699 }),
12700 }))
12701 },
12702 )
12703 }
12704}
12705
12706#[derive(Debug)]
12708pub enum DirConnectorRouterRequest {
12709 Route {
12723 request: RouteRequest,
12724 instance_token: fidl::EventPair,
12725 handle: fidl::EventPair,
12726 responder: DirConnectorRouterRouteResponder,
12727 },
12728 #[non_exhaustive]
12730 _UnknownMethod {
12731 ordinal: u64,
12733 control_handle: DirConnectorRouterControlHandle,
12734 method_type: fidl::MethodType,
12735 },
12736}
12737
12738impl DirConnectorRouterRequest {
12739 #[allow(irrefutable_let_patterns)]
12740 pub fn into_route(
12741 self,
12742 ) -> Option<(RouteRequest, fidl::EventPair, fidl::EventPair, DirConnectorRouterRouteResponder)>
12743 {
12744 if let DirConnectorRouterRequest::Route { request, instance_token, handle, responder } =
12745 self
12746 {
12747 Some((request, instance_token, handle, responder))
12748 } else {
12749 None
12750 }
12751 }
12752
12753 pub fn method_name(&self) -> &'static str {
12755 match *self {
12756 DirConnectorRouterRequest::Route { .. } => "route",
12757 DirConnectorRouterRequest::_UnknownMethod {
12758 method_type: fidl::MethodType::OneWay,
12759 ..
12760 } => "unknown one-way method",
12761 DirConnectorRouterRequest::_UnknownMethod {
12762 method_type: fidl::MethodType::TwoWay,
12763 ..
12764 } => "unknown two-way method",
12765 }
12766 }
12767}
12768
12769#[derive(Debug, Clone)]
12770pub struct DirConnectorRouterControlHandle {
12771 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12772}
12773
12774impl fidl::endpoints::ControlHandle for DirConnectorRouterControlHandle {
12775 fn shutdown(&self) {
12776 self.inner.shutdown()
12777 }
12778
12779 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
12780 self.inner.shutdown_with_epitaph(status)
12781 }
12782
12783 fn is_closed(&self) -> bool {
12784 self.inner.channel().is_closed()
12785 }
12786 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
12787 self.inner.channel().on_closed()
12788 }
12789
12790 #[cfg(target_os = "fuchsia")]
12791 fn signal_peer(
12792 &self,
12793 clear_mask: zx::Signals,
12794 set_mask: zx::Signals,
12795 ) -> Result<(), zx_status::Status> {
12796 use fidl::Peered;
12797 self.inner.channel().signal_peer(clear_mask, set_mask)
12798 }
12799}
12800
12801impl DirConnectorRouterControlHandle {}
12802
12803#[must_use = "FIDL methods require a response to be sent"]
12804#[derive(Debug)]
12805pub struct DirConnectorRouterRouteResponder {
12806 control_handle: std::mem::ManuallyDrop<DirConnectorRouterControlHandle>,
12807 tx_id: u32,
12808}
12809
12810impl std::ops::Drop for DirConnectorRouterRouteResponder {
12814 fn drop(&mut self) {
12815 self.control_handle.shutdown();
12816 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
12818 }
12819}
12820
12821impl fidl::endpoints::Responder for DirConnectorRouterRouteResponder {
12822 type ControlHandle = DirConnectorRouterControlHandle;
12823
12824 fn control_handle(&self) -> &DirConnectorRouterControlHandle {
12825 &self.control_handle
12826 }
12827
12828 fn drop_without_shutdown(mut self) {
12829 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
12831 std::mem::forget(self);
12833 }
12834}
12835
12836impl DirConnectorRouterRouteResponder {
12837 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
12841 let _result = self.send_raw(result);
12842 if _result.is_err() {
12843 self.control_handle.shutdown();
12844 }
12845 self.drop_without_shutdown();
12846 _result
12847 }
12848
12849 pub fn send_no_shutdown_on_err(
12851 self,
12852 mut result: Result<RouterResponse, RouterError>,
12853 ) -> Result<(), fidl::Error> {
12854 let _result = self.send_raw(result);
12855 self.drop_without_shutdown();
12856 _result
12857 }
12858
12859 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
12860 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
12861 DirConnectorRouterRouteResponse,
12862 RouterError,
12863 >>(
12864 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
12865 self.tx_id,
12866 0x233f2ac038127462,
12867 fidl::encoding::DynamicFlags::FLEXIBLE,
12868 )
12869 }
12870}
12871
12872#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
12873pub struct DirConnectorRouterDeprecatedMarker;
12874
12875impl fidl::endpoints::ProtocolMarker for DirConnectorRouterDeprecatedMarker {
12876 type Proxy = DirConnectorRouterDeprecatedProxy;
12877 type RequestStream = DirConnectorRouterDeprecatedRequestStream;
12878 #[cfg(target_os = "fuchsia")]
12879 type SynchronousProxy = DirConnectorRouterDeprecatedSynchronousProxy;
12880
12881 const DEBUG_NAME: &'static str = "(anonymous) DirConnectorRouterDeprecated";
12882}
12883pub type DirConnectorRouterDeprecatedRouteResult = Result<RouterResponse, RouterError>;
12884
12885pub trait DirConnectorRouterDeprecatedProxyInterface: Send + Sync {
12886 fn r#clone(
12887 &self,
12888 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
12889 ) -> Result<(), fidl::Error>;
12890 type RouteResponseFut: std::future::Future<Output = Result<DirConnectorRouterDeprecatedRouteResult, fidl::Error>>
12891 + Send;
12892 fn r#route(
12893 &self,
12894 request: DeprecatedRouteRequest,
12895 dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
12896 ) -> Self::RouteResponseFut;
12897}
12898#[derive(Debug)]
12899#[cfg(target_os = "fuchsia")]
12900pub struct DirConnectorRouterDeprecatedSynchronousProxy {
12901 client: fidl::client::sync::Client,
12902}
12903
12904#[cfg(target_os = "fuchsia")]
12905impl fidl::endpoints::SynchronousProxy for DirConnectorRouterDeprecatedSynchronousProxy {
12906 type Proxy = DirConnectorRouterDeprecatedProxy;
12907 type Protocol = DirConnectorRouterDeprecatedMarker;
12908
12909 fn from_channel(inner: fidl::Channel) -> Self {
12910 Self::new(inner)
12911 }
12912
12913 fn into_channel(self) -> fidl::Channel {
12914 self.client.into_channel()
12915 }
12916
12917 fn as_channel(&self) -> &fidl::Channel {
12918 self.client.as_channel()
12919 }
12920}
12921
12922#[cfg(target_os = "fuchsia")]
12923impl DirConnectorRouterDeprecatedSynchronousProxy {
12924 pub fn new(channel: fidl::Channel) -> Self {
12925 let protocol_name =
12926 <DirConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
12927 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
12928 }
12929
12930 pub fn into_channel(self) -> fidl::Channel {
12931 self.client.into_channel()
12932 }
12933
12934 pub fn wait_for_event(
12937 &self,
12938 deadline: zx::MonotonicInstant,
12939 ) -> Result<DirConnectorRouterDeprecatedEvent, fidl::Error> {
12940 DirConnectorRouterDeprecatedEvent::decode(self.client.wait_for_event(deadline)?)
12941 }
12942
12943 pub fn r#clone(
12944 &self,
12945 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
12946 ) -> Result<(), fidl::Error> {
12947 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
12948 (request,),
12949 0x20d8a7aba2168a79,
12950 fidl::encoding::DynamicFlags::empty(),
12951 )
12952 }
12953
12954 pub fn r#route(
12963 &self,
12964 mut request: DeprecatedRouteRequest,
12965 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
12966 ___deadline: zx::MonotonicInstant,
12967 ) -> Result<DirConnectorRouterDeprecatedRouteResult, fidl::Error> {
12968 let _response = self.client.send_query::<
12969 DirConnectorRouterDeprecatedRouteRequest,
12970 fidl::encoding::FlexibleResultType<DirConnectorRouterDeprecatedRouteResponse, RouterError>,
12971 >(
12972 (&mut request, dir_connector_server_end,),
12973 0x199e1dee6ba3d71a,
12974 fidl::encoding::DynamicFlags::FLEXIBLE,
12975 ___deadline,
12976 )?
12977 .into_result::<DirConnectorRouterDeprecatedMarker>("route")?;
12978 Ok(_response.map(|x| x.response))
12979 }
12980}
12981
12982#[cfg(target_os = "fuchsia")]
12983impl From<DirConnectorRouterDeprecatedSynchronousProxy> for zx::NullableHandle {
12984 fn from(value: DirConnectorRouterDeprecatedSynchronousProxy) -> Self {
12985 value.into_channel().into()
12986 }
12987}
12988
12989#[cfg(target_os = "fuchsia")]
12990impl From<fidl::Channel> for DirConnectorRouterDeprecatedSynchronousProxy {
12991 fn from(value: fidl::Channel) -> Self {
12992 Self::new(value)
12993 }
12994}
12995
12996#[cfg(target_os = "fuchsia")]
12997impl fidl::endpoints::FromClient for DirConnectorRouterDeprecatedSynchronousProxy {
12998 type Protocol = DirConnectorRouterDeprecatedMarker;
12999
13000 fn from_client(value: fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>) -> Self {
13001 Self::new(value.into_channel())
13002 }
13003}
13004
13005#[derive(Debug, Clone)]
13006pub struct DirConnectorRouterDeprecatedProxy {
13007 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
13008}
13009
13010impl fidl::endpoints::Proxy for DirConnectorRouterDeprecatedProxy {
13011 type Protocol = DirConnectorRouterDeprecatedMarker;
13012
13013 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
13014 Self::new(inner)
13015 }
13016
13017 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
13018 self.client.into_channel().map_err(|client| Self { client })
13019 }
13020
13021 fn as_channel(&self) -> &::fidl::AsyncChannel {
13022 self.client.as_channel()
13023 }
13024}
13025
13026impl DirConnectorRouterDeprecatedProxy {
13027 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
13029 let protocol_name =
13030 <DirConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
13031 Self { client: fidl::client::Client::new(channel, protocol_name) }
13032 }
13033
13034 pub fn take_event_stream(&self) -> DirConnectorRouterDeprecatedEventStream {
13040 DirConnectorRouterDeprecatedEventStream {
13041 event_receiver: self.client.take_event_receiver(),
13042 }
13043 }
13044
13045 pub fn r#clone(
13046 &self,
13047 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
13048 ) -> Result<(), fidl::Error> {
13049 DirConnectorRouterDeprecatedProxyInterface::r#clone(self, request)
13050 }
13051
13052 pub fn r#route(
13061 &self,
13062 mut request: DeprecatedRouteRequest,
13063 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
13064 ) -> fidl::client::QueryResponseFut<
13065 DirConnectorRouterDeprecatedRouteResult,
13066 fidl::encoding::DefaultFuchsiaResourceDialect,
13067 > {
13068 DirConnectorRouterDeprecatedProxyInterface::r#route(self, request, dir_connector_server_end)
13069 }
13070}
13071
13072impl DirConnectorRouterDeprecatedProxyInterface for DirConnectorRouterDeprecatedProxy {
13073 fn r#clone(
13074 &self,
13075 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
13076 ) -> Result<(), fidl::Error> {
13077 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
13078 (request,),
13079 0x20d8a7aba2168a79,
13080 fidl::encoding::DynamicFlags::empty(),
13081 )
13082 }
13083
13084 type RouteResponseFut = fidl::client::QueryResponseFut<
13085 DirConnectorRouterDeprecatedRouteResult,
13086 fidl::encoding::DefaultFuchsiaResourceDialect,
13087 >;
13088 fn r#route(
13089 &self,
13090 mut request: DeprecatedRouteRequest,
13091 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
13092 ) -> Self::RouteResponseFut {
13093 fn _decode(
13094 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
13095 ) -> Result<DirConnectorRouterDeprecatedRouteResult, fidl::Error> {
13096 let _response = fidl::client::decode_transaction_body::<
13097 fidl::encoding::FlexibleResultType<
13098 DirConnectorRouterDeprecatedRouteResponse,
13099 RouterError,
13100 >,
13101 fidl::encoding::DefaultFuchsiaResourceDialect,
13102 0x199e1dee6ba3d71a,
13103 >(_buf?)?
13104 .into_result::<DirConnectorRouterDeprecatedMarker>("route")?;
13105 Ok(_response.map(|x| x.response))
13106 }
13107 self.client.send_query_and_decode::<
13108 DirConnectorRouterDeprecatedRouteRequest,
13109 DirConnectorRouterDeprecatedRouteResult,
13110 >(
13111 (&mut request, dir_connector_server_end,),
13112 0x199e1dee6ba3d71a,
13113 fidl::encoding::DynamicFlags::FLEXIBLE,
13114 _decode,
13115 )
13116 }
13117}
13118
13119pub struct DirConnectorRouterDeprecatedEventStream {
13120 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
13121}
13122
13123impl std::marker::Unpin for DirConnectorRouterDeprecatedEventStream {}
13124
13125impl futures::stream::FusedStream for DirConnectorRouterDeprecatedEventStream {
13126 fn is_terminated(&self) -> bool {
13127 self.event_receiver.is_terminated()
13128 }
13129}
13130
13131impl futures::Stream for DirConnectorRouterDeprecatedEventStream {
13132 type Item = Result<DirConnectorRouterDeprecatedEvent, fidl::Error>;
13133
13134 fn poll_next(
13135 mut self: std::pin::Pin<&mut Self>,
13136 cx: &mut std::task::Context<'_>,
13137 ) -> std::task::Poll<Option<Self::Item>> {
13138 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
13139 &mut self.event_receiver,
13140 cx
13141 )?) {
13142 Some(buf) => {
13143 std::task::Poll::Ready(Some(DirConnectorRouterDeprecatedEvent::decode(buf)))
13144 }
13145 None => std::task::Poll::Ready(None),
13146 }
13147 }
13148}
13149
13150#[derive(Debug)]
13151pub enum DirConnectorRouterDeprecatedEvent {
13152 #[non_exhaustive]
13153 _UnknownEvent {
13154 ordinal: u64,
13156 },
13157}
13158
13159impl DirConnectorRouterDeprecatedEvent {
13160 fn decode(
13162 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
13163 ) -> Result<DirConnectorRouterDeprecatedEvent, fidl::Error> {
13164 let (bytes, _handles) = buf.split_mut();
13165 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
13166 debug_assert_eq!(tx_header.tx_id, 0);
13167 match tx_header.ordinal {
13168 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
13169 Ok(DirConnectorRouterDeprecatedEvent::_UnknownEvent {
13170 ordinal: tx_header.ordinal,
13171 })
13172 }
13173 _ => Err(fidl::Error::UnknownOrdinal {
13174 ordinal: tx_header.ordinal,
13175 protocol_name: <DirConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
13176 })
13177 }
13178 }
13179}
13180
13181pub struct DirConnectorRouterDeprecatedRequestStream {
13183 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13184 is_terminated: bool,
13185}
13186
13187impl std::marker::Unpin for DirConnectorRouterDeprecatedRequestStream {}
13188
13189impl futures::stream::FusedStream for DirConnectorRouterDeprecatedRequestStream {
13190 fn is_terminated(&self) -> bool {
13191 self.is_terminated
13192 }
13193}
13194
13195impl fidl::endpoints::RequestStream for DirConnectorRouterDeprecatedRequestStream {
13196 type Protocol = DirConnectorRouterDeprecatedMarker;
13197 type ControlHandle = DirConnectorRouterDeprecatedControlHandle;
13198
13199 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
13200 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
13201 }
13202
13203 fn control_handle(&self) -> Self::ControlHandle {
13204 DirConnectorRouterDeprecatedControlHandle { inner: self.inner.clone() }
13205 }
13206
13207 fn into_inner(
13208 self,
13209 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
13210 {
13211 (self.inner, self.is_terminated)
13212 }
13213
13214 fn from_inner(
13215 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13216 is_terminated: bool,
13217 ) -> Self {
13218 Self { inner, is_terminated }
13219 }
13220}
13221
13222impl futures::Stream for DirConnectorRouterDeprecatedRequestStream {
13223 type Item = Result<DirConnectorRouterDeprecatedRequest, fidl::Error>;
13224
13225 fn poll_next(
13226 mut self: std::pin::Pin<&mut Self>,
13227 cx: &mut std::task::Context<'_>,
13228 ) -> std::task::Poll<Option<Self::Item>> {
13229 let this = &mut *self;
13230 if this.inner.check_shutdown(cx) {
13231 this.is_terminated = true;
13232 return std::task::Poll::Ready(None);
13233 }
13234 if this.is_terminated {
13235 panic!("polled DirConnectorRouterDeprecatedRequestStream after completion");
13236 }
13237 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
13238 |bytes, handles| {
13239 match this.inner.channel().read_etc(cx, bytes, handles) {
13240 std::task::Poll::Ready(Ok(())) => {}
13241 std::task::Poll::Pending => return std::task::Poll::Pending,
13242 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
13243 this.is_terminated = true;
13244 return std::task::Poll::Ready(None);
13245 }
13246 std::task::Poll::Ready(Err(e)) => {
13247 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
13248 e.into(),
13249 ))));
13250 }
13251 }
13252
13253 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
13255
13256 std::task::Poll::Ready(Some(match header.ordinal {
13257 0x20d8a7aba2168a79 => {
13258 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
13259 let mut req = fidl::new_empty!(fidl_fuchsia_unknown::CloneableCloneRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
13260 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
13261 let control_handle = DirConnectorRouterDeprecatedControlHandle {
13262 inner: this.inner.clone(),
13263 };
13264 Ok(DirConnectorRouterDeprecatedRequest::Clone {request: req.request,
13265
13266 control_handle,
13267 })
13268 }
13269 0x199e1dee6ba3d71a => {
13270 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
13271 let mut req = fidl::new_empty!(DirConnectorRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
13272 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirConnectorRouterDeprecatedRouteRequest>(&header, _body_bytes, handles, &mut req)?;
13273 let control_handle = DirConnectorRouterDeprecatedControlHandle {
13274 inner: this.inner.clone(),
13275 };
13276 Ok(DirConnectorRouterDeprecatedRequest::Route {request: req.request,
13277dir_connector_server_end: req.dir_connector_server_end,
13278
13279 responder: DirConnectorRouterDeprecatedRouteResponder {
13280 control_handle: std::mem::ManuallyDrop::new(control_handle),
13281 tx_id: header.tx_id,
13282 },
13283 })
13284 }
13285 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
13286 Ok(DirConnectorRouterDeprecatedRequest::_UnknownMethod {
13287 ordinal: header.ordinal,
13288 control_handle: DirConnectorRouterDeprecatedControlHandle { inner: this.inner.clone() },
13289 method_type: fidl::MethodType::OneWay,
13290 })
13291 }
13292 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
13293 this.inner.send_framework_err(
13294 fidl::encoding::FrameworkErr::UnknownMethod,
13295 header.tx_id,
13296 header.ordinal,
13297 header.dynamic_flags(),
13298 (bytes, handles),
13299 )?;
13300 Ok(DirConnectorRouterDeprecatedRequest::_UnknownMethod {
13301 ordinal: header.ordinal,
13302 control_handle: DirConnectorRouterDeprecatedControlHandle { inner: this.inner.clone() },
13303 method_type: fidl::MethodType::TwoWay,
13304 })
13305 }
13306 _ => Err(fidl::Error::UnknownOrdinal {
13307 ordinal: header.ordinal,
13308 protocol_name: <DirConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
13309 }),
13310 }))
13311 },
13312 )
13313 }
13314}
13315
13316#[derive(Debug)]
13318pub enum DirConnectorRouterDeprecatedRequest {
13319 Clone {
13320 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
13321 control_handle: DirConnectorRouterDeprecatedControlHandle,
13322 },
13323 Route {
13332 request: DeprecatedRouteRequest,
13333 dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
13334 responder: DirConnectorRouterDeprecatedRouteResponder,
13335 },
13336 #[non_exhaustive]
13338 _UnknownMethod {
13339 ordinal: u64,
13341 control_handle: DirConnectorRouterDeprecatedControlHandle,
13342 method_type: fidl::MethodType,
13343 },
13344}
13345
13346impl DirConnectorRouterDeprecatedRequest {
13347 #[allow(irrefutable_let_patterns)]
13348 pub fn into_clone(
13349 self,
13350 ) -> Option<(
13351 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
13352 DirConnectorRouterDeprecatedControlHandle,
13353 )> {
13354 if let DirConnectorRouterDeprecatedRequest::Clone { request, control_handle } = self {
13355 Some((request, control_handle))
13356 } else {
13357 None
13358 }
13359 }
13360
13361 #[allow(irrefutable_let_patterns)]
13362 pub fn into_route(
13363 self,
13364 ) -> Option<(
13365 DeprecatedRouteRequest,
13366 fidl::endpoints::ServerEnd<DirConnectorMarker>,
13367 DirConnectorRouterDeprecatedRouteResponder,
13368 )> {
13369 if let DirConnectorRouterDeprecatedRequest::Route {
13370 request,
13371 dir_connector_server_end,
13372 responder,
13373 } = self
13374 {
13375 Some((request, dir_connector_server_end, responder))
13376 } else {
13377 None
13378 }
13379 }
13380
13381 pub fn method_name(&self) -> &'static str {
13383 match *self {
13384 DirConnectorRouterDeprecatedRequest::Clone { .. } => "clone",
13385 DirConnectorRouterDeprecatedRequest::Route { .. } => "route",
13386 DirConnectorRouterDeprecatedRequest::_UnknownMethod {
13387 method_type: fidl::MethodType::OneWay,
13388 ..
13389 } => "unknown one-way method",
13390 DirConnectorRouterDeprecatedRequest::_UnknownMethod {
13391 method_type: fidl::MethodType::TwoWay,
13392 ..
13393 } => "unknown two-way method",
13394 }
13395 }
13396}
13397
13398#[derive(Debug, Clone)]
13399pub struct DirConnectorRouterDeprecatedControlHandle {
13400 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13401}
13402
13403impl fidl::endpoints::ControlHandle for DirConnectorRouterDeprecatedControlHandle {
13404 fn shutdown(&self) {
13405 self.inner.shutdown()
13406 }
13407
13408 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
13409 self.inner.shutdown_with_epitaph(status)
13410 }
13411
13412 fn is_closed(&self) -> bool {
13413 self.inner.channel().is_closed()
13414 }
13415 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
13416 self.inner.channel().on_closed()
13417 }
13418
13419 #[cfg(target_os = "fuchsia")]
13420 fn signal_peer(
13421 &self,
13422 clear_mask: zx::Signals,
13423 set_mask: zx::Signals,
13424 ) -> Result<(), zx_status::Status> {
13425 use fidl::Peered;
13426 self.inner.channel().signal_peer(clear_mask, set_mask)
13427 }
13428}
13429
13430impl DirConnectorRouterDeprecatedControlHandle {}
13431
13432#[must_use = "FIDL methods require a response to be sent"]
13433#[derive(Debug)]
13434pub struct DirConnectorRouterDeprecatedRouteResponder {
13435 control_handle: std::mem::ManuallyDrop<DirConnectorRouterDeprecatedControlHandle>,
13436 tx_id: u32,
13437}
13438
13439impl std::ops::Drop for DirConnectorRouterDeprecatedRouteResponder {
13443 fn drop(&mut self) {
13444 self.control_handle.shutdown();
13445 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
13447 }
13448}
13449
13450impl fidl::endpoints::Responder for DirConnectorRouterDeprecatedRouteResponder {
13451 type ControlHandle = DirConnectorRouterDeprecatedControlHandle;
13452
13453 fn control_handle(&self) -> &DirConnectorRouterDeprecatedControlHandle {
13454 &self.control_handle
13455 }
13456
13457 fn drop_without_shutdown(mut self) {
13458 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
13460 std::mem::forget(self);
13462 }
13463}
13464
13465impl DirConnectorRouterDeprecatedRouteResponder {
13466 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
13470 let _result = self.send_raw(result);
13471 if _result.is_err() {
13472 self.control_handle.shutdown();
13473 }
13474 self.drop_without_shutdown();
13475 _result
13476 }
13477
13478 pub fn send_no_shutdown_on_err(
13480 self,
13481 mut result: Result<RouterResponse, RouterError>,
13482 ) -> Result<(), fidl::Error> {
13483 let _result = self.send_raw(result);
13484 self.drop_without_shutdown();
13485 _result
13486 }
13487
13488 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
13489 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
13490 DirConnectorRouterDeprecatedRouteResponse,
13491 RouterError,
13492 >>(
13493 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
13494 self.tx_id,
13495 0x199e1dee6ba3d71a,
13496 fidl::encoding::DynamicFlags::FLEXIBLE,
13497 )
13498 }
13499}
13500
13501#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
13502pub struct DirReceiverMarker;
13503
13504impl fidl::endpoints::ProtocolMarker for DirReceiverMarker {
13505 type Proxy = DirReceiverProxy;
13506 type RequestStream = DirReceiverRequestStream;
13507 #[cfg(target_os = "fuchsia")]
13508 type SynchronousProxy = DirReceiverSynchronousProxy;
13509
13510 const DEBUG_NAME: &'static str = "(anonymous) DirReceiver";
13511}
13512
13513pub trait DirReceiverProxyInterface: Send + Sync {
13514 fn r#receive(
13515 &self,
13516 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13517 path: &str,
13518 rights: fidl_fuchsia_io::Flags,
13519 ) -> Result<(), fidl::Error>;
13520}
13521#[derive(Debug)]
13522#[cfg(target_os = "fuchsia")]
13523pub struct DirReceiverSynchronousProxy {
13524 client: fidl::client::sync::Client,
13525}
13526
13527#[cfg(target_os = "fuchsia")]
13528impl fidl::endpoints::SynchronousProxy for DirReceiverSynchronousProxy {
13529 type Proxy = DirReceiverProxy;
13530 type Protocol = DirReceiverMarker;
13531
13532 fn from_channel(inner: fidl::Channel) -> Self {
13533 Self::new(inner)
13534 }
13535
13536 fn into_channel(self) -> fidl::Channel {
13537 self.client.into_channel()
13538 }
13539
13540 fn as_channel(&self) -> &fidl::Channel {
13541 self.client.as_channel()
13542 }
13543}
13544
13545#[cfg(target_os = "fuchsia")]
13546impl DirReceiverSynchronousProxy {
13547 pub fn new(channel: fidl::Channel) -> Self {
13548 let protocol_name = <DirReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
13549 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
13550 }
13551
13552 pub fn into_channel(self) -> fidl::Channel {
13553 self.client.into_channel()
13554 }
13555
13556 pub fn wait_for_event(
13559 &self,
13560 deadline: zx::MonotonicInstant,
13561 ) -> Result<DirReceiverEvent, fidl::Error> {
13562 DirReceiverEvent::decode(self.client.wait_for_event(deadline)?)
13563 }
13564
13565 pub fn r#receive(
13568 &self,
13569 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13570 mut path: &str,
13571 mut rights: fidl_fuchsia_io::Flags,
13572 ) -> Result<(), fidl::Error> {
13573 self.client.send::<DirReceiverReceiveRequest>(
13574 (channel, path, rights),
13575 0x4ac564d726bb325e,
13576 fidl::encoding::DynamicFlags::empty(),
13577 )
13578 }
13579}
13580
13581#[cfg(target_os = "fuchsia")]
13582impl From<DirReceiverSynchronousProxy> for zx::NullableHandle {
13583 fn from(value: DirReceiverSynchronousProxy) -> Self {
13584 value.into_channel().into()
13585 }
13586}
13587
13588#[cfg(target_os = "fuchsia")]
13589impl From<fidl::Channel> for DirReceiverSynchronousProxy {
13590 fn from(value: fidl::Channel) -> Self {
13591 Self::new(value)
13592 }
13593}
13594
13595#[cfg(target_os = "fuchsia")]
13596impl fidl::endpoints::FromClient for DirReceiverSynchronousProxy {
13597 type Protocol = DirReceiverMarker;
13598
13599 fn from_client(value: fidl::endpoints::ClientEnd<DirReceiverMarker>) -> Self {
13600 Self::new(value.into_channel())
13601 }
13602}
13603
13604#[derive(Debug, Clone)]
13605pub struct DirReceiverProxy {
13606 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
13607}
13608
13609impl fidl::endpoints::Proxy for DirReceiverProxy {
13610 type Protocol = DirReceiverMarker;
13611
13612 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
13613 Self::new(inner)
13614 }
13615
13616 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
13617 self.client.into_channel().map_err(|client| Self { client })
13618 }
13619
13620 fn as_channel(&self) -> &::fidl::AsyncChannel {
13621 self.client.as_channel()
13622 }
13623}
13624
13625impl DirReceiverProxy {
13626 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
13628 let protocol_name = <DirReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
13629 Self { client: fidl::client::Client::new(channel, protocol_name) }
13630 }
13631
13632 pub fn take_event_stream(&self) -> DirReceiverEventStream {
13638 DirReceiverEventStream { event_receiver: self.client.take_event_receiver() }
13639 }
13640
13641 pub fn r#receive(
13644 &self,
13645 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13646 mut path: &str,
13647 mut rights: fidl_fuchsia_io::Flags,
13648 ) -> Result<(), fidl::Error> {
13649 DirReceiverProxyInterface::r#receive(self, channel, path, rights)
13650 }
13651}
13652
13653impl DirReceiverProxyInterface for DirReceiverProxy {
13654 fn r#receive(
13655 &self,
13656 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13657 mut path: &str,
13658 mut rights: fidl_fuchsia_io::Flags,
13659 ) -> Result<(), fidl::Error> {
13660 self.client.send::<DirReceiverReceiveRequest>(
13661 (channel, path, rights),
13662 0x4ac564d726bb325e,
13663 fidl::encoding::DynamicFlags::empty(),
13664 )
13665 }
13666}
13667
13668pub struct DirReceiverEventStream {
13669 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
13670}
13671
13672impl std::marker::Unpin for DirReceiverEventStream {}
13673
13674impl futures::stream::FusedStream for DirReceiverEventStream {
13675 fn is_terminated(&self) -> bool {
13676 self.event_receiver.is_terminated()
13677 }
13678}
13679
13680impl futures::Stream for DirReceiverEventStream {
13681 type Item = Result<DirReceiverEvent, fidl::Error>;
13682
13683 fn poll_next(
13684 mut self: std::pin::Pin<&mut Self>,
13685 cx: &mut std::task::Context<'_>,
13686 ) -> std::task::Poll<Option<Self::Item>> {
13687 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
13688 &mut self.event_receiver,
13689 cx
13690 )?) {
13691 Some(buf) => std::task::Poll::Ready(Some(DirReceiverEvent::decode(buf))),
13692 None => std::task::Poll::Ready(None),
13693 }
13694 }
13695}
13696
13697#[derive(Debug)]
13698pub enum DirReceiverEvent {}
13699
13700impl DirReceiverEvent {
13701 fn decode(
13703 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
13704 ) -> Result<DirReceiverEvent, fidl::Error> {
13705 let (bytes, _handles) = buf.split_mut();
13706 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
13707 debug_assert_eq!(tx_header.tx_id, 0);
13708 match tx_header.ordinal {
13709 _ => Err(fidl::Error::UnknownOrdinal {
13710 ordinal: tx_header.ordinal,
13711 protocol_name: <DirReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
13712 }),
13713 }
13714 }
13715}
13716
13717pub struct DirReceiverRequestStream {
13719 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13720 is_terminated: bool,
13721}
13722
13723impl std::marker::Unpin for DirReceiverRequestStream {}
13724
13725impl futures::stream::FusedStream for DirReceiverRequestStream {
13726 fn is_terminated(&self) -> bool {
13727 self.is_terminated
13728 }
13729}
13730
13731impl fidl::endpoints::RequestStream for DirReceiverRequestStream {
13732 type Protocol = DirReceiverMarker;
13733 type ControlHandle = DirReceiverControlHandle;
13734
13735 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
13736 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
13737 }
13738
13739 fn control_handle(&self) -> Self::ControlHandle {
13740 DirReceiverControlHandle { inner: self.inner.clone() }
13741 }
13742
13743 fn into_inner(
13744 self,
13745 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
13746 {
13747 (self.inner, self.is_terminated)
13748 }
13749
13750 fn from_inner(
13751 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13752 is_terminated: bool,
13753 ) -> Self {
13754 Self { inner, is_terminated }
13755 }
13756}
13757
13758impl futures::Stream for DirReceiverRequestStream {
13759 type Item = Result<DirReceiverRequest, fidl::Error>;
13760
13761 fn poll_next(
13762 mut self: std::pin::Pin<&mut Self>,
13763 cx: &mut std::task::Context<'_>,
13764 ) -> std::task::Poll<Option<Self::Item>> {
13765 let this = &mut *self;
13766 if this.inner.check_shutdown(cx) {
13767 this.is_terminated = true;
13768 return std::task::Poll::Ready(None);
13769 }
13770 if this.is_terminated {
13771 panic!("polled DirReceiverRequestStream after completion");
13772 }
13773 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
13774 |bytes, handles| {
13775 match this.inner.channel().read_etc(cx, bytes, handles) {
13776 std::task::Poll::Ready(Ok(())) => {}
13777 std::task::Poll::Pending => return std::task::Poll::Pending,
13778 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
13779 this.is_terminated = true;
13780 return std::task::Poll::Ready(None);
13781 }
13782 std::task::Poll::Ready(Err(e)) => {
13783 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
13784 e.into(),
13785 ))));
13786 }
13787 }
13788
13789 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
13791
13792 std::task::Poll::Ready(Some(match header.ordinal {
13793 0x4ac564d726bb325e => {
13794 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
13795 let mut req = fidl::new_empty!(
13796 DirReceiverReceiveRequest,
13797 fidl::encoding::DefaultFuchsiaResourceDialect
13798 );
13799 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirReceiverReceiveRequest>(&header, _body_bytes, handles, &mut req)?;
13800 let control_handle = DirReceiverControlHandle { inner: this.inner.clone() };
13801 Ok(DirReceiverRequest::Receive {
13802 channel: req.channel,
13803 path: req.path,
13804 rights: req.rights,
13805
13806 control_handle,
13807 })
13808 }
13809 _ => Err(fidl::Error::UnknownOrdinal {
13810 ordinal: header.ordinal,
13811 protocol_name:
13812 <DirReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
13813 }),
13814 }))
13815 },
13816 )
13817 }
13818}
13819
13820#[derive(Debug)]
13822pub enum DirReceiverRequest {
13823 Receive {
13826 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13827 path: String,
13828 rights: fidl_fuchsia_io::Flags,
13829 control_handle: DirReceiverControlHandle,
13830 },
13831}
13832
13833impl DirReceiverRequest {
13834 #[allow(irrefutable_let_patterns)]
13835 pub fn into_receive(
13836 self,
13837 ) -> Option<(
13838 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13839 String,
13840 fidl_fuchsia_io::Flags,
13841 DirReceiverControlHandle,
13842 )> {
13843 if let DirReceiverRequest::Receive { channel, path, rights, control_handle } = self {
13844 Some((channel, path, rights, control_handle))
13845 } else {
13846 None
13847 }
13848 }
13849
13850 pub fn method_name(&self) -> &'static str {
13852 match *self {
13853 DirReceiverRequest::Receive { .. } => "receive",
13854 }
13855 }
13856}
13857
13858#[derive(Debug, Clone)]
13859pub struct DirReceiverControlHandle {
13860 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13861}
13862
13863impl fidl::endpoints::ControlHandle for DirReceiverControlHandle {
13864 fn shutdown(&self) {
13865 self.inner.shutdown()
13866 }
13867
13868 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
13869 self.inner.shutdown_with_epitaph(status)
13870 }
13871
13872 fn is_closed(&self) -> bool {
13873 self.inner.channel().is_closed()
13874 }
13875 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
13876 self.inner.channel().on_closed()
13877 }
13878
13879 #[cfg(target_os = "fuchsia")]
13880 fn signal_peer(
13881 &self,
13882 clear_mask: zx::Signals,
13883 set_mask: zx::Signals,
13884 ) -> Result<(), zx_status::Status> {
13885 use fidl::Peered;
13886 self.inner.channel().signal_peer(clear_mask, set_mask)
13887 }
13888}
13889
13890impl DirReceiverControlHandle {}
13891
13892#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
13893pub struct DirReceiverDeprecatedMarker;
13894
13895impl fidl::endpoints::ProtocolMarker for DirReceiverDeprecatedMarker {
13896 type Proxy = DirReceiverDeprecatedProxy;
13897 type RequestStream = DirReceiverDeprecatedRequestStream;
13898 #[cfg(target_os = "fuchsia")]
13899 type SynchronousProxy = DirReceiverDeprecatedSynchronousProxy;
13900
13901 const DEBUG_NAME: &'static str = "(anonymous) DirReceiverDeprecated";
13902}
13903
13904pub trait DirReceiverDeprecatedProxyInterface: Send + Sync {
13905 fn r#receive(
13906 &self,
13907 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13908 ) -> Result<(), fidl::Error>;
13909}
13910#[derive(Debug)]
13911#[cfg(target_os = "fuchsia")]
13912pub struct DirReceiverDeprecatedSynchronousProxy {
13913 client: fidl::client::sync::Client,
13914}
13915
13916#[cfg(target_os = "fuchsia")]
13917impl fidl::endpoints::SynchronousProxy for DirReceiverDeprecatedSynchronousProxy {
13918 type Proxy = DirReceiverDeprecatedProxy;
13919 type Protocol = DirReceiverDeprecatedMarker;
13920
13921 fn from_channel(inner: fidl::Channel) -> Self {
13922 Self::new(inner)
13923 }
13924
13925 fn into_channel(self) -> fidl::Channel {
13926 self.client.into_channel()
13927 }
13928
13929 fn as_channel(&self) -> &fidl::Channel {
13930 self.client.as_channel()
13931 }
13932}
13933
13934#[cfg(target_os = "fuchsia")]
13935impl DirReceiverDeprecatedSynchronousProxy {
13936 pub fn new(channel: fidl::Channel) -> Self {
13937 let protocol_name =
13938 <DirReceiverDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
13939 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
13940 }
13941
13942 pub fn into_channel(self) -> fidl::Channel {
13943 self.client.into_channel()
13944 }
13945
13946 pub fn wait_for_event(
13949 &self,
13950 deadline: zx::MonotonicInstant,
13951 ) -> Result<DirReceiverDeprecatedEvent, fidl::Error> {
13952 DirReceiverDeprecatedEvent::decode(self.client.wait_for_event(deadline)?)
13953 }
13954
13955 pub fn r#receive(
13958 &self,
13959 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13960 ) -> Result<(), fidl::Error> {
13961 self.client.send::<DirReceiverDeprecatedReceiveRequest>(
13962 (channel,),
13963 0x6351363b40e73f58,
13964 fidl::encoding::DynamicFlags::FLEXIBLE,
13965 )
13966 }
13967}
13968
13969#[cfg(target_os = "fuchsia")]
13970impl From<DirReceiverDeprecatedSynchronousProxy> for zx::NullableHandle {
13971 fn from(value: DirReceiverDeprecatedSynchronousProxy) -> Self {
13972 value.into_channel().into()
13973 }
13974}
13975
13976#[cfg(target_os = "fuchsia")]
13977impl From<fidl::Channel> for DirReceiverDeprecatedSynchronousProxy {
13978 fn from(value: fidl::Channel) -> Self {
13979 Self::new(value)
13980 }
13981}
13982
13983#[cfg(target_os = "fuchsia")]
13984impl fidl::endpoints::FromClient for DirReceiverDeprecatedSynchronousProxy {
13985 type Protocol = DirReceiverDeprecatedMarker;
13986
13987 fn from_client(value: fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>) -> Self {
13988 Self::new(value.into_channel())
13989 }
13990}
13991
13992#[derive(Debug, Clone)]
13993pub struct DirReceiverDeprecatedProxy {
13994 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
13995}
13996
13997impl fidl::endpoints::Proxy for DirReceiverDeprecatedProxy {
13998 type Protocol = DirReceiverDeprecatedMarker;
13999
14000 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
14001 Self::new(inner)
14002 }
14003
14004 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
14005 self.client.into_channel().map_err(|client| Self { client })
14006 }
14007
14008 fn as_channel(&self) -> &::fidl::AsyncChannel {
14009 self.client.as_channel()
14010 }
14011}
14012
14013impl DirReceiverDeprecatedProxy {
14014 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
14016 let protocol_name =
14017 <DirReceiverDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
14018 Self { client: fidl::client::Client::new(channel, protocol_name) }
14019 }
14020
14021 pub fn take_event_stream(&self) -> DirReceiverDeprecatedEventStream {
14027 DirReceiverDeprecatedEventStream { event_receiver: self.client.take_event_receiver() }
14028 }
14029
14030 pub fn r#receive(
14033 &self,
14034 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
14035 ) -> Result<(), fidl::Error> {
14036 DirReceiverDeprecatedProxyInterface::r#receive(self, channel)
14037 }
14038}
14039
14040impl DirReceiverDeprecatedProxyInterface for DirReceiverDeprecatedProxy {
14041 fn r#receive(
14042 &self,
14043 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
14044 ) -> Result<(), fidl::Error> {
14045 self.client.send::<DirReceiverDeprecatedReceiveRequest>(
14046 (channel,),
14047 0x6351363b40e73f58,
14048 fidl::encoding::DynamicFlags::FLEXIBLE,
14049 )
14050 }
14051}
14052
14053pub struct DirReceiverDeprecatedEventStream {
14054 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
14055}
14056
14057impl std::marker::Unpin for DirReceiverDeprecatedEventStream {}
14058
14059impl futures::stream::FusedStream for DirReceiverDeprecatedEventStream {
14060 fn is_terminated(&self) -> bool {
14061 self.event_receiver.is_terminated()
14062 }
14063}
14064
14065impl futures::Stream for DirReceiverDeprecatedEventStream {
14066 type Item = Result<DirReceiverDeprecatedEvent, fidl::Error>;
14067
14068 fn poll_next(
14069 mut self: std::pin::Pin<&mut Self>,
14070 cx: &mut std::task::Context<'_>,
14071 ) -> std::task::Poll<Option<Self::Item>> {
14072 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
14073 &mut self.event_receiver,
14074 cx
14075 )?) {
14076 Some(buf) => std::task::Poll::Ready(Some(DirReceiverDeprecatedEvent::decode(buf))),
14077 None => std::task::Poll::Ready(None),
14078 }
14079 }
14080}
14081
14082#[derive(Debug)]
14083pub enum DirReceiverDeprecatedEvent {
14084 #[non_exhaustive]
14085 _UnknownEvent {
14086 ordinal: u64,
14088 },
14089}
14090
14091impl DirReceiverDeprecatedEvent {
14092 fn decode(
14094 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
14095 ) -> Result<DirReceiverDeprecatedEvent, fidl::Error> {
14096 let (bytes, _handles) = buf.split_mut();
14097 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
14098 debug_assert_eq!(tx_header.tx_id, 0);
14099 match tx_header.ordinal {
14100 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
14101 Ok(DirReceiverDeprecatedEvent::_UnknownEvent { ordinal: tx_header.ordinal })
14102 }
14103 _ => Err(fidl::Error::UnknownOrdinal {
14104 ordinal: tx_header.ordinal,
14105 protocol_name:
14106 <DirReceiverDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
14107 }),
14108 }
14109 }
14110}
14111
14112pub struct DirReceiverDeprecatedRequestStream {
14114 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14115 is_terminated: bool,
14116}
14117
14118impl std::marker::Unpin for DirReceiverDeprecatedRequestStream {}
14119
14120impl futures::stream::FusedStream for DirReceiverDeprecatedRequestStream {
14121 fn is_terminated(&self) -> bool {
14122 self.is_terminated
14123 }
14124}
14125
14126impl fidl::endpoints::RequestStream for DirReceiverDeprecatedRequestStream {
14127 type Protocol = DirReceiverDeprecatedMarker;
14128 type ControlHandle = DirReceiverDeprecatedControlHandle;
14129
14130 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
14131 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
14132 }
14133
14134 fn control_handle(&self) -> Self::ControlHandle {
14135 DirReceiverDeprecatedControlHandle { inner: self.inner.clone() }
14136 }
14137
14138 fn into_inner(
14139 self,
14140 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
14141 {
14142 (self.inner, self.is_terminated)
14143 }
14144
14145 fn from_inner(
14146 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14147 is_terminated: bool,
14148 ) -> Self {
14149 Self { inner, is_terminated }
14150 }
14151}
14152
14153impl futures::Stream for DirReceiverDeprecatedRequestStream {
14154 type Item = Result<DirReceiverDeprecatedRequest, fidl::Error>;
14155
14156 fn poll_next(
14157 mut self: std::pin::Pin<&mut Self>,
14158 cx: &mut std::task::Context<'_>,
14159 ) -> std::task::Poll<Option<Self::Item>> {
14160 let this = &mut *self;
14161 if this.inner.check_shutdown(cx) {
14162 this.is_terminated = true;
14163 return std::task::Poll::Ready(None);
14164 }
14165 if this.is_terminated {
14166 panic!("polled DirReceiverDeprecatedRequestStream after completion");
14167 }
14168 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
14169 |bytes, handles| {
14170 match this.inner.channel().read_etc(cx, bytes, handles) {
14171 std::task::Poll::Ready(Ok(())) => {}
14172 std::task::Poll::Pending => return std::task::Poll::Pending,
14173 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
14174 this.is_terminated = true;
14175 return std::task::Poll::Ready(None);
14176 }
14177 std::task::Poll::Ready(Err(e)) => {
14178 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
14179 e.into(),
14180 ))));
14181 }
14182 }
14183
14184 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
14186
14187 std::task::Poll::Ready(Some(match header.ordinal {
14188 0x6351363b40e73f58 => {
14189 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
14190 let mut req = fidl::new_empty!(DirReceiverDeprecatedReceiveRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
14191 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirReceiverDeprecatedReceiveRequest>(&header, _body_bytes, handles, &mut req)?;
14192 let control_handle = DirReceiverDeprecatedControlHandle {
14193 inner: this.inner.clone(),
14194 };
14195 Ok(DirReceiverDeprecatedRequest::Receive {channel: req.channel,
14196
14197 control_handle,
14198 })
14199 }
14200 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
14201 Ok(DirReceiverDeprecatedRequest::_UnknownMethod {
14202 ordinal: header.ordinal,
14203 control_handle: DirReceiverDeprecatedControlHandle { inner: this.inner.clone() },
14204 method_type: fidl::MethodType::OneWay,
14205 })
14206 }
14207 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
14208 this.inner.send_framework_err(
14209 fidl::encoding::FrameworkErr::UnknownMethod,
14210 header.tx_id,
14211 header.ordinal,
14212 header.dynamic_flags(),
14213 (bytes, handles),
14214 )?;
14215 Ok(DirReceiverDeprecatedRequest::_UnknownMethod {
14216 ordinal: header.ordinal,
14217 control_handle: DirReceiverDeprecatedControlHandle { inner: this.inner.clone() },
14218 method_type: fidl::MethodType::TwoWay,
14219 })
14220 }
14221 _ => Err(fidl::Error::UnknownOrdinal {
14222 ordinal: header.ordinal,
14223 protocol_name: <DirReceiverDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
14224 }),
14225 }))
14226 },
14227 )
14228 }
14229}
14230
14231#[derive(Debug)]
14234pub enum DirReceiverDeprecatedRequest {
14235 Receive {
14238 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
14239 control_handle: DirReceiverDeprecatedControlHandle,
14240 },
14241 #[non_exhaustive]
14243 _UnknownMethod {
14244 ordinal: u64,
14246 control_handle: DirReceiverDeprecatedControlHandle,
14247 method_type: fidl::MethodType,
14248 },
14249}
14250
14251impl DirReceiverDeprecatedRequest {
14252 #[allow(irrefutable_let_patterns)]
14253 pub fn into_receive(
14254 self,
14255 ) -> Option<(
14256 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
14257 DirReceiverDeprecatedControlHandle,
14258 )> {
14259 if let DirReceiverDeprecatedRequest::Receive { channel, control_handle } = self {
14260 Some((channel, control_handle))
14261 } else {
14262 None
14263 }
14264 }
14265
14266 pub fn method_name(&self) -> &'static str {
14268 match *self {
14269 DirReceiverDeprecatedRequest::Receive { .. } => "receive",
14270 DirReceiverDeprecatedRequest::_UnknownMethod {
14271 method_type: fidl::MethodType::OneWay,
14272 ..
14273 } => "unknown one-way method",
14274 DirReceiverDeprecatedRequest::_UnknownMethod {
14275 method_type: fidl::MethodType::TwoWay,
14276 ..
14277 } => "unknown two-way method",
14278 }
14279 }
14280}
14281
14282#[derive(Debug, Clone)]
14283pub struct DirReceiverDeprecatedControlHandle {
14284 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14285}
14286
14287impl fidl::endpoints::ControlHandle for DirReceiverDeprecatedControlHandle {
14288 fn shutdown(&self) {
14289 self.inner.shutdown()
14290 }
14291
14292 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
14293 self.inner.shutdown_with_epitaph(status)
14294 }
14295
14296 fn is_closed(&self) -> bool {
14297 self.inner.channel().is_closed()
14298 }
14299 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
14300 self.inner.channel().on_closed()
14301 }
14302
14303 #[cfg(target_os = "fuchsia")]
14304 fn signal_peer(
14305 &self,
14306 clear_mask: zx::Signals,
14307 set_mask: zx::Signals,
14308 ) -> Result<(), zx_status::Status> {
14309 use fidl::Peered;
14310 self.inner.channel().signal_peer(clear_mask, set_mask)
14311 }
14312}
14313
14314impl DirReceiverDeprecatedControlHandle {}
14315
14316#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
14317pub struct ReceiverMarker;
14318
14319impl fidl::endpoints::ProtocolMarker for ReceiverMarker {
14320 type Proxy = ReceiverProxy;
14321 type RequestStream = ReceiverRequestStream;
14322 #[cfg(target_os = "fuchsia")]
14323 type SynchronousProxy = ReceiverSynchronousProxy;
14324
14325 const DEBUG_NAME: &'static str = "(anonymous) Receiver";
14326}
14327
14328pub trait ReceiverProxyInterface: Send + Sync {
14329 fn r#receive(&self, channel: fidl::Channel) -> Result<(), fidl::Error>;
14330}
14331#[derive(Debug)]
14332#[cfg(target_os = "fuchsia")]
14333pub struct ReceiverSynchronousProxy {
14334 client: fidl::client::sync::Client,
14335}
14336
14337#[cfg(target_os = "fuchsia")]
14338impl fidl::endpoints::SynchronousProxy for ReceiverSynchronousProxy {
14339 type Proxy = ReceiverProxy;
14340 type Protocol = ReceiverMarker;
14341
14342 fn from_channel(inner: fidl::Channel) -> Self {
14343 Self::new(inner)
14344 }
14345
14346 fn into_channel(self) -> fidl::Channel {
14347 self.client.into_channel()
14348 }
14349
14350 fn as_channel(&self) -> &fidl::Channel {
14351 self.client.as_channel()
14352 }
14353}
14354
14355#[cfg(target_os = "fuchsia")]
14356impl ReceiverSynchronousProxy {
14357 pub fn new(channel: fidl::Channel) -> Self {
14358 let protocol_name = <ReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
14359 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
14360 }
14361
14362 pub fn into_channel(self) -> fidl::Channel {
14363 self.client.into_channel()
14364 }
14365
14366 pub fn wait_for_event(
14369 &self,
14370 deadline: zx::MonotonicInstant,
14371 ) -> Result<ReceiverEvent, fidl::Error> {
14372 ReceiverEvent::decode(self.client.wait_for_event(deadline)?)
14373 }
14374
14375 pub fn r#receive(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
14378 self.client.send::<ReceiverReceiveRequest>(
14379 (channel,),
14380 0x609ca5c7943b58d0,
14381 fidl::encoding::DynamicFlags::empty(),
14382 )
14383 }
14384}
14385
14386#[cfg(target_os = "fuchsia")]
14387impl From<ReceiverSynchronousProxy> for zx::NullableHandle {
14388 fn from(value: ReceiverSynchronousProxy) -> Self {
14389 value.into_channel().into()
14390 }
14391}
14392
14393#[cfg(target_os = "fuchsia")]
14394impl From<fidl::Channel> for ReceiverSynchronousProxy {
14395 fn from(value: fidl::Channel) -> Self {
14396 Self::new(value)
14397 }
14398}
14399
14400#[cfg(target_os = "fuchsia")]
14401impl fidl::endpoints::FromClient for ReceiverSynchronousProxy {
14402 type Protocol = ReceiverMarker;
14403
14404 fn from_client(value: fidl::endpoints::ClientEnd<ReceiverMarker>) -> Self {
14405 Self::new(value.into_channel())
14406 }
14407}
14408
14409#[derive(Debug, Clone)]
14410pub struct ReceiverProxy {
14411 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
14412}
14413
14414impl fidl::endpoints::Proxy for ReceiverProxy {
14415 type Protocol = ReceiverMarker;
14416
14417 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
14418 Self::new(inner)
14419 }
14420
14421 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
14422 self.client.into_channel().map_err(|client| Self { client })
14423 }
14424
14425 fn as_channel(&self) -> &::fidl::AsyncChannel {
14426 self.client.as_channel()
14427 }
14428}
14429
14430impl ReceiverProxy {
14431 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
14433 let protocol_name = <ReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
14434 Self { client: fidl::client::Client::new(channel, protocol_name) }
14435 }
14436
14437 pub fn take_event_stream(&self) -> ReceiverEventStream {
14443 ReceiverEventStream { event_receiver: self.client.take_event_receiver() }
14444 }
14445
14446 pub fn r#receive(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
14449 ReceiverProxyInterface::r#receive(self, channel)
14450 }
14451}
14452
14453impl ReceiverProxyInterface for ReceiverProxy {
14454 fn r#receive(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
14455 self.client.send::<ReceiverReceiveRequest>(
14456 (channel,),
14457 0x609ca5c7943b58d0,
14458 fidl::encoding::DynamicFlags::empty(),
14459 )
14460 }
14461}
14462
14463pub struct ReceiverEventStream {
14464 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
14465}
14466
14467impl std::marker::Unpin for ReceiverEventStream {}
14468
14469impl futures::stream::FusedStream for ReceiverEventStream {
14470 fn is_terminated(&self) -> bool {
14471 self.event_receiver.is_terminated()
14472 }
14473}
14474
14475impl futures::Stream for ReceiverEventStream {
14476 type Item = Result<ReceiverEvent, fidl::Error>;
14477
14478 fn poll_next(
14479 mut self: std::pin::Pin<&mut Self>,
14480 cx: &mut std::task::Context<'_>,
14481 ) -> std::task::Poll<Option<Self::Item>> {
14482 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
14483 &mut self.event_receiver,
14484 cx
14485 )?) {
14486 Some(buf) => std::task::Poll::Ready(Some(ReceiverEvent::decode(buf))),
14487 None => std::task::Poll::Ready(None),
14488 }
14489 }
14490}
14491
14492#[derive(Debug)]
14493pub enum ReceiverEvent {}
14494
14495impl ReceiverEvent {
14496 fn decode(
14498 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
14499 ) -> Result<ReceiverEvent, fidl::Error> {
14500 let (bytes, _handles) = buf.split_mut();
14501 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
14502 debug_assert_eq!(tx_header.tx_id, 0);
14503 match tx_header.ordinal {
14504 _ => Err(fidl::Error::UnknownOrdinal {
14505 ordinal: tx_header.ordinal,
14506 protocol_name: <ReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
14507 }),
14508 }
14509 }
14510}
14511
14512pub struct ReceiverRequestStream {
14514 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14515 is_terminated: bool,
14516}
14517
14518impl std::marker::Unpin for ReceiverRequestStream {}
14519
14520impl futures::stream::FusedStream for ReceiverRequestStream {
14521 fn is_terminated(&self) -> bool {
14522 self.is_terminated
14523 }
14524}
14525
14526impl fidl::endpoints::RequestStream for ReceiverRequestStream {
14527 type Protocol = ReceiverMarker;
14528 type ControlHandle = ReceiverControlHandle;
14529
14530 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
14531 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
14532 }
14533
14534 fn control_handle(&self) -> Self::ControlHandle {
14535 ReceiverControlHandle { inner: self.inner.clone() }
14536 }
14537
14538 fn into_inner(
14539 self,
14540 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
14541 {
14542 (self.inner, self.is_terminated)
14543 }
14544
14545 fn from_inner(
14546 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14547 is_terminated: bool,
14548 ) -> Self {
14549 Self { inner, is_terminated }
14550 }
14551}
14552
14553impl futures::Stream for ReceiverRequestStream {
14554 type Item = Result<ReceiverRequest, fidl::Error>;
14555
14556 fn poll_next(
14557 mut self: std::pin::Pin<&mut Self>,
14558 cx: &mut std::task::Context<'_>,
14559 ) -> std::task::Poll<Option<Self::Item>> {
14560 let this = &mut *self;
14561 if this.inner.check_shutdown(cx) {
14562 this.is_terminated = true;
14563 return std::task::Poll::Ready(None);
14564 }
14565 if this.is_terminated {
14566 panic!("polled ReceiverRequestStream after completion");
14567 }
14568 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
14569 |bytes, handles| {
14570 match this.inner.channel().read_etc(cx, bytes, handles) {
14571 std::task::Poll::Ready(Ok(())) => {}
14572 std::task::Poll::Pending => return std::task::Poll::Pending,
14573 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
14574 this.is_terminated = true;
14575 return std::task::Poll::Ready(None);
14576 }
14577 std::task::Poll::Ready(Err(e)) => {
14578 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
14579 e.into(),
14580 ))));
14581 }
14582 }
14583
14584 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
14586
14587 std::task::Poll::Ready(Some(match header.ordinal {
14588 0x609ca5c7943b58d0 => {
14589 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
14590 let mut req = fidl::new_empty!(
14591 ReceiverReceiveRequest,
14592 fidl::encoding::DefaultFuchsiaResourceDialect
14593 );
14594 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ReceiverReceiveRequest>(&header, _body_bytes, handles, &mut req)?;
14595 let control_handle = ReceiverControlHandle { inner: this.inner.clone() };
14596 Ok(ReceiverRequest::Receive { channel: req.channel, control_handle })
14597 }
14598 _ => Err(fidl::Error::UnknownOrdinal {
14599 ordinal: header.ordinal,
14600 protocol_name:
14601 <ReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
14602 }),
14603 }))
14604 },
14605 )
14606 }
14607}
14608
14609#[derive(Debug)]
14611pub enum ReceiverRequest {
14612 Receive { channel: fidl::Channel, control_handle: ReceiverControlHandle },
14615}
14616
14617impl ReceiverRequest {
14618 #[allow(irrefutable_let_patterns)]
14619 pub fn into_receive(self) -> Option<(fidl::Channel, ReceiverControlHandle)> {
14620 if let ReceiverRequest::Receive { channel, control_handle } = self {
14621 Some((channel, control_handle))
14622 } else {
14623 None
14624 }
14625 }
14626
14627 pub fn method_name(&self) -> &'static str {
14629 match *self {
14630 ReceiverRequest::Receive { .. } => "receive",
14631 }
14632 }
14633}
14634
14635#[derive(Debug, Clone)]
14636pub struct ReceiverControlHandle {
14637 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14638}
14639
14640impl fidl::endpoints::ControlHandle for ReceiverControlHandle {
14641 fn shutdown(&self) {
14642 self.inner.shutdown()
14643 }
14644
14645 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
14646 self.inner.shutdown_with_epitaph(status)
14647 }
14648
14649 fn is_closed(&self) -> bool {
14650 self.inner.channel().is_closed()
14651 }
14652 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
14653 self.inner.channel().on_closed()
14654 }
14655
14656 #[cfg(target_os = "fuchsia")]
14657 fn signal_peer(
14658 &self,
14659 clear_mask: zx::Signals,
14660 set_mask: zx::Signals,
14661 ) -> Result<(), zx_status::Status> {
14662 use fidl::Peered;
14663 self.inner.channel().signal_peer(clear_mask, set_mask)
14664 }
14665}
14666
14667impl ReceiverControlHandle {}
14668
14669mod internal {
14670 use super::*;
14671
14672 impl fidl::encoding::ResourceTypeMarker for CapabilitiesCapabilityAssociateHandleRequest {
14673 type Borrowed<'a> = &'a mut Self;
14674 fn take_or_borrow<'a>(
14675 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
14676 ) -> Self::Borrowed<'a> {
14677 value
14678 }
14679 }
14680
14681 unsafe impl fidl::encoding::TypeMarker for CapabilitiesCapabilityAssociateHandleRequest {
14682 type Owned = Self;
14683
14684 #[inline(always)]
14685 fn inline_align(_context: fidl::encoding::Context) -> usize {
14686 4
14687 }
14688
14689 #[inline(always)]
14690 fn inline_size(_context: fidl::encoding::Context) -> usize {
14691 8
14692 }
14693 }
14694
14695 unsafe impl
14696 fidl::encoding::Encode<
14697 CapabilitiesCapabilityAssociateHandleRequest,
14698 fidl::encoding::DefaultFuchsiaResourceDialect,
14699 > for &mut CapabilitiesCapabilityAssociateHandleRequest
14700 {
14701 #[inline]
14702 unsafe fn encode(
14703 self,
14704 encoder: &mut fidl::encoding::Encoder<
14705 '_,
14706 fidl::encoding::DefaultFuchsiaResourceDialect,
14707 >,
14708 offset: usize,
14709 _depth: fidl::encoding::Depth,
14710 ) -> fidl::Result<()> {
14711 encoder.debug_check_bounds::<CapabilitiesCapabilityAssociateHandleRequest>(offset);
14712 fidl::encoding::Encode::<
14714 CapabilitiesCapabilityAssociateHandleRequest,
14715 fidl::encoding::DefaultFuchsiaResourceDialect,
14716 >::encode(
14717 (
14718 <fidl::encoding::HandleType<
14719 fidl::EventPair,
14720 { fidl::ObjectType::EVENTPAIR.into_raw() },
14721 2147483648,
14722 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
14723 &mut self.capability_handle,
14724 ),
14725 <fidl::encoding::HandleType<
14726 fidl::EventPair,
14727 { fidl::ObjectType::EVENTPAIR.into_raw() },
14728 2147483648,
14729 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
14730 &mut self.other_handle,
14731 ),
14732 ),
14733 encoder,
14734 offset,
14735 _depth,
14736 )
14737 }
14738 }
14739 unsafe impl<
14740 T0: fidl::encoding::Encode<
14741 fidl::encoding::HandleType<
14742 fidl::EventPair,
14743 { fidl::ObjectType::EVENTPAIR.into_raw() },
14744 2147483648,
14745 >,
14746 fidl::encoding::DefaultFuchsiaResourceDialect,
14747 >,
14748 T1: fidl::encoding::Encode<
14749 fidl::encoding::HandleType<
14750 fidl::EventPair,
14751 { fidl::ObjectType::EVENTPAIR.into_raw() },
14752 2147483648,
14753 >,
14754 fidl::encoding::DefaultFuchsiaResourceDialect,
14755 >,
14756 >
14757 fidl::encoding::Encode<
14758 CapabilitiesCapabilityAssociateHandleRequest,
14759 fidl::encoding::DefaultFuchsiaResourceDialect,
14760 > for (T0, T1)
14761 {
14762 #[inline]
14763 unsafe fn encode(
14764 self,
14765 encoder: &mut fidl::encoding::Encoder<
14766 '_,
14767 fidl::encoding::DefaultFuchsiaResourceDialect,
14768 >,
14769 offset: usize,
14770 depth: fidl::encoding::Depth,
14771 ) -> fidl::Result<()> {
14772 encoder.debug_check_bounds::<CapabilitiesCapabilityAssociateHandleRequest>(offset);
14773 self.0.encode(encoder, offset + 0, depth)?;
14777 self.1.encode(encoder, offset + 4, depth)?;
14778 Ok(())
14779 }
14780 }
14781
14782 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
14783 for CapabilitiesCapabilityAssociateHandleRequest
14784 {
14785 #[inline(always)]
14786 fn new_empty() -> Self {
14787 Self {
14788 capability_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
14789 other_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
14790 }
14791 }
14792
14793 #[inline]
14794 unsafe fn decode(
14795 &mut self,
14796 decoder: &mut fidl::encoding::Decoder<
14797 '_,
14798 fidl::encoding::DefaultFuchsiaResourceDialect,
14799 >,
14800 offset: usize,
14801 _depth: fidl::encoding::Depth,
14802 ) -> fidl::Result<()> {
14803 decoder.debug_check_bounds::<Self>(offset);
14804 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.capability_handle, decoder, offset + 0, _depth)?;
14806 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.other_handle, decoder, offset + 4, _depth)?;
14807 Ok(())
14808 }
14809 }
14810
14811 impl fidl::encoding::ResourceTypeMarker for CapabilitiesConnectorCreateRequest {
14812 type Borrowed<'a> = &'a mut Self;
14813 fn take_or_borrow<'a>(
14814 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
14815 ) -> Self::Borrowed<'a> {
14816 value
14817 }
14818 }
14819
14820 unsafe impl fidl::encoding::TypeMarker for CapabilitiesConnectorCreateRequest {
14821 type Owned = Self;
14822
14823 #[inline(always)]
14824 fn inline_align(_context: fidl::encoding::Context) -> usize {
14825 4
14826 }
14827
14828 #[inline(always)]
14829 fn inline_size(_context: fidl::encoding::Context) -> usize {
14830 8
14831 }
14832 }
14833
14834 unsafe impl
14835 fidl::encoding::Encode<
14836 CapabilitiesConnectorCreateRequest,
14837 fidl::encoding::DefaultFuchsiaResourceDialect,
14838 > for &mut CapabilitiesConnectorCreateRequest
14839 {
14840 #[inline]
14841 unsafe fn encode(
14842 self,
14843 encoder: &mut fidl::encoding::Encoder<
14844 '_,
14845 fidl::encoding::DefaultFuchsiaResourceDialect,
14846 >,
14847 offset: usize,
14848 _depth: fidl::encoding::Depth,
14849 ) -> fidl::Result<()> {
14850 encoder.debug_check_bounds::<CapabilitiesConnectorCreateRequest>(offset);
14851 fidl::encoding::Encode::<CapabilitiesConnectorCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
14853 (
14854 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.connector),
14855 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.receiver_client_end),
14856 ),
14857 encoder, offset, _depth
14858 )
14859 }
14860 }
14861 unsafe impl<
14862 T0: fidl::encoding::Encode<
14863 fidl::encoding::HandleType<
14864 fidl::EventPair,
14865 { fidl::ObjectType::EVENTPAIR.into_raw() },
14866 2147483648,
14867 >,
14868 fidl::encoding::DefaultFuchsiaResourceDialect,
14869 >,
14870 T1: fidl::encoding::Encode<
14871 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
14872 fidl::encoding::DefaultFuchsiaResourceDialect,
14873 >,
14874 >
14875 fidl::encoding::Encode<
14876 CapabilitiesConnectorCreateRequest,
14877 fidl::encoding::DefaultFuchsiaResourceDialect,
14878 > for (T0, T1)
14879 {
14880 #[inline]
14881 unsafe fn encode(
14882 self,
14883 encoder: &mut fidl::encoding::Encoder<
14884 '_,
14885 fidl::encoding::DefaultFuchsiaResourceDialect,
14886 >,
14887 offset: usize,
14888 depth: fidl::encoding::Depth,
14889 ) -> fidl::Result<()> {
14890 encoder.debug_check_bounds::<CapabilitiesConnectorCreateRequest>(offset);
14891 self.0.encode(encoder, offset + 0, depth)?;
14895 self.1.encode(encoder, offset + 4, depth)?;
14896 Ok(())
14897 }
14898 }
14899
14900 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
14901 for CapabilitiesConnectorCreateRequest
14902 {
14903 #[inline(always)]
14904 fn new_empty() -> Self {
14905 Self {
14906 connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
14907 receiver_client_end: fidl::new_empty!(
14908 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
14909 fidl::encoding::DefaultFuchsiaResourceDialect
14910 ),
14911 }
14912 }
14913
14914 #[inline]
14915 unsafe fn decode(
14916 &mut self,
14917 decoder: &mut fidl::encoding::Decoder<
14918 '_,
14919 fidl::encoding::DefaultFuchsiaResourceDialect,
14920 >,
14921 offset: usize,
14922 _depth: fidl::encoding::Depth,
14923 ) -> fidl::Result<()> {
14924 decoder.debug_check_bounds::<Self>(offset);
14925 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.connector, decoder, offset + 0, _depth)?;
14927 fidl::decode!(
14928 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
14929 fidl::encoding::DefaultFuchsiaResourceDialect,
14930 &mut self.receiver_client_end,
14931 decoder,
14932 offset + 4,
14933 _depth
14934 )?;
14935 Ok(())
14936 }
14937 }
14938
14939 impl fidl::encoding::ResourceTypeMarker for CapabilitiesConnectorOpenRequest {
14940 type Borrowed<'a> = &'a mut Self;
14941 fn take_or_borrow<'a>(
14942 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
14943 ) -> Self::Borrowed<'a> {
14944 value
14945 }
14946 }
14947
14948 unsafe impl fidl::encoding::TypeMarker for CapabilitiesConnectorOpenRequest {
14949 type Owned = Self;
14950
14951 #[inline(always)]
14952 fn inline_align(_context: fidl::encoding::Context) -> usize {
14953 4
14954 }
14955
14956 #[inline(always)]
14957 fn inline_size(_context: fidl::encoding::Context) -> usize {
14958 8
14959 }
14960 }
14961
14962 unsafe impl
14963 fidl::encoding::Encode<
14964 CapabilitiesConnectorOpenRequest,
14965 fidl::encoding::DefaultFuchsiaResourceDialect,
14966 > for &mut CapabilitiesConnectorOpenRequest
14967 {
14968 #[inline]
14969 unsafe fn encode(
14970 self,
14971 encoder: &mut fidl::encoding::Encoder<
14972 '_,
14973 fidl::encoding::DefaultFuchsiaResourceDialect,
14974 >,
14975 offset: usize,
14976 _depth: fidl::encoding::Depth,
14977 ) -> fidl::Result<()> {
14978 encoder.debug_check_bounds::<CapabilitiesConnectorOpenRequest>(offset);
14979 fidl::encoding::Encode::<
14981 CapabilitiesConnectorOpenRequest,
14982 fidl::encoding::DefaultFuchsiaResourceDialect,
14983 >::encode(
14984 (
14985 <fidl::encoding::HandleType<
14986 fidl::EventPair,
14987 { fidl::ObjectType::EVENTPAIR.into_raw() },
14988 2147483648,
14989 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
14990 &mut self.connector
14991 ),
14992 <fidl::encoding::HandleType<
14993 fidl::Channel,
14994 { fidl::ObjectType::CHANNEL.into_raw() },
14995 2147483648,
14996 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
14997 &mut self.channel
14998 ),
14999 ),
15000 encoder,
15001 offset,
15002 _depth,
15003 )
15004 }
15005 }
15006 unsafe impl<
15007 T0: fidl::encoding::Encode<
15008 fidl::encoding::HandleType<
15009 fidl::EventPair,
15010 { fidl::ObjectType::EVENTPAIR.into_raw() },
15011 2147483648,
15012 >,
15013 fidl::encoding::DefaultFuchsiaResourceDialect,
15014 >,
15015 T1: fidl::encoding::Encode<
15016 fidl::encoding::HandleType<
15017 fidl::Channel,
15018 { fidl::ObjectType::CHANNEL.into_raw() },
15019 2147483648,
15020 >,
15021 fidl::encoding::DefaultFuchsiaResourceDialect,
15022 >,
15023 >
15024 fidl::encoding::Encode<
15025 CapabilitiesConnectorOpenRequest,
15026 fidl::encoding::DefaultFuchsiaResourceDialect,
15027 > for (T0, T1)
15028 {
15029 #[inline]
15030 unsafe fn encode(
15031 self,
15032 encoder: &mut fidl::encoding::Encoder<
15033 '_,
15034 fidl::encoding::DefaultFuchsiaResourceDialect,
15035 >,
15036 offset: usize,
15037 depth: fidl::encoding::Depth,
15038 ) -> fidl::Result<()> {
15039 encoder.debug_check_bounds::<CapabilitiesConnectorOpenRequest>(offset);
15040 self.0.encode(encoder, offset + 0, depth)?;
15044 self.1.encode(encoder, offset + 4, depth)?;
15045 Ok(())
15046 }
15047 }
15048
15049 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15050 for CapabilitiesConnectorOpenRequest
15051 {
15052 #[inline(always)]
15053 fn new_empty() -> Self {
15054 Self {
15055 connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15056 channel: fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15057 }
15058 }
15059
15060 #[inline]
15061 unsafe fn decode(
15062 &mut self,
15063 decoder: &mut fidl::encoding::Decoder<
15064 '_,
15065 fidl::encoding::DefaultFuchsiaResourceDialect,
15066 >,
15067 offset: usize,
15068 _depth: fidl::encoding::Depth,
15069 ) -> fidl::Result<()> {
15070 decoder.debug_check_bounds::<Self>(offset);
15071 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.connector, decoder, offset + 0, _depth)?;
15073 fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.channel, decoder, offset + 4, _depth)?;
15074 Ok(())
15075 }
15076 }
15077
15078 impl fidl::encoding::ResourceTypeMarker for CapabilitiesConnectorRouterCreateRequest {
15079 type Borrowed<'a> = &'a mut Self;
15080 fn take_or_borrow<'a>(
15081 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15082 ) -> Self::Borrowed<'a> {
15083 value
15084 }
15085 }
15086
15087 unsafe impl fidl::encoding::TypeMarker for CapabilitiesConnectorRouterCreateRequest {
15088 type Owned = Self;
15089
15090 #[inline(always)]
15091 fn inline_align(_context: fidl::encoding::Context) -> usize {
15092 4
15093 }
15094
15095 #[inline(always)]
15096 fn inline_size(_context: fidl::encoding::Context) -> usize {
15097 8
15098 }
15099 }
15100
15101 unsafe impl
15102 fidl::encoding::Encode<
15103 CapabilitiesConnectorRouterCreateRequest,
15104 fidl::encoding::DefaultFuchsiaResourceDialect,
15105 > for &mut CapabilitiesConnectorRouterCreateRequest
15106 {
15107 #[inline]
15108 unsafe fn encode(
15109 self,
15110 encoder: &mut fidl::encoding::Encoder<
15111 '_,
15112 fidl::encoding::DefaultFuchsiaResourceDialect,
15113 >,
15114 offset: usize,
15115 _depth: fidl::encoding::Depth,
15116 ) -> fidl::Result<()> {
15117 encoder.debug_check_bounds::<CapabilitiesConnectorRouterCreateRequest>(offset);
15118 fidl::encoding::Encode::<CapabilitiesConnectorRouterCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
15120 (
15121 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router),
15122 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router_client_end),
15123 ),
15124 encoder, offset, _depth
15125 )
15126 }
15127 }
15128 unsafe impl<
15129 T0: fidl::encoding::Encode<
15130 fidl::encoding::HandleType<
15131 fidl::EventPair,
15132 { fidl::ObjectType::EVENTPAIR.into_raw() },
15133 2147483648,
15134 >,
15135 fidl::encoding::DefaultFuchsiaResourceDialect,
15136 >,
15137 T1: fidl::encoding::Encode<
15138 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterMarker>>,
15139 fidl::encoding::DefaultFuchsiaResourceDialect,
15140 >,
15141 >
15142 fidl::encoding::Encode<
15143 CapabilitiesConnectorRouterCreateRequest,
15144 fidl::encoding::DefaultFuchsiaResourceDialect,
15145 > for (T0, T1)
15146 {
15147 #[inline]
15148 unsafe fn encode(
15149 self,
15150 encoder: &mut fidl::encoding::Encoder<
15151 '_,
15152 fidl::encoding::DefaultFuchsiaResourceDialect,
15153 >,
15154 offset: usize,
15155 depth: fidl::encoding::Depth,
15156 ) -> fidl::Result<()> {
15157 encoder.debug_check_bounds::<CapabilitiesConnectorRouterCreateRequest>(offset);
15158 self.0.encode(encoder, offset + 0, depth)?;
15162 self.1.encode(encoder, offset + 4, depth)?;
15163 Ok(())
15164 }
15165 }
15166
15167 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15168 for CapabilitiesConnectorRouterCreateRequest
15169 {
15170 #[inline(always)]
15171 fn new_empty() -> Self {
15172 Self {
15173 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15174 router_client_end: fidl::new_empty!(
15175 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterMarker>>,
15176 fidl::encoding::DefaultFuchsiaResourceDialect
15177 ),
15178 }
15179 }
15180
15181 #[inline]
15182 unsafe fn decode(
15183 &mut self,
15184 decoder: &mut fidl::encoding::Decoder<
15185 '_,
15186 fidl::encoding::DefaultFuchsiaResourceDialect,
15187 >,
15188 offset: usize,
15189 _depth: fidl::encoding::Depth,
15190 ) -> fidl::Result<()> {
15191 decoder.debug_check_bounds::<Self>(offset);
15192 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
15194 fidl::decode!(
15195 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterMarker>>,
15196 fidl::encoding::DefaultFuchsiaResourceDialect,
15197 &mut self.router_client_end,
15198 decoder,
15199 offset + 4,
15200 _depth
15201 )?;
15202 Ok(())
15203 }
15204 }
15205
15206 impl fidl::encoding::ResourceTypeMarker for CapabilitiesConnectorRouterRouteRequest {
15207 type Borrowed<'a> = &'a mut Self;
15208 fn take_or_borrow<'a>(
15209 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15210 ) -> Self::Borrowed<'a> {
15211 value
15212 }
15213 }
15214
15215 unsafe impl fidl::encoding::TypeMarker for CapabilitiesConnectorRouterRouteRequest {
15216 type Owned = Self;
15217
15218 #[inline(always)]
15219 fn inline_align(_context: fidl::encoding::Context) -> usize {
15220 8
15221 }
15222
15223 #[inline(always)]
15224 fn inline_size(_context: fidl::encoding::Context) -> usize {
15225 32
15226 }
15227 }
15228
15229 unsafe impl
15230 fidl::encoding::Encode<
15231 CapabilitiesConnectorRouterRouteRequest,
15232 fidl::encoding::DefaultFuchsiaResourceDialect,
15233 > for &mut CapabilitiesConnectorRouterRouteRequest
15234 {
15235 #[inline]
15236 unsafe fn encode(
15237 self,
15238 encoder: &mut fidl::encoding::Encoder<
15239 '_,
15240 fidl::encoding::DefaultFuchsiaResourceDialect,
15241 >,
15242 offset: usize,
15243 _depth: fidl::encoding::Depth,
15244 ) -> fidl::Result<()> {
15245 encoder.debug_check_bounds::<CapabilitiesConnectorRouterRouteRequest>(offset);
15246 fidl::encoding::Encode::<
15248 CapabilitiesConnectorRouterRouteRequest,
15249 fidl::encoding::DefaultFuchsiaResourceDialect,
15250 >::encode(
15251 (
15252 <fidl::encoding::HandleType<
15253 fidl::EventPair,
15254 { fidl::ObjectType::EVENTPAIR.into_raw() },
15255 2147483648,
15256 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15257 &mut self.router
15258 ),
15259 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15260 &mut self.request,
15261 ),
15262 <fidl::encoding::HandleType<
15263 fidl::EventPair,
15264 { fidl::ObjectType::EVENTPAIR.into_raw() },
15265 2147483648,
15266 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15267 &mut self.instance_token,
15268 ),
15269 <fidl::encoding::HandleType<
15270 fidl::EventPair,
15271 { fidl::ObjectType::EVENTPAIR.into_raw() },
15272 2147483648,
15273 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15274 &mut self.connector
15275 ),
15276 ),
15277 encoder,
15278 offset,
15279 _depth,
15280 )
15281 }
15282 }
15283 unsafe impl<
15284 T0: fidl::encoding::Encode<
15285 fidl::encoding::HandleType<
15286 fidl::EventPair,
15287 { fidl::ObjectType::EVENTPAIR.into_raw() },
15288 2147483648,
15289 >,
15290 fidl::encoding::DefaultFuchsiaResourceDialect,
15291 >,
15292 T1: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
15293 T2: fidl::encoding::Encode<
15294 fidl::encoding::HandleType<
15295 fidl::EventPair,
15296 { fidl::ObjectType::EVENTPAIR.into_raw() },
15297 2147483648,
15298 >,
15299 fidl::encoding::DefaultFuchsiaResourceDialect,
15300 >,
15301 T3: fidl::encoding::Encode<
15302 fidl::encoding::HandleType<
15303 fidl::EventPair,
15304 { fidl::ObjectType::EVENTPAIR.into_raw() },
15305 2147483648,
15306 >,
15307 fidl::encoding::DefaultFuchsiaResourceDialect,
15308 >,
15309 >
15310 fidl::encoding::Encode<
15311 CapabilitiesConnectorRouterRouteRequest,
15312 fidl::encoding::DefaultFuchsiaResourceDialect,
15313 > for (T0, T1, T2, T3)
15314 {
15315 #[inline]
15316 unsafe fn encode(
15317 self,
15318 encoder: &mut fidl::encoding::Encoder<
15319 '_,
15320 fidl::encoding::DefaultFuchsiaResourceDialect,
15321 >,
15322 offset: usize,
15323 depth: fidl::encoding::Depth,
15324 ) -> fidl::Result<()> {
15325 encoder.debug_check_bounds::<CapabilitiesConnectorRouterRouteRequest>(offset);
15326 unsafe {
15329 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
15330 (ptr as *mut u64).write_unaligned(0);
15331 }
15332 self.0.encode(encoder, offset + 0, depth)?;
15334 self.1.encode(encoder, offset + 8, depth)?;
15335 self.2.encode(encoder, offset + 24, depth)?;
15336 self.3.encode(encoder, offset + 28, depth)?;
15337 Ok(())
15338 }
15339 }
15340
15341 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15342 for CapabilitiesConnectorRouterRouteRequest
15343 {
15344 #[inline(always)]
15345 fn new_empty() -> Self {
15346 Self {
15347 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15348 request: fidl::new_empty!(
15349 RouteRequest,
15350 fidl::encoding::DefaultFuchsiaResourceDialect
15351 ),
15352 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15353 connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15354 }
15355 }
15356
15357 #[inline]
15358 unsafe fn decode(
15359 &mut self,
15360 decoder: &mut fidl::encoding::Decoder<
15361 '_,
15362 fidl::encoding::DefaultFuchsiaResourceDialect,
15363 >,
15364 offset: usize,
15365 _depth: fidl::encoding::Depth,
15366 ) -> fidl::Result<()> {
15367 decoder.debug_check_bounds::<Self>(offset);
15368 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
15370 let padval = unsafe { (ptr as *const u64).read_unaligned() };
15371 let mask = 0xffffffff00000000u64;
15372 let maskedval = padval & mask;
15373 if maskedval != 0 {
15374 return Err(fidl::Error::NonZeroPadding {
15375 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
15376 });
15377 }
15378 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
15379 fidl::decode!(
15380 RouteRequest,
15381 fidl::encoding::DefaultFuchsiaResourceDialect,
15382 &mut self.request,
15383 decoder,
15384 offset + 8,
15385 _depth
15386 )?;
15387 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 24, _depth)?;
15388 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.connector, decoder, offset + 28, _depth)?;
15389 Ok(())
15390 }
15391 }
15392
15393 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDataCreateRequest {
15394 type Borrowed<'a> = &'a mut Self;
15395 fn take_or_borrow<'a>(
15396 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15397 ) -> Self::Borrowed<'a> {
15398 value
15399 }
15400 }
15401
15402 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDataCreateRequest {
15403 type Owned = Self;
15404
15405 #[inline(always)]
15406 fn inline_align(_context: fidl::encoding::Context) -> usize {
15407 8
15408 }
15409
15410 #[inline(always)]
15411 fn inline_size(_context: fidl::encoding::Context) -> usize {
15412 24
15413 }
15414 }
15415
15416 unsafe impl
15417 fidl::encoding::Encode<
15418 CapabilitiesDataCreateRequest,
15419 fidl::encoding::DefaultFuchsiaResourceDialect,
15420 > for &mut CapabilitiesDataCreateRequest
15421 {
15422 #[inline]
15423 unsafe fn encode(
15424 self,
15425 encoder: &mut fidl::encoding::Encoder<
15426 '_,
15427 fidl::encoding::DefaultFuchsiaResourceDialect,
15428 >,
15429 offset: usize,
15430 _depth: fidl::encoding::Depth,
15431 ) -> fidl::Result<()> {
15432 encoder.debug_check_bounds::<CapabilitiesDataCreateRequest>(offset);
15433 fidl::encoding::Encode::<
15435 CapabilitiesDataCreateRequest,
15436 fidl::encoding::DefaultFuchsiaResourceDialect,
15437 >::encode(
15438 (
15439 <fidl::encoding::HandleType<
15440 fidl::EventPair,
15441 { fidl::ObjectType::EVENTPAIR.into_raw() },
15442 2147483648,
15443 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15444 &mut self.data_handle
15445 ),
15446 <Data as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
15447 ),
15448 encoder,
15449 offset,
15450 _depth,
15451 )
15452 }
15453 }
15454 unsafe impl<
15455 T0: fidl::encoding::Encode<
15456 fidl::encoding::HandleType<
15457 fidl::EventPair,
15458 { fidl::ObjectType::EVENTPAIR.into_raw() },
15459 2147483648,
15460 >,
15461 fidl::encoding::DefaultFuchsiaResourceDialect,
15462 >,
15463 T1: fidl::encoding::Encode<Data, fidl::encoding::DefaultFuchsiaResourceDialect>,
15464 >
15465 fidl::encoding::Encode<
15466 CapabilitiesDataCreateRequest,
15467 fidl::encoding::DefaultFuchsiaResourceDialect,
15468 > for (T0, T1)
15469 {
15470 #[inline]
15471 unsafe fn encode(
15472 self,
15473 encoder: &mut fidl::encoding::Encoder<
15474 '_,
15475 fidl::encoding::DefaultFuchsiaResourceDialect,
15476 >,
15477 offset: usize,
15478 depth: fidl::encoding::Depth,
15479 ) -> fidl::Result<()> {
15480 encoder.debug_check_bounds::<CapabilitiesDataCreateRequest>(offset);
15481 unsafe {
15484 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
15485 (ptr as *mut u64).write_unaligned(0);
15486 }
15487 self.0.encode(encoder, offset + 0, depth)?;
15489 self.1.encode(encoder, offset + 8, depth)?;
15490 Ok(())
15491 }
15492 }
15493
15494 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15495 for CapabilitiesDataCreateRequest
15496 {
15497 #[inline(always)]
15498 fn new_empty() -> Self {
15499 Self {
15500 data_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15501 data: fidl::new_empty!(Data, fidl::encoding::DefaultFuchsiaResourceDialect),
15502 }
15503 }
15504
15505 #[inline]
15506 unsafe fn decode(
15507 &mut self,
15508 decoder: &mut fidl::encoding::Decoder<
15509 '_,
15510 fidl::encoding::DefaultFuchsiaResourceDialect,
15511 >,
15512 offset: usize,
15513 _depth: fidl::encoding::Depth,
15514 ) -> fidl::Result<()> {
15515 decoder.debug_check_bounds::<Self>(offset);
15516 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
15518 let padval = unsafe { (ptr as *const u64).read_unaligned() };
15519 let mask = 0xffffffff00000000u64;
15520 let maskedval = padval & mask;
15521 if maskedval != 0 {
15522 return Err(fidl::Error::NonZeroPadding {
15523 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
15524 });
15525 }
15526 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.data_handle, decoder, offset + 0, _depth)?;
15527 fidl::decode!(
15528 Data,
15529 fidl::encoding::DefaultFuchsiaResourceDialect,
15530 &mut self.data,
15531 decoder,
15532 offset + 8,
15533 _depth
15534 )?;
15535 Ok(())
15536 }
15537 }
15538
15539 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDataGetRequest {
15540 type Borrowed<'a> = &'a mut Self;
15541 fn take_or_borrow<'a>(
15542 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15543 ) -> Self::Borrowed<'a> {
15544 value
15545 }
15546 }
15547
15548 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDataGetRequest {
15549 type Owned = Self;
15550
15551 #[inline(always)]
15552 fn inline_align(_context: fidl::encoding::Context) -> usize {
15553 4
15554 }
15555
15556 #[inline(always)]
15557 fn inline_size(_context: fidl::encoding::Context) -> usize {
15558 4
15559 }
15560 }
15561
15562 unsafe impl
15563 fidl::encoding::Encode<
15564 CapabilitiesDataGetRequest,
15565 fidl::encoding::DefaultFuchsiaResourceDialect,
15566 > for &mut CapabilitiesDataGetRequest
15567 {
15568 #[inline]
15569 unsafe fn encode(
15570 self,
15571 encoder: &mut fidl::encoding::Encoder<
15572 '_,
15573 fidl::encoding::DefaultFuchsiaResourceDialect,
15574 >,
15575 offset: usize,
15576 _depth: fidl::encoding::Depth,
15577 ) -> fidl::Result<()> {
15578 encoder.debug_check_bounds::<CapabilitiesDataGetRequest>(offset);
15579 fidl::encoding::Encode::<
15581 CapabilitiesDataGetRequest,
15582 fidl::encoding::DefaultFuchsiaResourceDialect,
15583 >::encode(
15584 (<fidl::encoding::HandleType<
15585 fidl::EventPair,
15586 { fidl::ObjectType::EVENTPAIR.into_raw() },
15587 2147483648,
15588 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15589 &mut self.data_handle
15590 ),),
15591 encoder,
15592 offset,
15593 _depth,
15594 )
15595 }
15596 }
15597 unsafe impl<
15598 T0: fidl::encoding::Encode<
15599 fidl::encoding::HandleType<
15600 fidl::EventPair,
15601 { fidl::ObjectType::EVENTPAIR.into_raw() },
15602 2147483648,
15603 >,
15604 fidl::encoding::DefaultFuchsiaResourceDialect,
15605 >,
15606 >
15607 fidl::encoding::Encode<
15608 CapabilitiesDataGetRequest,
15609 fidl::encoding::DefaultFuchsiaResourceDialect,
15610 > for (T0,)
15611 {
15612 #[inline]
15613 unsafe fn encode(
15614 self,
15615 encoder: &mut fidl::encoding::Encoder<
15616 '_,
15617 fidl::encoding::DefaultFuchsiaResourceDialect,
15618 >,
15619 offset: usize,
15620 depth: fidl::encoding::Depth,
15621 ) -> fidl::Result<()> {
15622 encoder.debug_check_bounds::<CapabilitiesDataGetRequest>(offset);
15623 self.0.encode(encoder, offset + 0, depth)?;
15627 Ok(())
15628 }
15629 }
15630
15631 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15632 for CapabilitiesDataGetRequest
15633 {
15634 #[inline(always)]
15635 fn new_empty() -> Self {
15636 Self {
15637 data_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15638 }
15639 }
15640
15641 #[inline]
15642 unsafe fn decode(
15643 &mut self,
15644 decoder: &mut fidl::encoding::Decoder<
15645 '_,
15646 fidl::encoding::DefaultFuchsiaResourceDialect,
15647 >,
15648 offset: usize,
15649 _depth: fidl::encoding::Depth,
15650 ) -> fidl::Result<()> {
15651 decoder.debug_check_bounds::<Self>(offset);
15652 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.data_handle, decoder, offset + 0, _depth)?;
15654 Ok(())
15655 }
15656 }
15657
15658 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDataRouterCreateRequest {
15659 type Borrowed<'a> = &'a mut Self;
15660 fn take_or_borrow<'a>(
15661 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15662 ) -> Self::Borrowed<'a> {
15663 value
15664 }
15665 }
15666
15667 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDataRouterCreateRequest {
15668 type Owned = Self;
15669
15670 #[inline(always)]
15671 fn inline_align(_context: fidl::encoding::Context) -> usize {
15672 4
15673 }
15674
15675 #[inline(always)]
15676 fn inline_size(_context: fidl::encoding::Context) -> usize {
15677 8
15678 }
15679 }
15680
15681 unsafe impl
15682 fidl::encoding::Encode<
15683 CapabilitiesDataRouterCreateRequest,
15684 fidl::encoding::DefaultFuchsiaResourceDialect,
15685 > for &mut CapabilitiesDataRouterCreateRequest
15686 {
15687 #[inline]
15688 unsafe fn encode(
15689 self,
15690 encoder: &mut fidl::encoding::Encoder<
15691 '_,
15692 fidl::encoding::DefaultFuchsiaResourceDialect,
15693 >,
15694 offset: usize,
15695 _depth: fidl::encoding::Depth,
15696 ) -> fidl::Result<()> {
15697 encoder.debug_check_bounds::<CapabilitiesDataRouterCreateRequest>(offset);
15698 fidl::encoding::Encode::<CapabilitiesDataRouterCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
15700 (
15701 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router),
15702 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router_client_end),
15703 ),
15704 encoder, offset, _depth
15705 )
15706 }
15707 }
15708 unsafe impl<
15709 T0: fidl::encoding::Encode<
15710 fidl::encoding::HandleType<
15711 fidl::EventPair,
15712 { fidl::ObjectType::EVENTPAIR.into_raw() },
15713 2147483648,
15714 >,
15715 fidl::encoding::DefaultFuchsiaResourceDialect,
15716 >,
15717 T1: fidl::encoding::Encode<
15718 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterMarker>>,
15719 fidl::encoding::DefaultFuchsiaResourceDialect,
15720 >,
15721 >
15722 fidl::encoding::Encode<
15723 CapabilitiesDataRouterCreateRequest,
15724 fidl::encoding::DefaultFuchsiaResourceDialect,
15725 > for (T0, T1)
15726 {
15727 #[inline]
15728 unsafe fn encode(
15729 self,
15730 encoder: &mut fidl::encoding::Encoder<
15731 '_,
15732 fidl::encoding::DefaultFuchsiaResourceDialect,
15733 >,
15734 offset: usize,
15735 depth: fidl::encoding::Depth,
15736 ) -> fidl::Result<()> {
15737 encoder.debug_check_bounds::<CapabilitiesDataRouterCreateRequest>(offset);
15738 self.0.encode(encoder, offset + 0, depth)?;
15742 self.1.encode(encoder, offset + 4, depth)?;
15743 Ok(())
15744 }
15745 }
15746
15747 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15748 for CapabilitiesDataRouterCreateRequest
15749 {
15750 #[inline(always)]
15751 fn new_empty() -> Self {
15752 Self {
15753 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15754 router_client_end: fidl::new_empty!(
15755 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterMarker>>,
15756 fidl::encoding::DefaultFuchsiaResourceDialect
15757 ),
15758 }
15759 }
15760
15761 #[inline]
15762 unsafe fn decode(
15763 &mut self,
15764 decoder: &mut fidl::encoding::Decoder<
15765 '_,
15766 fidl::encoding::DefaultFuchsiaResourceDialect,
15767 >,
15768 offset: usize,
15769 _depth: fidl::encoding::Depth,
15770 ) -> fidl::Result<()> {
15771 decoder.debug_check_bounds::<Self>(offset);
15772 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
15774 fidl::decode!(
15775 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterMarker>>,
15776 fidl::encoding::DefaultFuchsiaResourceDialect,
15777 &mut self.router_client_end,
15778 decoder,
15779 offset + 4,
15780 _depth
15781 )?;
15782 Ok(())
15783 }
15784 }
15785
15786 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDataRouterRouteRequest {
15787 type Borrowed<'a> = &'a mut Self;
15788 fn take_or_borrow<'a>(
15789 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15790 ) -> Self::Borrowed<'a> {
15791 value
15792 }
15793 }
15794
15795 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDataRouterRouteRequest {
15796 type Owned = Self;
15797
15798 #[inline(always)]
15799 fn inline_align(_context: fidl::encoding::Context) -> usize {
15800 8
15801 }
15802
15803 #[inline(always)]
15804 fn inline_size(_context: fidl::encoding::Context) -> usize {
15805 32
15806 }
15807 }
15808
15809 unsafe impl
15810 fidl::encoding::Encode<
15811 CapabilitiesDataRouterRouteRequest,
15812 fidl::encoding::DefaultFuchsiaResourceDialect,
15813 > for &mut CapabilitiesDataRouterRouteRequest
15814 {
15815 #[inline]
15816 unsafe fn encode(
15817 self,
15818 encoder: &mut fidl::encoding::Encoder<
15819 '_,
15820 fidl::encoding::DefaultFuchsiaResourceDialect,
15821 >,
15822 offset: usize,
15823 _depth: fidl::encoding::Depth,
15824 ) -> fidl::Result<()> {
15825 encoder.debug_check_bounds::<CapabilitiesDataRouterRouteRequest>(offset);
15826 fidl::encoding::Encode::<
15828 CapabilitiesDataRouterRouteRequest,
15829 fidl::encoding::DefaultFuchsiaResourceDialect,
15830 >::encode(
15831 (
15832 <fidl::encoding::HandleType<
15833 fidl::EventPair,
15834 { fidl::ObjectType::EVENTPAIR.into_raw() },
15835 2147483648,
15836 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15837 &mut self.router
15838 ),
15839 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15840 &mut self.request,
15841 ),
15842 <fidl::encoding::HandleType<
15843 fidl::EventPair,
15844 { fidl::ObjectType::EVENTPAIR.into_raw() },
15845 2147483648,
15846 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15847 &mut self.instance_token,
15848 ),
15849 <fidl::encoding::HandleType<
15850 fidl::EventPair,
15851 { fidl::ObjectType::EVENTPAIR.into_raw() },
15852 2147483648,
15853 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15854 &mut self.data
15855 ),
15856 ),
15857 encoder,
15858 offset,
15859 _depth,
15860 )
15861 }
15862 }
15863 unsafe impl<
15864 T0: fidl::encoding::Encode<
15865 fidl::encoding::HandleType<
15866 fidl::EventPair,
15867 { fidl::ObjectType::EVENTPAIR.into_raw() },
15868 2147483648,
15869 >,
15870 fidl::encoding::DefaultFuchsiaResourceDialect,
15871 >,
15872 T1: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
15873 T2: fidl::encoding::Encode<
15874 fidl::encoding::HandleType<
15875 fidl::EventPair,
15876 { fidl::ObjectType::EVENTPAIR.into_raw() },
15877 2147483648,
15878 >,
15879 fidl::encoding::DefaultFuchsiaResourceDialect,
15880 >,
15881 T3: fidl::encoding::Encode<
15882 fidl::encoding::HandleType<
15883 fidl::EventPair,
15884 { fidl::ObjectType::EVENTPAIR.into_raw() },
15885 2147483648,
15886 >,
15887 fidl::encoding::DefaultFuchsiaResourceDialect,
15888 >,
15889 >
15890 fidl::encoding::Encode<
15891 CapabilitiesDataRouterRouteRequest,
15892 fidl::encoding::DefaultFuchsiaResourceDialect,
15893 > for (T0, T1, T2, T3)
15894 {
15895 #[inline]
15896 unsafe fn encode(
15897 self,
15898 encoder: &mut fidl::encoding::Encoder<
15899 '_,
15900 fidl::encoding::DefaultFuchsiaResourceDialect,
15901 >,
15902 offset: usize,
15903 depth: fidl::encoding::Depth,
15904 ) -> fidl::Result<()> {
15905 encoder.debug_check_bounds::<CapabilitiesDataRouterRouteRequest>(offset);
15906 unsafe {
15909 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
15910 (ptr as *mut u64).write_unaligned(0);
15911 }
15912 self.0.encode(encoder, offset + 0, depth)?;
15914 self.1.encode(encoder, offset + 8, depth)?;
15915 self.2.encode(encoder, offset + 24, depth)?;
15916 self.3.encode(encoder, offset + 28, depth)?;
15917 Ok(())
15918 }
15919 }
15920
15921 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15922 for CapabilitiesDataRouterRouteRequest
15923 {
15924 #[inline(always)]
15925 fn new_empty() -> Self {
15926 Self {
15927 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15928 request: fidl::new_empty!(
15929 RouteRequest,
15930 fidl::encoding::DefaultFuchsiaResourceDialect
15931 ),
15932 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15933 data: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15934 }
15935 }
15936
15937 #[inline]
15938 unsafe fn decode(
15939 &mut self,
15940 decoder: &mut fidl::encoding::Decoder<
15941 '_,
15942 fidl::encoding::DefaultFuchsiaResourceDialect,
15943 >,
15944 offset: usize,
15945 _depth: fidl::encoding::Depth,
15946 ) -> fidl::Result<()> {
15947 decoder.debug_check_bounds::<Self>(offset);
15948 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
15950 let padval = unsafe { (ptr as *const u64).read_unaligned() };
15951 let mask = 0xffffffff00000000u64;
15952 let maskedval = padval & mask;
15953 if maskedval != 0 {
15954 return Err(fidl::Error::NonZeroPadding {
15955 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
15956 });
15957 }
15958 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
15959 fidl::decode!(
15960 RouteRequest,
15961 fidl::encoding::DefaultFuchsiaResourceDialect,
15962 &mut self.request,
15963 decoder,
15964 offset + 8,
15965 _depth
15966 )?;
15967 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 24, _depth)?;
15968 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.data, decoder, offset + 28, _depth)?;
15969 Ok(())
15970 }
15971 }
15972
15973 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryCreateRequest {
15974 type Borrowed<'a> = &'a mut Self;
15975 fn take_or_borrow<'a>(
15976 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15977 ) -> Self::Borrowed<'a> {
15978 value
15979 }
15980 }
15981
15982 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryCreateRequest {
15983 type Owned = Self;
15984
15985 #[inline(always)]
15986 fn inline_align(_context: fidl::encoding::Context) -> usize {
15987 4
15988 }
15989
15990 #[inline(always)]
15991 fn inline_size(_context: fidl::encoding::Context) -> usize {
15992 4
15993 }
15994 }
15995
15996 unsafe impl
15997 fidl::encoding::Encode<
15998 CapabilitiesDictionaryCreateRequest,
15999 fidl::encoding::DefaultFuchsiaResourceDialect,
16000 > for &mut CapabilitiesDictionaryCreateRequest
16001 {
16002 #[inline]
16003 unsafe fn encode(
16004 self,
16005 encoder: &mut fidl::encoding::Encoder<
16006 '_,
16007 fidl::encoding::DefaultFuchsiaResourceDialect,
16008 >,
16009 offset: usize,
16010 _depth: fidl::encoding::Depth,
16011 ) -> fidl::Result<()> {
16012 encoder.debug_check_bounds::<CapabilitiesDictionaryCreateRequest>(offset);
16013 fidl::encoding::Encode::<
16015 CapabilitiesDictionaryCreateRequest,
16016 fidl::encoding::DefaultFuchsiaResourceDialect,
16017 >::encode(
16018 (<fidl::encoding::HandleType<
16019 fidl::EventPair,
16020 { fidl::ObjectType::EVENTPAIR.into_raw() },
16021 2147483648,
16022 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16023 &mut self.dictionary
16024 ),),
16025 encoder,
16026 offset,
16027 _depth,
16028 )
16029 }
16030 }
16031 unsafe impl<
16032 T0: fidl::encoding::Encode<
16033 fidl::encoding::HandleType<
16034 fidl::EventPair,
16035 { fidl::ObjectType::EVENTPAIR.into_raw() },
16036 2147483648,
16037 >,
16038 fidl::encoding::DefaultFuchsiaResourceDialect,
16039 >,
16040 >
16041 fidl::encoding::Encode<
16042 CapabilitiesDictionaryCreateRequest,
16043 fidl::encoding::DefaultFuchsiaResourceDialect,
16044 > for (T0,)
16045 {
16046 #[inline]
16047 unsafe fn encode(
16048 self,
16049 encoder: &mut fidl::encoding::Encoder<
16050 '_,
16051 fidl::encoding::DefaultFuchsiaResourceDialect,
16052 >,
16053 offset: usize,
16054 depth: fidl::encoding::Depth,
16055 ) -> fidl::Result<()> {
16056 encoder.debug_check_bounds::<CapabilitiesDictionaryCreateRequest>(offset);
16057 self.0.encode(encoder, offset + 0, depth)?;
16061 Ok(())
16062 }
16063 }
16064
16065 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16066 for CapabilitiesDictionaryCreateRequest
16067 {
16068 #[inline(always)]
16069 fn new_empty() -> Self {
16070 Self {
16071 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16072 }
16073 }
16074
16075 #[inline]
16076 unsafe fn decode(
16077 &mut self,
16078 decoder: &mut fidl::encoding::Decoder<
16079 '_,
16080 fidl::encoding::DefaultFuchsiaResourceDialect,
16081 >,
16082 offset: usize,
16083 _depth: fidl::encoding::Depth,
16084 ) -> fidl::Result<()> {
16085 decoder.debug_check_bounds::<Self>(offset);
16086 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 0, _depth)?;
16088 Ok(())
16089 }
16090 }
16091
16092 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryGetRequest {
16093 type Borrowed<'a> = &'a mut Self;
16094 fn take_or_borrow<'a>(
16095 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16096 ) -> Self::Borrowed<'a> {
16097 value
16098 }
16099 }
16100
16101 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryGetRequest {
16102 type Owned = Self;
16103
16104 #[inline(always)]
16105 fn inline_align(_context: fidl::encoding::Context) -> usize {
16106 8
16107 }
16108
16109 #[inline(always)]
16110 fn inline_size(_context: fidl::encoding::Context) -> usize {
16111 32
16112 }
16113 }
16114
16115 unsafe impl
16116 fidl::encoding::Encode<
16117 CapabilitiesDictionaryGetRequest,
16118 fidl::encoding::DefaultFuchsiaResourceDialect,
16119 > for &mut CapabilitiesDictionaryGetRequest
16120 {
16121 #[inline]
16122 unsafe fn encode(
16123 self,
16124 encoder: &mut fidl::encoding::Encoder<
16125 '_,
16126 fidl::encoding::DefaultFuchsiaResourceDialect,
16127 >,
16128 offset: usize,
16129 _depth: fidl::encoding::Depth,
16130 ) -> fidl::Result<()> {
16131 encoder.debug_check_bounds::<CapabilitiesDictionaryGetRequest>(offset);
16132 fidl::encoding::Encode::<
16134 CapabilitiesDictionaryGetRequest,
16135 fidl::encoding::DefaultFuchsiaResourceDialect,
16136 >::encode(
16137 (
16138 <fidl::encoding::HandleType<
16139 fidl::EventPair,
16140 { fidl::ObjectType::EVENTPAIR.into_raw() },
16141 2147483648,
16142 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16143 &mut self.dictionary
16144 ),
16145 <fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
16146 &self.key,
16147 ),
16148 <fidl::encoding::HandleType<
16149 fidl::EventPair,
16150 { fidl::ObjectType::EVENTPAIR.into_raw() },
16151 2147483648,
16152 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16153 &mut self.value
16154 ),
16155 ),
16156 encoder,
16157 offset,
16158 _depth,
16159 )
16160 }
16161 }
16162 unsafe impl<
16163 T0: fidl::encoding::Encode<
16164 fidl::encoding::HandleType<
16165 fidl::EventPair,
16166 { fidl::ObjectType::EVENTPAIR.into_raw() },
16167 2147483648,
16168 >,
16169 fidl::encoding::DefaultFuchsiaResourceDialect,
16170 >,
16171 T1: fidl::encoding::Encode<
16172 fidl::encoding::BoundedString<100>,
16173 fidl::encoding::DefaultFuchsiaResourceDialect,
16174 >,
16175 T2: fidl::encoding::Encode<
16176 fidl::encoding::HandleType<
16177 fidl::EventPair,
16178 { fidl::ObjectType::EVENTPAIR.into_raw() },
16179 2147483648,
16180 >,
16181 fidl::encoding::DefaultFuchsiaResourceDialect,
16182 >,
16183 >
16184 fidl::encoding::Encode<
16185 CapabilitiesDictionaryGetRequest,
16186 fidl::encoding::DefaultFuchsiaResourceDialect,
16187 > for (T0, T1, T2)
16188 {
16189 #[inline]
16190 unsafe fn encode(
16191 self,
16192 encoder: &mut fidl::encoding::Encoder<
16193 '_,
16194 fidl::encoding::DefaultFuchsiaResourceDialect,
16195 >,
16196 offset: usize,
16197 depth: fidl::encoding::Depth,
16198 ) -> fidl::Result<()> {
16199 encoder.debug_check_bounds::<CapabilitiesDictionaryGetRequest>(offset);
16200 unsafe {
16203 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
16204 (ptr as *mut u64).write_unaligned(0);
16205 }
16206 unsafe {
16207 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
16208 (ptr as *mut u64).write_unaligned(0);
16209 }
16210 self.0.encode(encoder, offset + 0, depth)?;
16212 self.1.encode(encoder, offset + 8, depth)?;
16213 self.2.encode(encoder, offset + 24, depth)?;
16214 Ok(())
16215 }
16216 }
16217
16218 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16219 for CapabilitiesDictionaryGetRequest
16220 {
16221 #[inline(always)]
16222 fn new_empty() -> Self {
16223 Self {
16224 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16225 key: fidl::new_empty!(
16226 fidl::encoding::BoundedString<100>,
16227 fidl::encoding::DefaultFuchsiaResourceDialect
16228 ),
16229 value: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16230 }
16231 }
16232
16233 #[inline]
16234 unsafe fn decode(
16235 &mut self,
16236 decoder: &mut fidl::encoding::Decoder<
16237 '_,
16238 fidl::encoding::DefaultFuchsiaResourceDialect,
16239 >,
16240 offset: usize,
16241 _depth: fidl::encoding::Depth,
16242 ) -> fidl::Result<()> {
16243 decoder.debug_check_bounds::<Self>(offset);
16244 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
16246 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16247 let mask = 0xffffffff00000000u64;
16248 let maskedval = padval & mask;
16249 if maskedval != 0 {
16250 return Err(fidl::Error::NonZeroPadding {
16251 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
16252 });
16253 }
16254 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
16255 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16256 let mask = 0xffffffff00000000u64;
16257 let maskedval = padval & mask;
16258 if maskedval != 0 {
16259 return Err(fidl::Error::NonZeroPadding {
16260 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
16261 });
16262 }
16263 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 0, _depth)?;
16264 fidl::decode!(
16265 fidl::encoding::BoundedString<100>,
16266 fidl::encoding::DefaultFuchsiaResourceDialect,
16267 &mut self.key,
16268 decoder,
16269 offset + 8,
16270 _depth
16271 )?;
16272 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.value, decoder, offset + 24, _depth)?;
16273 Ok(())
16274 }
16275 }
16276
16277 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryInsertRequest {
16278 type Borrowed<'a> = &'a mut Self;
16279 fn take_or_borrow<'a>(
16280 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16281 ) -> Self::Borrowed<'a> {
16282 value
16283 }
16284 }
16285
16286 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryInsertRequest {
16287 type Owned = Self;
16288
16289 #[inline(always)]
16290 fn inline_align(_context: fidl::encoding::Context) -> usize {
16291 8
16292 }
16293
16294 #[inline(always)]
16295 fn inline_size(_context: fidl::encoding::Context) -> usize {
16296 32
16297 }
16298 }
16299
16300 unsafe impl
16301 fidl::encoding::Encode<
16302 CapabilitiesDictionaryInsertRequest,
16303 fidl::encoding::DefaultFuchsiaResourceDialect,
16304 > for &mut CapabilitiesDictionaryInsertRequest
16305 {
16306 #[inline]
16307 unsafe fn encode(
16308 self,
16309 encoder: &mut fidl::encoding::Encoder<
16310 '_,
16311 fidl::encoding::DefaultFuchsiaResourceDialect,
16312 >,
16313 offset: usize,
16314 _depth: fidl::encoding::Depth,
16315 ) -> fidl::Result<()> {
16316 encoder.debug_check_bounds::<CapabilitiesDictionaryInsertRequest>(offset);
16317 fidl::encoding::Encode::<
16319 CapabilitiesDictionaryInsertRequest,
16320 fidl::encoding::DefaultFuchsiaResourceDialect,
16321 >::encode(
16322 (
16323 <fidl::encoding::HandleType<
16324 fidl::EventPair,
16325 { fidl::ObjectType::EVENTPAIR.into_raw() },
16326 2147483648,
16327 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16328 &mut self.dictionary
16329 ),
16330 <fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
16331 &self.key,
16332 ),
16333 <fidl::encoding::HandleType<
16334 fidl::EventPair,
16335 { fidl::ObjectType::EVENTPAIR.into_raw() },
16336 2147483648,
16337 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16338 &mut self.value
16339 ),
16340 ),
16341 encoder,
16342 offset,
16343 _depth,
16344 )
16345 }
16346 }
16347 unsafe impl<
16348 T0: fidl::encoding::Encode<
16349 fidl::encoding::HandleType<
16350 fidl::EventPair,
16351 { fidl::ObjectType::EVENTPAIR.into_raw() },
16352 2147483648,
16353 >,
16354 fidl::encoding::DefaultFuchsiaResourceDialect,
16355 >,
16356 T1: fidl::encoding::Encode<
16357 fidl::encoding::BoundedString<100>,
16358 fidl::encoding::DefaultFuchsiaResourceDialect,
16359 >,
16360 T2: fidl::encoding::Encode<
16361 fidl::encoding::HandleType<
16362 fidl::EventPair,
16363 { fidl::ObjectType::EVENTPAIR.into_raw() },
16364 2147483648,
16365 >,
16366 fidl::encoding::DefaultFuchsiaResourceDialect,
16367 >,
16368 >
16369 fidl::encoding::Encode<
16370 CapabilitiesDictionaryInsertRequest,
16371 fidl::encoding::DefaultFuchsiaResourceDialect,
16372 > for (T0, T1, T2)
16373 {
16374 #[inline]
16375 unsafe fn encode(
16376 self,
16377 encoder: &mut fidl::encoding::Encoder<
16378 '_,
16379 fidl::encoding::DefaultFuchsiaResourceDialect,
16380 >,
16381 offset: usize,
16382 depth: fidl::encoding::Depth,
16383 ) -> fidl::Result<()> {
16384 encoder.debug_check_bounds::<CapabilitiesDictionaryInsertRequest>(offset);
16385 unsafe {
16388 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
16389 (ptr as *mut u64).write_unaligned(0);
16390 }
16391 unsafe {
16392 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
16393 (ptr as *mut u64).write_unaligned(0);
16394 }
16395 self.0.encode(encoder, offset + 0, depth)?;
16397 self.1.encode(encoder, offset + 8, depth)?;
16398 self.2.encode(encoder, offset + 24, depth)?;
16399 Ok(())
16400 }
16401 }
16402
16403 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16404 for CapabilitiesDictionaryInsertRequest
16405 {
16406 #[inline(always)]
16407 fn new_empty() -> Self {
16408 Self {
16409 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16410 key: fidl::new_empty!(
16411 fidl::encoding::BoundedString<100>,
16412 fidl::encoding::DefaultFuchsiaResourceDialect
16413 ),
16414 value: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16415 }
16416 }
16417
16418 #[inline]
16419 unsafe fn decode(
16420 &mut self,
16421 decoder: &mut fidl::encoding::Decoder<
16422 '_,
16423 fidl::encoding::DefaultFuchsiaResourceDialect,
16424 >,
16425 offset: usize,
16426 _depth: fidl::encoding::Depth,
16427 ) -> fidl::Result<()> {
16428 decoder.debug_check_bounds::<Self>(offset);
16429 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
16431 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16432 let mask = 0xffffffff00000000u64;
16433 let maskedval = padval & mask;
16434 if maskedval != 0 {
16435 return Err(fidl::Error::NonZeroPadding {
16436 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
16437 });
16438 }
16439 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
16440 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16441 let mask = 0xffffffff00000000u64;
16442 let maskedval = padval & mask;
16443 if maskedval != 0 {
16444 return Err(fidl::Error::NonZeroPadding {
16445 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
16446 });
16447 }
16448 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 0, _depth)?;
16449 fidl::decode!(
16450 fidl::encoding::BoundedString<100>,
16451 fidl::encoding::DefaultFuchsiaResourceDialect,
16452 &mut self.key,
16453 decoder,
16454 offset + 8,
16455 _depth
16456 )?;
16457 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.value, decoder, offset + 24, _depth)?;
16458 Ok(())
16459 }
16460 }
16461
16462 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryIterateKeysRequest {
16463 type Borrowed<'a> = &'a mut Self;
16464 fn take_or_borrow<'a>(
16465 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16466 ) -> Self::Borrowed<'a> {
16467 value
16468 }
16469 }
16470
16471 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryIterateKeysRequest {
16472 type Owned = Self;
16473
16474 #[inline(always)]
16475 fn inline_align(_context: fidl::encoding::Context) -> usize {
16476 4
16477 }
16478
16479 #[inline(always)]
16480 fn inline_size(_context: fidl::encoding::Context) -> usize {
16481 8
16482 }
16483 }
16484
16485 unsafe impl
16486 fidl::encoding::Encode<
16487 CapabilitiesDictionaryIterateKeysRequest,
16488 fidl::encoding::DefaultFuchsiaResourceDialect,
16489 > for &mut CapabilitiesDictionaryIterateKeysRequest
16490 {
16491 #[inline]
16492 unsafe fn encode(
16493 self,
16494 encoder: &mut fidl::encoding::Encoder<
16495 '_,
16496 fidl::encoding::DefaultFuchsiaResourceDialect,
16497 >,
16498 offset: usize,
16499 _depth: fidl::encoding::Depth,
16500 ) -> fidl::Result<()> {
16501 encoder.debug_check_bounds::<CapabilitiesDictionaryIterateKeysRequest>(offset);
16502 fidl::encoding::Encode::<
16504 CapabilitiesDictionaryIterateKeysRequest,
16505 fidl::encoding::DefaultFuchsiaResourceDialect,
16506 >::encode(
16507 (
16508 <fidl::encoding::HandleType<
16509 fidl::EventPair,
16510 { fidl::ObjectType::EVENTPAIR.into_raw() },
16511 2147483648,
16512 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16513 &mut self.dictionary
16514 ),
16515 <fidl::encoding::Endpoint<
16516 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
16517 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16518 &mut self.key_iterator,
16519 ),
16520 ),
16521 encoder,
16522 offset,
16523 _depth,
16524 )
16525 }
16526 }
16527 unsafe impl<
16528 T0: fidl::encoding::Encode<
16529 fidl::encoding::HandleType<
16530 fidl::EventPair,
16531 { fidl::ObjectType::EVENTPAIR.into_raw() },
16532 2147483648,
16533 >,
16534 fidl::encoding::DefaultFuchsiaResourceDialect,
16535 >,
16536 T1: fidl::encoding::Encode<
16537 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>>,
16538 fidl::encoding::DefaultFuchsiaResourceDialect,
16539 >,
16540 >
16541 fidl::encoding::Encode<
16542 CapabilitiesDictionaryIterateKeysRequest,
16543 fidl::encoding::DefaultFuchsiaResourceDialect,
16544 > for (T0, T1)
16545 {
16546 #[inline]
16547 unsafe fn encode(
16548 self,
16549 encoder: &mut fidl::encoding::Encoder<
16550 '_,
16551 fidl::encoding::DefaultFuchsiaResourceDialect,
16552 >,
16553 offset: usize,
16554 depth: fidl::encoding::Depth,
16555 ) -> fidl::Result<()> {
16556 encoder.debug_check_bounds::<CapabilitiesDictionaryIterateKeysRequest>(offset);
16557 self.0.encode(encoder, offset + 0, depth)?;
16561 self.1.encode(encoder, offset + 4, depth)?;
16562 Ok(())
16563 }
16564 }
16565
16566 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16567 for CapabilitiesDictionaryIterateKeysRequest
16568 {
16569 #[inline(always)]
16570 fn new_empty() -> Self {
16571 Self {
16572 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16573 key_iterator: fidl::new_empty!(
16574 fidl::encoding::Endpoint<
16575 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
16576 >,
16577 fidl::encoding::DefaultFuchsiaResourceDialect
16578 ),
16579 }
16580 }
16581
16582 #[inline]
16583 unsafe fn decode(
16584 &mut self,
16585 decoder: &mut fidl::encoding::Decoder<
16586 '_,
16587 fidl::encoding::DefaultFuchsiaResourceDialect,
16588 >,
16589 offset: usize,
16590 _depth: fidl::encoding::Depth,
16591 ) -> fidl::Result<()> {
16592 decoder.debug_check_bounds::<Self>(offset);
16593 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 0, _depth)?;
16595 fidl::decode!(
16596 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>>,
16597 fidl::encoding::DefaultFuchsiaResourceDialect,
16598 &mut self.key_iterator,
16599 decoder,
16600 offset + 4,
16601 _depth
16602 )?;
16603 Ok(())
16604 }
16605 }
16606
16607 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryRouterCreateRequest {
16608 type Borrowed<'a> = &'a mut Self;
16609 fn take_or_borrow<'a>(
16610 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16611 ) -> Self::Borrowed<'a> {
16612 value
16613 }
16614 }
16615
16616 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryRouterCreateRequest {
16617 type Owned = Self;
16618
16619 #[inline(always)]
16620 fn inline_align(_context: fidl::encoding::Context) -> usize {
16621 4
16622 }
16623
16624 #[inline(always)]
16625 fn inline_size(_context: fidl::encoding::Context) -> usize {
16626 8
16627 }
16628 }
16629
16630 unsafe impl
16631 fidl::encoding::Encode<
16632 CapabilitiesDictionaryRouterCreateRequest,
16633 fidl::encoding::DefaultFuchsiaResourceDialect,
16634 > for &mut CapabilitiesDictionaryRouterCreateRequest
16635 {
16636 #[inline]
16637 unsafe fn encode(
16638 self,
16639 encoder: &mut fidl::encoding::Encoder<
16640 '_,
16641 fidl::encoding::DefaultFuchsiaResourceDialect,
16642 >,
16643 offset: usize,
16644 _depth: fidl::encoding::Depth,
16645 ) -> fidl::Result<()> {
16646 encoder.debug_check_bounds::<CapabilitiesDictionaryRouterCreateRequest>(offset);
16647 fidl::encoding::Encode::<CapabilitiesDictionaryRouterCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
16649 (
16650 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router),
16651 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router_client_end),
16652 ),
16653 encoder, offset, _depth
16654 )
16655 }
16656 }
16657 unsafe impl<
16658 T0: fidl::encoding::Encode<
16659 fidl::encoding::HandleType<
16660 fidl::EventPair,
16661 { fidl::ObjectType::EVENTPAIR.into_raw() },
16662 2147483648,
16663 >,
16664 fidl::encoding::DefaultFuchsiaResourceDialect,
16665 >,
16666 T1: fidl::encoding::Encode<
16667 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterMarker>>,
16668 fidl::encoding::DefaultFuchsiaResourceDialect,
16669 >,
16670 >
16671 fidl::encoding::Encode<
16672 CapabilitiesDictionaryRouterCreateRequest,
16673 fidl::encoding::DefaultFuchsiaResourceDialect,
16674 > for (T0, T1)
16675 {
16676 #[inline]
16677 unsafe fn encode(
16678 self,
16679 encoder: &mut fidl::encoding::Encoder<
16680 '_,
16681 fidl::encoding::DefaultFuchsiaResourceDialect,
16682 >,
16683 offset: usize,
16684 depth: fidl::encoding::Depth,
16685 ) -> fidl::Result<()> {
16686 encoder.debug_check_bounds::<CapabilitiesDictionaryRouterCreateRequest>(offset);
16687 self.0.encode(encoder, offset + 0, depth)?;
16691 self.1.encode(encoder, offset + 4, depth)?;
16692 Ok(())
16693 }
16694 }
16695
16696 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16697 for CapabilitiesDictionaryRouterCreateRequest
16698 {
16699 #[inline(always)]
16700 fn new_empty() -> Self {
16701 Self {
16702 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16703 router_client_end: fidl::new_empty!(
16704 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterMarker>>,
16705 fidl::encoding::DefaultFuchsiaResourceDialect
16706 ),
16707 }
16708 }
16709
16710 #[inline]
16711 unsafe fn decode(
16712 &mut self,
16713 decoder: &mut fidl::encoding::Decoder<
16714 '_,
16715 fidl::encoding::DefaultFuchsiaResourceDialect,
16716 >,
16717 offset: usize,
16718 _depth: fidl::encoding::Depth,
16719 ) -> fidl::Result<()> {
16720 decoder.debug_check_bounds::<Self>(offset);
16721 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
16723 fidl::decode!(
16724 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterMarker>>,
16725 fidl::encoding::DefaultFuchsiaResourceDialect,
16726 &mut self.router_client_end,
16727 decoder,
16728 offset + 4,
16729 _depth
16730 )?;
16731 Ok(())
16732 }
16733 }
16734
16735 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryRouterRouteRequest {
16736 type Borrowed<'a> = &'a mut Self;
16737 fn take_or_borrow<'a>(
16738 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16739 ) -> Self::Borrowed<'a> {
16740 value
16741 }
16742 }
16743
16744 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryRouterRouteRequest {
16745 type Owned = Self;
16746
16747 #[inline(always)]
16748 fn inline_align(_context: fidl::encoding::Context) -> usize {
16749 8
16750 }
16751
16752 #[inline(always)]
16753 fn inline_size(_context: fidl::encoding::Context) -> usize {
16754 32
16755 }
16756 }
16757
16758 unsafe impl
16759 fidl::encoding::Encode<
16760 CapabilitiesDictionaryRouterRouteRequest,
16761 fidl::encoding::DefaultFuchsiaResourceDialect,
16762 > for &mut CapabilitiesDictionaryRouterRouteRequest
16763 {
16764 #[inline]
16765 unsafe fn encode(
16766 self,
16767 encoder: &mut fidl::encoding::Encoder<
16768 '_,
16769 fidl::encoding::DefaultFuchsiaResourceDialect,
16770 >,
16771 offset: usize,
16772 _depth: fidl::encoding::Depth,
16773 ) -> fidl::Result<()> {
16774 encoder.debug_check_bounds::<CapabilitiesDictionaryRouterRouteRequest>(offset);
16775 fidl::encoding::Encode::<
16777 CapabilitiesDictionaryRouterRouteRequest,
16778 fidl::encoding::DefaultFuchsiaResourceDialect,
16779 >::encode(
16780 (
16781 <fidl::encoding::HandleType<
16782 fidl::EventPair,
16783 { fidl::ObjectType::EVENTPAIR.into_raw() },
16784 2147483648,
16785 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16786 &mut self.router
16787 ),
16788 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16789 &mut self.request,
16790 ),
16791 <fidl::encoding::HandleType<
16792 fidl::EventPair,
16793 { fidl::ObjectType::EVENTPAIR.into_raw() },
16794 2147483648,
16795 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16796 &mut self.instance_token,
16797 ),
16798 <fidl::encoding::HandleType<
16799 fidl::EventPair,
16800 { fidl::ObjectType::EVENTPAIR.into_raw() },
16801 2147483648,
16802 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16803 &mut self.dictionary
16804 ),
16805 ),
16806 encoder,
16807 offset,
16808 _depth,
16809 )
16810 }
16811 }
16812 unsafe impl<
16813 T0: fidl::encoding::Encode<
16814 fidl::encoding::HandleType<
16815 fidl::EventPair,
16816 { fidl::ObjectType::EVENTPAIR.into_raw() },
16817 2147483648,
16818 >,
16819 fidl::encoding::DefaultFuchsiaResourceDialect,
16820 >,
16821 T1: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
16822 T2: fidl::encoding::Encode<
16823 fidl::encoding::HandleType<
16824 fidl::EventPair,
16825 { fidl::ObjectType::EVENTPAIR.into_raw() },
16826 2147483648,
16827 >,
16828 fidl::encoding::DefaultFuchsiaResourceDialect,
16829 >,
16830 T3: fidl::encoding::Encode<
16831 fidl::encoding::HandleType<
16832 fidl::EventPair,
16833 { fidl::ObjectType::EVENTPAIR.into_raw() },
16834 2147483648,
16835 >,
16836 fidl::encoding::DefaultFuchsiaResourceDialect,
16837 >,
16838 >
16839 fidl::encoding::Encode<
16840 CapabilitiesDictionaryRouterRouteRequest,
16841 fidl::encoding::DefaultFuchsiaResourceDialect,
16842 > for (T0, T1, T2, T3)
16843 {
16844 #[inline]
16845 unsafe fn encode(
16846 self,
16847 encoder: &mut fidl::encoding::Encoder<
16848 '_,
16849 fidl::encoding::DefaultFuchsiaResourceDialect,
16850 >,
16851 offset: usize,
16852 depth: fidl::encoding::Depth,
16853 ) -> fidl::Result<()> {
16854 encoder.debug_check_bounds::<CapabilitiesDictionaryRouterRouteRequest>(offset);
16855 unsafe {
16858 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
16859 (ptr as *mut u64).write_unaligned(0);
16860 }
16861 self.0.encode(encoder, offset + 0, depth)?;
16863 self.1.encode(encoder, offset + 8, depth)?;
16864 self.2.encode(encoder, offset + 24, depth)?;
16865 self.3.encode(encoder, offset + 28, depth)?;
16866 Ok(())
16867 }
16868 }
16869
16870 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16871 for CapabilitiesDictionaryRouterRouteRequest
16872 {
16873 #[inline(always)]
16874 fn new_empty() -> Self {
16875 Self {
16876 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16877 request: fidl::new_empty!(
16878 RouteRequest,
16879 fidl::encoding::DefaultFuchsiaResourceDialect
16880 ),
16881 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16882 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16883 }
16884 }
16885
16886 #[inline]
16887 unsafe fn decode(
16888 &mut self,
16889 decoder: &mut fidl::encoding::Decoder<
16890 '_,
16891 fidl::encoding::DefaultFuchsiaResourceDialect,
16892 >,
16893 offset: usize,
16894 _depth: fidl::encoding::Depth,
16895 ) -> fidl::Result<()> {
16896 decoder.debug_check_bounds::<Self>(offset);
16897 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
16899 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16900 let mask = 0xffffffff00000000u64;
16901 let maskedval = padval & mask;
16902 if maskedval != 0 {
16903 return Err(fidl::Error::NonZeroPadding {
16904 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
16905 });
16906 }
16907 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
16908 fidl::decode!(
16909 RouteRequest,
16910 fidl::encoding::DefaultFuchsiaResourceDialect,
16911 &mut self.request,
16912 decoder,
16913 offset + 8,
16914 _depth
16915 )?;
16916 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 24, _depth)?;
16917 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 28, _depth)?;
16918 Ok(())
16919 }
16920 }
16921
16922 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDirConnectorCreateRequest {
16923 type Borrowed<'a> = &'a mut Self;
16924 fn take_or_borrow<'a>(
16925 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16926 ) -> Self::Borrowed<'a> {
16927 value
16928 }
16929 }
16930
16931 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDirConnectorCreateRequest {
16932 type Owned = Self;
16933
16934 #[inline(always)]
16935 fn inline_align(_context: fidl::encoding::Context) -> usize {
16936 4
16937 }
16938
16939 #[inline(always)]
16940 fn inline_size(_context: fidl::encoding::Context) -> usize {
16941 8
16942 }
16943 }
16944
16945 unsafe impl
16946 fidl::encoding::Encode<
16947 CapabilitiesDirConnectorCreateRequest,
16948 fidl::encoding::DefaultFuchsiaResourceDialect,
16949 > for &mut CapabilitiesDirConnectorCreateRequest
16950 {
16951 #[inline]
16952 unsafe fn encode(
16953 self,
16954 encoder: &mut fidl::encoding::Encoder<
16955 '_,
16956 fidl::encoding::DefaultFuchsiaResourceDialect,
16957 >,
16958 offset: usize,
16959 _depth: fidl::encoding::Depth,
16960 ) -> fidl::Result<()> {
16961 encoder.debug_check_bounds::<CapabilitiesDirConnectorCreateRequest>(offset);
16962 fidl::encoding::Encode::<CapabilitiesDirConnectorCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
16964 (
16965 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dir_connector),
16966 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.receiver_client_end),
16967 ),
16968 encoder, offset, _depth
16969 )
16970 }
16971 }
16972 unsafe impl<
16973 T0: fidl::encoding::Encode<
16974 fidl::encoding::HandleType<
16975 fidl::EventPair,
16976 { fidl::ObjectType::EVENTPAIR.into_raw() },
16977 2147483648,
16978 >,
16979 fidl::encoding::DefaultFuchsiaResourceDialect,
16980 >,
16981 T1: fidl::encoding::Encode<
16982 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverMarker>>,
16983 fidl::encoding::DefaultFuchsiaResourceDialect,
16984 >,
16985 >
16986 fidl::encoding::Encode<
16987 CapabilitiesDirConnectorCreateRequest,
16988 fidl::encoding::DefaultFuchsiaResourceDialect,
16989 > for (T0, T1)
16990 {
16991 #[inline]
16992 unsafe fn encode(
16993 self,
16994 encoder: &mut fidl::encoding::Encoder<
16995 '_,
16996 fidl::encoding::DefaultFuchsiaResourceDialect,
16997 >,
16998 offset: usize,
16999 depth: fidl::encoding::Depth,
17000 ) -> fidl::Result<()> {
17001 encoder.debug_check_bounds::<CapabilitiesDirConnectorCreateRequest>(offset);
17002 self.0.encode(encoder, offset + 0, depth)?;
17006 self.1.encode(encoder, offset + 4, depth)?;
17007 Ok(())
17008 }
17009 }
17010
17011 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17012 for CapabilitiesDirConnectorCreateRequest
17013 {
17014 #[inline(always)]
17015 fn new_empty() -> Self {
17016 Self {
17017 dir_connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17018 receiver_client_end: fidl::new_empty!(
17019 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverMarker>>,
17020 fidl::encoding::DefaultFuchsiaResourceDialect
17021 ),
17022 }
17023 }
17024
17025 #[inline]
17026 unsafe fn decode(
17027 &mut self,
17028 decoder: &mut fidl::encoding::Decoder<
17029 '_,
17030 fidl::encoding::DefaultFuchsiaResourceDialect,
17031 >,
17032 offset: usize,
17033 _depth: fidl::encoding::Depth,
17034 ) -> fidl::Result<()> {
17035 decoder.debug_check_bounds::<Self>(offset);
17036 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dir_connector, decoder, offset + 0, _depth)?;
17038 fidl::decode!(
17039 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverMarker>>,
17040 fidl::encoding::DefaultFuchsiaResourceDialect,
17041 &mut self.receiver_client_end,
17042 decoder,
17043 offset + 4,
17044 _depth
17045 )?;
17046 Ok(())
17047 }
17048 }
17049
17050 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDirConnectorRouterCreateRequest {
17051 type Borrowed<'a> = &'a mut Self;
17052 fn take_or_borrow<'a>(
17053 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17054 ) -> Self::Borrowed<'a> {
17055 value
17056 }
17057 }
17058
17059 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDirConnectorRouterCreateRequest {
17060 type Owned = Self;
17061
17062 #[inline(always)]
17063 fn inline_align(_context: fidl::encoding::Context) -> usize {
17064 4
17065 }
17066
17067 #[inline(always)]
17068 fn inline_size(_context: fidl::encoding::Context) -> usize {
17069 8
17070 }
17071 }
17072
17073 unsafe impl
17074 fidl::encoding::Encode<
17075 CapabilitiesDirConnectorRouterCreateRequest,
17076 fidl::encoding::DefaultFuchsiaResourceDialect,
17077 > for &mut CapabilitiesDirConnectorRouterCreateRequest
17078 {
17079 #[inline]
17080 unsafe fn encode(
17081 self,
17082 encoder: &mut fidl::encoding::Encoder<
17083 '_,
17084 fidl::encoding::DefaultFuchsiaResourceDialect,
17085 >,
17086 offset: usize,
17087 _depth: fidl::encoding::Depth,
17088 ) -> fidl::Result<()> {
17089 encoder.debug_check_bounds::<CapabilitiesDirConnectorRouterCreateRequest>(offset);
17090 fidl::encoding::Encode::<CapabilitiesDirConnectorRouterCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
17092 (
17093 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router),
17094 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router_client_end),
17095 ),
17096 encoder, offset, _depth
17097 )
17098 }
17099 }
17100 unsafe impl<
17101 T0: fidl::encoding::Encode<
17102 fidl::encoding::HandleType<
17103 fidl::EventPair,
17104 { fidl::ObjectType::EVENTPAIR.into_raw() },
17105 2147483648,
17106 >,
17107 fidl::encoding::DefaultFuchsiaResourceDialect,
17108 >,
17109 T1: fidl::encoding::Encode<
17110 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterMarker>>,
17111 fidl::encoding::DefaultFuchsiaResourceDialect,
17112 >,
17113 >
17114 fidl::encoding::Encode<
17115 CapabilitiesDirConnectorRouterCreateRequest,
17116 fidl::encoding::DefaultFuchsiaResourceDialect,
17117 > for (T0, T1)
17118 {
17119 #[inline]
17120 unsafe fn encode(
17121 self,
17122 encoder: &mut fidl::encoding::Encoder<
17123 '_,
17124 fidl::encoding::DefaultFuchsiaResourceDialect,
17125 >,
17126 offset: usize,
17127 depth: fidl::encoding::Depth,
17128 ) -> fidl::Result<()> {
17129 encoder.debug_check_bounds::<CapabilitiesDirConnectorRouterCreateRequest>(offset);
17130 self.0.encode(encoder, offset + 0, depth)?;
17134 self.1.encode(encoder, offset + 4, depth)?;
17135 Ok(())
17136 }
17137 }
17138
17139 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17140 for CapabilitiesDirConnectorRouterCreateRequest
17141 {
17142 #[inline(always)]
17143 fn new_empty() -> Self {
17144 Self {
17145 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17146 router_client_end: fidl::new_empty!(
17147 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterMarker>>,
17148 fidl::encoding::DefaultFuchsiaResourceDialect
17149 ),
17150 }
17151 }
17152
17153 #[inline]
17154 unsafe fn decode(
17155 &mut self,
17156 decoder: &mut fidl::encoding::Decoder<
17157 '_,
17158 fidl::encoding::DefaultFuchsiaResourceDialect,
17159 >,
17160 offset: usize,
17161 _depth: fidl::encoding::Depth,
17162 ) -> fidl::Result<()> {
17163 decoder.debug_check_bounds::<Self>(offset);
17164 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
17166 fidl::decode!(
17167 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterMarker>>,
17168 fidl::encoding::DefaultFuchsiaResourceDialect,
17169 &mut self.router_client_end,
17170 decoder,
17171 offset + 4,
17172 _depth
17173 )?;
17174 Ok(())
17175 }
17176 }
17177
17178 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDirConnectorRouterRouteRequest {
17179 type Borrowed<'a> = &'a mut Self;
17180 fn take_or_borrow<'a>(
17181 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17182 ) -> Self::Borrowed<'a> {
17183 value
17184 }
17185 }
17186
17187 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDirConnectorRouterRouteRequest {
17188 type Owned = Self;
17189
17190 #[inline(always)]
17191 fn inline_align(_context: fidl::encoding::Context) -> usize {
17192 8
17193 }
17194
17195 #[inline(always)]
17196 fn inline_size(_context: fidl::encoding::Context) -> usize {
17197 32
17198 }
17199 }
17200
17201 unsafe impl
17202 fidl::encoding::Encode<
17203 CapabilitiesDirConnectorRouterRouteRequest,
17204 fidl::encoding::DefaultFuchsiaResourceDialect,
17205 > for &mut CapabilitiesDirConnectorRouterRouteRequest
17206 {
17207 #[inline]
17208 unsafe fn encode(
17209 self,
17210 encoder: &mut fidl::encoding::Encoder<
17211 '_,
17212 fidl::encoding::DefaultFuchsiaResourceDialect,
17213 >,
17214 offset: usize,
17215 _depth: fidl::encoding::Depth,
17216 ) -> fidl::Result<()> {
17217 encoder.debug_check_bounds::<CapabilitiesDirConnectorRouterRouteRequest>(offset);
17218 fidl::encoding::Encode::<
17220 CapabilitiesDirConnectorRouterRouteRequest,
17221 fidl::encoding::DefaultFuchsiaResourceDialect,
17222 >::encode(
17223 (
17224 <fidl::encoding::HandleType<
17225 fidl::EventPair,
17226 { fidl::ObjectType::EVENTPAIR.into_raw() },
17227 2147483648,
17228 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17229 &mut self.router
17230 ),
17231 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17232 &mut self.request,
17233 ),
17234 <fidl::encoding::HandleType<
17235 fidl::EventPair,
17236 { fidl::ObjectType::EVENTPAIR.into_raw() },
17237 2147483648,
17238 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17239 &mut self.instance_token,
17240 ),
17241 <fidl::encoding::HandleType<
17242 fidl::EventPair,
17243 { fidl::ObjectType::EVENTPAIR.into_raw() },
17244 2147483648,
17245 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17246 &mut self.dir_connector,
17247 ),
17248 ),
17249 encoder,
17250 offset,
17251 _depth,
17252 )
17253 }
17254 }
17255 unsafe impl<
17256 T0: fidl::encoding::Encode<
17257 fidl::encoding::HandleType<
17258 fidl::EventPair,
17259 { fidl::ObjectType::EVENTPAIR.into_raw() },
17260 2147483648,
17261 >,
17262 fidl::encoding::DefaultFuchsiaResourceDialect,
17263 >,
17264 T1: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
17265 T2: fidl::encoding::Encode<
17266 fidl::encoding::HandleType<
17267 fidl::EventPair,
17268 { fidl::ObjectType::EVENTPAIR.into_raw() },
17269 2147483648,
17270 >,
17271 fidl::encoding::DefaultFuchsiaResourceDialect,
17272 >,
17273 T3: fidl::encoding::Encode<
17274 fidl::encoding::HandleType<
17275 fidl::EventPair,
17276 { fidl::ObjectType::EVENTPAIR.into_raw() },
17277 2147483648,
17278 >,
17279 fidl::encoding::DefaultFuchsiaResourceDialect,
17280 >,
17281 >
17282 fidl::encoding::Encode<
17283 CapabilitiesDirConnectorRouterRouteRequest,
17284 fidl::encoding::DefaultFuchsiaResourceDialect,
17285 > for (T0, T1, T2, T3)
17286 {
17287 #[inline]
17288 unsafe fn encode(
17289 self,
17290 encoder: &mut fidl::encoding::Encoder<
17291 '_,
17292 fidl::encoding::DefaultFuchsiaResourceDialect,
17293 >,
17294 offset: usize,
17295 depth: fidl::encoding::Depth,
17296 ) -> fidl::Result<()> {
17297 encoder.debug_check_bounds::<CapabilitiesDirConnectorRouterRouteRequest>(offset);
17298 unsafe {
17301 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
17302 (ptr as *mut u64).write_unaligned(0);
17303 }
17304 self.0.encode(encoder, offset + 0, depth)?;
17306 self.1.encode(encoder, offset + 8, depth)?;
17307 self.2.encode(encoder, offset + 24, depth)?;
17308 self.3.encode(encoder, offset + 28, depth)?;
17309 Ok(())
17310 }
17311 }
17312
17313 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17314 for CapabilitiesDirConnectorRouterRouteRequest
17315 {
17316 #[inline(always)]
17317 fn new_empty() -> Self {
17318 Self {
17319 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17320 request: fidl::new_empty!(
17321 RouteRequest,
17322 fidl::encoding::DefaultFuchsiaResourceDialect
17323 ),
17324 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17325 dir_connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17326 }
17327 }
17328
17329 #[inline]
17330 unsafe fn decode(
17331 &mut self,
17332 decoder: &mut fidl::encoding::Decoder<
17333 '_,
17334 fidl::encoding::DefaultFuchsiaResourceDialect,
17335 >,
17336 offset: usize,
17337 _depth: fidl::encoding::Depth,
17338 ) -> fidl::Result<()> {
17339 decoder.debug_check_bounds::<Self>(offset);
17340 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
17342 let padval = unsafe { (ptr as *const u64).read_unaligned() };
17343 let mask = 0xffffffff00000000u64;
17344 let maskedval = padval & mask;
17345 if maskedval != 0 {
17346 return Err(fidl::Error::NonZeroPadding {
17347 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
17348 });
17349 }
17350 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
17351 fidl::decode!(
17352 RouteRequest,
17353 fidl::encoding::DefaultFuchsiaResourceDialect,
17354 &mut self.request,
17355 decoder,
17356 offset + 8,
17357 _depth
17358 )?;
17359 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 24, _depth)?;
17360 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dir_connector, decoder, offset + 28, _depth)?;
17361 Ok(())
17362 }
17363 }
17364
17365 impl fidl::encoding::ResourceTypeMarker for CapabilitiesInstanceTokenCreateRequest {
17366 type Borrowed<'a> = &'a mut Self;
17367 fn take_or_borrow<'a>(
17368 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17369 ) -> Self::Borrowed<'a> {
17370 value
17371 }
17372 }
17373
17374 unsafe impl fidl::encoding::TypeMarker for CapabilitiesInstanceTokenCreateRequest {
17375 type Owned = Self;
17376
17377 #[inline(always)]
17378 fn inline_align(_context: fidl::encoding::Context) -> usize {
17379 4
17380 }
17381
17382 #[inline(always)]
17383 fn inline_size(_context: fidl::encoding::Context) -> usize {
17384 4
17385 }
17386 }
17387
17388 unsafe impl
17389 fidl::encoding::Encode<
17390 CapabilitiesInstanceTokenCreateRequest,
17391 fidl::encoding::DefaultFuchsiaResourceDialect,
17392 > for &mut CapabilitiesInstanceTokenCreateRequest
17393 {
17394 #[inline]
17395 unsafe fn encode(
17396 self,
17397 encoder: &mut fidl::encoding::Encoder<
17398 '_,
17399 fidl::encoding::DefaultFuchsiaResourceDialect,
17400 >,
17401 offset: usize,
17402 _depth: fidl::encoding::Depth,
17403 ) -> fidl::Result<()> {
17404 encoder.debug_check_bounds::<CapabilitiesInstanceTokenCreateRequest>(offset);
17405 fidl::encoding::Encode::<
17407 CapabilitiesInstanceTokenCreateRequest,
17408 fidl::encoding::DefaultFuchsiaResourceDialect,
17409 >::encode(
17410 (<fidl::encoding::HandleType<
17411 fidl::EventPair,
17412 { fidl::ObjectType::EVENTPAIR.into_raw() },
17413 2147483648,
17414 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17415 &mut self.instance_token
17416 ),),
17417 encoder,
17418 offset,
17419 _depth,
17420 )
17421 }
17422 }
17423 unsafe impl<
17424 T0: fidl::encoding::Encode<
17425 fidl::encoding::HandleType<
17426 fidl::EventPair,
17427 { fidl::ObjectType::EVENTPAIR.into_raw() },
17428 2147483648,
17429 >,
17430 fidl::encoding::DefaultFuchsiaResourceDialect,
17431 >,
17432 >
17433 fidl::encoding::Encode<
17434 CapabilitiesInstanceTokenCreateRequest,
17435 fidl::encoding::DefaultFuchsiaResourceDialect,
17436 > for (T0,)
17437 {
17438 #[inline]
17439 unsafe fn encode(
17440 self,
17441 encoder: &mut fidl::encoding::Encoder<
17442 '_,
17443 fidl::encoding::DefaultFuchsiaResourceDialect,
17444 >,
17445 offset: usize,
17446 depth: fidl::encoding::Depth,
17447 ) -> fidl::Result<()> {
17448 encoder.debug_check_bounds::<CapabilitiesInstanceTokenCreateRequest>(offset);
17449 self.0.encode(encoder, offset + 0, depth)?;
17453 Ok(())
17454 }
17455 }
17456
17457 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17458 for CapabilitiesInstanceTokenCreateRequest
17459 {
17460 #[inline(always)]
17461 fn new_empty() -> Self {
17462 Self {
17463 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17464 }
17465 }
17466
17467 #[inline]
17468 unsafe fn decode(
17469 &mut self,
17470 decoder: &mut fidl::encoding::Decoder<
17471 '_,
17472 fidl::encoding::DefaultFuchsiaResourceDialect,
17473 >,
17474 offset: usize,
17475 _depth: fidl::encoding::Depth,
17476 ) -> fidl::Result<()> {
17477 decoder.debug_check_bounds::<Self>(offset);
17478 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 0, _depth)?;
17480 Ok(())
17481 }
17482 }
17483
17484 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryGetResponse {
17485 type Borrowed<'a> = &'a mut Self;
17486 fn take_or_borrow<'a>(
17487 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17488 ) -> Self::Borrowed<'a> {
17489 value
17490 }
17491 }
17492
17493 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryGetResponse {
17494 type Owned = Self;
17495
17496 #[inline(always)]
17497 fn inline_align(_context: fidl::encoding::Context) -> usize {
17498 4
17499 }
17500
17501 #[inline(always)]
17502 fn inline_size(_context: fidl::encoding::Context) -> usize {
17503 4
17504 }
17505 }
17506
17507 unsafe impl
17508 fidl::encoding::Encode<
17509 CapabilitiesDictionaryGetResponse,
17510 fidl::encoding::DefaultFuchsiaResourceDialect,
17511 > for &mut CapabilitiesDictionaryGetResponse
17512 {
17513 #[inline]
17514 unsafe fn encode(
17515 self,
17516 encoder: &mut fidl::encoding::Encoder<
17517 '_,
17518 fidl::encoding::DefaultFuchsiaResourceDialect,
17519 >,
17520 offset: usize,
17521 _depth: fidl::encoding::Depth,
17522 ) -> fidl::Result<()> {
17523 encoder.debug_check_bounds::<CapabilitiesDictionaryGetResponse>(offset);
17524 fidl::encoding::Encode::<
17526 CapabilitiesDictionaryGetResponse,
17527 fidl::encoding::DefaultFuchsiaResourceDialect,
17528 >::encode(
17529 (<CapabilityType as fidl::encoding::ValueTypeMarker>::borrow(
17530 &self.capability_type,
17531 ),),
17532 encoder,
17533 offset,
17534 _depth,
17535 )
17536 }
17537 }
17538 unsafe impl<
17539 T0: fidl::encoding::Encode<CapabilityType, fidl::encoding::DefaultFuchsiaResourceDialect>,
17540 >
17541 fidl::encoding::Encode<
17542 CapabilitiesDictionaryGetResponse,
17543 fidl::encoding::DefaultFuchsiaResourceDialect,
17544 > for (T0,)
17545 {
17546 #[inline]
17547 unsafe fn encode(
17548 self,
17549 encoder: &mut fidl::encoding::Encoder<
17550 '_,
17551 fidl::encoding::DefaultFuchsiaResourceDialect,
17552 >,
17553 offset: usize,
17554 depth: fidl::encoding::Depth,
17555 ) -> fidl::Result<()> {
17556 encoder.debug_check_bounds::<CapabilitiesDictionaryGetResponse>(offset);
17557 self.0.encode(encoder, offset + 0, depth)?;
17561 Ok(())
17562 }
17563 }
17564
17565 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17566 for CapabilitiesDictionaryGetResponse
17567 {
17568 #[inline(always)]
17569 fn new_empty() -> Self {
17570 Self {
17571 capability_type: fidl::new_empty!(
17572 CapabilityType,
17573 fidl::encoding::DefaultFuchsiaResourceDialect
17574 ),
17575 }
17576 }
17577
17578 #[inline]
17579 unsafe fn decode(
17580 &mut self,
17581 decoder: &mut fidl::encoding::Decoder<
17582 '_,
17583 fidl::encoding::DefaultFuchsiaResourceDialect,
17584 >,
17585 offset: usize,
17586 _depth: fidl::encoding::Depth,
17587 ) -> fidl::Result<()> {
17588 decoder.debug_check_bounds::<Self>(offset);
17589 fidl::decode!(
17591 CapabilityType,
17592 fidl::encoding::DefaultFuchsiaResourceDialect,
17593 &mut self.capability_type,
17594 decoder,
17595 offset + 0,
17596 _depth
17597 )?;
17598 Ok(())
17599 }
17600 }
17601
17602 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryRemoveResponse {
17603 type Borrowed<'a> = &'a mut Self;
17604 fn take_or_borrow<'a>(
17605 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17606 ) -> Self::Borrowed<'a> {
17607 value
17608 }
17609 }
17610
17611 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryRemoveResponse {
17612 type Owned = Self;
17613
17614 #[inline(always)]
17615 fn inline_align(_context: fidl::encoding::Context) -> usize {
17616 4
17617 }
17618
17619 #[inline(always)]
17620 fn inline_size(_context: fidl::encoding::Context) -> usize {
17621 4
17622 }
17623 }
17624
17625 unsafe impl
17626 fidl::encoding::Encode<
17627 CapabilitiesDictionaryRemoveResponse,
17628 fidl::encoding::DefaultFuchsiaResourceDialect,
17629 > for &mut CapabilitiesDictionaryRemoveResponse
17630 {
17631 #[inline]
17632 unsafe fn encode(
17633 self,
17634 encoder: &mut fidl::encoding::Encoder<
17635 '_,
17636 fidl::encoding::DefaultFuchsiaResourceDialect,
17637 >,
17638 offset: usize,
17639 _depth: fidl::encoding::Depth,
17640 ) -> fidl::Result<()> {
17641 encoder.debug_check_bounds::<CapabilitiesDictionaryRemoveResponse>(offset);
17642 fidl::encoding::Encode::<
17644 CapabilitiesDictionaryRemoveResponse,
17645 fidl::encoding::DefaultFuchsiaResourceDialect,
17646 >::encode(
17647 (<CapabilityType as fidl::encoding::ValueTypeMarker>::borrow(
17648 &self.capability_type,
17649 ),),
17650 encoder,
17651 offset,
17652 _depth,
17653 )
17654 }
17655 }
17656 unsafe impl<
17657 T0: fidl::encoding::Encode<CapabilityType, fidl::encoding::DefaultFuchsiaResourceDialect>,
17658 >
17659 fidl::encoding::Encode<
17660 CapabilitiesDictionaryRemoveResponse,
17661 fidl::encoding::DefaultFuchsiaResourceDialect,
17662 > for (T0,)
17663 {
17664 #[inline]
17665 unsafe fn encode(
17666 self,
17667 encoder: &mut fidl::encoding::Encoder<
17668 '_,
17669 fidl::encoding::DefaultFuchsiaResourceDialect,
17670 >,
17671 offset: usize,
17672 depth: fidl::encoding::Depth,
17673 ) -> fidl::Result<()> {
17674 encoder.debug_check_bounds::<CapabilitiesDictionaryRemoveResponse>(offset);
17675 self.0.encode(encoder, offset + 0, depth)?;
17679 Ok(())
17680 }
17681 }
17682
17683 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17684 for CapabilitiesDictionaryRemoveResponse
17685 {
17686 #[inline(always)]
17687 fn new_empty() -> Self {
17688 Self {
17689 capability_type: fidl::new_empty!(
17690 CapabilityType,
17691 fidl::encoding::DefaultFuchsiaResourceDialect
17692 ),
17693 }
17694 }
17695
17696 #[inline]
17697 unsafe fn decode(
17698 &mut self,
17699 decoder: &mut fidl::encoding::Decoder<
17700 '_,
17701 fidl::encoding::DefaultFuchsiaResourceDialect,
17702 >,
17703 offset: usize,
17704 _depth: fidl::encoding::Depth,
17705 ) -> fidl::Result<()> {
17706 decoder.debug_check_bounds::<Self>(offset);
17707 fidl::decode!(
17709 CapabilityType,
17710 fidl::encoding::DefaultFuchsiaResourceDialect,
17711 &mut self.capability_type,
17712 decoder,
17713 offset + 0,
17714 _depth
17715 )?;
17716 Ok(())
17717 }
17718 }
17719
17720 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateConnectorRequest {
17721 type Borrowed<'a> = &'a mut Self;
17722 fn take_or_borrow<'a>(
17723 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17724 ) -> Self::Borrowed<'a> {
17725 value
17726 }
17727 }
17728
17729 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateConnectorRequest {
17730 type Owned = Self;
17731
17732 #[inline(always)]
17733 fn inline_align(_context: fidl::encoding::Context) -> usize {
17734 4
17735 }
17736
17737 #[inline(always)]
17738 fn inline_size(_context: fidl::encoding::Context) -> usize {
17739 8
17740 }
17741 }
17742
17743 unsafe impl
17744 fidl::encoding::Encode<
17745 CapabilityFactoryCreateConnectorRequest,
17746 fidl::encoding::DefaultFuchsiaResourceDialect,
17747 > for &mut CapabilityFactoryCreateConnectorRequest
17748 {
17749 #[inline]
17750 unsafe fn encode(
17751 self,
17752 encoder: &mut fidl::encoding::Encoder<
17753 '_,
17754 fidl::encoding::DefaultFuchsiaResourceDialect,
17755 >,
17756 offset: usize,
17757 _depth: fidl::encoding::Depth,
17758 ) -> fidl::Result<()> {
17759 encoder.debug_check_bounds::<CapabilityFactoryCreateConnectorRequest>(offset);
17760 fidl::encoding::Encode::<CapabilityFactoryCreateConnectorRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
17762 (
17763 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.receiver_client_end),
17764 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.connector_server_end),
17765 ),
17766 encoder, offset, _depth
17767 )
17768 }
17769 }
17770 unsafe impl<
17771 T0: fidl::encoding::Encode<
17772 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
17773 fidl::encoding::DefaultFuchsiaResourceDialect,
17774 >,
17775 T1: fidl::encoding::Encode<
17776 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
17777 fidl::encoding::DefaultFuchsiaResourceDialect,
17778 >,
17779 >
17780 fidl::encoding::Encode<
17781 CapabilityFactoryCreateConnectorRequest,
17782 fidl::encoding::DefaultFuchsiaResourceDialect,
17783 > for (T0, T1)
17784 {
17785 #[inline]
17786 unsafe fn encode(
17787 self,
17788 encoder: &mut fidl::encoding::Encoder<
17789 '_,
17790 fidl::encoding::DefaultFuchsiaResourceDialect,
17791 >,
17792 offset: usize,
17793 depth: fidl::encoding::Depth,
17794 ) -> fidl::Result<()> {
17795 encoder.debug_check_bounds::<CapabilityFactoryCreateConnectorRequest>(offset);
17796 self.0.encode(encoder, offset + 0, depth)?;
17800 self.1.encode(encoder, offset + 4, depth)?;
17801 Ok(())
17802 }
17803 }
17804
17805 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17806 for CapabilityFactoryCreateConnectorRequest
17807 {
17808 #[inline(always)]
17809 fn new_empty() -> Self {
17810 Self {
17811 receiver_client_end: fidl::new_empty!(
17812 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
17813 fidl::encoding::DefaultFuchsiaResourceDialect
17814 ),
17815 connector_server_end: fidl::new_empty!(
17816 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
17817 fidl::encoding::DefaultFuchsiaResourceDialect
17818 ),
17819 }
17820 }
17821
17822 #[inline]
17823 unsafe fn decode(
17824 &mut self,
17825 decoder: &mut fidl::encoding::Decoder<
17826 '_,
17827 fidl::encoding::DefaultFuchsiaResourceDialect,
17828 >,
17829 offset: usize,
17830 _depth: fidl::encoding::Depth,
17831 ) -> fidl::Result<()> {
17832 decoder.debug_check_bounds::<Self>(offset);
17833 fidl::decode!(
17835 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
17836 fidl::encoding::DefaultFuchsiaResourceDialect,
17837 &mut self.receiver_client_end,
17838 decoder,
17839 offset + 0,
17840 _depth
17841 )?;
17842 fidl::decode!(
17843 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
17844 fidl::encoding::DefaultFuchsiaResourceDialect,
17845 &mut self.connector_server_end,
17846 decoder,
17847 offset + 4,
17848 _depth
17849 )?;
17850 Ok(())
17851 }
17852 }
17853
17854 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateConnectorRouterRequest {
17855 type Borrowed<'a> = &'a mut Self;
17856 fn take_or_borrow<'a>(
17857 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17858 ) -> Self::Borrowed<'a> {
17859 value
17860 }
17861 }
17862
17863 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateConnectorRouterRequest {
17864 type Owned = Self;
17865
17866 #[inline(always)]
17867 fn inline_align(_context: fidl::encoding::Context) -> usize {
17868 4
17869 }
17870
17871 #[inline(always)]
17872 fn inline_size(_context: fidl::encoding::Context) -> usize {
17873 8
17874 }
17875 }
17876
17877 unsafe impl
17878 fidl::encoding::Encode<
17879 CapabilityFactoryCreateConnectorRouterRequest,
17880 fidl::encoding::DefaultFuchsiaResourceDialect,
17881 > for &mut CapabilityFactoryCreateConnectorRouterRequest
17882 {
17883 #[inline]
17884 unsafe fn encode(
17885 self,
17886 encoder: &mut fidl::encoding::Encoder<
17887 '_,
17888 fidl::encoding::DefaultFuchsiaResourceDialect,
17889 >,
17890 offset: usize,
17891 _depth: fidl::encoding::Depth,
17892 ) -> fidl::Result<()> {
17893 encoder.debug_check_bounds::<CapabilityFactoryCreateConnectorRouterRequest>(offset);
17894 fidl::encoding::Encode::<
17896 CapabilityFactoryCreateConnectorRouterRequest,
17897 fidl::encoding::DefaultFuchsiaResourceDialect,
17898 >::encode(
17899 (
17900 <fidl::encoding::Endpoint<
17901 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
17902 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17903 &mut self.router_client_end,
17904 ),
17905 <fidl::encoding::Endpoint<
17906 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
17907 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17908 &mut self.router_server_end,
17909 ),
17910 ),
17911 encoder,
17912 offset,
17913 _depth,
17914 )
17915 }
17916 }
17917 unsafe impl<
17918 T0: fidl::encoding::Encode<
17919 fidl::encoding::Endpoint<
17920 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
17921 >,
17922 fidl::encoding::DefaultFuchsiaResourceDialect,
17923 >,
17924 T1: fidl::encoding::Encode<
17925 fidl::encoding::Endpoint<
17926 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
17927 >,
17928 fidl::encoding::DefaultFuchsiaResourceDialect,
17929 >,
17930 >
17931 fidl::encoding::Encode<
17932 CapabilityFactoryCreateConnectorRouterRequest,
17933 fidl::encoding::DefaultFuchsiaResourceDialect,
17934 > for (T0, T1)
17935 {
17936 #[inline]
17937 unsafe fn encode(
17938 self,
17939 encoder: &mut fidl::encoding::Encoder<
17940 '_,
17941 fidl::encoding::DefaultFuchsiaResourceDialect,
17942 >,
17943 offset: usize,
17944 depth: fidl::encoding::Depth,
17945 ) -> fidl::Result<()> {
17946 encoder.debug_check_bounds::<CapabilityFactoryCreateConnectorRouterRequest>(offset);
17947 self.0.encode(encoder, offset + 0, depth)?;
17951 self.1.encode(encoder, offset + 4, depth)?;
17952 Ok(())
17953 }
17954 }
17955
17956 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17957 for CapabilityFactoryCreateConnectorRouterRequest
17958 {
17959 #[inline(always)]
17960 fn new_empty() -> Self {
17961 Self {
17962 router_client_end: fidl::new_empty!(
17963 fidl::encoding::Endpoint<
17964 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
17965 >,
17966 fidl::encoding::DefaultFuchsiaResourceDialect
17967 ),
17968 router_server_end: fidl::new_empty!(
17969 fidl::encoding::Endpoint<
17970 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
17971 >,
17972 fidl::encoding::DefaultFuchsiaResourceDialect
17973 ),
17974 }
17975 }
17976
17977 #[inline]
17978 unsafe fn decode(
17979 &mut self,
17980 decoder: &mut fidl::encoding::Decoder<
17981 '_,
17982 fidl::encoding::DefaultFuchsiaResourceDialect,
17983 >,
17984 offset: usize,
17985 _depth: fidl::encoding::Depth,
17986 ) -> fidl::Result<()> {
17987 decoder.debug_check_bounds::<Self>(offset);
17988 fidl::decode!(
17990 fidl::encoding::Endpoint<
17991 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
17992 >,
17993 fidl::encoding::DefaultFuchsiaResourceDialect,
17994 &mut self.router_client_end,
17995 decoder,
17996 offset + 0,
17997 _depth
17998 )?;
17999 fidl::decode!(
18000 fidl::encoding::Endpoint<
18001 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
18002 >,
18003 fidl::encoding::DefaultFuchsiaResourceDialect,
18004 &mut self.router_server_end,
18005 decoder,
18006 offset + 4,
18007 _depth
18008 )?;
18009 Ok(())
18010 }
18011 }
18012
18013 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDataRouterRequest {
18014 type Borrowed<'a> = &'a mut Self;
18015 fn take_or_borrow<'a>(
18016 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18017 ) -> Self::Borrowed<'a> {
18018 value
18019 }
18020 }
18021
18022 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDataRouterRequest {
18023 type Owned = Self;
18024
18025 #[inline(always)]
18026 fn inline_align(_context: fidl::encoding::Context) -> usize {
18027 4
18028 }
18029
18030 #[inline(always)]
18031 fn inline_size(_context: fidl::encoding::Context) -> usize {
18032 8
18033 }
18034 }
18035
18036 unsafe impl
18037 fidl::encoding::Encode<
18038 CapabilityFactoryCreateDataRouterRequest,
18039 fidl::encoding::DefaultFuchsiaResourceDialect,
18040 > for &mut CapabilityFactoryCreateDataRouterRequest
18041 {
18042 #[inline]
18043 unsafe fn encode(
18044 self,
18045 encoder: &mut fidl::encoding::Encoder<
18046 '_,
18047 fidl::encoding::DefaultFuchsiaResourceDialect,
18048 >,
18049 offset: usize,
18050 _depth: fidl::encoding::Depth,
18051 ) -> fidl::Result<()> {
18052 encoder.debug_check_bounds::<CapabilityFactoryCreateDataRouterRequest>(offset);
18053 fidl::encoding::Encode::<
18055 CapabilityFactoryCreateDataRouterRequest,
18056 fidl::encoding::DefaultFuchsiaResourceDialect,
18057 >::encode(
18058 (
18059 <fidl::encoding::Endpoint<
18060 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
18061 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18062 &mut self.router_client_end,
18063 ),
18064 <fidl::encoding::Endpoint<
18065 fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
18066 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18067 &mut self.router_server_end,
18068 ),
18069 ),
18070 encoder,
18071 offset,
18072 _depth,
18073 )
18074 }
18075 }
18076 unsafe impl<
18077 T0: fidl::encoding::Encode<
18078 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>>,
18079 fidl::encoding::DefaultFuchsiaResourceDialect,
18080 >,
18081 T1: fidl::encoding::Encode<
18082 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>>,
18083 fidl::encoding::DefaultFuchsiaResourceDialect,
18084 >,
18085 >
18086 fidl::encoding::Encode<
18087 CapabilityFactoryCreateDataRouterRequest,
18088 fidl::encoding::DefaultFuchsiaResourceDialect,
18089 > for (T0, T1)
18090 {
18091 #[inline]
18092 unsafe fn encode(
18093 self,
18094 encoder: &mut fidl::encoding::Encoder<
18095 '_,
18096 fidl::encoding::DefaultFuchsiaResourceDialect,
18097 >,
18098 offset: usize,
18099 depth: fidl::encoding::Depth,
18100 ) -> fidl::Result<()> {
18101 encoder.debug_check_bounds::<CapabilityFactoryCreateDataRouterRequest>(offset);
18102 self.0.encode(encoder, offset + 0, depth)?;
18106 self.1.encode(encoder, offset + 4, depth)?;
18107 Ok(())
18108 }
18109 }
18110
18111 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18112 for CapabilityFactoryCreateDataRouterRequest
18113 {
18114 #[inline(always)]
18115 fn new_empty() -> Self {
18116 Self {
18117 router_client_end: fidl::new_empty!(
18118 fidl::encoding::Endpoint<
18119 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
18120 >,
18121 fidl::encoding::DefaultFuchsiaResourceDialect
18122 ),
18123 router_server_end: fidl::new_empty!(
18124 fidl::encoding::Endpoint<
18125 fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
18126 >,
18127 fidl::encoding::DefaultFuchsiaResourceDialect
18128 ),
18129 }
18130 }
18131
18132 #[inline]
18133 unsafe fn decode(
18134 &mut self,
18135 decoder: &mut fidl::encoding::Decoder<
18136 '_,
18137 fidl::encoding::DefaultFuchsiaResourceDialect,
18138 >,
18139 offset: usize,
18140 _depth: fidl::encoding::Depth,
18141 ) -> fidl::Result<()> {
18142 decoder.debug_check_bounds::<Self>(offset);
18143 fidl::decode!(
18145 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>>,
18146 fidl::encoding::DefaultFuchsiaResourceDialect,
18147 &mut self.router_client_end,
18148 decoder,
18149 offset + 0,
18150 _depth
18151 )?;
18152 fidl::decode!(
18153 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>>,
18154 fidl::encoding::DefaultFuchsiaResourceDialect,
18155 &mut self.router_server_end,
18156 decoder,
18157 offset + 4,
18158 _depth
18159 )?;
18160 Ok(())
18161 }
18162 }
18163
18164 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDictionaryRequest {
18165 type Borrowed<'a> = &'a mut Self;
18166 fn take_or_borrow<'a>(
18167 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18168 ) -> Self::Borrowed<'a> {
18169 value
18170 }
18171 }
18172
18173 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDictionaryRequest {
18174 type Owned = Self;
18175
18176 #[inline(always)]
18177 fn inline_align(_context: fidl::encoding::Context) -> usize {
18178 4
18179 }
18180
18181 #[inline(always)]
18182 fn inline_size(_context: fidl::encoding::Context) -> usize {
18183 4
18184 }
18185 }
18186
18187 unsafe impl
18188 fidl::encoding::Encode<
18189 CapabilityFactoryCreateDictionaryRequest,
18190 fidl::encoding::DefaultFuchsiaResourceDialect,
18191 > for &mut CapabilityFactoryCreateDictionaryRequest
18192 {
18193 #[inline]
18194 unsafe fn encode(
18195 self,
18196 encoder: &mut fidl::encoding::Encoder<
18197 '_,
18198 fidl::encoding::DefaultFuchsiaResourceDialect,
18199 >,
18200 offset: usize,
18201 _depth: fidl::encoding::Depth,
18202 ) -> fidl::Result<()> {
18203 encoder.debug_check_bounds::<CapabilityFactoryCreateDictionaryRequest>(offset);
18204 fidl::encoding::Encode::<CapabilityFactoryCreateDictionaryRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
18206 (
18207 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dictionary_server_end),
18208 ),
18209 encoder, offset, _depth
18210 )
18211 }
18212 }
18213 unsafe impl<
18214 T0: fidl::encoding::Encode<
18215 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
18216 fidl::encoding::DefaultFuchsiaResourceDialect,
18217 >,
18218 >
18219 fidl::encoding::Encode<
18220 CapabilityFactoryCreateDictionaryRequest,
18221 fidl::encoding::DefaultFuchsiaResourceDialect,
18222 > for (T0,)
18223 {
18224 #[inline]
18225 unsafe fn encode(
18226 self,
18227 encoder: &mut fidl::encoding::Encoder<
18228 '_,
18229 fidl::encoding::DefaultFuchsiaResourceDialect,
18230 >,
18231 offset: usize,
18232 depth: fidl::encoding::Depth,
18233 ) -> fidl::Result<()> {
18234 encoder.debug_check_bounds::<CapabilityFactoryCreateDictionaryRequest>(offset);
18235 self.0.encode(encoder, offset + 0, depth)?;
18239 Ok(())
18240 }
18241 }
18242
18243 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18244 for CapabilityFactoryCreateDictionaryRequest
18245 {
18246 #[inline(always)]
18247 fn new_empty() -> Self {
18248 Self {
18249 dictionary_server_end: fidl::new_empty!(
18250 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
18251 fidl::encoding::DefaultFuchsiaResourceDialect
18252 ),
18253 }
18254 }
18255
18256 #[inline]
18257 unsafe fn decode(
18258 &mut self,
18259 decoder: &mut fidl::encoding::Decoder<
18260 '_,
18261 fidl::encoding::DefaultFuchsiaResourceDialect,
18262 >,
18263 offset: usize,
18264 _depth: fidl::encoding::Depth,
18265 ) -> fidl::Result<()> {
18266 decoder.debug_check_bounds::<Self>(offset);
18267 fidl::decode!(
18269 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
18270 fidl::encoding::DefaultFuchsiaResourceDialect,
18271 &mut self.dictionary_server_end,
18272 decoder,
18273 offset + 0,
18274 _depth
18275 )?;
18276 Ok(())
18277 }
18278 }
18279
18280 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDictionaryRouterRequest {
18281 type Borrowed<'a> = &'a mut Self;
18282 fn take_or_borrow<'a>(
18283 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18284 ) -> Self::Borrowed<'a> {
18285 value
18286 }
18287 }
18288
18289 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDictionaryRouterRequest {
18290 type Owned = Self;
18291
18292 #[inline(always)]
18293 fn inline_align(_context: fidl::encoding::Context) -> usize {
18294 4
18295 }
18296
18297 #[inline(always)]
18298 fn inline_size(_context: fidl::encoding::Context) -> usize {
18299 8
18300 }
18301 }
18302
18303 unsafe impl
18304 fidl::encoding::Encode<
18305 CapabilityFactoryCreateDictionaryRouterRequest,
18306 fidl::encoding::DefaultFuchsiaResourceDialect,
18307 > for &mut CapabilityFactoryCreateDictionaryRouterRequest
18308 {
18309 #[inline]
18310 unsafe fn encode(
18311 self,
18312 encoder: &mut fidl::encoding::Encoder<
18313 '_,
18314 fidl::encoding::DefaultFuchsiaResourceDialect,
18315 >,
18316 offset: usize,
18317 _depth: fidl::encoding::Depth,
18318 ) -> fidl::Result<()> {
18319 encoder.debug_check_bounds::<CapabilityFactoryCreateDictionaryRouterRequest>(offset);
18320 fidl::encoding::Encode::<
18322 CapabilityFactoryCreateDictionaryRouterRequest,
18323 fidl::encoding::DefaultFuchsiaResourceDialect,
18324 >::encode(
18325 (
18326 <fidl::encoding::Endpoint<
18327 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
18328 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18329 &mut self.router_client_end,
18330 ),
18331 <fidl::encoding::Endpoint<
18332 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
18333 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18334 &mut self.router_server_end,
18335 ),
18336 ),
18337 encoder,
18338 offset,
18339 _depth,
18340 )
18341 }
18342 }
18343 unsafe impl<
18344 T0: fidl::encoding::Encode<
18345 fidl::encoding::Endpoint<
18346 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
18347 >,
18348 fidl::encoding::DefaultFuchsiaResourceDialect,
18349 >,
18350 T1: fidl::encoding::Encode<
18351 fidl::encoding::Endpoint<
18352 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
18353 >,
18354 fidl::encoding::DefaultFuchsiaResourceDialect,
18355 >,
18356 >
18357 fidl::encoding::Encode<
18358 CapabilityFactoryCreateDictionaryRouterRequest,
18359 fidl::encoding::DefaultFuchsiaResourceDialect,
18360 > for (T0, T1)
18361 {
18362 #[inline]
18363 unsafe fn encode(
18364 self,
18365 encoder: &mut fidl::encoding::Encoder<
18366 '_,
18367 fidl::encoding::DefaultFuchsiaResourceDialect,
18368 >,
18369 offset: usize,
18370 depth: fidl::encoding::Depth,
18371 ) -> fidl::Result<()> {
18372 encoder.debug_check_bounds::<CapabilityFactoryCreateDictionaryRouterRequest>(offset);
18373 self.0.encode(encoder, offset + 0, depth)?;
18377 self.1.encode(encoder, offset + 4, depth)?;
18378 Ok(())
18379 }
18380 }
18381
18382 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18383 for CapabilityFactoryCreateDictionaryRouterRequest
18384 {
18385 #[inline(always)]
18386 fn new_empty() -> Self {
18387 Self {
18388 router_client_end: fidl::new_empty!(
18389 fidl::encoding::Endpoint<
18390 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
18391 >,
18392 fidl::encoding::DefaultFuchsiaResourceDialect
18393 ),
18394 router_server_end: fidl::new_empty!(
18395 fidl::encoding::Endpoint<
18396 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
18397 >,
18398 fidl::encoding::DefaultFuchsiaResourceDialect
18399 ),
18400 }
18401 }
18402
18403 #[inline]
18404 unsafe fn decode(
18405 &mut self,
18406 decoder: &mut fidl::encoding::Decoder<
18407 '_,
18408 fidl::encoding::DefaultFuchsiaResourceDialect,
18409 >,
18410 offset: usize,
18411 _depth: fidl::encoding::Depth,
18412 ) -> fidl::Result<()> {
18413 decoder.debug_check_bounds::<Self>(offset);
18414 fidl::decode!(
18416 fidl::encoding::Endpoint<
18417 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
18418 >,
18419 fidl::encoding::DefaultFuchsiaResourceDialect,
18420 &mut self.router_client_end,
18421 decoder,
18422 offset + 0,
18423 _depth
18424 )?;
18425 fidl::decode!(
18426 fidl::encoding::Endpoint<
18427 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
18428 >,
18429 fidl::encoding::DefaultFuchsiaResourceDialect,
18430 &mut self.router_server_end,
18431 decoder,
18432 offset + 4,
18433 _depth
18434 )?;
18435 Ok(())
18436 }
18437 }
18438
18439 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDirConnectorRequest {
18440 type Borrowed<'a> = &'a mut Self;
18441 fn take_or_borrow<'a>(
18442 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18443 ) -> Self::Borrowed<'a> {
18444 value
18445 }
18446 }
18447
18448 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDirConnectorRequest {
18449 type Owned = Self;
18450
18451 #[inline(always)]
18452 fn inline_align(_context: fidl::encoding::Context) -> usize {
18453 4
18454 }
18455
18456 #[inline(always)]
18457 fn inline_size(_context: fidl::encoding::Context) -> usize {
18458 8
18459 }
18460 }
18461
18462 unsafe impl
18463 fidl::encoding::Encode<
18464 CapabilityFactoryCreateDirConnectorRequest,
18465 fidl::encoding::DefaultFuchsiaResourceDialect,
18466 > for &mut CapabilityFactoryCreateDirConnectorRequest
18467 {
18468 #[inline]
18469 unsafe fn encode(
18470 self,
18471 encoder: &mut fidl::encoding::Encoder<
18472 '_,
18473 fidl::encoding::DefaultFuchsiaResourceDialect,
18474 >,
18475 offset: usize,
18476 _depth: fidl::encoding::Depth,
18477 ) -> fidl::Result<()> {
18478 encoder.debug_check_bounds::<CapabilityFactoryCreateDirConnectorRequest>(offset);
18479 fidl::encoding::Encode::<CapabilityFactoryCreateDirConnectorRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
18481 (
18482 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dir_receiver_client_end),
18483 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dir_connector_server_end),
18484 ),
18485 encoder, offset, _depth
18486 )
18487 }
18488 }
18489 unsafe impl<
18490 T0: fidl::encoding::Encode<
18491 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>>,
18492 fidl::encoding::DefaultFuchsiaResourceDialect,
18493 >,
18494 T1: fidl::encoding::Encode<
18495 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
18496 fidl::encoding::DefaultFuchsiaResourceDialect,
18497 >,
18498 >
18499 fidl::encoding::Encode<
18500 CapabilityFactoryCreateDirConnectorRequest,
18501 fidl::encoding::DefaultFuchsiaResourceDialect,
18502 > for (T0, T1)
18503 {
18504 #[inline]
18505 unsafe fn encode(
18506 self,
18507 encoder: &mut fidl::encoding::Encoder<
18508 '_,
18509 fidl::encoding::DefaultFuchsiaResourceDialect,
18510 >,
18511 offset: usize,
18512 depth: fidl::encoding::Depth,
18513 ) -> fidl::Result<()> {
18514 encoder.debug_check_bounds::<CapabilityFactoryCreateDirConnectorRequest>(offset);
18515 self.0.encode(encoder, offset + 0, depth)?;
18519 self.1.encode(encoder, offset + 4, depth)?;
18520 Ok(())
18521 }
18522 }
18523
18524 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18525 for CapabilityFactoryCreateDirConnectorRequest
18526 {
18527 #[inline(always)]
18528 fn new_empty() -> Self {
18529 Self {
18530 dir_receiver_client_end: fidl::new_empty!(
18531 fidl::encoding::Endpoint<
18532 fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
18533 >,
18534 fidl::encoding::DefaultFuchsiaResourceDialect
18535 ),
18536 dir_connector_server_end: fidl::new_empty!(
18537 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
18538 fidl::encoding::DefaultFuchsiaResourceDialect
18539 ),
18540 }
18541 }
18542
18543 #[inline]
18544 unsafe fn decode(
18545 &mut self,
18546 decoder: &mut fidl::encoding::Decoder<
18547 '_,
18548 fidl::encoding::DefaultFuchsiaResourceDialect,
18549 >,
18550 offset: usize,
18551 _depth: fidl::encoding::Depth,
18552 ) -> fidl::Result<()> {
18553 decoder.debug_check_bounds::<Self>(offset);
18554 fidl::decode!(
18556 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>>,
18557 fidl::encoding::DefaultFuchsiaResourceDialect,
18558 &mut self.dir_receiver_client_end,
18559 decoder,
18560 offset + 0,
18561 _depth
18562 )?;
18563 fidl::decode!(
18564 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
18565 fidl::encoding::DefaultFuchsiaResourceDialect,
18566 &mut self.dir_connector_server_end,
18567 decoder,
18568 offset + 4,
18569 _depth
18570 )?;
18571 Ok(())
18572 }
18573 }
18574
18575 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDirConnectorRouterRequest {
18576 type Borrowed<'a> = &'a mut Self;
18577 fn take_or_borrow<'a>(
18578 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18579 ) -> Self::Borrowed<'a> {
18580 value
18581 }
18582 }
18583
18584 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDirConnectorRouterRequest {
18585 type Owned = Self;
18586
18587 #[inline(always)]
18588 fn inline_align(_context: fidl::encoding::Context) -> usize {
18589 4
18590 }
18591
18592 #[inline(always)]
18593 fn inline_size(_context: fidl::encoding::Context) -> usize {
18594 8
18595 }
18596 }
18597
18598 unsafe impl
18599 fidl::encoding::Encode<
18600 CapabilityFactoryCreateDirConnectorRouterRequest,
18601 fidl::encoding::DefaultFuchsiaResourceDialect,
18602 > for &mut CapabilityFactoryCreateDirConnectorRouterRequest
18603 {
18604 #[inline]
18605 unsafe fn encode(
18606 self,
18607 encoder: &mut fidl::encoding::Encoder<
18608 '_,
18609 fidl::encoding::DefaultFuchsiaResourceDialect,
18610 >,
18611 offset: usize,
18612 _depth: fidl::encoding::Depth,
18613 ) -> fidl::Result<()> {
18614 encoder.debug_check_bounds::<CapabilityFactoryCreateDirConnectorRouterRequest>(offset);
18615 fidl::encoding::Encode::<
18617 CapabilityFactoryCreateDirConnectorRouterRequest,
18618 fidl::encoding::DefaultFuchsiaResourceDialect,
18619 >::encode(
18620 (
18621 <fidl::encoding::Endpoint<
18622 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
18623 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18624 &mut self.router_client_end,
18625 ),
18626 <fidl::encoding::Endpoint<
18627 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
18628 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18629 &mut self.router_server_end,
18630 ),
18631 ),
18632 encoder,
18633 offset,
18634 _depth,
18635 )
18636 }
18637 }
18638 unsafe impl<
18639 T0: fidl::encoding::Encode<
18640 fidl::encoding::Endpoint<
18641 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
18642 >,
18643 fidl::encoding::DefaultFuchsiaResourceDialect,
18644 >,
18645 T1: fidl::encoding::Encode<
18646 fidl::encoding::Endpoint<
18647 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
18648 >,
18649 fidl::encoding::DefaultFuchsiaResourceDialect,
18650 >,
18651 >
18652 fidl::encoding::Encode<
18653 CapabilityFactoryCreateDirConnectorRouterRequest,
18654 fidl::encoding::DefaultFuchsiaResourceDialect,
18655 > for (T0, T1)
18656 {
18657 #[inline]
18658 unsafe fn encode(
18659 self,
18660 encoder: &mut fidl::encoding::Encoder<
18661 '_,
18662 fidl::encoding::DefaultFuchsiaResourceDialect,
18663 >,
18664 offset: usize,
18665 depth: fidl::encoding::Depth,
18666 ) -> fidl::Result<()> {
18667 encoder.debug_check_bounds::<CapabilityFactoryCreateDirConnectorRouterRequest>(offset);
18668 self.0.encode(encoder, offset + 0, depth)?;
18672 self.1.encode(encoder, offset + 4, depth)?;
18673 Ok(())
18674 }
18675 }
18676
18677 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18678 for CapabilityFactoryCreateDirConnectorRouterRequest
18679 {
18680 #[inline(always)]
18681 fn new_empty() -> Self {
18682 Self {
18683 router_client_end: fidl::new_empty!(
18684 fidl::encoding::Endpoint<
18685 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
18686 >,
18687 fidl::encoding::DefaultFuchsiaResourceDialect
18688 ),
18689 router_server_end: fidl::new_empty!(
18690 fidl::encoding::Endpoint<
18691 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
18692 >,
18693 fidl::encoding::DefaultFuchsiaResourceDialect
18694 ),
18695 }
18696 }
18697
18698 #[inline]
18699 unsafe fn decode(
18700 &mut self,
18701 decoder: &mut fidl::encoding::Decoder<
18702 '_,
18703 fidl::encoding::DefaultFuchsiaResourceDialect,
18704 >,
18705 offset: usize,
18706 _depth: fidl::encoding::Depth,
18707 ) -> fidl::Result<()> {
18708 decoder.debug_check_bounds::<Self>(offset);
18709 fidl::decode!(
18711 fidl::encoding::Endpoint<
18712 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
18713 >,
18714 fidl::encoding::DefaultFuchsiaResourceDialect,
18715 &mut self.router_client_end,
18716 decoder,
18717 offset + 0,
18718 _depth
18719 )?;
18720 fidl::decode!(
18721 fidl::encoding::Endpoint<
18722 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
18723 >,
18724 fidl::encoding::DefaultFuchsiaResourceDialect,
18725 &mut self.router_server_end,
18726 decoder,
18727 offset + 4,
18728 _depth
18729 )?;
18730 Ok(())
18731 }
18732 }
18733
18734 impl fidl::encoding::ResourceTypeMarker for ConnectorConnectRequest {
18735 type Borrowed<'a> = &'a mut Self;
18736 fn take_or_borrow<'a>(
18737 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18738 ) -> Self::Borrowed<'a> {
18739 value
18740 }
18741 }
18742
18743 unsafe impl fidl::encoding::TypeMarker for ConnectorConnectRequest {
18744 type Owned = Self;
18745
18746 #[inline(always)]
18747 fn inline_align(_context: fidl::encoding::Context) -> usize {
18748 4
18749 }
18750
18751 #[inline(always)]
18752 fn inline_size(_context: fidl::encoding::Context) -> usize {
18753 4
18754 }
18755 }
18756
18757 unsafe impl
18758 fidl::encoding::Encode<
18759 ConnectorConnectRequest,
18760 fidl::encoding::DefaultFuchsiaResourceDialect,
18761 > for &mut ConnectorConnectRequest
18762 {
18763 #[inline]
18764 unsafe fn encode(
18765 self,
18766 encoder: &mut fidl::encoding::Encoder<
18767 '_,
18768 fidl::encoding::DefaultFuchsiaResourceDialect,
18769 >,
18770 offset: usize,
18771 _depth: fidl::encoding::Depth,
18772 ) -> fidl::Result<()> {
18773 encoder.debug_check_bounds::<ConnectorConnectRequest>(offset);
18774 fidl::encoding::Encode::<
18776 ConnectorConnectRequest,
18777 fidl::encoding::DefaultFuchsiaResourceDialect,
18778 >::encode(
18779 (<fidl::encoding::HandleType<
18780 fidl::Channel,
18781 { fidl::ObjectType::CHANNEL.into_raw() },
18782 2147483648,
18783 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18784 &mut self.channel
18785 ),),
18786 encoder,
18787 offset,
18788 _depth,
18789 )
18790 }
18791 }
18792 unsafe impl<
18793 T0: fidl::encoding::Encode<
18794 fidl::encoding::HandleType<
18795 fidl::Channel,
18796 { fidl::ObjectType::CHANNEL.into_raw() },
18797 2147483648,
18798 >,
18799 fidl::encoding::DefaultFuchsiaResourceDialect,
18800 >,
18801 >
18802 fidl::encoding::Encode<
18803 ConnectorConnectRequest,
18804 fidl::encoding::DefaultFuchsiaResourceDialect,
18805 > for (T0,)
18806 {
18807 #[inline]
18808 unsafe fn encode(
18809 self,
18810 encoder: &mut fidl::encoding::Encoder<
18811 '_,
18812 fidl::encoding::DefaultFuchsiaResourceDialect,
18813 >,
18814 offset: usize,
18815 depth: fidl::encoding::Depth,
18816 ) -> fidl::Result<()> {
18817 encoder.debug_check_bounds::<ConnectorConnectRequest>(offset);
18818 self.0.encode(encoder, offset + 0, depth)?;
18822 Ok(())
18823 }
18824 }
18825
18826 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18827 for ConnectorConnectRequest
18828 {
18829 #[inline(always)]
18830 fn new_empty() -> Self {
18831 Self {
18832 channel: fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
18833 }
18834 }
18835
18836 #[inline]
18837 unsafe fn decode(
18838 &mut self,
18839 decoder: &mut fidl::encoding::Decoder<
18840 '_,
18841 fidl::encoding::DefaultFuchsiaResourceDialect,
18842 >,
18843 offset: usize,
18844 _depth: fidl::encoding::Depth,
18845 ) -> fidl::Result<()> {
18846 decoder.debug_check_bounds::<Self>(offset);
18847 fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.channel, decoder, offset + 0, _depth)?;
18849 Ok(())
18850 }
18851 }
18852
18853 impl fidl::encoding::ResourceTypeMarker for ConnectorRouterDeprecatedRouteRequest {
18854 type Borrowed<'a> = &'a mut Self;
18855 fn take_or_borrow<'a>(
18856 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18857 ) -> Self::Borrowed<'a> {
18858 value
18859 }
18860 }
18861
18862 unsafe impl fidl::encoding::TypeMarker for ConnectorRouterDeprecatedRouteRequest {
18863 type Owned = Self;
18864
18865 #[inline(always)]
18866 fn inline_align(_context: fidl::encoding::Context) -> usize {
18867 8
18868 }
18869
18870 #[inline(always)]
18871 fn inline_size(_context: fidl::encoding::Context) -> usize {
18872 24
18873 }
18874 }
18875
18876 unsafe impl
18877 fidl::encoding::Encode<
18878 ConnectorRouterDeprecatedRouteRequest,
18879 fidl::encoding::DefaultFuchsiaResourceDialect,
18880 > for &mut ConnectorRouterDeprecatedRouteRequest
18881 {
18882 #[inline]
18883 unsafe fn encode(
18884 self,
18885 encoder: &mut fidl::encoding::Encoder<
18886 '_,
18887 fidl::encoding::DefaultFuchsiaResourceDialect,
18888 >,
18889 offset: usize,
18890 _depth: fidl::encoding::Depth,
18891 ) -> fidl::Result<()> {
18892 encoder.debug_check_bounds::<ConnectorRouterDeprecatedRouteRequest>(offset);
18893 fidl::encoding::Encode::<ConnectorRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
18895 (
18896 <DeprecatedRouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.request),
18897 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.connector_server_end),
18898 ),
18899 encoder, offset, _depth
18900 )
18901 }
18902 }
18903 unsafe impl<
18904 T0: fidl::encoding::Encode<
18905 DeprecatedRouteRequest,
18906 fidl::encoding::DefaultFuchsiaResourceDialect,
18907 >,
18908 T1: fidl::encoding::Encode<
18909 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
18910 fidl::encoding::DefaultFuchsiaResourceDialect,
18911 >,
18912 >
18913 fidl::encoding::Encode<
18914 ConnectorRouterDeprecatedRouteRequest,
18915 fidl::encoding::DefaultFuchsiaResourceDialect,
18916 > for (T0, T1)
18917 {
18918 #[inline]
18919 unsafe fn encode(
18920 self,
18921 encoder: &mut fidl::encoding::Encoder<
18922 '_,
18923 fidl::encoding::DefaultFuchsiaResourceDialect,
18924 >,
18925 offset: usize,
18926 depth: fidl::encoding::Depth,
18927 ) -> fidl::Result<()> {
18928 encoder.debug_check_bounds::<ConnectorRouterDeprecatedRouteRequest>(offset);
18929 unsafe {
18932 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
18933 (ptr as *mut u64).write_unaligned(0);
18934 }
18935 self.0.encode(encoder, offset + 0, depth)?;
18937 self.1.encode(encoder, offset + 16, depth)?;
18938 Ok(())
18939 }
18940 }
18941
18942 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18943 for ConnectorRouterDeprecatedRouteRequest
18944 {
18945 #[inline(always)]
18946 fn new_empty() -> Self {
18947 Self {
18948 request: fidl::new_empty!(
18949 DeprecatedRouteRequest,
18950 fidl::encoding::DefaultFuchsiaResourceDialect
18951 ),
18952 connector_server_end: fidl::new_empty!(
18953 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
18954 fidl::encoding::DefaultFuchsiaResourceDialect
18955 ),
18956 }
18957 }
18958
18959 #[inline]
18960 unsafe fn decode(
18961 &mut self,
18962 decoder: &mut fidl::encoding::Decoder<
18963 '_,
18964 fidl::encoding::DefaultFuchsiaResourceDialect,
18965 >,
18966 offset: usize,
18967 _depth: fidl::encoding::Depth,
18968 ) -> fidl::Result<()> {
18969 decoder.debug_check_bounds::<Self>(offset);
18970 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
18972 let padval = unsafe { (ptr as *const u64).read_unaligned() };
18973 let mask = 0xffffffff00000000u64;
18974 let maskedval = padval & mask;
18975 if maskedval != 0 {
18976 return Err(fidl::Error::NonZeroPadding {
18977 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
18978 });
18979 }
18980 fidl::decode!(
18981 DeprecatedRouteRequest,
18982 fidl::encoding::DefaultFuchsiaResourceDialect,
18983 &mut self.request,
18984 decoder,
18985 offset + 0,
18986 _depth
18987 )?;
18988 fidl::decode!(
18989 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
18990 fidl::encoding::DefaultFuchsiaResourceDialect,
18991 &mut self.connector_server_end,
18992 decoder,
18993 offset + 16,
18994 _depth
18995 )?;
18996 Ok(())
18997 }
18998 }
18999
19000 impl fidl::encoding::ResourceTypeMarker for ConnectorRouterDeprecatedRouteResponse {
19001 type Borrowed<'a> = &'a mut Self;
19002 fn take_or_borrow<'a>(
19003 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19004 ) -> Self::Borrowed<'a> {
19005 value
19006 }
19007 }
19008
19009 unsafe impl fidl::encoding::TypeMarker for ConnectorRouterDeprecatedRouteResponse {
19010 type Owned = Self;
19011
19012 #[inline(always)]
19013 fn inline_align(_context: fidl::encoding::Context) -> usize {
19014 4
19015 }
19016
19017 #[inline(always)]
19018 fn inline_size(_context: fidl::encoding::Context) -> usize {
19019 4
19020 }
19021 }
19022
19023 unsafe impl
19024 fidl::encoding::Encode<
19025 ConnectorRouterDeprecatedRouteResponse,
19026 fidl::encoding::DefaultFuchsiaResourceDialect,
19027 > for &mut ConnectorRouterDeprecatedRouteResponse
19028 {
19029 #[inline]
19030 unsafe fn encode(
19031 self,
19032 encoder: &mut fidl::encoding::Encoder<
19033 '_,
19034 fidl::encoding::DefaultFuchsiaResourceDialect,
19035 >,
19036 offset: usize,
19037 _depth: fidl::encoding::Depth,
19038 ) -> fidl::Result<()> {
19039 encoder.debug_check_bounds::<ConnectorRouterDeprecatedRouteResponse>(offset);
19040 fidl::encoding::Encode::<
19042 ConnectorRouterDeprecatedRouteResponse,
19043 fidl::encoding::DefaultFuchsiaResourceDialect,
19044 >::encode(
19045 (<RouterResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),),
19046 encoder,
19047 offset,
19048 _depth,
19049 )
19050 }
19051 }
19052 unsafe impl<
19053 T0: fidl::encoding::Encode<RouterResponse, fidl::encoding::DefaultFuchsiaResourceDialect>,
19054 >
19055 fidl::encoding::Encode<
19056 ConnectorRouterDeprecatedRouteResponse,
19057 fidl::encoding::DefaultFuchsiaResourceDialect,
19058 > for (T0,)
19059 {
19060 #[inline]
19061 unsafe fn encode(
19062 self,
19063 encoder: &mut fidl::encoding::Encoder<
19064 '_,
19065 fidl::encoding::DefaultFuchsiaResourceDialect,
19066 >,
19067 offset: usize,
19068 depth: fidl::encoding::Depth,
19069 ) -> fidl::Result<()> {
19070 encoder.debug_check_bounds::<ConnectorRouterDeprecatedRouteResponse>(offset);
19071 self.0.encode(encoder, offset + 0, depth)?;
19075 Ok(())
19076 }
19077 }
19078
19079 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19080 for ConnectorRouterDeprecatedRouteResponse
19081 {
19082 #[inline(always)]
19083 fn new_empty() -> Self {
19084 Self {
19085 response: fidl::new_empty!(
19086 RouterResponse,
19087 fidl::encoding::DefaultFuchsiaResourceDialect
19088 ),
19089 }
19090 }
19091
19092 #[inline]
19093 unsafe fn decode(
19094 &mut self,
19095 decoder: &mut fidl::encoding::Decoder<
19096 '_,
19097 fidl::encoding::DefaultFuchsiaResourceDialect,
19098 >,
19099 offset: usize,
19100 _depth: fidl::encoding::Depth,
19101 ) -> fidl::Result<()> {
19102 decoder.debug_check_bounds::<Self>(offset);
19103 fidl::decode!(
19105 RouterResponse,
19106 fidl::encoding::DefaultFuchsiaResourceDialect,
19107 &mut self.response,
19108 decoder,
19109 offset + 0,
19110 _depth
19111 )?;
19112 Ok(())
19113 }
19114 }
19115
19116 impl fidl::encoding::ResourceTypeMarker for ConnectorRouterRouteRequest {
19117 type Borrowed<'a> = &'a mut Self;
19118 fn take_or_borrow<'a>(
19119 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19120 ) -> Self::Borrowed<'a> {
19121 value
19122 }
19123 }
19124
19125 unsafe impl fidl::encoding::TypeMarker for ConnectorRouterRouteRequest {
19126 type Owned = Self;
19127
19128 #[inline(always)]
19129 fn inline_align(_context: fidl::encoding::Context) -> usize {
19130 8
19131 }
19132
19133 #[inline(always)]
19134 fn inline_size(_context: fidl::encoding::Context) -> usize {
19135 24
19136 }
19137 }
19138
19139 unsafe impl
19140 fidl::encoding::Encode<
19141 ConnectorRouterRouteRequest,
19142 fidl::encoding::DefaultFuchsiaResourceDialect,
19143 > for &mut ConnectorRouterRouteRequest
19144 {
19145 #[inline]
19146 unsafe fn encode(
19147 self,
19148 encoder: &mut fidl::encoding::Encoder<
19149 '_,
19150 fidl::encoding::DefaultFuchsiaResourceDialect,
19151 >,
19152 offset: usize,
19153 _depth: fidl::encoding::Depth,
19154 ) -> fidl::Result<()> {
19155 encoder.debug_check_bounds::<ConnectorRouterRouteRequest>(offset);
19156 fidl::encoding::Encode::<
19158 ConnectorRouterRouteRequest,
19159 fidl::encoding::DefaultFuchsiaResourceDialect,
19160 >::encode(
19161 (
19162 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19163 &mut self.request,
19164 ),
19165 <fidl::encoding::HandleType<
19166 fidl::EventPair,
19167 { fidl::ObjectType::EVENTPAIR.into_raw() },
19168 2147483648,
19169 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19170 &mut self.instance_token,
19171 ),
19172 <fidl::encoding::HandleType<
19173 fidl::EventPair,
19174 { fidl::ObjectType::EVENTPAIR.into_raw() },
19175 2147483648,
19176 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19177 &mut self.handle
19178 ),
19179 ),
19180 encoder,
19181 offset,
19182 _depth,
19183 )
19184 }
19185 }
19186 unsafe impl<
19187 T0: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
19188 T1: fidl::encoding::Encode<
19189 fidl::encoding::HandleType<
19190 fidl::EventPair,
19191 { fidl::ObjectType::EVENTPAIR.into_raw() },
19192 2147483648,
19193 >,
19194 fidl::encoding::DefaultFuchsiaResourceDialect,
19195 >,
19196 T2: fidl::encoding::Encode<
19197 fidl::encoding::HandleType<
19198 fidl::EventPair,
19199 { fidl::ObjectType::EVENTPAIR.into_raw() },
19200 2147483648,
19201 >,
19202 fidl::encoding::DefaultFuchsiaResourceDialect,
19203 >,
19204 >
19205 fidl::encoding::Encode<
19206 ConnectorRouterRouteRequest,
19207 fidl::encoding::DefaultFuchsiaResourceDialect,
19208 > for (T0, T1, T2)
19209 {
19210 #[inline]
19211 unsafe fn encode(
19212 self,
19213 encoder: &mut fidl::encoding::Encoder<
19214 '_,
19215 fidl::encoding::DefaultFuchsiaResourceDialect,
19216 >,
19217 offset: usize,
19218 depth: fidl::encoding::Depth,
19219 ) -> fidl::Result<()> {
19220 encoder.debug_check_bounds::<ConnectorRouterRouteRequest>(offset);
19221 self.0.encode(encoder, offset + 0, depth)?;
19225 self.1.encode(encoder, offset + 16, depth)?;
19226 self.2.encode(encoder, offset + 20, depth)?;
19227 Ok(())
19228 }
19229 }
19230
19231 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19232 for ConnectorRouterRouteRequest
19233 {
19234 #[inline(always)]
19235 fn new_empty() -> Self {
19236 Self {
19237 request: fidl::new_empty!(
19238 RouteRequest,
19239 fidl::encoding::DefaultFuchsiaResourceDialect
19240 ),
19241 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
19242 handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
19243 }
19244 }
19245
19246 #[inline]
19247 unsafe fn decode(
19248 &mut self,
19249 decoder: &mut fidl::encoding::Decoder<
19250 '_,
19251 fidl::encoding::DefaultFuchsiaResourceDialect,
19252 >,
19253 offset: usize,
19254 _depth: fidl::encoding::Depth,
19255 ) -> fidl::Result<()> {
19256 decoder.debug_check_bounds::<Self>(offset);
19257 fidl::decode!(
19259 RouteRequest,
19260 fidl::encoding::DefaultFuchsiaResourceDialect,
19261 &mut self.request,
19262 decoder,
19263 offset + 0,
19264 _depth
19265 )?;
19266 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 16, _depth)?;
19267 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle, decoder, offset + 20, _depth)?;
19268 Ok(())
19269 }
19270 }
19271
19272 impl fidl::encoding::ResourceTypeMarker for DataRouterDeprecatedRouteRequest {
19273 type Borrowed<'a> = &'a mut Self;
19274 fn take_or_borrow<'a>(
19275 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19276 ) -> Self::Borrowed<'a> {
19277 value
19278 }
19279 }
19280
19281 unsafe impl fidl::encoding::TypeMarker for DataRouterDeprecatedRouteRequest {
19282 type Owned = Self;
19283
19284 #[inline(always)]
19285 fn inline_align(_context: fidl::encoding::Context) -> usize {
19286 8
19287 }
19288
19289 #[inline(always)]
19290 fn inline_size(_context: fidl::encoding::Context) -> usize {
19291 16
19292 }
19293 }
19294
19295 unsafe impl
19296 fidl::encoding::Encode<
19297 DataRouterDeprecatedRouteRequest,
19298 fidl::encoding::DefaultFuchsiaResourceDialect,
19299 > for &mut DataRouterDeprecatedRouteRequest
19300 {
19301 #[inline]
19302 unsafe fn encode(
19303 self,
19304 encoder: &mut fidl::encoding::Encoder<
19305 '_,
19306 fidl::encoding::DefaultFuchsiaResourceDialect,
19307 >,
19308 offset: usize,
19309 _depth: fidl::encoding::Depth,
19310 ) -> fidl::Result<()> {
19311 encoder.debug_check_bounds::<DataRouterDeprecatedRouteRequest>(offset);
19312 fidl::encoding::Encode::<
19314 DataRouterDeprecatedRouteRequest,
19315 fidl::encoding::DefaultFuchsiaResourceDialect,
19316 >::encode(
19317 (<DeprecatedRouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19318 &mut self.request,
19319 ),),
19320 encoder,
19321 offset,
19322 _depth,
19323 )
19324 }
19325 }
19326 unsafe impl<
19327 T0: fidl::encoding::Encode<
19328 DeprecatedRouteRequest,
19329 fidl::encoding::DefaultFuchsiaResourceDialect,
19330 >,
19331 >
19332 fidl::encoding::Encode<
19333 DataRouterDeprecatedRouteRequest,
19334 fidl::encoding::DefaultFuchsiaResourceDialect,
19335 > for (T0,)
19336 {
19337 #[inline]
19338 unsafe fn encode(
19339 self,
19340 encoder: &mut fidl::encoding::Encoder<
19341 '_,
19342 fidl::encoding::DefaultFuchsiaResourceDialect,
19343 >,
19344 offset: usize,
19345 depth: fidl::encoding::Depth,
19346 ) -> fidl::Result<()> {
19347 encoder.debug_check_bounds::<DataRouterDeprecatedRouteRequest>(offset);
19348 self.0.encode(encoder, offset + 0, depth)?;
19352 Ok(())
19353 }
19354 }
19355
19356 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19357 for DataRouterDeprecatedRouteRequest
19358 {
19359 #[inline(always)]
19360 fn new_empty() -> Self {
19361 Self {
19362 request: fidl::new_empty!(
19363 DeprecatedRouteRequest,
19364 fidl::encoding::DefaultFuchsiaResourceDialect
19365 ),
19366 }
19367 }
19368
19369 #[inline]
19370 unsafe fn decode(
19371 &mut self,
19372 decoder: &mut fidl::encoding::Decoder<
19373 '_,
19374 fidl::encoding::DefaultFuchsiaResourceDialect,
19375 >,
19376 offset: usize,
19377 _depth: fidl::encoding::Depth,
19378 ) -> fidl::Result<()> {
19379 decoder.debug_check_bounds::<Self>(offset);
19380 fidl::decode!(
19382 DeprecatedRouteRequest,
19383 fidl::encoding::DefaultFuchsiaResourceDialect,
19384 &mut self.request,
19385 decoder,
19386 offset + 0,
19387 _depth
19388 )?;
19389 Ok(())
19390 }
19391 }
19392
19393 impl fidl::encoding::ResourceTypeMarker for DataRouterDeprecatedRouteResponse {
19394 type Borrowed<'a> = &'a mut Self;
19395 fn take_or_borrow<'a>(
19396 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19397 ) -> Self::Borrowed<'a> {
19398 value
19399 }
19400 }
19401
19402 unsafe impl fidl::encoding::TypeMarker for DataRouterDeprecatedRouteResponse {
19403 type Owned = Self;
19404
19405 #[inline(always)]
19406 fn inline_align(_context: fidl::encoding::Context) -> usize {
19407 8
19408 }
19409
19410 #[inline(always)]
19411 fn inline_size(_context: fidl::encoding::Context) -> usize {
19412 24
19413 }
19414 }
19415
19416 unsafe impl
19417 fidl::encoding::Encode<
19418 DataRouterDeprecatedRouteResponse,
19419 fidl::encoding::DefaultFuchsiaResourceDialect,
19420 > for &mut DataRouterDeprecatedRouteResponse
19421 {
19422 #[inline]
19423 unsafe fn encode(
19424 self,
19425 encoder: &mut fidl::encoding::Encoder<
19426 '_,
19427 fidl::encoding::DefaultFuchsiaResourceDialect,
19428 >,
19429 offset: usize,
19430 _depth: fidl::encoding::Depth,
19431 ) -> fidl::Result<()> {
19432 encoder.debug_check_bounds::<DataRouterDeprecatedRouteResponse>(offset);
19433 fidl::encoding::Encode::<DataRouterDeprecatedRouteResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
19435 (
19436 <RouterResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),
19437 <fidl::encoding::OptionalUnion<Data> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
19438 ),
19439 encoder, offset, _depth
19440 )
19441 }
19442 }
19443 unsafe impl<
19444 T0: fidl::encoding::Encode<RouterResponse, fidl::encoding::DefaultFuchsiaResourceDialect>,
19445 T1: fidl::encoding::Encode<
19446 fidl::encoding::OptionalUnion<Data>,
19447 fidl::encoding::DefaultFuchsiaResourceDialect,
19448 >,
19449 >
19450 fidl::encoding::Encode<
19451 DataRouterDeprecatedRouteResponse,
19452 fidl::encoding::DefaultFuchsiaResourceDialect,
19453 > for (T0, T1)
19454 {
19455 #[inline]
19456 unsafe fn encode(
19457 self,
19458 encoder: &mut fidl::encoding::Encoder<
19459 '_,
19460 fidl::encoding::DefaultFuchsiaResourceDialect,
19461 >,
19462 offset: usize,
19463 depth: fidl::encoding::Depth,
19464 ) -> fidl::Result<()> {
19465 encoder.debug_check_bounds::<DataRouterDeprecatedRouteResponse>(offset);
19466 unsafe {
19469 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
19470 (ptr as *mut u64).write_unaligned(0);
19471 }
19472 self.0.encode(encoder, offset + 0, depth)?;
19474 self.1.encode(encoder, offset + 8, depth)?;
19475 Ok(())
19476 }
19477 }
19478
19479 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19480 for DataRouterDeprecatedRouteResponse
19481 {
19482 #[inline(always)]
19483 fn new_empty() -> Self {
19484 Self {
19485 response: fidl::new_empty!(
19486 RouterResponse,
19487 fidl::encoding::DefaultFuchsiaResourceDialect
19488 ),
19489 data: fidl::new_empty!(
19490 fidl::encoding::OptionalUnion<Data>,
19491 fidl::encoding::DefaultFuchsiaResourceDialect
19492 ),
19493 }
19494 }
19495
19496 #[inline]
19497 unsafe fn decode(
19498 &mut self,
19499 decoder: &mut fidl::encoding::Decoder<
19500 '_,
19501 fidl::encoding::DefaultFuchsiaResourceDialect,
19502 >,
19503 offset: usize,
19504 _depth: fidl::encoding::Depth,
19505 ) -> fidl::Result<()> {
19506 decoder.debug_check_bounds::<Self>(offset);
19507 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
19509 let padval = unsafe { (ptr as *const u64).read_unaligned() };
19510 let mask = 0xffffffff00000000u64;
19511 let maskedval = padval & mask;
19512 if maskedval != 0 {
19513 return Err(fidl::Error::NonZeroPadding {
19514 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
19515 });
19516 }
19517 fidl::decode!(
19518 RouterResponse,
19519 fidl::encoding::DefaultFuchsiaResourceDialect,
19520 &mut self.response,
19521 decoder,
19522 offset + 0,
19523 _depth
19524 )?;
19525 fidl::decode!(
19526 fidl::encoding::OptionalUnion<Data>,
19527 fidl::encoding::DefaultFuchsiaResourceDialect,
19528 &mut self.data,
19529 decoder,
19530 offset + 8,
19531 _depth
19532 )?;
19533 Ok(())
19534 }
19535 }
19536
19537 impl fidl::encoding::ResourceTypeMarker for DataRouterRouteRequest {
19538 type Borrowed<'a> = &'a mut Self;
19539 fn take_or_borrow<'a>(
19540 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19541 ) -> Self::Borrowed<'a> {
19542 value
19543 }
19544 }
19545
19546 unsafe impl fidl::encoding::TypeMarker for DataRouterRouteRequest {
19547 type Owned = Self;
19548
19549 #[inline(always)]
19550 fn inline_align(_context: fidl::encoding::Context) -> usize {
19551 8
19552 }
19553
19554 #[inline(always)]
19555 fn inline_size(_context: fidl::encoding::Context) -> usize {
19556 24
19557 }
19558 }
19559
19560 unsafe impl
19561 fidl::encoding::Encode<
19562 DataRouterRouteRequest,
19563 fidl::encoding::DefaultFuchsiaResourceDialect,
19564 > for &mut DataRouterRouteRequest
19565 {
19566 #[inline]
19567 unsafe fn encode(
19568 self,
19569 encoder: &mut fidl::encoding::Encoder<
19570 '_,
19571 fidl::encoding::DefaultFuchsiaResourceDialect,
19572 >,
19573 offset: usize,
19574 _depth: fidl::encoding::Depth,
19575 ) -> fidl::Result<()> {
19576 encoder.debug_check_bounds::<DataRouterRouteRequest>(offset);
19577 fidl::encoding::Encode::<
19579 DataRouterRouteRequest,
19580 fidl::encoding::DefaultFuchsiaResourceDialect,
19581 >::encode(
19582 (
19583 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19584 &mut self.request,
19585 ),
19586 <fidl::encoding::HandleType<
19587 fidl::EventPair,
19588 { fidl::ObjectType::EVENTPAIR.into_raw() },
19589 2147483648,
19590 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19591 &mut self.instance_token,
19592 ),
19593 <fidl::encoding::HandleType<
19594 fidl::EventPair,
19595 { fidl::ObjectType::EVENTPAIR.into_raw() },
19596 2147483648,
19597 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19598 &mut self.handle
19599 ),
19600 ),
19601 encoder,
19602 offset,
19603 _depth,
19604 )
19605 }
19606 }
19607 unsafe impl<
19608 T0: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
19609 T1: fidl::encoding::Encode<
19610 fidl::encoding::HandleType<
19611 fidl::EventPair,
19612 { fidl::ObjectType::EVENTPAIR.into_raw() },
19613 2147483648,
19614 >,
19615 fidl::encoding::DefaultFuchsiaResourceDialect,
19616 >,
19617 T2: fidl::encoding::Encode<
19618 fidl::encoding::HandleType<
19619 fidl::EventPair,
19620 { fidl::ObjectType::EVENTPAIR.into_raw() },
19621 2147483648,
19622 >,
19623 fidl::encoding::DefaultFuchsiaResourceDialect,
19624 >,
19625 >
19626 fidl::encoding::Encode<
19627 DataRouterRouteRequest,
19628 fidl::encoding::DefaultFuchsiaResourceDialect,
19629 > for (T0, T1, T2)
19630 {
19631 #[inline]
19632 unsafe fn encode(
19633 self,
19634 encoder: &mut fidl::encoding::Encoder<
19635 '_,
19636 fidl::encoding::DefaultFuchsiaResourceDialect,
19637 >,
19638 offset: usize,
19639 depth: fidl::encoding::Depth,
19640 ) -> fidl::Result<()> {
19641 encoder.debug_check_bounds::<DataRouterRouteRequest>(offset);
19642 self.0.encode(encoder, offset + 0, depth)?;
19646 self.1.encode(encoder, offset + 16, depth)?;
19647 self.2.encode(encoder, offset + 20, depth)?;
19648 Ok(())
19649 }
19650 }
19651
19652 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19653 for DataRouterRouteRequest
19654 {
19655 #[inline(always)]
19656 fn new_empty() -> Self {
19657 Self {
19658 request: fidl::new_empty!(
19659 RouteRequest,
19660 fidl::encoding::DefaultFuchsiaResourceDialect
19661 ),
19662 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
19663 handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
19664 }
19665 }
19666
19667 #[inline]
19668 unsafe fn decode(
19669 &mut self,
19670 decoder: &mut fidl::encoding::Decoder<
19671 '_,
19672 fidl::encoding::DefaultFuchsiaResourceDialect,
19673 >,
19674 offset: usize,
19675 _depth: fidl::encoding::Depth,
19676 ) -> fidl::Result<()> {
19677 decoder.debug_check_bounds::<Self>(offset);
19678 fidl::decode!(
19680 RouteRequest,
19681 fidl::encoding::DefaultFuchsiaResourceDialect,
19682 &mut self.request,
19683 decoder,
19684 offset + 0,
19685 _depth
19686 )?;
19687 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 16, _depth)?;
19688 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle, decoder, offset + 20, _depth)?;
19689 Ok(())
19690 }
19691 }
19692
19693 impl fidl::encoding::ResourceTypeMarker for DictionaryGetRequest {
19694 type Borrowed<'a> = &'a mut Self;
19695 fn take_or_borrow<'a>(
19696 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19697 ) -> Self::Borrowed<'a> {
19698 value
19699 }
19700 }
19701
19702 unsafe impl fidl::encoding::TypeMarker for DictionaryGetRequest {
19703 type Owned = Self;
19704
19705 #[inline(always)]
19706 fn inline_align(_context: fidl::encoding::Context) -> usize {
19707 8
19708 }
19709
19710 #[inline(always)]
19711 fn inline_size(_context: fidl::encoding::Context) -> usize {
19712 16
19713 }
19714 }
19715
19716 unsafe impl
19717 fidl::encoding::Encode<DictionaryGetRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
19718 for &mut DictionaryGetRequest
19719 {
19720 #[inline]
19721 unsafe fn encode(
19722 self,
19723 encoder: &mut fidl::encoding::Encoder<
19724 '_,
19725 fidl::encoding::DefaultFuchsiaResourceDialect,
19726 >,
19727 offset: usize,
19728 _depth: fidl::encoding::Depth,
19729 ) -> fidl::Result<()> {
19730 encoder.debug_check_bounds::<DictionaryGetRequest>(offset);
19731 fidl::encoding::Encode::<
19733 DictionaryGetRequest,
19734 fidl::encoding::DefaultFuchsiaResourceDialect,
19735 >::encode(
19736 (<fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
19737 &self.key,
19738 ),),
19739 encoder,
19740 offset,
19741 _depth,
19742 )
19743 }
19744 }
19745 unsafe impl<
19746 T0: fidl::encoding::Encode<
19747 fidl::encoding::BoundedString<100>,
19748 fidl::encoding::DefaultFuchsiaResourceDialect,
19749 >,
19750 >
19751 fidl::encoding::Encode<DictionaryGetRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
19752 for (T0,)
19753 {
19754 #[inline]
19755 unsafe fn encode(
19756 self,
19757 encoder: &mut fidl::encoding::Encoder<
19758 '_,
19759 fidl::encoding::DefaultFuchsiaResourceDialect,
19760 >,
19761 offset: usize,
19762 depth: fidl::encoding::Depth,
19763 ) -> fidl::Result<()> {
19764 encoder.debug_check_bounds::<DictionaryGetRequest>(offset);
19765 self.0.encode(encoder, offset + 0, depth)?;
19769 Ok(())
19770 }
19771 }
19772
19773 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19774 for DictionaryGetRequest
19775 {
19776 #[inline(always)]
19777 fn new_empty() -> Self {
19778 Self {
19779 key: fidl::new_empty!(
19780 fidl::encoding::BoundedString<100>,
19781 fidl::encoding::DefaultFuchsiaResourceDialect
19782 ),
19783 }
19784 }
19785
19786 #[inline]
19787 unsafe fn decode(
19788 &mut self,
19789 decoder: &mut fidl::encoding::Decoder<
19790 '_,
19791 fidl::encoding::DefaultFuchsiaResourceDialect,
19792 >,
19793 offset: usize,
19794 _depth: fidl::encoding::Depth,
19795 ) -> fidl::Result<()> {
19796 decoder.debug_check_bounds::<Self>(offset);
19797 fidl::decode!(
19799 fidl::encoding::BoundedString<100>,
19800 fidl::encoding::DefaultFuchsiaResourceDialect,
19801 &mut self.key,
19802 decoder,
19803 offset + 0,
19804 _depth
19805 )?;
19806 Ok(())
19807 }
19808 }
19809
19810 impl fidl::encoding::ResourceTypeMarker for DictionaryInsertRequest {
19811 type Borrowed<'a> = &'a mut Self;
19812 fn take_or_borrow<'a>(
19813 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19814 ) -> Self::Borrowed<'a> {
19815 value
19816 }
19817 }
19818
19819 unsafe impl fidl::encoding::TypeMarker for DictionaryInsertRequest {
19820 type Owned = Self;
19821
19822 #[inline(always)]
19823 fn inline_align(_context: fidl::encoding::Context) -> usize {
19824 8
19825 }
19826
19827 #[inline(always)]
19828 fn inline_size(_context: fidl::encoding::Context) -> usize {
19829 32
19830 }
19831 }
19832
19833 unsafe impl
19834 fidl::encoding::Encode<
19835 DictionaryInsertRequest,
19836 fidl::encoding::DefaultFuchsiaResourceDialect,
19837 > for &mut DictionaryInsertRequest
19838 {
19839 #[inline]
19840 unsafe fn encode(
19841 self,
19842 encoder: &mut fidl::encoding::Encoder<
19843 '_,
19844 fidl::encoding::DefaultFuchsiaResourceDialect,
19845 >,
19846 offset: usize,
19847 _depth: fidl::encoding::Depth,
19848 ) -> fidl::Result<()> {
19849 encoder.debug_check_bounds::<DictionaryInsertRequest>(offset);
19850 fidl::encoding::Encode::<
19852 DictionaryInsertRequest,
19853 fidl::encoding::DefaultFuchsiaResourceDialect,
19854 >::encode(
19855 (
19856 <fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
19857 &self.key,
19858 ),
19859 <CapabilityDeprecated as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19860 &mut self.capability,
19861 ),
19862 ),
19863 encoder,
19864 offset,
19865 _depth,
19866 )
19867 }
19868 }
19869 unsafe impl<
19870 T0: fidl::encoding::Encode<
19871 fidl::encoding::BoundedString<100>,
19872 fidl::encoding::DefaultFuchsiaResourceDialect,
19873 >,
19874 T1: fidl::encoding::Encode<CapabilityDeprecated, fidl::encoding::DefaultFuchsiaResourceDialect>,
19875 >
19876 fidl::encoding::Encode<
19877 DictionaryInsertRequest,
19878 fidl::encoding::DefaultFuchsiaResourceDialect,
19879 > for (T0, T1)
19880 {
19881 #[inline]
19882 unsafe fn encode(
19883 self,
19884 encoder: &mut fidl::encoding::Encoder<
19885 '_,
19886 fidl::encoding::DefaultFuchsiaResourceDialect,
19887 >,
19888 offset: usize,
19889 depth: fidl::encoding::Depth,
19890 ) -> fidl::Result<()> {
19891 encoder.debug_check_bounds::<DictionaryInsertRequest>(offset);
19892 self.0.encode(encoder, offset + 0, depth)?;
19896 self.1.encode(encoder, offset + 16, depth)?;
19897 Ok(())
19898 }
19899 }
19900
19901 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19902 for DictionaryInsertRequest
19903 {
19904 #[inline(always)]
19905 fn new_empty() -> Self {
19906 Self {
19907 key: fidl::new_empty!(
19908 fidl::encoding::BoundedString<100>,
19909 fidl::encoding::DefaultFuchsiaResourceDialect
19910 ),
19911 capability: fidl::new_empty!(
19912 CapabilityDeprecated,
19913 fidl::encoding::DefaultFuchsiaResourceDialect
19914 ),
19915 }
19916 }
19917
19918 #[inline]
19919 unsafe fn decode(
19920 &mut self,
19921 decoder: &mut fidl::encoding::Decoder<
19922 '_,
19923 fidl::encoding::DefaultFuchsiaResourceDialect,
19924 >,
19925 offset: usize,
19926 _depth: fidl::encoding::Depth,
19927 ) -> fidl::Result<()> {
19928 decoder.debug_check_bounds::<Self>(offset);
19929 fidl::decode!(
19931 fidl::encoding::BoundedString<100>,
19932 fidl::encoding::DefaultFuchsiaResourceDialect,
19933 &mut self.key,
19934 decoder,
19935 offset + 0,
19936 _depth
19937 )?;
19938 fidl::decode!(
19939 CapabilityDeprecated,
19940 fidl::encoding::DefaultFuchsiaResourceDialect,
19941 &mut self.capability,
19942 decoder,
19943 offset + 16,
19944 _depth
19945 )?;
19946 Ok(())
19947 }
19948 }
19949
19950 impl fidl::encoding::ResourceTypeMarker for DictionaryIterateKeysRequest {
19951 type Borrowed<'a> = &'a mut Self;
19952 fn take_or_borrow<'a>(
19953 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19954 ) -> Self::Borrowed<'a> {
19955 value
19956 }
19957 }
19958
19959 unsafe impl fidl::encoding::TypeMarker for DictionaryIterateKeysRequest {
19960 type Owned = Self;
19961
19962 #[inline(always)]
19963 fn inline_align(_context: fidl::encoding::Context) -> usize {
19964 4
19965 }
19966
19967 #[inline(always)]
19968 fn inline_size(_context: fidl::encoding::Context) -> usize {
19969 4
19970 }
19971 }
19972
19973 unsafe impl
19974 fidl::encoding::Encode<
19975 DictionaryIterateKeysRequest,
19976 fidl::encoding::DefaultFuchsiaResourceDialect,
19977 > for &mut DictionaryIterateKeysRequest
19978 {
19979 #[inline]
19980 unsafe fn encode(
19981 self,
19982 encoder: &mut fidl::encoding::Encoder<
19983 '_,
19984 fidl::encoding::DefaultFuchsiaResourceDialect,
19985 >,
19986 offset: usize,
19987 _depth: fidl::encoding::Depth,
19988 ) -> fidl::Result<()> {
19989 encoder.debug_check_bounds::<DictionaryIterateKeysRequest>(offset);
19990 fidl::encoding::Encode::<
19992 DictionaryIterateKeysRequest,
19993 fidl::encoding::DefaultFuchsiaResourceDialect,
19994 >::encode(
19995 (
19996 <fidl::encoding::Endpoint<
19997 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
19998 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19999 &mut self.key_iterator,
20000 ),
20001 ),
20002 encoder,
20003 offset,
20004 _depth,
20005 )
20006 }
20007 }
20008 unsafe impl<
20009 T0: fidl::encoding::Encode<
20010 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>>,
20011 fidl::encoding::DefaultFuchsiaResourceDialect,
20012 >,
20013 >
20014 fidl::encoding::Encode<
20015 DictionaryIterateKeysRequest,
20016 fidl::encoding::DefaultFuchsiaResourceDialect,
20017 > for (T0,)
20018 {
20019 #[inline]
20020 unsafe fn encode(
20021 self,
20022 encoder: &mut fidl::encoding::Encoder<
20023 '_,
20024 fidl::encoding::DefaultFuchsiaResourceDialect,
20025 >,
20026 offset: usize,
20027 depth: fidl::encoding::Depth,
20028 ) -> fidl::Result<()> {
20029 encoder.debug_check_bounds::<DictionaryIterateKeysRequest>(offset);
20030 self.0.encode(encoder, offset + 0, depth)?;
20034 Ok(())
20035 }
20036 }
20037
20038 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20039 for DictionaryIterateKeysRequest
20040 {
20041 #[inline(always)]
20042 fn new_empty() -> Self {
20043 Self {
20044 key_iterator: fidl::new_empty!(
20045 fidl::encoding::Endpoint<
20046 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
20047 >,
20048 fidl::encoding::DefaultFuchsiaResourceDialect
20049 ),
20050 }
20051 }
20052
20053 #[inline]
20054 unsafe fn decode(
20055 &mut self,
20056 decoder: &mut fidl::encoding::Decoder<
20057 '_,
20058 fidl::encoding::DefaultFuchsiaResourceDialect,
20059 >,
20060 offset: usize,
20061 _depth: fidl::encoding::Depth,
20062 ) -> fidl::Result<()> {
20063 decoder.debug_check_bounds::<Self>(offset);
20064 fidl::decode!(
20066 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>>,
20067 fidl::encoding::DefaultFuchsiaResourceDialect,
20068 &mut self.key_iterator,
20069 decoder,
20070 offset + 0,
20071 _depth
20072 )?;
20073 Ok(())
20074 }
20075 }
20076
20077 impl fidl::encoding::ResourceTypeMarker for DictionaryRemoveRequest {
20078 type Borrowed<'a> = &'a mut Self;
20079 fn take_or_borrow<'a>(
20080 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20081 ) -> Self::Borrowed<'a> {
20082 value
20083 }
20084 }
20085
20086 unsafe impl fidl::encoding::TypeMarker for DictionaryRemoveRequest {
20087 type Owned = Self;
20088
20089 #[inline(always)]
20090 fn inline_align(_context: fidl::encoding::Context) -> usize {
20091 8
20092 }
20093
20094 #[inline(always)]
20095 fn inline_size(_context: fidl::encoding::Context) -> usize {
20096 16
20097 }
20098 }
20099
20100 unsafe impl
20101 fidl::encoding::Encode<
20102 DictionaryRemoveRequest,
20103 fidl::encoding::DefaultFuchsiaResourceDialect,
20104 > for &mut DictionaryRemoveRequest
20105 {
20106 #[inline]
20107 unsafe fn encode(
20108 self,
20109 encoder: &mut fidl::encoding::Encoder<
20110 '_,
20111 fidl::encoding::DefaultFuchsiaResourceDialect,
20112 >,
20113 offset: usize,
20114 _depth: fidl::encoding::Depth,
20115 ) -> fidl::Result<()> {
20116 encoder.debug_check_bounds::<DictionaryRemoveRequest>(offset);
20117 fidl::encoding::Encode::<
20119 DictionaryRemoveRequest,
20120 fidl::encoding::DefaultFuchsiaResourceDialect,
20121 >::encode(
20122 (<fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
20123 &self.key,
20124 ),),
20125 encoder,
20126 offset,
20127 _depth,
20128 )
20129 }
20130 }
20131 unsafe impl<
20132 T0: fidl::encoding::Encode<
20133 fidl::encoding::BoundedString<100>,
20134 fidl::encoding::DefaultFuchsiaResourceDialect,
20135 >,
20136 >
20137 fidl::encoding::Encode<
20138 DictionaryRemoveRequest,
20139 fidl::encoding::DefaultFuchsiaResourceDialect,
20140 > for (T0,)
20141 {
20142 #[inline]
20143 unsafe fn encode(
20144 self,
20145 encoder: &mut fidl::encoding::Encoder<
20146 '_,
20147 fidl::encoding::DefaultFuchsiaResourceDialect,
20148 >,
20149 offset: usize,
20150 depth: fidl::encoding::Depth,
20151 ) -> fidl::Result<()> {
20152 encoder.debug_check_bounds::<DictionaryRemoveRequest>(offset);
20153 self.0.encode(encoder, offset + 0, depth)?;
20157 Ok(())
20158 }
20159 }
20160
20161 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20162 for DictionaryRemoveRequest
20163 {
20164 #[inline(always)]
20165 fn new_empty() -> Self {
20166 Self {
20167 key: fidl::new_empty!(
20168 fidl::encoding::BoundedString<100>,
20169 fidl::encoding::DefaultFuchsiaResourceDialect
20170 ),
20171 }
20172 }
20173
20174 #[inline]
20175 unsafe fn decode(
20176 &mut self,
20177 decoder: &mut fidl::encoding::Decoder<
20178 '_,
20179 fidl::encoding::DefaultFuchsiaResourceDialect,
20180 >,
20181 offset: usize,
20182 _depth: fidl::encoding::Depth,
20183 ) -> fidl::Result<()> {
20184 decoder.debug_check_bounds::<Self>(offset);
20185 fidl::decode!(
20187 fidl::encoding::BoundedString<100>,
20188 fidl::encoding::DefaultFuchsiaResourceDialect,
20189 &mut self.key,
20190 decoder,
20191 offset + 0,
20192 _depth
20193 )?;
20194 Ok(())
20195 }
20196 }
20197
20198 impl fidl::encoding::ResourceTypeMarker for DictionaryRouterDeprecatedRouteRequest {
20199 type Borrowed<'a> = &'a mut Self;
20200 fn take_or_borrow<'a>(
20201 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20202 ) -> Self::Borrowed<'a> {
20203 value
20204 }
20205 }
20206
20207 unsafe impl fidl::encoding::TypeMarker for DictionaryRouterDeprecatedRouteRequest {
20208 type Owned = Self;
20209
20210 #[inline(always)]
20211 fn inline_align(_context: fidl::encoding::Context) -> usize {
20212 8
20213 }
20214
20215 #[inline(always)]
20216 fn inline_size(_context: fidl::encoding::Context) -> usize {
20217 24
20218 }
20219 }
20220
20221 unsafe impl
20222 fidl::encoding::Encode<
20223 DictionaryRouterDeprecatedRouteRequest,
20224 fidl::encoding::DefaultFuchsiaResourceDialect,
20225 > for &mut DictionaryRouterDeprecatedRouteRequest
20226 {
20227 #[inline]
20228 unsafe fn encode(
20229 self,
20230 encoder: &mut fidl::encoding::Encoder<
20231 '_,
20232 fidl::encoding::DefaultFuchsiaResourceDialect,
20233 >,
20234 offset: usize,
20235 _depth: fidl::encoding::Depth,
20236 ) -> fidl::Result<()> {
20237 encoder.debug_check_bounds::<DictionaryRouterDeprecatedRouteRequest>(offset);
20238 fidl::encoding::Encode::<DictionaryRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
20240 (
20241 <DeprecatedRouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.request),
20242 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dictionary_server_end),
20243 ),
20244 encoder, offset, _depth
20245 )
20246 }
20247 }
20248 unsafe impl<
20249 T0: fidl::encoding::Encode<
20250 DeprecatedRouteRequest,
20251 fidl::encoding::DefaultFuchsiaResourceDialect,
20252 >,
20253 T1: fidl::encoding::Encode<
20254 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
20255 fidl::encoding::DefaultFuchsiaResourceDialect,
20256 >,
20257 >
20258 fidl::encoding::Encode<
20259 DictionaryRouterDeprecatedRouteRequest,
20260 fidl::encoding::DefaultFuchsiaResourceDialect,
20261 > for (T0, T1)
20262 {
20263 #[inline]
20264 unsafe fn encode(
20265 self,
20266 encoder: &mut fidl::encoding::Encoder<
20267 '_,
20268 fidl::encoding::DefaultFuchsiaResourceDialect,
20269 >,
20270 offset: usize,
20271 depth: fidl::encoding::Depth,
20272 ) -> fidl::Result<()> {
20273 encoder.debug_check_bounds::<DictionaryRouterDeprecatedRouteRequest>(offset);
20274 unsafe {
20277 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
20278 (ptr as *mut u64).write_unaligned(0);
20279 }
20280 self.0.encode(encoder, offset + 0, depth)?;
20282 self.1.encode(encoder, offset + 16, depth)?;
20283 Ok(())
20284 }
20285 }
20286
20287 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20288 for DictionaryRouterDeprecatedRouteRequest
20289 {
20290 #[inline(always)]
20291 fn new_empty() -> Self {
20292 Self {
20293 request: fidl::new_empty!(
20294 DeprecatedRouteRequest,
20295 fidl::encoding::DefaultFuchsiaResourceDialect
20296 ),
20297 dictionary_server_end: fidl::new_empty!(
20298 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
20299 fidl::encoding::DefaultFuchsiaResourceDialect
20300 ),
20301 }
20302 }
20303
20304 #[inline]
20305 unsafe fn decode(
20306 &mut self,
20307 decoder: &mut fidl::encoding::Decoder<
20308 '_,
20309 fidl::encoding::DefaultFuchsiaResourceDialect,
20310 >,
20311 offset: usize,
20312 _depth: fidl::encoding::Depth,
20313 ) -> fidl::Result<()> {
20314 decoder.debug_check_bounds::<Self>(offset);
20315 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
20317 let padval = unsafe { (ptr as *const u64).read_unaligned() };
20318 let mask = 0xffffffff00000000u64;
20319 let maskedval = padval & mask;
20320 if maskedval != 0 {
20321 return Err(fidl::Error::NonZeroPadding {
20322 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
20323 });
20324 }
20325 fidl::decode!(
20326 DeprecatedRouteRequest,
20327 fidl::encoding::DefaultFuchsiaResourceDialect,
20328 &mut self.request,
20329 decoder,
20330 offset + 0,
20331 _depth
20332 )?;
20333 fidl::decode!(
20334 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
20335 fidl::encoding::DefaultFuchsiaResourceDialect,
20336 &mut self.dictionary_server_end,
20337 decoder,
20338 offset + 16,
20339 _depth
20340 )?;
20341 Ok(())
20342 }
20343 }
20344
20345 impl fidl::encoding::ResourceTypeMarker for DictionaryRouterDeprecatedRouteResponse {
20346 type Borrowed<'a> = &'a mut Self;
20347 fn take_or_borrow<'a>(
20348 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20349 ) -> Self::Borrowed<'a> {
20350 value
20351 }
20352 }
20353
20354 unsafe impl fidl::encoding::TypeMarker for DictionaryRouterDeprecatedRouteResponse {
20355 type Owned = Self;
20356
20357 #[inline(always)]
20358 fn inline_align(_context: fidl::encoding::Context) -> usize {
20359 4
20360 }
20361
20362 #[inline(always)]
20363 fn inline_size(_context: fidl::encoding::Context) -> usize {
20364 4
20365 }
20366 }
20367
20368 unsafe impl
20369 fidl::encoding::Encode<
20370 DictionaryRouterDeprecatedRouteResponse,
20371 fidl::encoding::DefaultFuchsiaResourceDialect,
20372 > for &mut DictionaryRouterDeprecatedRouteResponse
20373 {
20374 #[inline]
20375 unsafe fn encode(
20376 self,
20377 encoder: &mut fidl::encoding::Encoder<
20378 '_,
20379 fidl::encoding::DefaultFuchsiaResourceDialect,
20380 >,
20381 offset: usize,
20382 _depth: fidl::encoding::Depth,
20383 ) -> fidl::Result<()> {
20384 encoder.debug_check_bounds::<DictionaryRouterDeprecatedRouteResponse>(offset);
20385 fidl::encoding::Encode::<
20387 DictionaryRouterDeprecatedRouteResponse,
20388 fidl::encoding::DefaultFuchsiaResourceDialect,
20389 >::encode(
20390 (<RouterResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),),
20391 encoder,
20392 offset,
20393 _depth,
20394 )
20395 }
20396 }
20397 unsafe impl<
20398 T0: fidl::encoding::Encode<RouterResponse, fidl::encoding::DefaultFuchsiaResourceDialect>,
20399 >
20400 fidl::encoding::Encode<
20401 DictionaryRouterDeprecatedRouteResponse,
20402 fidl::encoding::DefaultFuchsiaResourceDialect,
20403 > for (T0,)
20404 {
20405 #[inline]
20406 unsafe fn encode(
20407 self,
20408 encoder: &mut fidl::encoding::Encoder<
20409 '_,
20410 fidl::encoding::DefaultFuchsiaResourceDialect,
20411 >,
20412 offset: usize,
20413 depth: fidl::encoding::Depth,
20414 ) -> fidl::Result<()> {
20415 encoder.debug_check_bounds::<DictionaryRouterDeprecatedRouteResponse>(offset);
20416 self.0.encode(encoder, offset + 0, depth)?;
20420 Ok(())
20421 }
20422 }
20423
20424 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20425 for DictionaryRouterDeprecatedRouteResponse
20426 {
20427 #[inline(always)]
20428 fn new_empty() -> Self {
20429 Self {
20430 response: fidl::new_empty!(
20431 RouterResponse,
20432 fidl::encoding::DefaultFuchsiaResourceDialect
20433 ),
20434 }
20435 }
20436
20437 #[inline]
20438 unsafe fn decode(
20439 &mut self,
20440 decoder: &mut fidl::encoding::Decoder<
20441 '_,
20442 fidl::encoding::DefaultFuchsiaResourceDialect,
20443 >,
20444 offset: usize,
20445 _depth: fidl::encoding::Depth,
20446 ) -> fidl::Result<()> {
20447 decoder.debug_check_bounds::<Self>(offset);
20448 fidl::decode!(
20450 RouterResponse,
20451 fidl::encoding::DefaultFuchsiaResourceDialect,
20452 &mut self.response,
20453 decoder,
20454 offset + 0,
20455 _depth
20456 )?;
20457 Ok(())
20458 }
20459 }
20460
20461 impl fidl::encoding::ResourceTypeMarker for DictionaryRouterRouteRequest {
20462 type Borrowed<'a> = &'a mut Self;
20463 fn take_or_borrow<'a>(
20464 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20465 ) -> Self::Borrowed<'a> {
20466 value
20467 }
20468 }
20469
20470 unsafe impl fidl::encoding::TypeMarker for DictionaryRouterRouteRequest {
20471 type Owned = Self;
20472
20473 #[inline(always)]
20474 fn inline_align(_context: fidl::encoding::Context) -> usize {
20475 8
20476 }
20477
20478 #[inline(always)]
20479 fn inline_size(_context: fidl::encoding::Context) -> usize {
20480 24
20481 }
20482 }
20483
20484 unsafe impl
20485 fidl::encoding::Encode<
20486 DictionaryRouterRouteRequest,
20487 fidl::encoding::DefaultFuchsiaResourceDialect,
20488 > for &mut DictionaryRouterRouteRequest
20489 {
20490 #[inline]
20491 unsafe fn encode(
20492 self,
20493 encoder: &mut fidl::encoding::Encoder<
20494 '_,
20495 fidl::encoding::DefaultFuchsiaResourceDialect,
20496 >,
20497 offset: usize,
20498 _depth: fidl::encoding::Depth,
20499 ) -> fidl::Result<()> {
20500 encoder.debug_check_bounds::<DictionaryRouterRouteRequest>(offset);
20501 fidl::encoding::Encode::<
20503 DictionaryRouterRouteRequest,
20504 fidl::encoding::DefaultFuchsiaResourceDialect,
20505 >::encode(
20506 (
20507 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
20508 &mut self.request,
20509 ),
20510 <fidl::encoding::HandleType<
20511 fidl::EventPair,
20512 { fidl::ObjectType::EVENTPAIR.into_raw() },
20513 2147483648,
20514 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
20515 &mut self.instance_token,
20516 ),
20517 <fidl::encoding::HandleType<
20518 fidl::EventPair,
20519 { fidl::ObjectType::EVENTPAIR.into_raw() },
20520 2147483648,
20521 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
20522 &mut self.handle
20523 ),
20524 ),
20525 encoder,
20526 offset,
20527 _depth,
20528 )
20529 }
20530 }
20531 unsafe impl<
20532 T0: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
20533 T1: fidl::encoding::Encode<
20534 fidl::encoding::HandleType<
20535 fidl::EventPair,
20536 { fidl::ObjectType::EVENTPAIR.into_raw() },
20537 2147483648,
20538 >,
20539 fidl::encoding::DefaultFuchsiaResourceDialect,
20540 >,
20541 T2: fidl::encoding::Encode<
20542 fidl::encoding::HandleType<
20543 fidl::EventPair,
20544 { fidl::ObjectType::EVENTPAIR.into_raw() },
20545 2147483648,
20546 >,
20547 fidl::encoding::DefaultFuchsiaResourceDialect,
20548 >,
20549 >
20550 fidl::encoding::Encode<
20551 DictionaryRouterRouteRequest,
20552 fidl::encoding::DefaultFuchsiaResourceDialect,
20553 > for (T0, T1, T2)
20554 {
20555 #[inline]
20556 unsafe fn encode(
20557 self,
20558 encoder: &mut fidl::encoding::Encoder<
20559 '_,
20560 fidl::encoding::DefaultFuchsiaResourceDialect,
20561 >,
20562 offset: usize,
20563 depth: fidl::encoding::Depth,
20564 ) -> fidl::Result<()> {
20565 encoder.debug_check_bounds::<DictionaryRouterRouteRequest>(offset);
20566 self.0.encode(encoder, offset + 0, depth)?;
20570 self.1.encode(encoder, offset + 16, depth)?;
20571 self.2.encode(encoder, offset + 20, depth)?;
20572 Ok(())
20573 }
20574 }
20575
20576 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20577 for DictionaryRouterRouteRequest
20578 {
20579 #[inline(always)]
20580 fn new_empty() -> Self {
20581 Self {
20582 request: fidl::new_empty!(
20583 RouteRequest,
20584 fidl::encoding::DefaultFuchsiaResourceDialect
20585 ),
20586 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
20587 handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
20588 }
20589 }
20590
20591 #[inline]
20592 unsafe fn decode(
20593 &mut self,
20594 decoder: &mut fidl::encoding::Decoder<
20595 '_,
20596 fidl::encoding::DefaultFuchsiaResourceDialect,
20597 >,
20598 offset: usize,
20599 _depth: fidl::encoding::Depth,
20600 ) -> fidl::Result<()> {
20601 decoder.debug_check_bounds::<Self>(offset);
20602 fidl::decode!(
20604 RouteRequest,
20605 fidl::encoding::DefaultFuchsiaResourceDialect,
20606 &mut self.request,
20607 decoder,
20608 offset + 0,
20609 _depth
20610 )?;
20611 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 16, _depth)?;
20612 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle, decoder, offset + 20, _depth)?;
20613 Ok(())
20614 }
20615 }
20616
20617 impl fidl::encoding::ResourceTypeMarker for DictionaryGetResponse {
20618 type Borrowed<'a> = &'a mut Self;
20619 fn take_or_borrow<'a>(
20620 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20621 ) -> Self::Borrowed<'a> {
20622 value
20623 }
20624 }
20625
20626 unsafe impl fidl::encoding::TypeMarker for DictionaryGetResponse {
20627 type Owned = Self;
20628
20629 #[inline(always)]
20630 fn inline_align(_context: fidl::encoding::Context) -> usize {
20631 8
20632 }
20633
20634 #[inline(always)]
20635 fn inline_size(_context: fidl::encoding::Context) -> usize {
20636 16
20637 }
20638 }
20639
20640 unsafe impl
20641 fidl::encoding::Encode<DictionaryGetResponse, fidl::encoding::DefaultFuchsiaResourceDialect>
20642 for &mut DictionaryGetResponse
20643 {
20644 #[inline]
20645 unsafe fn encode(
20646 self,
20647 encoder: &mut fidl::encoding::Encoder<
20648 '_,
20649 fidl::encoding::DefaultFuchsiaResourceDialect,
20650 >,
20651 offset: usize,
20652 _depth: fidl::encoding::Depth,
20653 ) -> fidl::Result<()> {
20654 encoder.debug_check_bounds::<DictionaryGetResponse>(offset);
20655 fidl::encoding::Encode::<DictionaryGetResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
20657 (
20658 <fidl::encoding::OptionalUnion<CapabilityDeprecated> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.capability),
20659 ),
20660 encoder, offset, _depth
20661 )
20662 }
20663 }
20664 unsafe impl<
20665 T0: fidl::encoding::Encode<
20666 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20667 fidl::encoding::DefaultFuchsiaResourceDialect,
20668 >,
20669 >
20670 fidl::encoding::Encode<DictionaryGetResponse, fidl::encoding::DefaultFuchsiaResourceDialect>
20671 for (T0,)
20672 {
20673 #[inline]
20674 unsafe fn encode(
20675 self,
20676 encoder: &mut fidl::encoding::Encoder<
20677 '_,
20678 fidl::encoding::DefaultFuchsiaResourceDialect,
20679 >,
20680 offset: usize,
20681 depth: fidl::encoding::Depth,
20682 ) -> fidl::Result<()> {
20683 encoder.debug_check_bounds::<DictionaryGetResponse>(offset);
20684 self.0.encode(encoder, offset + 0, depth)?;
20688 Ok(())
20689 }
20690 }
20691
20692 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20693 for DictionaryGetResponse
20694 {
20695 #[inline(always)]
20696 fn new_empty() -> Self {
20697 Self {
20698 capability: fidl::new_empty!(
20699 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20700 fidl::encoding::DefaultFuchsiaResourceDialect
20701 ),
20702 }
20703 }
20704
20705 #[inline]
20706 unsafe fn decode(
20707 &mut self,
20708 decoder: &mut fidl::encoding::Decoder<
20709 '_,
20710 fidl::encoding::DefaultFuchsiaResourceDialect,
20711 >,
20712 offset: usize,
20713 _depth: fidl::encoding::Depth,
20714 ) -> fidl::Result<()> {
20715 decoder.debug_check_bounds::<Self>(offset);
20716 fidl::decode!(
20718 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20719 fidl::encoding::DefaultFuchsiaResourceDialect,
20720 &mut self.capability,
20721 decoder,
20722 offset + 0,
20723 _depth
20724 )?;
20725 Ok(())
20726 }
20727 }
20728
20729 impl fidl::encoding::ResourceTypeMarker for DictionaryLegacyExportResponse {
20730 type Borrowed<'a> = &'a mut Self;
20731 fn take_or_borrow<'a>(
20732 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20733 ) -> Self::Borrowed<'a> {
20734 value
20735 }
20736 }
20737
20738 unsafe impl fidl::encoding::TypeMarker for DictionaryLegacyExportResponse {
20739 type Owned = Self;
20740
20741 #[inline(always)]
20742 fn inline_align(_context: fidl::encoding::Context) -> usize {
20743 4
20744 }
20745
20746 #[inline(always)]
20747 fn inline_size(_context: fidl::encoding::Context) -> usize {
20748 4
20749 }
20750 }
20751
20752 unsafe impl
20753 fidl::encoding::Encode<
20754 DictionaryLegacyExportResponse,
20755 fidl::encoding::DefaultFuchsiaResourceDialect,
20756 > for &mut DictionaryLegacyExportResponse
20757 {
20758 #[inline]
20759 unsafe fn encode(
20760 self,
20761 encoder: &mut fidl::encoding::Encoder<
20762 '_,
20763 fidl::encoding::DefaultFuchsiaResourceDialect,
20764 >,
20765 offset: usize,
20766 _depth: fidl::encoding::Depth,
20767 ) -> fidl::Result<()> {
20768 encoder.debug_check_bounds::<DictionaryLegacyExportResponse>(offset);
20769 fidl::encoding::Encode::<DictionaryLegacyExportResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
20771 (
20772 <fidl_fuchsia_component_sandbox::DictionaryRef as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dictionary_ref),
20773 ),
20774 encoder, offset, _depth
20775 )
20776 }
20777 }
20778 unsafe impl<
20779 T0: fidl::encoding::Encode<
20780 fidl_fuchsia_component_sandbox::DictionaryRef,
20781 fidl::encoding::DefaultFuchsiaResourceDialect,
20782 >,
20783 >
20784 fidl::encoding::Encode<
20785 DictionaryLegacyExportResponse,
20786 fidl::encoding::DefaultFuchsiaResourceDialect,
20787 > for (T0,)
20788 {
20789 #[inline]
20790 unsafe fn encode(
20791 self,
20792 encoder: &mut fidl::encoding::Encoder<
20793 '_,
20794 fidl::encoding::DefaultFuchsiaResourceDialect,
20795 >,
20796 offset: usize,
20797 depth: fidl::encoding::Depth,
20798 ) -> fidl::Result<()> {
20799 encoder.debug_check_bounds::<DictionaryLegacyExportResponse>(offset);
20800 self.0.encode(encoder, offset + 0, depth)?;
20804 Ok(())
20805 }
20806 }
20807
20808 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20809 for DictionaryLegacyExportResponse
20810 {
20811 #[inline(always)]
20812 fn new_empty() -> Self {
20813 Self {
20814 dictionary_ref: fidl::new_empty!(
20815 fidl_fuchsia_component_sandbox::DictionaryRef,
20816 fidl::encoding::DefaultFuchsiaResourceDialect
20817 ),
20818 }
20819 }
20820
20821 #[inline]
20822 unsafe fn decode(
20823 &mut self,
20824 decoder: &mut fidl::encoding::Decoder<
20825 '_,
20826 fidl::encoding::DefaultFuchsiaResourceDialect,
20827 >,
20828 offset: usize,
20829 _depth: fidl::encoding::Depth,
20830 ) -> fidl::Result<()> {
20831 decoder.debug_check_bounds::<Self>(offset);
20832 fidl::decode!(
20834 fidl_fuchsia_component_sandbox::DictionaryRef,
20835 fidl::encoding::DefaultFuchsiaResourceDialect,
20836 &mut self.dictionary_ref,
20837 decoder,
20838 offset + 0,
20839 _depth
20840 )?;
20841 Ok(())
20842 }
20843 }
20844
20845 impl fidl::encoding::ResourceTypeMarker for DictionaryRemoveResponse {
20846 type Borrowed<'a> = &'a mut Self;
20847 fn take_or_borrow<'a>(
20848 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20849 ) -> Self::Borrowed<'a> {
20850 value
20851 }
20852 }
20853
20854 unsafe impl fidl::encoding::TypeMarker for DictionaryRemoveResponse {
20855 type Owned = Self;
20856
20857 #[inline(always)]
20858 fn inline_align(_context: fidl::encoding::Context) -> usize {
20859 8
20860 }
20861
20862 #[inline(always)]
20863 fn inline_size(_context: fidl::encoding::Context) -> usize {
20864 16
20865 }
20866 }
20867
20868 unsafe impl
20869 fidl::encoding::Encode<
20870 DictionaryRemoveResponse,
20871 fidl::encoding::DefaultFuchsiaResourceDialect,
20872 > for &mut DictionaryRemoveResponse
20873 {
20874 #[inline]
20875 unsafe fn encode(
20876 self,
20877 encoder: &mut fidl::encoding::Encoder<
20878 '_,
20879 fidl::encoding::DefaultFuchsiaResourceDialect,
20880 >,
20881 offset: usize,
20882 _depth: fidl::encoding::Depth,
20883 ) -> fidl::Result<()> {
20884 encoder.debug_check_bounds::<DictionaryRemoveResponse>(offset);
20885 fidl::encoding::Encode::<DictionaryRemoveResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
20887 (
20888 <fidl::encoding::OptionalUnion<CapabilityDeprecated> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.capability),
20889 ),
20890 encoder, offset, _depth
20891 )
20892 }
20893 }
20894 unsafe impl<
20895 T0: fidl::encoding::Encode<
20896 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20897 fidl::encoding::DefaultFuchsiaResourceDialect,
20898 >,
20899 >
20900 fidl::encoding::Encode<
20901 DictionaryRemoveResponse,
20902 fidl::encoding::DefaultFuchsiaResourceDialect,
20903 > for (T0,)
20904 {
20905 #[inline]
20906 unsafe fn encode(
20907 self,
20908 encoder: &mut fidl::encoding::Encoder<
20909 '_,
20910 fidl::encoding::DefaultFuchsiaResourceDialect,
20911 >,
20912 offset: usize,
20913 depth: fidl::encoding::Depth,
20914 ) -> fidl::Result<()> {
20915 encoder.debug_check_bounds::<DictionaryRemoveResponse>(offset);
20916 self.0.encode(encoder, offset + 0, depth)?;
20920 Ok(())
20921 }
20922 }
20923
20924 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20925 for DictionaryRemoveResponse
20926 {
20927 #[inline(always)]
20928 fn new_empty() -> Self {
20929 Self {
20930 capability: fidl::new_empty!(
20931 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20932 fidl::encoding::DefaultFuchsiaResourceDialect
20933 ),
20934 }
20935 }
20936
20937 #[inline]
20938 unsafe fn decode(
20939 &mut self,
20940 decoder: &mut fidl::encoding::Decoder<
20941 '_,
20942 fidl::encoding::DefaultFuchsiaResourceDialect,
20943 >,
20944 offset: usize,
20945 _depth: fidl::encoding::Depth,
20946 ) -> fidl::Result<()> {
20947 decoder.debug_check_bounds::<Self>(offset);
20948 fidl::decode!(
20950 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20951 fidl::encoding::DefaultFuchsiaResourceDialect,
20952 &mut self.capability,
20953 decoder,
20954 offset + 0,
20955 _depth
20956 )?;
20957 Ok(())
20958 }
20959 }
20960
20961 impl fidl::encoding::ResourceTypeMarker for DirConnectorConnectRequest {
20962 type Borrowed<'a> = &'a mut Self;
20963 fn take_or_borrow<'a>(
20964 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20965 ) -> Self::Borrowed<'a> {
20966 value
20967 }
20968 }
20969
20970 unsafe impl fidl::encoding::TypeMarker for DirConnectorConnectRequest {
20971 type Owned = Self;
20972
20973 #[inline(always)]
20974 fn inline_align(_context: fidl::encoding::Context) -> usize {
20975 4
20976 }
20977
20978 #[inline(always)]
20979 fn inline_size(_context: fidl::encoding::Context) -> usize {
20980 4
20981 }
20982 }
20983
20984 unsafe impl
20985 fidl::encoding::Encode<
20986 DirConnectorConnectRequest,
20987 fidl::encoding::DefaultFuchsiaResourceDialect,
20988 > for &mut DirConnectorConnectRequest
20989 {
20990 #[inline]
20991 unsafe fn encode(
20992 self,
20993 encoder: &mut fidl::encoding::Encoder<
20994 '_,
20995 fidl::encoding::DefaultFuchsiaResourceDialect,
20996 >,
20997 offset: usize,
20998 _depth: fidl::encoding::Depth,
20999 ) -> fidl::Result<()> {
21000 encoder.debug_check_bounds::<DirConnectorConnectRequest>(offset);
21001 fidl::encoding::Encode::<
21003 DirConnectorConnectRequest,
21004 fidl::encoding::DefaultFuchsiaResourceDialect,
21005 >::encode(
21006 (<fidl::encoding::Endpoint<
21007 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21008 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21009 &mut self.channel
21010 ),),
21011 encoder,
21012 offset,
21013 _depth,
21014 )
21015 }
21016 }
21017 unsafe impl<
21018 T0: fidl::encoding::Encode<
21019 fidl::encoding::Endpoint<
21020 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21021 >,
21022 fidl::encoding::DefaultFuchsiaResourceDialect,
21023 >,
21024 >
21025 fidl::encoding::Encode<
21026 DirConnectorConnectRequest,
21027 fidl::encoding::DefaultFuchsiaResourceDialect,
21028 > for (T0,)
21029 {
21030 #[inline]
21031 unsafe fn encode(
21032 self,
21033 encoder: &mut fidl::encoding::Encoder<
21034 '_,
21035 fidl::encoding::DefaultFuchsiaResourceDialect,
21036 >,
21037 offset: usize,
21038 depth: fidl::encoding::Depth,
21039 ) -> fidl::Result<()> {
21040 encoder.debug_check_bounds::<DirConnectorConnectRequest>(offset);
21041 self.0.encode(encoder, offset + 0, depth)?;
21045 Ok(())
21046 }
21047 }
21048
21049 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21050 for DirConnectorConnectRequest
21051 {
21052 #[inline(always)]
21053 fn new_empty() -> Self {
21054 Self {
21055 channel: fidl::new_empty!(
21056 fidl::encoding::Endpoint<
21057 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21058 >,
21059 fidl::encoding::DefaultFuchsiaResourceDialect
21060 ),
21061 }
21062 }
21063
21064 #[inline]
21065 unsafe fn decode(
21066 &mut self,
21067 decoder: &mut fidl::encoding::Decoder<
21068 '_,
21069 fidl::encoding::DefaultFuchsiaResourceDialect,
21070 >,
21071 offset: usize,
21072 _depth: fidl::encoding::Depth,
21073 ) -> fidl::Result<()> {
21074 decoder.debug_check_bounds::<Self>(offset);
21075 fidl::decode!(
21077 fidl::encoding::Endpoint<
21078 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21079 >,
21080 fidl::encoding::DefaultFuchsiaResourceDialect,
21081 &mut self.channel,
21082 decoder,
21083 offset + 0,
21084 _depth
21085 )?;
21086 Ok(())
21087 }
21088 }
21089
21090 impl fidl::encoding::ResourceTypeMarker for DirConnectorRouterDeprecatedRouteRequest {
21091 type Borrowed<'a> = &'a mut Self;
21092 fn take_or_borrow<'a>(
21093 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21094 ) -> Self::Borrowed<'a> {
21095 value
21096 }
21097 }
21098
21099 unsafe impl fidl::encoding::TypeMarker for DirConnectorRouterDeprecatedRouteRequest {
21100 type Owned = Self;
21101
21102 #[inline(always)]
21103 fn inline_align(_context: fidl::encoding::Context) -> usize {
21104 8
21105 }
21106
21107 #[inline(always)]
21108 fn inline_size(_context: fidl::encoding::Context) -> usize {
21109 24
21110 }
21111 }
21112
21113 unsafe impl
21114 fidl::encoding::Encode<
21115 DirConnectorRouterDeprecatedRouteRequest,
21116 fidl::encoding::DefaultFuchsiaResourceDialect,
21117 > for &mut DirConnectorRouterDeprecatedRouteRequest
21118 {
21119 #[inline]
21120 unsafe fn encode(
21121 self,
21122 encoder: &mut fidl::encoding::Encoder<
21123 '_,
21124 fidl::encoding::DefaultFuchsiaResourceDialect,
21125 >,
21126 offset: usize,
21127 _depth: fidl::encoding::Depth,
21128 ) -> fidl::Result<()> {
21129 encoder.debug_check_bounds::<DirConnectorRouterDeprecatedRouteRequest>(offset);
21130 fidl::encoding::Encode::<DirConnectorRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
21132 (
21133 <DeprecatedRouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.request),
21134 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dir_connector_server_end),
21135 ),
21136 encoder, offset, _depth
21137 )
21138 }
21139 }
21140 unsafe impl<
21141 T0: fidl::encoding::Encode<
21142 DeprecatedRouteRequest,
21143 fidl::encoding::DefaultFuchsiaResourceDialect,
21144 >,
21145 T1: fidl::encoding::Encode<
21146 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
21147 fidl::encoding::DefaultFuchsiaResourceDialect,
21148 >,
21149 >
21150 fidl::encoding::Encode<
21151 DirConnectorRouterDeprecatedRouteRequest,
21152 fidl::encoding::DefaultFuchsiaResourceDialect,
21153 > for (T0, T1)
21154 {
21155 #[inline]
21156 unsafe fn encode(
21157 self,
21158 encoder: &mut fidl::encoding::Encoder<
21159 '_,
21160 fidl::encoding::DefaultFuchsiaResourceDialect,
21161 >,
21162 offset: usize,
21163 depth: fidl::encoding::Depth,
21164 ) -> fidl::Result<()> {
21165 encoder.debug_check_bounds::<DirConnectorRouterDeprecatedRouteRequest>(offset);
21166 unsafe {
21169 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
21170 (ptr as *mut u64).write_unaligned(0);
21171 }
21172 self.0.encode(encoder, offset + 0, depth)?;
21174 self.1.encode(encoder, offset + 16, depth)?;
21175 Ok(())
21176 }
21177 }
21178
21179 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21180 for DirConnectorRouterDeprecatedRouteRequest
21181 {
21182 #[inline(always)]
21183 fn new_empty() -> Self {
21184 Self {
21185 request: fidl::new_empty!(
21186 DeprecatedRouteRequest,
21187 fidl::encoding::DefaultFuchsiaResourceDialect
21188 ),
21189 dir_connector_server_end: fidl::new_empty!(
21190 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
21191 fidl::encoding::DefaultFuchsiaResourceDialect
21192 ),
21193 }
21194 }
21195
21196 #[inline]
21197 unsafe fn decode(
21198 &mut self,
21199 decoder: &mut fidl::encoding::Decoder<
21200 '_,
21201 fidl::encoding::DefaultFuchsiaResourceDialect,
21202 >,
21203 offset: usize,
21204 _depth: fidl::encoding::Depth,
21205 ) -> fidl::Result<()> {
21206 decoder.debug_check_bounds::<Self>(offset);
21207 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
21209 let padval = unsafe { (ptr as *const u64).read_unaligned() };
21210 let mask = 0xffffffff00000000u64;
21211 let maskedval = padval & mask;
21212 if maskedval != 0 {
21213 return Err(fidl::Error::NonZeroPadding {
21214 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
21215 });
21216 }
21217 fidl::decode!(
21218 DeprecatedRouteRequest,
21219 fidl::encoding::DefaultFuchsiaResourceDialect,
21220 &mut self.request,
21221 decoder,
21222 offset + 0,
21223 _depth
21224 )?;
21225 fidl::decode!(
21226 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
21227 fidl::encoding::DefaultFuchsiaResourceDialect,
21228 &mut self.dir_connector_server_end,
21229 decoder,
21230 offset + 16,
21231 _depth
21232 )?;
21233 Ok(())
21234 }
21235 }
21236
21237 impl fidl::encoding::ResourceTypeMarker for DirConnectorRouterDeprecatedRouteResponse {
21238 type Borrowed<'a> = &'a mut Self;
21239 fn take_or_borrow<'a>(
21240 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21241 ) -> Self::Borrowed<'a> {
21242 value
21243 }
21244 }
21245
21246 unsafe impl fidl::encoding::TypeMarker for DirConnectorRouterDeprecatedRouteResponse {
21247 type Owned = Self;
21248
21249 #[inline(always)]
21250 fn inline_align(_context: fidl::encoding::Context) -> usize {
21251 4
21252 }
21253
21254 #[inline(always)]
21255 fn inline_size(_context: fidl::encoding::Context) -> usize {
21256 4
21257 }
21258 }
21259
21260 unsafe impl
21261 fidl::encoding::Encode<
21262 DirConnectorRouterDeprecatedRouteResponse,
21263 fidl::encoding::DefaultFuchsiaResourceDialect,
21264 > for &mut DirConnectorRouterDeprecatedRouteResponse
21265 {
21266 #[inline]
21267 unsafe fn encode(
21268 self,
21269 encoder: &mut fidl::encoding::Encoder<
21270 '_,
21271 fidl::encoding::DefaultFuchsiaResourceDialect,
21272 >,
21273 offset: usize,
21274 _depth: fidl::encoding::Depth,
21275 ) -> fidl::Result<()> {
21276 encoder.debug_check_bounds::<DirConnectorRouterDeprecatedRouteResponse>(offset);
21277 fidl::encoding::Encode::<
21279 DirConnectorRouterDeprecatedRouteResponse,
21280 fidl::encoding::DefaultFuchsiaResourceDialect,
21281 >::encode(
21282 (<RouterResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),),
21283 encoder,
21284 offset,
21285 _depth,
21286 )
21287 }
21288 }
21289 unsafe impl<
21290 T0: fidl::encoding::Encode<RouterResponse, fidl::encoding::DefaultFuchsiaResourceDialect>,
21291 >
21292 fidl::encoding::Encode<
21293 DirConnectorRouterDeprecatedRouteResponse,
21294 fidl::encoding::DefaultFuchsiaResourceDialect,
21295 > for (T0,)
21296 {
21297 #[inline]
21298 unsafe fn encode(
21299 self,
21300 encoder: &mut fidl::encoding::Encoder<
21301 '_,
21302 fidl::encoding::DefaultFuchsiaResourceDialect,
21303 >,
21304 offset: usize,
21305 depth: fidl::encoding::Depth,
21306 ) -> fidl::Result<()> {
21307 encoder.debug_check_bounds::<DirConnectorRouterDeprecatedRouteResponse>(offset);
21308 self.0.encode(encoder, offset + 0, depth)?;
21312 Ok(())
21313 }
21314 }
21315
21316 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21317 for DirConnectorRouterDeprecatedRouteResponse
21318 {
21319 #[inline(always)]
21320 fn new_empty() -> Self {
21321 Self {
21322 response: fidl::new_empty!(
21323 RouterResponse,
21324 fidl::encoding::DefaultFuchsiaResourceDialect
21325 ),
21326 }
21327 }
21328
21329 #[inline]
21330 unsafe fn decode(
21331 &mut self,
21332 decoder: &mut fidl::encoding::Decoder<
21333 '_,
21334 fidl::encoding::DefaultFuchsiaResourceDialect,
21335 >,
21336 offset: usize,
21337 _depth: fidl::encoding::Depth,
21338 ) -> fidl::Result<()> {
21339 decoder.debug_check_bounds::<Self>(offset);
21340 fidl::decode!(
21342 RouterResponse,
21343 fidl::encoding::DefaultFuchsiaResourceDialect,
21344 &mut self.response,
21345 decoder,
21346 offset + 0,
21347 _depth
21348 )?;
21349 Ok(())
21350 }
21351 }
21352
21353 impl fidl::encoding::ResourceTypeMarker for DirConnectorRouterRouteRequest {
21354 type Borrowed<'a> = &'a mut Self;
21355 fn take_or_borrow<'a>(
21356 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21357 ) -> Self::Borrowed<'a> {
21358 value
21359 }
21360 }
21361
21362 unsafe impl fidl::encoding::TypeMarker for DirConnectorRouterRouteRequest {
21363 type Owned = Self;
21364
21365 #[inline(always)]
21366 fn inline_align(_context: fidl::encoding::Context) -> usize {
21367 8
21368 }
21369
21370 #[inline(always)]
21371 fn inline_size(_context: fidl::encoding::Context) -> usize {
21372 24
21373 }
21374 }
21375
21376 unsafe impl
21377 fidl::encoding::Encode<
21378 DirConnectorRouterRouteRequest,
21379 fidl::encoding::DefaultFuchsiaResourceDialect,
21380 > for &mut DirConnectorRouterRouteRequest
21381 {
21382 #[inline]
21383 unsafe fn encode(
21384 self,
21385 encoder: &mut fidl::encoding::Encoder<
21386 '_,
21387 fidl::encoding::DefaultFuchsiaResourceDialect,
21388 >,
21389 offset: usize,
21390 _depth: fidl::encoding::Depth,
21391 ) -> fidl::Result<()> {
21392 encoder.debug_check_bounds::<DirConnectorRouterRouteRequest>(offset);
21393 fidl::encoding::Encode::<
21395 DirConnectorRouterRouteRequest,
21396 fidl::encoding::DefaultFuchsiaResourceDialect,
21397 >::encode(
21398 (
21399 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21400 &mut self.request,
21401 ),
21402 <fidl::encoding::HandleType<
21403 fidl::EventPair,
21404 { fidl::ObjectType::EVENTPAIR.into_raw() },
21405 2147483648,
21406 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21407 &mut self.instance_token,
21408 ),
21409 <fidl::encoding::HandleType<
21410 fidl::EventPair,
21411 { fidl::ObjectType::EVENTPAIR.into_raw() },
21412 2147483648,
21413 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21414 &mut self.handle
21415 ),
21416 ),
21417 encoder,
21418 offset,
21419 _depth,
21420 )
21421 }
21422 }
21423 unsafe impl<
21424 T0: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
21425 T1: fidl::encoding::Encode<
21426 fidl::encoding::HandleType<
21427 fidl::EventPair,
21428 { fidl::ObjectType::EVENTPAIR.into_raw() },
21429 2147483648,
21430 >,
21431 fidl::encoding::DefaultFuchsiaResourceDialect,
21432 >,
21433 T2: fidl::encoding::Encode<
21434 fidl::encoding::HandleType<
21435 fidl::EventPair,
21436 { fidl::ObjectType::EVENTPAIR.into_raw() },
21437 2147483648,
21438 >,
21439 fidl::encoding::DefaultFuchsiaResourceDialect,
21440 >,
21441 >
21442 fidl::encoding::Encode<
21443 DirConnectorRouterRouteRequest,
21444 fidl::encoding::DefaultFuchsiaResourceDialect,
21445 > for (T0, T1, T2)
21446 {
21447 #[inline]
21448 unsafe fn encode(
21449 self,
21450 encoder: &mut fidl::encoding::Encoder<
21451 '_,
21452 fidl::encoding::DefaultFuchsiaResourceDialect,
21453 >,
21454 offset: usize,
21455 depth: fidl::encoding::Depth,
21456 ) -> fidl::Result<()> {
21457 encoder.debug_check_bounds::<DirConnectorRouterRouteRequest>(offset);
21458 self.0.encode(encoder, offset + 0, depth)?;
21462 self.1.encode(encoder, offset + 16, depth)?;
21463 self.2.encode(encoder, offset + 20, depth)?;
21464 Ok(())
21465 }
21466 }
21467
21468 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21469 for DirConnectorRouterRouteRequest
21470 {
21471 #[inline(always)]
21472 fn new_empty() -> Self {
21473 Self {
21474 request: fidl::new_empty!(
21475 RouteRequest,
21476 fidl::encoding::DefaultFuchsiaResourceDialect
21477 ),
21478 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
21479 handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
21480 }
21481 }
21482
21483 #[inline]
21484 unsafe fn decode(
21485 &mut self,
21486 decoder: &mut fidl::encoding::Decoder<
21487 '_,
21488 fidl::encoding::DefaultFuchsiaResourceDialect,
21489 >,
21490 offset: usize,
21491 _depth: fidl::encoding::Depth,
21492 ) -> fidl::Result<()> {
21493 decoder.debug_check_bounds::<Self>(offset);
21494 fidl::decode!(
21496 RouteRequest,
21497 fidl::encoding::DefaultFuchsiaResourceDialect,
21498 &mut self.request,
21499 decoder,
21500 offset + 0,
21501 _depth
21502 )?;
21503 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 16, _depth)?;
21504 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle, decoder, offset + 20, _depth)?;
21505 Ok(())
21506 }
21507 }
21508
21509 impl fidl::encoding::ResourceTypeMarker for DirReceiverDeprecatedReceiveRequest {
21510 type Borrowed<'a> = &'a mut Self;
21511 fn take_or_borrow<'a>(
21512 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21513 ) -> Self::Borrowed<'a> {
21514 value
21515 }
21516 }
21517
21518 unsafe impl fidl::encoding::TypeMarker for DirReceiverDeprecatedReceiveRequest {
21519 type Owned = Self;
21520
21521 #[inline(always)]
21522 fn inline_align(_context: fidl::encoding::Context) -> usize {
21523 4
21524 }
21525
21526 #[inline(always)]
21527 fn inline_size(_context: fidl::encoding::Context) -> usize {
21528 4
21529 }
21530 }
21531
21532 unsafe impl
21533 fidl::encoding::Encode<
21534 DirReceiverDeprecatedReceiveRequest,
21535 fidl::encoding::DefaultFuchsiaResourceDialect,
21536 > for &mut DirReceiverDeprecatedReceiveRequest
21537 {
21538 #[inline]
21539 unsafe fn encode(
21540 self,
21541 encoder: &mut fidl::encoding::Encoder<
21542 '_,
21543 fidl::encoding::DefaultFuchsiaResourceDialect,
21544 >,
21545 offset: usize,
21546 _depth: fidl::encoding::Depth,
21547 ) -> fidl::Result<()> {
21548 encoder.debug_check_bounds::<DirReceiverDeprecatedReceiveRequest>(offset);
21549 fidl::encoding::Encode::<
21551 DirReceiverDeprecatedReceiveRequest,
21552 fidl::encoding::DefaultFuchsiaResourceDialect,
21553 >::encode(
21554 (<fidl::encoding::Endpoint<
21555 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21556 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21557 &mut self.channel
21558 ),),
21559 encoder,
21560 offset,
21561 _depth,
21562 )
21563 }
21564 }
21565 unsafe impl<
21566 T0: fidl::encoding::Encode<
21567 fidl::encoding::Endpoint<
21568 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21569 >,
21570 fidl::encoding::DefaultFuchsiaResourceDialect,
21571 >,
21572 >
21573 fidl::encoding::Encode<
21574 DirReceiverDeprecatedReceiveRequest,
21575 fidl::encoding::DefaultFuchsiaResourceDialect,
21576 > for (T0,)
21577 {
21578 #[inline]
21579 unsafe fn encode(
21580 self,
21581 encoder: &mut fidl::encoding::Encoder<
21582 '_,
21583 fidl::encoding::DefaultFuchsiaResourceDialect,
21584 >,
21585 offset: usize,
21586 depth: fidl::encoding::Depth,
21587 ) -> fidl::Result<()> {
21588 encoder.debug_check_bounds::<DirReceiverDeprecatedReceiveRequest>(offset);
21589 self.0.encode(encoder, offset + 0, depth)?;
21593 Ok(())
21594 }
21595 }
21596
21597 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21598 for DirReceiverDeprecatedReceiveRequest
21599 {
21600 #[inline(always)]
21601 fn new_empty() -> Self {
21602 Self {
21603 channel: fidl::new_empty!(
21604 fidl::encoding::Endpoint<
21605 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21606 >,
21607 fidl::encoding::DefaultFuchsiaResourceDialect
21608 ),
21609 }
21610 }
21611
21612 #[inline]
21613 unsafe fn decode(
21614 &mut self,
21615 decoder: &mut fidl::encoding::Decoder<
21616 '_,
21617 fidl::encoding::DefaultFuchsiaResourceDialect,
21618 >,
21619 offset: usize,
21620 _depth: fidl::encoding::Depth,
21621 ) -> fidl::Result<()> {
21622 decoder.debug_check_bounds::<Self>(offset);
21623 fidl::decode!(
21625 fidl::encoding::Endpoint<
21626 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21627 >,
21628 fidl::encoding::DefaultFuchsiaResourceDialect,
21629 &mut self.channel,
21630 decoder,
21631 offset + 0,
21632 _depth
21633 )?;
21634 Ok(())
21635 }
21636 }
21637
21638 impl fidl::encoding::ResourceTypeMarker for DirReceiverReceiveRequest {
21639 type Borrowed<'a> = &'a mut Self;
21640 fn take_or_borrow<'a>(
21641 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21642 ) -> Self::Borrowed<'a> {
21643 value
21644 }
21645 }
21646
21647 unsafe impl fidl::encoding::TypeMarker for DirReceiverReceiveRequest {
21648 type Owned = Self;
21649
21650 #[inline(always)]
21651 fn inline_align(_context: fidl::encoding::Context) -> usize {
21652 8
21653 }
21654
21655 #[inline(always)]
21656 fn inline_size(_context: fidl::encoding::Context) -> usize {
21657 32
21658 }
21659 }
21660
21661 unsafe impl
21662 fidl::encoding::Encode<
21663 DirReceiverReceiveRequest,
21664 fidl::encoding::DefaultFuchsiaResourceDialect,
21665 > for &mut DirReceiverReceiveRequest
21666 {
21667 #[inline]
21668 unsafe fn encode(
21669 self,
21670 encoder: &mut fidl::encoding::Encoder<
21671 '_,
21672 fidl::encoding::DefaultFuchsiaResourceDialect,
21673 >,
21674 offset: usize,
21675 _depth: fidl::encoding::Depth,
21676 ) -> fidl::Result<()> {
21677 encoder.debug_check_bounds::<DirReceiverReceiveRequest>(offset);
21678 fidl::encoding::Encode::<DirReceiverReceiveRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
21680 (
21681 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.channel),
21682 <fidl::encoding::BoundedString<4095> as fidl::encoding::ValueTypeMarker>::borrow(&self.path),
21683 <fidl_fuchsia_io::Flags as fidl::encoding::ValueTypeMarker>::borrow(&self.rights),
21684 ),
21685 encoder, offset, _depth
21686 )
21687 }
21688 }
21689 unsafe impl<
21690 T0: fidl::encoding::Encode<
21691 fidl::encoding::Endpoint<
21692 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21693 >,
21694 fidl::encoding::DefaultFuchsiaResourceDialect,
21695 >,
21696 T1: fidl::encoding::Encode<
21697 fidl::encoding::BoundedString<4095>,
21698 fidl::encoding::DefaultFuchsiaResourceDialect,
21699 >,
21700 T2: fidl::encoding::Encode<
21701 fidl_fuchsia_io::Flags,
21702 fidl::encoding::DefaultFuchsiaResourceDialect,
21703 >,
21704 >
21705 fidl::encoding::Encode<
21706 DirReceiverReceiveRequest,
21707 fidl::encoding::DefaultFuchsiaResourceDialect,
21708 > for (T0, T1, T2)
21709 {
21710 #[inline]
21711 unsafe fn encode(
21712 self,
21713 encoder: &mut fidl::encoding::Encoder<
21714 '_,
21715 fidl::encoding::DefaultFuchsiaResourceDialect,
21716 >,
21717 offset: usize,
21718 depth: fidl::encoding::Depth,
21719 ) -> fidl::Result<()> {
21720 encoder.debug_check_bounds::<DirReceiverReceiveRequest>(offset);
21721 unsafe {
21724 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
21725 (ptr as *mut u64).write_unaligned(0);
21726 }
21727 self.0.encode(encoder, offset + 0, depth)?;
21729 self.1.encode(encoder, offset + 8, depth)?;
21730 self.2.encode(encoder, offset + 24, depth)?;
21731 Ok(())
21732 }
21733 }
21734
21735 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21736 for DirReceiverReceiveRequest
21737 {
21738 #[inline(always)]
21739 fn new_empty() -> Self {
21740 Self {
21741 channel: fidl::new_empty!(
21742 fidl::encoding::Endpoint<
21743 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21744 >,
21745 fidl::encoding::DefaultFuchsiaResourceDialect
21746 ),
21747 path: fidl::new_empty!(
21748 fidl::encoding::BoundedString<4095>,
21749 fidl::encoding::DefaultFuchsiaResourceDialect
21750 ),
21751 rights: fidl::new_empty!(
21752 fidl_fuchsia_io::Flags,
21753 fidl::encoding::DefaultFuchsiaResourceDialect
21754 ),
21755 }
21756 }
21757
21758 #[inline]
21759 unsafe fn decode(
21760 &mut self,
21761 decoder: &mut fidl::encoding::Decoder<
21762 '_,
21763 fidl::encoding::DefaultFuchsiaResourceDialect,
21764 >,
21765 offset: usize,
21766 _depth: fidl::encoding::Depth,
21767 ) -> fidl::Result<()> {
21768 decoder.debug_check_bounds::<Self>(offset);
21769 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
21771 let padval = unsafe { (ptr as *const u64).read_unaligned() };
21772 let mask = 0xffffffff00000000u64;
21773 let maskedval = padval & mask;
21774 if maskedval != 0 {
21775 return Err(fidl::Error::NonZeroPadding {
21776 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
21777 });
21778 }
21779 fidl::decode!(
21780 fidl::encoding::Endpoint<
21781 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21782 >,
21783 fidl::encoding::DefaultFuchsiaResourceDialect,
21784 &mut self.channel,
21785 decoder,
21786 offset + 0,
21787 _depth
21788 )?;
21789 fidl::decode!(
21790 fidl::encoding::BoundedString<4095>,
21791 fidl::encoding::DefaultFuchsiaResourceDialect,
21792 &mut self.path,
21793 decoder,
21794 offset + 8,
21795 _depth
21796 )?;
21797 fidl::decode!(
21798 fidl_fuchsia_io::Flags,
21799 fidl::encoding::DefaultFuchsiaResourceDialect,
21800 &mut self.rights,
21801 decoder,
21802 offset + 24,
21803 _depth
21804 )?;
21805 Ok(())
21806 }
21807 }
21808
21809 impl fidl::encoding::ResourceTypeMarker for ReceiverReceiveRequest {
21810 type Borrowed<'a> = &'a mut Self;
21811 fn take_or_borrow<'a>(
21812 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21813 ) -> Self::Borrowed<'a> {
21814 value
21815 }
21816 }
21817
21818 unsafe impl fidl::encoding::TypeMarker for ReceiverReceiveRequest {
21819 type Owned = Self;
21820
21821 #[inline(always)]
21822 fn inline_align(_context: fidl::encoding::Context) -> usize {
21823 4
21824 }
21825
21826 #[inline(always)]
21827 fn inline_size(_context: fidl::encoding::Context) -> usize {
21828 4
21829 }
21830 }
21831
21832 unsafe impl
21833 fidl::encoding::Encode<
21834 ReceiverReceiveRequest,
21835 fidl::encoding::DefaultFuchsiaResourceDialect,
21836 > for &mut ReceiverReceiveRequest
21837 {
21838 #[inline]
21839 unsafe fn encode(
21840 self,
21841 encoder: &mut fidl::encoding::Encoder<
21842 '_,
21843 fidl::encoding::DefaultFuchsiaResourceDialect,
21844 >,
21845 offset: usize,
21846 _depth: fidl::encoding::Depth,
21847 ) -> fidl::Result<()> {
21848 encoder.debug_check_bounds::<ReceiverReceiveRequest>(offset);
21849 fidl::encoding::Encode::<
21851 ReceiverReceiveRequest,
21852 fidl::encoding::DefaultFuchsiaResourceDialect,
21853 >::encode(
21854 (<fidl::encoding::HandleType<
21855 fidl::Channel,
21856 { fidl::ObjectType::CHANNEL.into_raw() },
21857 2147483648,
21858 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21859 &mut self.channel
21860 ),),
21861 encoder,
21862 offset,
21863 _depth,
21864 )
21865 }
21866 }
21867 unsafe impl<
21868 T0: fidl::encoding::Encode<
21869 fidl::encoding::HandleType<
21870 fidl::Channel,
21871 { fidl::ObjectType::CHANNEL.into_raw() },
21872 2147483648,
21873 >,
21874 fidl::encoding::DefaultFuchsiaResourceDialect,
21875 >,
21876 >
21877 fidl::encoding::Encode<
21878 ReceiverReceiveRequest,
21879 fidl::encoding::DefaultFuchsiaResourceDialect,
21880 > for (T0,)
21881 {
21882 #[inline]
21883 unsafe fn encode(
21884 self,
21885 encoder: &mut fidl::encoding::Encoder<
21886 '_,
21887 fidl::encoding::DefaultFuchsiaResourceDialect,
21888 >,
21889 offset: usize,
21890 depth: fidl::encoding::Depth,
21891 ) -> fidl::Result<()> {
21892 encoder.debug_check_bounds::<ReceiverReceiveRequest>(offset);
21893 self.0.encode(encoder, offset + 0, depth)?;
21897 Ok(())
21898 }
21899 }
21900
21901 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21902 for ReceiverReceiveRequest
21903 {
21904 #[inline(always)]
21905 fn new_empty() -> Self {
21906 Self {
21907 channel: fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
21908 }
21909 }
21910
21911 #[inline]
21912 unsafe fn decode(
21913 &mut self,
21914 decoder: &mut fidl::encoding::Decoder<
21915 '_,
21916 fidl::encoding::DefaultFuchsiaResourceDialect,
21917 >,
21918 offset: usize,
21919 _depth: fidl::encoding::Depth,
21920 ) -> fidl::Result<()> {
21921 decoder.debug_check_bounds::<Self>(offset);
21922 fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.channel, decoder, offset + 0, _depth)?;
21924 Ok(())
21925 }
21926 }
21927
21928 impl fidl::encoding::ResourceTypeMarker for WeakInstanceToken {
21929 type Borrowed<'a> = &'a mut Self;
21930 fn take_or_borrow<'a>(
21931 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21932 ) -> Self::Borrowed<'a> {
21933 value
21934 }
21935 }
21936
21937 unsafe impl fidl::encoding::TypeMarker for WeakInstanceToken {
21938 type Owned = Self;
21939
21940 #[inline(always)]
21941 fn inline_align(_context: fidl::encoding::Context) -> usize {
21942 4
21943 }
21944
21945 #[inline(always)]
21946 fn inline_size(_context: fidl::encoding::Context) -> usize {
21947 4
21948 }
21949 }
21950
21951 unsafe impl
21952 fidl::encoding::Encode<WeakInstanceToken, fidl::encoding::DefaultFuchsiaResourceDialect>
21953 for &mut WeakInstanceToken
21954 {
21955 #[inline]
21956 unsafe fn encode(
21957 self,
21958 encoder: &mut fidl::encoding::Encoder<
21959 '_,
21960 fidl::encoding::DefaultFuchsiaResourceDialect,
21961 >,
21962 offset: usize,
21963 _depth: fidl::encoding::Depth,
21964 ) -> fidl::Result<()> {
21965 encoder.debug_check_bounds::<WeakInstanceToken>(offset);
21966 fidl::encoding::Encode::<WeakInstanceToken, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
21968 (
21969 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.token),
21970 ),
21971 encoder, offset, _depth
21972 )
21973 }
21974 }
21975 unsafe impl<
21976 T0: fidl::encoding::Encode<
21977 fidl::encoding::HandleType<
21978 fidl::EventPair,
21979 { fidl::ObjectType::EVENTPAIR.into_raw() },
21980 2147483648,
21981 >,
21982 fidl::encoding::DefaultFuchsiaResourceDialect,
21983 >,
21984 > fidl::encoding::Encode<WeakInstanceToken, fidl::encoding::DefaultFuchsiaResourceDialect>
21985 for (T0,)
21986 {
21987 #[inline]
21988 unsafe fn encode(
21989 self,
21990 encoder: &mut fidl::encoding::Encoder<
21991 '_,
21992 fidl::encoding::DefaultFuchsiaResourceDialect,
21993 >,
21994 offset: usize,
21995 depth: fidl::encoding::Depth,
21996 ) -> fidl::Result<()> {
21997 encoder.debug_check_bounds::<WeakInstanceToken>(offset);
21998 self.0.encode(encoder, offset + 0, depth)?;
22002 Ok(())
22003 }
22004 }
22005
22006 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
22007 for WeakInstanceToken
22008 {
22009 #[inline(always)]
22010 fn new_empty() -> Self {
22011 Self {
22012 token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
22013 }
22014 }
22015
22016 #[inline]
22017 unsafe fn decode(
22018 &mut self,
22019 decoder: &mut fidl::encoding::Decoder<
22020 '_,
22021 fidl::encoding::DefaultFuchsiaResourceDialect,
22022 >,
22023 offset: usize,
22024 _depth: fidl::encoding::Depth,
22025 ) -> fidl::Result<()> {
22026 decoder.debug_check_bounds::<Self>(offset);
22027 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.token, decoder, offset + 0, _depth)?;
22029 Ok(())
22030 }
22031 }
22032
22033 impl CapabilitiesDictionaryRemoveRequest {
22034 #[inline(always)]
22035 fn max_ordinal_present(&self) -> u64 {
22036 if let Some(_) = self.value {
22037 return 3;
22038 }
22039 if let Some(_) = self.key {
22040 return 2;
22041 }
22042 if let Some(_) = self.dictionary {
22043 return 1;
22044 }
22045 0
22046 }
22047 }
22048
22049 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryRemoveRequest {
22050 type Borrowed<'a> = &'a mut Self;
22051 fn take_or_borrow<'a>(
22052 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
22053 ) -> Self::Borrowed<'a> {
22054 value
22055 }
22056 }
22057
22058 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryRemoveRequest {
22059 type Owned = Self;
22060
22061 #[inline(always)]
22062 fn inline_align(_context: fidl::encoding::Context) -> usize {
22063 8
22064 }
22065
22066 #[inline(always)]
22067 fn inline_size(_context: fidl::encoding::Context) -> usize {
22068 16
22069 }
22070 }
22071
22072 unsafe impl
22073 fidl::encoding::Encode<
22074 CapabilitiesDictionaryRemoveRequest,
22075 fidl::encoding::DefaultFuchsiaResourceDialect,
22076 > for &mut CapabilitiesDictionaryRemoveRequest
22077 {
22078 unsafe fn encode(
22079 self,
22080 encoder: &mut fidl::encoding::Encoder<
22081 '_,
22082 fidl::encoding::DefaultFuchsiaResourceDialect,
22083 >,
22084 offset: usize,
22085 mut depth: fidl::encoding::Depth,
22086 ) -> fidl::Result<()> {
22087 encoder.debug_check_bounds::<CapabilitiesDictionaryRemoveRequest>(offset);
22088 let max_ordinal: u64 = self.max_ordinal_present();
22090 encoder.write_num(max_ordinal, offset);
22091 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
22092 if max_ordinal == 0 {
22094 return Ok(());
22095 }
22096 depth.increment()?;
22097 let envelope_size = 8;
22098 let bytes_len = max_ordinal as usize * envelope_size;
22099 #[allow(unused_variables)]
22100 let offset = encoder.out_of_line_offset(bytes_len);
22101 let mut _prev_end_offset: usize = 0;
22102 if 1 > max_ordinal {
22103 return Ok(());
22104 }
22105
22106 let cur_offset: usize = (1 - 1) * envelope_size;
22109
22110 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22112
22113 fidl::encoding::encode_in_envelope_optional::<
22118 fidl::encoding::HandleType<
22119 fidl::EventPair,
22120 { fidl::ObjectType::EVENTPAIR.into_raw() },
22121 2147483648,
22122 >,
22123 fidl::encoding::DefaultFuchsiaResourceDialect,
22124 >(
22125 self.dictionary.as_mut().map(
22126 <fidl::encoding::HandleType<
22127 fidl::EventPair,
22128 { fidl::ObjectType::EVENTPAIR.into_raw() },
22129 2147483648,
22130 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
22131 ),
22132 encoder,
22133 offset + cur_offset,
22134 depth,
22135 )?;
22136
22137 _prev_end_offset = cur_offset + envelope_size;
22138 if 2 > max_ordinal {
22139 return Ok(());
22140 }
22141
22142 let cur_offset: usize = (2 - 1) * envelope_size;
22145
22146 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22148
22149 fidl::encoding::encode_in_envelope_optional::<
22154 fidl::encoding::BoundedString<100>,
22155 fidl::encoding::DefaultFuchsiaResourceDialect,
22156 >(
22157 self.key.as_ref().map(
22158 <fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow,
22159 ),
22160 encoder,
22161 offset + cur_offset,
22162 depth,
22163 )?;
22164
22165 _prev_end_offset = cur_offset + envelope_size;
22166 if 3 > max_ordinal {
22167 return Ok(());
22168 }
22169
22170 let cur_offset: usize = (3 - 1) * envelope_size;
22173
22174 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22176
22177 fidl::encoding::encode_in_envelope_optional::<
22182 fidl::encoding::HandleType<
22183 fidl::EventPair,
22184 { fidl::ObjectType::EVENTPAIR.into_raw() },
22185 2147483648,
22186 >,
22187 fidl::encoding::DefaultFuchsiaResourceDialect,
22188 >(
22189 self.value.as_mut().map(
22190 <fidl::encoding::HandleType<
22191 fidl::EventPair,
22192 { fidl::ObjectType::EVENTPAIR.into_raw() },
22193 2147483648,
22194 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
22195 ),
22196 encoder,
22197 offset + cur_offset,
22198 depth,
22199 )?;
22200
22201 _prev_end_offset = cur_offset + envelope_size;
22202
22203 Ok(())
22204 }
22205 }
22206
22207 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
22208 for CapabilitiesDictionaryRemoveRequest
22209 {
22210 #[inline(always)]
22211 fn new_empty() -> Self {
22212 Self::default()
22213 }
22214
22215 unsafe fn decode(
22216 &mut self,
22217 decoder: &mut fidl::encoding::Decoder<
22218 '_,
22219 fidl::encoding::DefaultFuchsiaResourceDialect,
22220 >,
22221 offset: usize,
22222 mut depth: fidl::encoding::Depth,
22223 ) -> fidl::Result<()> {
22224 decoder.debug_check_bounds::<Self>(offset);
22225 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
22226 None => return Err(fidl::Error::NotNullable),
22227 Some(len) => len,
22228 };
22229 if len == 0 {
22231 return Ok(());
22232 };
22233 depth.increment()?;
22234 let envelope_size = 8;
22235 let bytes_len = len * envelope_size;
22236 let offset = decoder.out_of_line_offset(bytes_len)?;
22237 let mut _next_ordinal_to_read = 0;
22239 let mut next_offset = offset;
22240 let end_offset = offset + bytes_len;
22241 _next_ordinal_to_read += 1;
22242 if next_offset >= end_offset {
22243 return Ok(());
22244 }
22245
22246 while _next_ordinal_to_read < 1 {
22248 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22249 _next_ordinal_to_read += 1;
22250 next_offset += envelope_size;
22251 }
22252
22253 let next_out_of_line = decoder.next_out_of_line();
22254 let handles_before = decoder.remaining_handles();
22255 if let Some((inlined, num_bytes, num_handles)) =
22256 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22257 {
22258 let member_inline_size = <fidl::encoding::HandleType<
22259 fidl::EventPair,
22260 { fidl::ObjectType::EVENTPAIR.into_raw() },
22261 2147483648,
22262 > as fidl::encoding::TypeMarker>::inline_size(
22263 decoder.context
22264 );
22265 if inlined != (member_inline_size <= 4) {
22266 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22267 }
22268 let inner_offset;
22269 let mut inner_depth = depth.clone();
22270 if inlined {
22271 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22272 inner_offset = next_offset;
22273 } else {
22274 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22275 inner_depth.increment()?;
22276 }
22277 let val_ref =
22278 self.dictionary.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
22279 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
22280 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22281 {
22282 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22283 }
22284 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22285 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22286 }
22287 }
22288
22289 next_offset += envelope_size;
22290 _next_ordinal_to_read += 1;
22291 if next_offset >= end_offset {
22292 return Ok(());
22293 }
22294
22295 while _next_ordinal_to_read < 2 {
22297 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22298 _next_ordinal_to_read += 1;
22299 next_offset += envelope_size;
22300 }
22301
22302 let next_out_of_line = decoder.next_out_of_line();
22303 let handles_before = decoder.remaining_handles();
22304 if let Some((inlined, num_bytes, num_handles)) =
22305 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22306 {
22307 let member_inline_size =
22308 <fidl::encoding::BoundedString<100> as fidl::encoding::TypeMarker>::inline_size(
22309 decoder.context,
22310 );
22311 if inlined != (member_inline_size <= 4) {
22312 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22313 }
22314 let inner_offset;
22315 let mut inner_depth = depth.clone();
22316 if inlined {
22317 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22318 inner_offset = next_offset;
22319 } else {
22320 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22321 inner_depth.increment()?;
22322 }
22323 let val_ref = self.key.get_or_insert_with(|| {
22324 fidl::new_empty!(
22325 fidl::encoding::BoundedString<100>,
22326 fidl::encoding::DefaultFuchsiaResourceDialect
22327 )
22328 });
22329 fidl::decode!(
22330 fidl::encoding::BoundedString<100>,
22331 fidl::encoding::DefaultFuchsiaResourceDialect,
22332 val_ref,
22333 decoder,
22334 inner_offset,
22335 inner_depth
22336 )?;
22337 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22338 {
22339 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22340 }
22341 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22342 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22343 }
22344 }
22345
22346 next_offset += envelope_size;
22347 _next_ordinal_to_read += 1;
22348 if next_offset >= end_offset {
22349 return Ok(());
22350 }
22351
22352 while _next_ordinal_to_read < 3 {
22354 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22355 _next_ordinal_to_read += 1;
22356 next_offset += envelope_size;
22357 }
22358
22359 let next_out_of_line = decoder.next_out_of_line();
22360 let handles_before = decoder.remaining_handles();
22361 if let Some((inlined, num_bytes, num_handles)) =
22362 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22363 {
22364 let member_inline_size = <fidl::encoding::HandleType<
22365 fidl::EventPair,
22366 { fidl::ObjectType::EVENTPAIR.into_raw() },
22367 2147483648,
22368 > as fidl::encoding::TypeMarker>::inline_size(
22369 decoder.context
22370 );
22371 if inlined != (member_inline_size <= 4) {
22372 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22373 }
22374 let inner_offset;
22375 let mut inner_depth = depth.clone();
22376 if inlined {
22377 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22378 inner_offset = next_offset;
22379 } else {
22380 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22381 inner_depth.increment()?;
22382 }
22383 let val_ref =
22384 self.value.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
22385 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
22386 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22387 {
22388 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22389 }
22390 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22391 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22392 }
22393 }
22394
22395 next_offset += envelope_size;
22396
22397 while next_offset < end_offset {
22399 _next_ordinal_to_read += 1;
22400 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22401 next_offset += envelope_size;
22402 }
22403
22404 Ok(())
22405 }
22406 }
22407
22408 impl CapabilitiesDirConnectorOpenRequest {
22409 #[inline(always)]
22410 fn max_ordinal_present(&self) -> u64 {
22411 if let Some(_) = self.path {
22412 return 4;
22413 }
22414 if let Some(_) = self.flags {
22415 return 3;
22416 }
22417 if let Some(_) = self.channel {
22418 return 2;
22419 }
22420 if let Some(_) = self.dir_connector {
22421 return 1;
22422 }
22423 0
22424 }
22425 }
22426
22427 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDirConnectorOpenRequest {
22428 type Borrowed<'a> = &'a mut Self;
22429 fn take_or_borrow<'a>(
22430 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
22431 ) -> Self::Borrowed<'a> {
22432 value
22433 }
22434 }
22435
22436 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDirConnectorOpenRequest {
22437 type Owned = Self;
22438
22439 #[inline(always)]
22440 fn inline_align(_context: fidl::encoding::Context) -> usize {
22441 8
22442 }
22443
22444 #[inline(always)]
22445 fn inline_size(_context: fidl::encoding::Context) -> usize {
22446 16
22447 }
22448 }
22449
22450 unsafe impl
22451 fidl::encoding::Encode<
22452 CapabilitiesDirConnectorOpenRequest,
22453 fidl::encoding::DefaultFuchsiaResourceDialect,
22454 > for &mut CapabilitiesDirConnectorOpenRequest
22455 {
22456 unsafe fn encode(
22457 self,
22458 encoder: &mut fidl::encoding::Encoder<
22459 '_,
22460 fidl::encoding::DefaultFuchsiaResourceDialect,
22461 >,
22462 offset: usize,
22463 mut depth: fidl::encoding::Depth,
22464 ) -> fidl::Result<()> {
22465 encoder.debug_check_bounds::<CapabilitiesDirConnectorOpenRequest>(offset);
22466 let max_ordinal: u64 = self.max_ordinal_present();
22468 encoder.write_num(max_ordinal, offset);
22469 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
22470 if max_ordinal == 0 {
22472 return Ok(());
22473 }
22474 depth.increment()?;
22475 let envelope_size = 8;
22476 let bytes_len = max_ordinal as usize * envelope_size;
22477 #[allow(unused_variables)]
22478 let offset = encoder.out_of_line_offset(bytes_len);
22479 let mut _prev_end_offset: usize = 0;
22480 if 1 > max_ordinal {
22481 return Ok(());
22482 }
22483
22484 let cur_offset: usize = (1 - 1) * envelope_size;
22487
22488 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22490
22491 fidl::encoding::encode_in_envelope_optional::<
22496 fidl::encoding::HandleType<
22497 fidl::EventPair,
22498 { fidl::ObjectType::EVENTPAIR.into_raw() },
22499 2147483648,
22500 >,
22501 fidl::encoding::DefaultFuchsiaResourceDialect,
22502 >(
22503 self.dir_connector.as_mut().map(
22504 <fidl::encoding::HandleType<
22505 fidl::EventPair,
22506 { fidl::ObjectType::EVENTPAIR.into_raw() },
22507 2147483648,
22508 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
22509 ),
22510 encoder,
22511 offset + cur_offset,
22512 depth,
22513 )?;
22514
22515 _prev_end_offset = cur_offset + envelope_size;
22516 if 2 > max_ordinal {
22517 return Ok(());
22518 }
22519
22520 let cur_offset: usize = (2 - 1) * envelope_size;
22523
22524 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22526
22527 fidl::encoding::encode_in_envelope_optional::<
22532 fidl::encoding::Endpoint<
22533 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22534 >,
22535 fidl::encoding::DefaultFuchsiaResourceDialect,
22536 >(
22537 self.channel.as_mut().map(
22538 <fidl::encoding::Endpoint<
22539 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22540 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
22541 ),
22542 encoder,
22543 offset + cur_offset,
22544 depth,
22545 )?;
22546
22547 _prev_end_offset = cur_offset + envelope_size;
22548 if 3 > max_ordinal {
22549 return Ok(());
22550 }
22551
22552 let cur_offset: usize = (3 - 1) * envelope_size;
22555
22556 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22558
22559 fidl::encoding::encode_in_envelope_optional::<
22564 fidl_fuchsia_io::Flags,
22565 fidl::encoding::DefaultFuchsiaResourceDialect,
22566 >(
22567 self.flags
22568 .as_ref()
22569 .map(<fidl_fuchsia_io::Flags as fidl::encoding::ValueTypeMarker>::borrow),
22570 encoder,
22571 offset + cur_offset,
22572 depth,
22573 )?;
22574
22575 _prev_end_offset = cur_offset + envelope_size;
22576 if 4 > max_ordinal {
22577 return Ok(());
22578 }
22579
22580 let cur_offset: usize = (4 - 1) * envelope_size;
22583
22584 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22586
22587 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<4095>, fidl::encoding::DefaultFuchsiaResourceDialect>(
22592 self.path.as_ref().map(<fidl::encoding::BoundedString<4095> as fidl::encoding::ValueTypeMarker>::borrow),
22593 encoder, offset + cur_offset, depth
22594 )?;
22595
22596 _prev_end_offset = cur_offset + envelope_size;
22597
22598 Ok(())
22599 }
22600 }
22601
22602 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
22603 for CapabilitiesDirConnectorOpenRequest
22604 {
22605 #[inline(always)]
22606 fn new_empty() -> Self {
22607 Self::default()
22608 }
22609
22610 unsafe fn decode(
22611 &mut self,
22612 decoder: &mut fidl::encoding::Decoder<
22613 '_,
22614 fidl::encoding::DefaultFuchsiaResourceDialect,
22615 >,
22616 offset: usize,
22617 mut depth: fidl::encoding::Depth,
22618 ) -> fidl::Result<()> {
22619 decoder.debug_check_bounds::<Self>(offset);
22620 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
22621 None => return Err(fidl::Error::NotNullable),
22622 Some(len) => len,
22623 };
22624 if len == 0 {
22626 return Ok(());
22627 };
22628 depth.increment()?;
22629 let envelope_size = 8;
22630 let bytes_len = len * envelope_size;
22631 let offset = decoder.out_of_line_offset(bytes_len)?;
22632 let mut _next_ordinal_to_read = 0;
22634 let mut next_offset = offset;
22635 let end_offset = offset + bytes_len;
22636 _next_ordinal_to_read += 1;
22637 if next_offset >= end_offset {
22638 return Ok(());
22639 }
22640
22641 while _next_ordinal_to_read < 1 {
22643 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22644 _next_ordinal_to_read += 1;
22645 next_offset += envelope_size;
22646 }
22647
22648 let next_out_of_line = decoder.next_out_of_line();
22649 let handles_before = decoder.remaining_handles();
22650 if let Some((inlined, num_bytes, num_handles)) =
22651 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22652 {
22653 let member_inline_size = <fidl::encoding::HandleType<
22654 fidl::EventPair,
22655 { fidl::ObjectType::EVENTPAIR.into_raw() },
22656 2147483648,
22657 > as fidl::encoding::TypeMarker>::inline_size(
22658 decoder.context
22659 );
22660 if inlined != (member_inline_size <= 4) {
22661 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22662 }
22663 let inner_offset;
22664 let mut inner_depth = depth.clone();
22665 if inlined {
22666 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22667 inner_offset = next_offset;
22668 } else {
22669 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22670 inner_depth.increment()?;
22671 }
22672 let val_ref =
22673 self.dir_connector.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
22674 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
22675 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22676 {
22677 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22678 }
22679 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22680 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22681 }
22682 }
22683
22684 next_offset += envelope_size;
22685 _next_ordinal_to_read += 1;
22686 if next_offset >= end_offset {
22687 return Ok(());
22688 }
22689
22690 while _next_ordinal_to_read < 2 {
22692 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22693 _next_ordinal_to_read += 1;
22694 next_offset += envelope_size;
22695 }
22696
22697 let next_out_of_line = decoder.next_out_of_line();
22698 let handles_before = decoder.remaining_handles();
22699 if let Some((inlined, num_bytes, num_handles)) =
22700 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22701 {
22702 let member_inline_size = <fidl::encoding::Endpoint<
22703 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22704 > as fidl::encoding::TypeMarker>::inline_size(
22705 decoder.context
22706 );
22707 if inlined != (member_inline_size <= 4) {
22708 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22709 }
22710 let inner_offset;
22711 let mut inner_depth = depth.clone();
22712 if inlined {
22713 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22714 inner_offset = next_offset;
22715 } else {
22716 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22717 inner_depth.increment()?;
22718 }
22719 let val_ref = self.channel.get_or_insert_with(|| {
22720 fidl::new_empty!(
22721 fidl::encoding::Endpoint<
22722 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22723 >,
22724 fidl::encoding::DefaultFuchsiaResourceDialect
22725 )
22726 });
22727 fidl::decode!(
22728 fidl::encoding::Endpoint<
22729 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22730 >,
22731 fidl::encoding::DefaultFuchsiaResourceDialect,
22732 val_ref,
22733 decoder,
22734 inner_offset,
22735 inner_depth
22736 )?;
22737 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22738 {
22739 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22740 }
22741 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22742 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22743 }
22744 }
22745
22746 next_offset += envelope_size;
22747 _next_ordinal_to_read += 1;
22748 if next_offset >= end_offset {
22749 return Ok(());
22750 }
22751
22752 while _next_ordinal_to_read < 3 {
22754 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22755 _next_ordinal_to_read += 1;
22756 next_offset += envelope_size;
22757 }
22758
22759 let next_out_of_line = decoder.next_out_of_line();
22760 let handles_before = decoder.remaining_handles();
22761 if let Some((inlined, num_bytes, num_handles)) =
22762 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22763 {
22764 let member_inline_size =
22765 <fidl_fuchsia_io::Flags as fidl::encoding::TypeMarker>::inline_size(
22766 decoder.context,
22767 );
22768 if inlined != (member_inline_size <= 4) {
22769 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22770 }
22771 let inner_offset;
22772 let mut inner_depth = depth.clone();
22773 if inlined {
22774 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22775 inner_offset = next_offset;
22776 } else {
22777 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22778 inner_depth.increment()?;
22779 }
22780 let val_ref = self.flags.get_or_insert_with(|| {
22781 fidl::new_empty!(
22782 fidl_fuchsia_io::Flags,
22783 fidl::encoding::DefaultFuchsiaResourceDialect
22784 )
22785 });
22786 fidl::decode!(
22787 fidl_fuchsia_io::Flags,
22788 fidl::encoding::DefaultFuchsiaResourceDialect,
22789 val_ref,
22790 decoder,
22791 inner_offset,
22792 inner_depth
22793 )?;
22794 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22795 {
22796 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22797 }
22798 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22799 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22800 }
22801 }
22802
22803 next_offset += envelope_size;
22804 _next_ordinal_to_read += 1;
22805 if next_offset >= end_offset {
22806 return Ok(());
22807 }
22808
22809 while _next_ordinal_to_read < 4 {
22811 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22812 _next_ordinal_to_read += 1;
22813 next_offset += envelope_size;
22814 }
22815
22816 let next_out_of_line = decoder.next_out_of_line();
22817 let handles_before = decoder.remaining_handles();
22818 if let Some((inlined, num_bytes, num_handles)) =
22819 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22820 {
22821 let member_inline_size = <fidl::encoding::BoundedString<4095> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
22822 if inlined != (member_inline_size <= 4) {
22823 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22824 }
22825 let inner_offset;
22826 let mut inner_depth = depth.clone();
22827 if inlined {
22828 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22829 inner_offset = next_offset;
22830 } else {
22831 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22832 inner_depth.increment()?;
22833 }
22834 let val_ref = self.path.get_or_insert_with(|| {
22835 fidl::new_empty!(
22836 fidl::encoding::BoundedString<4095>,
22837 fidl::encoding::DefaultFuchsiaResourceDialect
22838 )
22839 });
22840 fidl::decode!(
22841 fidl::encoding::BoundedString<4095>,
22842 fidl::encoding::DefaultFuchsiaResourceDialect,
22843 val_ref,
22844 decoder,
22845 inner_offset,
22846 inner_depth
22847 )?;
22848 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22849 {
22850 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22851 }
22852 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22853 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22854 }
22855 }
22856
22857 next_offset += envelope_size;
22858
22859 while next_offset < end_offset {
22861 _next_ordinal_to_read += 1;
22862 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22863 next_offset += envelope_size;
22864 }
22865
22866 Ok(())
22867 }
22868 }
22869
22870 impl DeprecatedRouteRequest {
22871 #[inline(always)]
22872 fn max_ordinal_present(&self) -> u64 {
22873 if let Some(_) = self.metadata {
22874 return 2;
22875 }
22876 if let Some(_) = self.target {
22877 return 1;
22878 }
22879 0
22880 }
22881 }
22882
22883 impl fidl::encoding::ResourceTypeMarker for DeprecatedRouteRequest {
22884 type Borrowed<'a> = &'a mut Self;
22885 fn take_or_borrow<'a>(
22886 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
22887 ) -> Self::Borrowed<'a> {
22888 value
22889 }
22890 }
22891
22892 unsafe impl fidl::encoding::TypeMarker for DeprecatedRouteRequest {
22893 type Owned = Self;
22894
22895 #[inline(always)]
22896 fn inline_align(_context: fidl::encoding::Context) -> usize {
22897 8
22898 }
22899
22900 #[inline(always)]
22901 fn inline_size(_context: fidl::encoding::Context) -> usize {
22902 16
22903 }
22904 }
22905
22906 unsafe impl
22907 fidl::encoding::Encode<
22908 DeprecatedRouteRequest,
22909 fidl::encoding::DefaultFuchsiaResourceDialect,
22910 > for &mut DeprecatedRouteRequest
22911 {
22912 unsafe fn encode(
22913 self,
22914 encoder: &mut fidl::encoding::Encoder<
22915 '_,
22916 fidl::encoding::DefaultFuchsiaResourceDialect,
22917 >,
22918 offset: usize,
22919 mut depth: fidl::encoding::Depth,
22920 ) -> fidl::Result<()> {
22921 encoder.debug_check_bounds::<DeprecatedRouteRequest>(offset);
22922 let max_ordinal: u64 = self.max_ordinal_present();
22924 encoder.write_num(max_ordinal, offset);
22925 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
22926 if max_ordinal == 0 {
22928 return Ok(());
22929 }
22930 depth.increment()?;
22931 let envelope_size = 8;
22932 let bytes_len = max_ordinal as usize * envelope_size;
22933 #[allow(unused_variables)]
22934 let offset = encoder.out_of_line_offset(bytes_len);
22935 let mut _prev_end_offset: usize = 0;
22936 if 1 > max_ordinal {
22937 return Ok(());
22938 }
22939
22940 let cur_offset: usize = (1 - 1) * envelope_size;
22943
22944 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22946
22947 fidl::encoding::encode_in_envelope_optional::<
22952 WeakInstanceToken,
22953 fidl::encoding::DefaultFuchsiaResourceDialect,
22954 >(
22955 self.target
22956 .as_mut()
22957 .map(<WeakInstanceToken as fidl::encoding::ResourceTypeMarker>::take_or_borrow),
22958 encoder,
22959 offset + cur_offset,
22960 depth,
22961 )?;
22962
22963 _prev_end_offset = cur_offset + envelope_size;
22964 if 2 > max_ordinal {
22965 return Ok(());
22966 }
22967
22968 let cur_offset: usize = (2 - 1) * envelope_size;
22971
22972 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22974
22975 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
22980 self.metadata.as_mut().map(<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow),
22981 encoder, offset + cur_offset, depth
22982 )?;
22983
22984 _prev_end_offset = cur_offset + envelope_size;
22985
22986 Ok(())
22987 }
22988 }
22989
22990 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
22991 for DeprecatedRouteRequest
22992 {
22993 #[inline(always)]
22994 fn new_empty() -> Self {
22995 Self::default()
22996 }
22997
22998 unsafe fn decode(
22999 &mut self,
23000 decoder: &mut fidl::encoding::Decoder<
23001 '_,
23002 fidl::encoding::DefaultFuchsiaResourceDialect,
23003 >,
23004 offset: usize,
23005 mut depth: fidl::encoding::Depth,
23006 ) -> fidl::Result<()> {
23007 decoder.debug_check_bounds::<Self>(offset);
23008 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
23009 None => return Err(fidl::Error::NotNullable),
23010 Some(len) => len,
23011 };
23012 if len == 0 {
23014 return Ok(());
23015 };
23016 depth.increment()?;
23017 let envelope_size = 8;
23018 let bytes_len = len * envelope_size;
23019 let offset = decoder.out_of_line_offset(bytes_len)?;
23020 let mut _next_ordinal_to_read = 0;
23022 let mut next_offset = offset;
23023 let end_offset = offset + bytes_len;
23024 _next_ordinal_to_read += 1;
23025 if next_offset >= end_offset {
23026 return Ok(());
23027 }
23028
23029 while _next_ordinal_to_read < 1 {
23031 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23032 _next_ordinal_to_read += 1;
23033 next_offset += envelope_size;
23034 }
23035
23036 let next_out_of_line = decoder.next_out_of_line();
23037 let handles_before = decoder.remaining_handles();
23038 if let Some((inlined, num_bytes, num_handles)) =
23039 fidl::encoding::decode_envelope_header(decoder, next_offset)?
23040 {
23041 let member_inline_size =
23042 <WeakInstanceToken as fidl::encoding::TypeMarker>::inline_size(decoder.context);
23043 if inlined != (member_inline_size <= 4) {
23044 return Err(fidl::Error::InvalidInlineBitInEnvelope);
23045 }
23046 let inner_offset;
23047 let mut inner_depth = depth.clone();
23048 if inlined {
23049 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
23050 inner_offset = next_offset;
23051 } else {
23052 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
23053 inner_depth.increment()?;
23054 }
23055 let val_ref = self.target.get_or_insert_with(|| {
23056 fidl::new_empty!(
23057 WeakInstanceToken,
23058 fidl::encoding::DefaultFuchsiaResourceDialect
23059 )
23060 });
23061 fidl::decode!(
23062 WeakInstanceToken,
23063 fidl::encoding::DefaultFuchsiaResourceDialect,
23064 val_ref,
23065 decoder,
23066 inner_offset,
23067 inner_depth
23068 )?;
23069 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
23070 {
23071 return Err(fidl::Error::InvalidNumBytesInEnvelope);
23072 }
23073 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
23074 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
23075 }
23076 }
23077
23078 next_offset += envelope_size;
23079 _next_ordinal_to_read += 1;
23080 if next_offset >= end_offset {
23081 return Ok(());
23082 }
23083
23084 while _next_ordinal_to_read < 2 {
23086 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23087 _next_ordinal_to_read += 1;
23088 next_offset += envelope_size;
23089 }
23090
23091 let next_out_of_line = decoder.next_out_of_line();
23092 let handles_before = decoder.remaining_handles();
23093 if let Some((inlined, num_bytes, num_handles)) =
23094 fidl::encoding::decode_envelope_header(decoder, next_offset)?
23095 {
23096 let member_inline_size = <fidl::encoding::Endpoint<
23097 fidl::endpoints::ClientEnd<DictionaryMarker>,
23098 > as fidl::encoding::TypeMarker>::inline_size(
23099 decoder.context
23100 );
23101 if inlined != (member_inline_size <= 4) {
23102 return Err(fidl::Error::InvalidInlineBitInEnvelope);
23103 }
23104 let inner_offset;
23105 let mut inner_depth = depth.clone();
23106 if inlined {
23107 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
23108 inner_offset = next_offset;
23109 } else {
23110 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
23111 inner_depth.increment()?;
23112 }
23113 let val_ref = self.metadata.get_or_insert_with(|| {
23114 fidl::new_empty!(
23115 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>,
23116 fidl::encoding::DefaultFuchsiaResourceDialect
23117 )
23118 });
23119 fidl::decode!(
23120 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>,
23121 fidl::encoding::DefaultFuchsiaResourceDialect,
23122 val_ref,
23123 decoder,
23124 inner_offset,
23125 inner_depth
23126 )?;
23127 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
23128 {
23129 return Err(fidl::Error::InvalidNumBytesInEnvelope);
23130 }
23131 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
23132 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
23133 }
23134 }
23135
23136 next_offset += envelope_size;
23137
23138 while next_offset < end_offset {
23140 _next_ordinal_to_read += 1;
23141 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23142 next_offset += envelope_size;
23143 }
23144
23145 Ok(())
23146 }
23147 }
23148
23149 impl RouteRequest {
23150 #[inline(always)]
23151 fn max_ordinal_present(&self) -> u64 {
23152 if let Some(_) = self.metadata {
23153 return 1;
23154 }
23155 0
23156 }
23157 }
23158
23159 impl fidl::encoding::ResourceTypeMarker for RouteRequest {
23160 type Borrowed<'a> = &'a mut Self;
23161 fn take_or_borrow<'a>(
23162 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
23163 ) -> Self::Borrowed<'a> {
23164 value
23165 }
23166 }
23167
23168 unsafe impl fidl::encoding::TypeMarker for RouteRequest {
23169 type Owned = Self;
23170
23171 #[inline(always)]
23172 fn inline_align(_context: fidl::encoding::Context) -> usize {
23173 8
23174 }
23175
23176 #[inline(always)]
23177 fn inline_size(_context: fidl::encoding::Context) -> usize {
23178 16
23179 }
23180 }
23181
23182 unsafe impl fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
23183 for &mut RouteRequest
23184 {
23185 unsafe fn encode(
23186 self,
23187 encoder: &mut fidl::encoding::Encoder<
23188 '_,
23189 fidl::encoding::DefaultFuchsiaResourceDialect,
23190 >,
23191 offset: usize,
23192 mut depth: fidl::encoding::Depth,
23193 ) -> fidl::Result<()> {
23194 encoder.debug_check_bounds::<RouteRequest>(offset);
23195 let max_ordinal: u64 = self.max_ordinal_present();
23197 encoder.write_num(max_ordinal, offset);
23198 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
23199 if max_ordinal == 0 {
23201 return Ok(());
23202 }
23203 depth.increment()?;
23204 let envelope_size = 8;
23205 let bytes_len = max_ordinal as usize * envelope_size;
23206 #[allow(unused_variables)]
23207 let offset = encoder.out_of_line_offset(bytes_len);
23208 let mut _prev_end_offset: usize = 0;
23209 if 1 > max_ordinal {
23210 return Ok(());
23211 }
23212
23213 let cur_offset: usize = (1 - 1) * envelope_size;
23216
23217 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
23219
23220 fidl::encoding::encode_in_envelope_optional::<
23225 fidl::encoding::HandleType<
23226 fidl::EventPair,
23227 { fidl::ObjectType::EVENTPAIR.into_raw() },
23228 2147483648,
23229 >,
23230 fidl::encoding::DefaultFuchsiaResourceDialect,
23231 >(
23232 self.metadata.as_mut().map(
23233 <fidl::encoding::HandleType<
23234 fidl::EventPair,
23235 { fidl::ObjectType::EVENTPAIR.into_raw() },
23236 2147483648,
23237 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
23238 ),
23239 encoder,
23240 offset + cur_offset,
23241 depth,
23242 )?;
23243
23244 _prev_end_offset = cur_offset + envelope_size;
23245
23246 Ok(())
23247 }
23248 }
23249
23250 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for RouteRequest {
23251 #[inline(always)]
23252 fn new_empty() -> Self {
23253 Self::default()
23254 }
23255
23256 unsafe fn decode(
23257 &mut self,
23258 decoder: &mut fidl::encoding::Decoder<
23259 '_,
23260 fidl::encoding::DefaultFuchsiaResourceDialect,
23261 >,
23262 offset: usize,
23263 mut depth: fidl::encoding::Depth,
23264 ) -> fidl::Result<()> {
23265 decoder.debug_check_bounds::<Self>(offset);
23266 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
23267 None => return Err(fidl::Error::NotNullable),
23268 Some(len) => len,
23269 };
23270 if len == 0 {
23272 return Ok(());
23273 };
23274 depth.increment()?;
23275 let envelope_size = 8;
23276 let bytes_len = len * envelope_size;
23277 let offset = decoder.out_of_line_offset(bytes_len)?;
23278 let mut _next_ordinal_to_read = 0;
23280 let mut next_offset = offset;
23281 let end_offset = offset + bytes_len;
23282 _next_ordinal_to_read += 1;
23283 if next_offset >= end_offset {
23284 return Ok(());
23285 }
23286
23287 while _next_ordinal_to_read < 1 {
23289 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23290 _next_ordinal_to_read += 1;
23291 next_offset += envelope_size;
23292 }
23293
23294 let next_out_of_line = decoder.next_out_of_line();
23295 let handles_before = decoder.remaining_handles();
23296 if let Some((inlined, num_bytes, num_handles)) =
23297 fidl::encoding::decode_envelope_header(decoder, next_offset)?
23298 {
23299 let member_inline_size = <fidl::encoding::HandleType<
23300 fidl::EventPair,
23301 { fidl::ObjectType::EVENTPAIR.into_raw() },
23302 2147483648,
23303 > as fidl::encoding::TypeMarker>::inline_size(
23304 decoder.context
23305 );
23306 if inlined != (member_inline_size <= 4) {
23307 return Err(fidl::Error::InvalidInlineBitInEnvelope);
23308 }
23309 let inner_offset;
23310 let mut inner_depth = depth.clone();
23311 if inlined {
23312 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
23313 inner_offset = next_offset;
23314 } else {
23315 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
23316 inner_depth.increment()?;
23317 }
23318 let val_ref =
23319 self.metadata.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
23320 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
23321 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
23322 {
23323 return Err(fidl::Error::InvalidNumBytesInEnvelope);
23324 }
23325 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
23326 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
23327 }
23328 }
23329
23330 next_offset += envelope_size;
23331
23332 while next_offset < end_offset {
23334 _next_ordinal_to_read += 1;
23335 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23336 next_offset += envelope_size;
23337 }
23338
23339 Ok(())
23340 }
23341 }
23342
23343 impl fidl::encoding::ResourceTypeMarker for CapabilityDeprecated {
23344 type Borrowed<'a> = &'a mut Self;
23345 fn take_or_borrow<'a>(
23346 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
23347 ) -> Self::Borrowed<'a> {
23348 value
23349 }
23350 }
23351
23352 unsafe impl fidl::encoding::TypeMarker for CapabilityDeprecated {
23353 type Owned = Self;
23354
23355 #[inline(always)]
23356 fn inline_align(_context: fidl::encoding::Context) -> usize {
23357 8
23358 }
23359
23360 #[inline(always)]
23361 fn inline_size(_context: fidl::encoding::Context) -> usize {
23362 16
23363 }
23364 }
23365
23366 unsafe impl
23367 fidl::encoding::Encode<CapabilityDeprecated, fidl::encoding::DefaultFuchsiaResourceDialect>
23368 for &mut CapabilityDeprecated
23369 {
23370 #[inline]
23371 unsafe fn encode(
23372 self,
23373 encoder: &mut fidl::encoding::Encoder<
23374 '_,
23375 fidl::encoding::DefaultFuchsiaResourceDialect,
23376 >,
23377 offset: usize,
23378 _depth: fidl::encoding::Depth,
23379 ) -> fidl::Result<()> {
23380 encoder.debug_check_bounds::<CapabilityDeprecated>(offset);
23381 encoder.write_num::<u64>(self.ordinal(), offset);
23382 match self {
23383 CapabilityDeprecated::Connector(ref mut val) => {
23384 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23385 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23386 encoder, offset + 8, _depth
23387 )
23388 }
23389 CapabilityDeprecated::DirConnector(ref mut val) => {
23390 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23391 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23392 encoder, offset + 8, _depth
23393 )
23394 }
23395 CapabilityDeprecated::Dictionary(ref mut val) => {
23396 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23397 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23398 encoder, offset + 8, _depth
23399 )
23400 }
23401 CapabilityDeprecated::Data(ref val) => {
23402 fidl::encoding::encode_in_envelope::<Data, fidl::encoding::DefaultFuchsiaResourceDialect>(
23403 <Data as fidl::encoding::ValueTypeMarker>::borrow(val),
23404 encoder, offset + 8, _depth
23405 )
23406 }
23407 CapabilityDeprecated::ConnectorRouter(ref mut val) => {
23408 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23409 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23410 encoder, offset + 8, _depth
23411 )
23412 }
23413 CapabilityDeprecated::DirConnectorRouter(ref mut val) => {
23414 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23415 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23416 encoder, offset + 8, _depth
23417 )
23418 }
23419 CapabilityDeprecated::DictionaryRouter(ref mut val) => {
23420 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23421 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23422 encoder, offset + 8, _depth
23423 )
23424 }
23425 CapabilityDeprecated::DataRouter(ref mut val) => {
23426 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23427 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23428 encoder, offset + 8, _depth
23429 )
23430 }
23431 CapabilityDeprecated::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
23432 }
23433 }
23434 }
23435
23436 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
23437 for CapabilityDeprecated
23438 {
23439 #[inline(always)]
23440 fn new_empty() -> Self {
23441 Self::__SourceBreaking { unknown_ordinal: 0 }
23442 }
23443
23444 #[inline]
23445 unsafe fn decode(
23446 &mut self,
23447 decoder: &mut fidl::encoding::Decoder<
23448 '_,
23449 fidl::encoding::DefaultFuchsiaResourceDialect,
23450 >,
23451 offset: usize,
23452 mut depth: fidl::encoding::Depth,
23453 ) -> fidl::Result<()> {
23454 decoder.debug_check_bounds::<Self>(offset);
23455 #[allow(unused_variables)]
23456 let next_out_of_line = decoder.next_out_of_line();
23457 let handles_before = decoder.remaining_handles();
23458 let (ordinal, inlined, num_bytes, num_handles) =
23459 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
23460
23461 let member_inline_size = match ordinal {
23462 1 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23463 2 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23464 3 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23465 4 => <Data as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23466 5 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23467 6 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23468 7 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23469 8 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23470 0 => return Err(fidl::Error::UnknownUnionTag),
23471 _ => num_bytes as usize,
23472 };
23473
23474 if inlined != (member_inline_size <= 4) {
23475 return Err(fidl::Error::InvalidInlineBitInEnvelope);
23476 }
23477 let _inner_offset;
23478 if inlined {
23479 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
23480 _inner_offset = offset + 8;
23481 } else {
23482 depth.increment()?;
23483 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
23484 }
23485 match ordinal {
23486 1 => {
23487 #[allow(irrefutable_let_patterns)]
23488 if let CapabilityDeprecated::Connector(_) = self {
23489 } else {
23491 *self = CapabilityDeprecated::Connector(fidl::new_empty!(
23493 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>>,
23494 fidl::encoding::DefaultFuchsiaResourceDialect
23495 ));
23496 }
23497 #[allow(irrefutable_let_patterns)]
23498 if let CapabilityDeprecated::Connector(ref mut val) = self {
23499 fidl::decode!(
23500 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>>,
23501 fidl::encoding::DefaultFuchsiaResourceDialect,
23502 val,
23503 decoder,
23504 _inner_offset,
23505 depth
23506 )?;
23507 } else {
23508 unreachable!()
23509 }
23510 }
23511 2 => {
23512 #[allow(irrefutable_let_patterns)]
23513 if let CapabilityDeprecated::DirConnector(_) = self {
23514 } else {
23516 *self = CapabilityDeprecated::DirConnector(fidl::new_empty!(
23518 fidl::encoding::Endpoint<
23519 fidl::endpoints::ClientEnd<DirConnectorMarker>,
23520 >,
23521 fidl::encoding::DefaultFuchsiaResourceDialect
23522 ));
23523 }
23524 #[allow(irrefutable_let_patterns)]
23525 if let CapabilityDeprecated::DirConnector(ref mut val) = self {
23526 fidl::decode!(
23527 fidl::encoding::Endpoint<
23528 fidl::endpoints::ClientEnd<DirConnectorMarker>,
23529 >,
23530 fidl::encoding::DefaultFuchsiaResourceDialect,
23531 val,
23532 decoder,
23533 _inner_offset,
23534 depth
23535 )?;
23536 } else {
23537 unreachable!()
23538 }
23539 }
23540 3 => {
23541 #[allow(irrefutable_let_patterns)]
23542 if let CapabilityDeprecated::Dictionary(_) = self {
23543 } else {
23545 *self = CapabilityDeprecated::Dictionary(fidl::new_empty!(
23547 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>,
23548 fidl::encoding::DefaultFuchsiaResourceDialect
23549 ));
23550 }
23551 #[allow(irrefutable_let_patterns)]
23552 if let CapabilityDeprecated::Dictionary(ref mut val) = self {
23553 fidl::decode!(
23554 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>,
23555 fidl::encoding::DefaultFuchsiaResourceDialect,
23556 val,
23557 decoder,
23558 _inner_offset,
23559 depth
23560 )?;
23561 } else {
23562 unreachable!()
23563 }
23564 }
23565 4 => {
23566 #[allow(irrefutable_let_patterns)]
23567 if let CapabilityDeprecated::Data(_) = self {
23568 } else {
23570 *self = CapabilityDeprecated::Data(fidl::new_empty!(
23572 Data,
23573 fidl::encoding::DefaultFuchsiaResourceDialect
23574 ));
23575 }
23576 #[allow(irrefutable_let_patterns)]
23577 if let CapabilityDeprecated::Data(ref mut val) = self {
23578 fidl::decode!(
23579 Data,
23580 fidl::encoding::DefaultFuchsiaResourceDialect,
23581 val,
23582 decoder,
23583 _inner_offset,
23584 depth
23585 )?;
23586 } else {
23587 unreachable!()
23588 }
23589 }
23590 5 => {
23591 #[allow(irrefutable_let_patterns)]
23592 if let CapabilityDeprecated::ConnectorRouter(_) = self {
23593 } else {
23595 *self = CapabilityDeprecated::ConnectorRouter(fidl::new_empty!(
23597 fidl::encoding::Endpoint<
23598 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
23599 >,
23600 fidl::encoding::DefaultFuchsiaResourceDialect
23601 ));
23602 }
23603 #[allow(irrefutable_let_patterns)]
23604 if let CapabilityDeprecated::ConnectorRouter(ref mut val) = self {
23605 fidl::decode!(
23606 fidl::encoding::Endpoint<
23607 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
23608 >,
23609 fidl::encoding::DefaultFuchsiaResourceDialect,
23610 val,
23611 decoder,
23612 _inner_offset,
23613 depth
23614 )?;
23615 } else {
23616 unreachable!()
23617 }
23618 }
23619 6 => {
23620 #[allow(irrefutable_let_patterns)]
23621 if let CapabilityDeprecated::DirConnectorRouter(_) = self {
23622 } else {
23624 *self = CapabilityDeprecated::DirConnectorRouter(fidl::new_empty!(
23626 fidl::encoding::Endpoint<
23627 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
23628 >,
23629 fidl::encoding::DefaultFuchsiaResourceDialect
23630 ));
23631 }
23632 #[allow(irrefutable_let_patterns)]
23633 if let CapabilityDeprecated::DirConnectorRouter(ref mut val) = self {
23634 fidl::decode!(
23635 fidl::encoding::Endpoint<
23636 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
23637 >,
23638 fidl::encoding::DefaultFuchsiaResourceDialect,
23639 val,
23640 decoder,
23641 _inner_offset,
23642 depth
23643 )?;
23644 } else {
23645 unreachable!()
23646 }
23647 }
23648 7 => {
23649 #[allow(irrefutable_let_patterns)]
23650 if let CapabilityDeprecated::DictionaryRouter(_) = self {
23651 } else {
23653 *self = CapabilityDeprecated::DictionaryRouter(fidl::new_empty!(
23655 fidl::encoding::Endpoint<
23656 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
23657 >,
23658 fidl::encoding::DefaultFuchsiaResourceDialect
23659 ));
23660 }
23661 #[allow(irrefutable_let_patterns)]
23662 if let CapabilityDeprecated::DictionaryRouter(ref mut val) = self {
23663 fidl::decode!(
23664 fidl::encoding::Endpoint<
23665 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
23666 >,
23667 fidl::encoding::DefaultFuchsiaResourceDialect,
23668 val,
23669 decoder,
23670 _inner_offset,
23671 depth
23672 )?;
23673 } else {
23674 unreachable!()
23675 }
23676 }
23677 8 => {
23678 #[allow(irrefutable_let_patterns)]
23679 if let CapabilityDeprecated::DataRouter(_) = self {
23680 } else {
23682 *self = CapabilityDeprecated::DataRouter(fidl::new_empty!(
23684 fidl::encoding::Endpoint<
23685 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
23686 >,
23687 fidl::encoding::DefaultFuchsiaResourceDialect
23688 ));
23689 }
23690 #[allow(irrefutable_let_patterns)]
23691 if let CapabilityDeprecated::DataRouter(ref mut val) = self {
23692 fidl::decode!(
23693 fidl::encoding::Endpoint<
23694 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
23695 >,
23696 fidl::encoding::DefaultFuchsiaResourceDialect,
23697 val,
23698 decoder,
23699 _inner_offset,
23700 depth
23701 )?;
23702 } else {
23703 unreachable!()
23704 }
23705 }
23706 #[allow(deprecated)]
23707 ordinal => {
23708 for _ in 0..num_handles {
23709 decoder.drop_next_handle()?;
23710 }
23711 *self = CapabilityDeprecated::__SourceBreaking { unknown_ordinal: ordinal };
23712 }
23713 }
23714 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
23715 return Err(fidl::Error::InvalidNumBytesInEnvelope);
23716 }
23717 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
23718 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
23719 }
23720 Ok(())
23721 }
23722 }
23723}