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 = "fuchsia.component.runtime.DictionaryRouter";
10618}
10619impl fidl::endpoints::DiscoverableProtocolMarker for DictionaryRouterMarker {}
10620pub type DictionaryRouterRouteResult = Result<RouterResponse, RouterError>;
10621
10622pub trait DictionaryRouterProxyInterface: Send + Sync {
10623 type RouteResponseFut: std::future::Future<Output = Result<DictionaryRouterRouteResult, fidl::Error>>
10624 + Send;
10625 fn r#route(
10626 &self,
10627 request: RouteRequest,
10628 instance_token: fidl::EventPair,
10629 handle: fidl::EventPair,
10630 ) -> Self::RouteResponseFut;
10631}
10632#[derive(Debug)]
10633#[cfg(target_os = "fuchsia")]
10634pub struct DictionaryRouterSynchronousProxy {
10635 client: fidl::client::sync::Client,
10636}
10637
10638#[cfg(target_os = "fuchsia")]
10639impl fidl::endpoints::SynchronousProxy for DictionaryRouterSynchronousProxy {
10640 type Proxy = DictionaryRouterProxy;
10641 type Protocol = DictionaryRouterMarker;
10642
10643 fn from_channel(inner: fidl::Channel) -> Self {
10644 Self::new(inner)
10645 }
10646
10647 fn into_channel(self) -> fidl::Channel {
10648 self.client.into_channel()
10649 }
10650
10651 fn as_channel(&self) -> &fidl::Channel {
10652 self.client.as_channel()
10653 }
10654}
10655
10656#[cfg(target_os = "fuchsia")]
10657impl DictionaryRouterSynchronousProxy {
10658 pub fn new(channel: fidl::Channel) -> Self {
10659 let protocol_name = <DictionaryRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
10660 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
10661 }
10662
10663 pub fn into_channel(self) -> fidl::Channel {
10664 self.client.into_channel()
10665 }
10666
10667 pub fn wait_for_event(
10670 &self,
10671 deadline: zx::MonotonicInstant,
10672 ) -> Result<DictionaryRouterEvent, fidl::Error> {
10673 DictionaryRouterEvent::decode(self.client.wait_for_event(deadline)?)
10674 }
10675
10676 pub fn r#route(
10690 &self,
10691 mut request: RouteRequest,
10692 mut instance_token: fidl::EventPair,
10693 mut handle: fidl::EventPair,
10694 ___deadline: zx::MonotonicInstant,
10695 ) -> Result<DictionaryRouterRouteResult, fidl::Error> {
10696 let _response = self.client.send_query::<
10697 DictionaryRouterRouteRequest,
10698 fidl::encoding::FlexibleResultType<DictionaryRouterRouteResponse, RouterError>,
10699 >(
10700 (&mut request, instance_token, handle,),
10701 0x199389f437b3937b,
10702 fidl::encoding::DynamicFlags::FLEXIBLE,
10703 ___deadline,
10704 )?
10705 .into_result::<DictionaryRouterMarker>("route")?;
10706 Ok(_response.map(|x| x.response))
10707 }
10708}
10709
10710#[cfg(target_os = "fuchsia")]
10711impl From<DictionaryRouterSynchronousProxy> for zx::NullableHandle {
10712 fn from(value: DictionaryRouterSynchronousProxy) -> Self {
10713 value.into_channel().into()
10714 }
10715}
10716
10717#[cfg(target_os = "fuchsia")]
10718impl From<fidl::Channel> for DictionaryRouterSynchronousProxy {
10719 fn from(value: fidl::Channel) -> Self {
10720 Self::new(value)
10721 }
10722}
10723
10724#[cfg(target_os = "fuchsia")]
10725impl fidl::endpoints::FromClient for DictionaryRouterSynchronousProxy {
10726 type Protocol = DictionaryRouterMarker;
10727
10728 fn from_client(value: fidl::endpoints::ClientEnd<DictionaryRouterMarker>) -> Self {
10729 Self::new(value.into_channel())
10730 }
10731}
10732
10733#[derive(Debug, Clone)]
10734pub struct DictionaryRouterProxy {
10735 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
10736}
10737
10738impl fidl::endpoints::Proxy for DictionaryRouterProxy {
10739 type Protocol = DictionaryRouterMarker;
10740
10741 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
10742 Self::new(inner)
10743 }
10744
10745 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
10746 self.client.into_channel().map_err(|client| Self { client })
10747 }
10748
10749 fn as_channel(&self) -> &::fidl::AsyncChannel {
10750 self.client.as_channel()
10751 }
10752}
10753
10754impl DictionaryRouterProxy {
10755 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
10757 let protocol_name = <DictionaryRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
10758 Self { client: fidl::client::Client::new(channel, protocol_name) }
10759 }
10760
10761 pub fn take_event_stream(&self) -> DictionaryRouterEventStream {
10767 DictionaryRouterEventStream { event_receiver: self.client.take_event_receiver() }
10768 }
10769
10770 pub fn r#route(
10784 &self,
10785 mut request: RouteRequest,
10786 mut instance_token: fidl::EventPair,
10787 mut handle: fidl::EventPair,
10788 ) -> fidl::client::QueryResponseFut<
10789 DictionaryRouterRouteResult,
10790 fidl::encoding::DefaultFuchsiaResourceDialect,
10791 > {
10792 DictionaryRouterProxyInterface::r#route(self, request, instance_token, handle)
10793 }
10794}
10795
10796impl DictionaryRouterProxyInterface for DictionaryRouterProxy {
10797 type RouteResponseFut = fidl::client::QueryResponseFut<
10798 DictionaryRouterRouteResult,
10799 fidl::encoding::DefaultFuchsiaResourceDialect,
10800 >;
10801 fn r#route(
10802 &self,
10803 mut request: RouteRequest,
10804 mut instance_token: fidl::EventPair,
10805 mut handle: fidl::EventPair,
10806 ) -> Self::RouteResponseFut {
10807 fn _decode(
10808 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
10809 ) -> Result<DictionaryRouterRouteResult, fidl::Error> {
10810 let _response = fidl::client::decode_transaction_body::<
10811 fidl::encoding::FlexibleResultType<DictionaryRouterRouteResponse, RouterError>,
10812 fidl::encoding::DefaultFuchsiaResourceDialect,
10813 0x199389f437b3937b,
10814 >(_buf?)?
10815 .into_result::<DictionaryRouterMarker>("route")?;
10816 Ok(_response.map(|x| x.response))
10817 }
10818 self.client
10819 .send_query_and_decode::<DictionaryRouterRouteRequest, DictionaryRouterRouteResult>(
10820 (&mut request, instance_token, handle),
10821 0x199389f437b3937b,
10822 fidl::encoding::DynamicFlags::FLEXIBLE,
10823 _decode,
10824 )
10825 }
10826}
10827
10828pub struct DictionaryRouterEventStream {
10829 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
10830}
10831
10832impl std::marker::Unpin for DictionaryRouterEventStream {}
10833
10834impl futures::stream::FusedStream for DictionaryRouterEventStream {
10835 fn is_terminated(&self) -> bool {
10836 self.event_receiver.is_terminated()
10837 }
10838}
10839
10840impl futures::Stream for DictionaryRouterEventStream {
10841 type Item = Result<DictionaryRouterEvent, fidl::Error>;
10842
10843 fn poll_next(
10844 mut self: std::pin::Pin<&mut Self>,
10845 cx: &mut std::task::Context<'_>,
10846 ) -> std::task::Poll<Option<Self::Item>> {
10847 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
10848 &mut self.event_receiver,
10849 cx
10850 )?) {
10851 Some(buf) => std::task::Poll::Ready(Some(DictionaryRouterEvent::decode(buf))),
10852 None => std::task::Poll::Ready(None),
10853 }
10854 }
10855}
10856
10857#[derive(Debug)]
10858pub enum DictionaryRouterEvent {
10859 #[non_exhaustive]
10860 _UnknownEvent {
10861 ordinal: u64,
10863 },
10864}
10865
10866impl DictionaryRouterEvent {
10867 fn decode(
10869 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
10870 ) -> Result<DictionaryRouterEvent, fidl::Error> {
10871 let (bytes, _handles) = buf.split_mut();
10872 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
10873 debug_assert_eq!(tx_header.tx_id, 0);
10874 match tx_header.ordinal {
10875 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
10876 Ok(DictionaryRouterEvent::_UnknownEvent { ordinal: tx_header.ordinal })
10877 }
10878 _ => Err(fidl::Error::UnknownOrdinal {
10879 ordinal: tx_header.ordinal,
10880 protocol_name:
10881 <DictionaryRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
10882 }),
10883 }
10884 }
10885}
10886
10887pub struct DictionaryRouterRequestStream {
10889 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
10890 is_terminated: bool,
10891}
10892
10893impl std::marker::Unpin for DictionaryRouterRequestStream {}
10894
10895impl futures::stream::FusedStream for DictionaryRouterRequestStream {
10896 fn is_terminated(&self) -> bool {
10897 self.is_terminated
10898 }
10899}
10900
10901impl fidl::endpoints::RequestStream for DictionaryRouterRequestStream {
10902 type Protocol = DictionaryRouterMarker;
10903 type ControlHandle = DictionaryRouterControlHandle;
10904
10905 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
10906 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
10907 }
10908
10909 fn control_handle(&self) -> Self::ControlHandle {
10910 DictionaryRouterControlHandle { inner: self.inner.clone() }
10911 }
10912
10913 fn into_inner(
10914 self,
10915 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
10916 {
10917 (self.inner, self.is_terminated)
10918 }
10919
10920 fn from_inner(
10921 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
10922 is_terminated: bool,
10923 ) -> Self {
10924 Self { inner, is_terminated }
10925 }
10926}
10927
10928impl futures::Stream for DictionaryRouterRequestStream {
10929 type Item = Result<DictionaryRouterRequest, fidl::Error>;
10930
10931 fn poll_next(
10932 mut self: std::pin::Pin<&mut Self>,
10933 cx: &mut std::task::Context<'_>,
10934 ) -> std::task::Poll<Option<Self::Item>> {
10935 let this = &mut *self;
10936 if this.inner.check_shutdown(cx) {
10937 this.is_terminated = true;
10938 return std::task::Poll::Ready(None);
10939 }
10940 if this.is_terminated {
10941 panic!("polled DictionaryRouterRequestStream after completion");
10942 }
10943 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
10944 |bytes, handles| {
10945 match this.inner.channel().read_etc(cx, bytes, handles) {
10946 std::task::Poll::Ready(Ok(())) => {}
10947 std::task::Poll::Pending => return std::task::Poll::Pending,
10948 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
10949 this.is_terminated = true;
10950 return std::task::Poll::Ready(None);
10951 }
10952 std::task::Poll::Ready(Err(e)) => {
10953 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
10954 e.into(),
10955 ))));
10956 }
10957 }
10958
10959 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
10961
10962 std::task::Poll::Ready(Some(match header.ordinal {
10963 0x199389f437b3937b => {
10964 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
10965 let mut req = fidl::new_empty!(
10966 DictionaryRouterRouteRequest,
10967 fidl::encoding::DefaultFuchsiaResourceDialect
10968 );
10969 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DictionaryRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
10970 let control_handle =
10971 DictionaryRouterControlHandle { inner: this.inner.clone() };
10972 Ok(DictionaryRouterRequest::Route {
10973 request: req.request,
10974 instance_token: req.instance_token,
10975 handle: req.handle,
10976
10977 responder: DictionaryRouterRouteResponder {
10978 control_handle: std::mem::ManuallyDrop::new(control_handle),
10979 tx_id: header.tx_id,
10980 },
10981 })
10982 }
10983 _ if header.tx_id == 0
10984 && header
10985 .dynamic_flags()
10986 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
10987 {
10988 Ok(DictionaryRouterRequest::_UnknownMethod {
10989 ordinal: header.ordinal,
10990 control_handle: DictionaryRouterControlHandle {
10991 inner: this.inner.clone(),
10992 },
10993 method_type: fidl::MethodType::OneWay,
10994 })
10995 }
10996 _ if header
10997 .dynamic_flags()
10998 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
10999 {
11000 this.inner.send_framework_err(
11001 fidl::encoding::FrameworkErr::UnknownMethod,
11002 header.tx_id,
11003 header.ordinal,
11004 header.dynamic_flags(),
11005 (bytes, handles),
11006 )?;
11007 Ok(DictionaryRouterRequest::_UnknownMethod {
11008 ordinal: header.ordinal,
11009 control_handle: DictionaryRouterControlHandle {
11010 inner: this.inner.clone(),
11011 },
11012 method_type: fidl::MethodType::TwoWay,
11013 })
11014 }
11015 _ => Err(fidl::Error::UnknownOrdinal {
11016 ordinal: header.ordinal,
11017 protocol_name:
11018 <DictionaryRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
11019 }),
11020 }))
11021 },
11022 )
11023 }
11024}
11025
11026#[derive(Debug)]
11028pub enum DictionaryRouterRequest {
11029 Route {
11043 request: RouteRequest,
11044 instance_token: fidl::EventPair,
11045 handle: fidl::EventPair,
11046 responder: DictionaryRouterRouteResponder,
11047 },
11048 #[non_exhaustive]
11050 _UnknownMethod {
11051 ordinal: u64,
11053 control_handle: DictionaryRouterControlHandle,
11054 method_type: fidl::MethodType,
11055 },
11056}
11057
11058impl DictionaryRouterRequest {
11059 #[allow(irrefutable_let_patterns)]
11060 pub fn into_route(
11061 self,
11062 ) -> Option<(RouteRequest, fidl::EventPair, fidl::EventPair, DictionaryRouterRouteResponder)>
11063 {
11064 if let DictionaryRouterRequest::Route { request, instance_token, handle, responder } = self
11065 {
11066 Some((request, instance_token, handle, responder))
11067 } else {
11068 None
11069 }
11070 }
11071
11072 pub fn method_name(&self) -> &'static str {
11074 match *self {
11075 DictionaryRouterRequest::Route { .. } => "route",
11076 DictionaryRouterRequest::_UnknownMethod {
11077 method_type: fidl::MethodType::OneWay,
11078 ..
11079 } => "unknown one-way method",
11080 DictionaryRouterRequest::_UnknownMethod {
11081 method_type: fidl::MethodType::TwoWay,
11082 ..
11083 } => "unknown two-way method",
11084 }
11085 }
11086}
11087
11088#[derive(Debug, Clone)]
11089pub struct DictionaryRouterControlHandle {
11090 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
11091}
11092
11093impl fidl::endpoints::ControlHandle for DictionaryRouterControlHandle {
11094 fn shutdown(&self) {
11095 self.inner.shutdown()
11096 }
11097
11098 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
11099 self.inner.shutdown_with_epitaph(status)
11100 }
11101
11102 fn is_closed(&self) -> bool {
11103 self.inner.channel().is_closed()
11104 }
11105 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
11106 self.inner.channel().on_closed()
11107 }
11108
11109 #[cfg(target_os = "fuchsia")]
11110 fn signal_peer(
11111 &self,
11112 clear_mask: zx::Signals,
11113 set_mask: zx::Signals,
11114 ) -> Result<(), zx_status::Status> {
11115 use fidl::Peered;
11116 self.inner.channel().signal_peer(clear_mask, set_mask)
11117 }
11118}
11119
11120impl DictionaryRouterControlHandle {}
11121
11122#[must_use = "FIDL methods require a response to be sent"]
11123#[derive(Debug)]
11124pub struct DictionaryRouterRouteResponder {
11125 control_handle: std::mem::ManuallyDrop<DictionaryRouterControlHandle>,
11126 tx_id: u32,
11127}
11128
11129impl std::ops::Drop for DictionaryRouterRouteResponder {
11133 fn drop(&mut self) {
11134 self.control_handle.shutdown();
11135 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
11137 }
11138}
11139
11140impl fidl::endpoints::Responder for DictionaryRouterRouteResponder {
11141 type ControlHandle = DictionaryRouterControlHandle;
11142
11143 fn control_handle(&self) -> &DictionaryRouterControlHandle {
11144 &self.control_handle
11145 }
11146
11147 fn drop_without_shutdown(mut self) {
11148 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
11150 std::mem::forget(self);
11152 }
11153}
11154
11155impl DictionaryRouterRouteResponder {
11156 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
11160 let _result = self.send_raw(result);
11161 if _result.is_err() {
11162 self.control_handle.shutdown();
11163 }
11164 self.drop_without_shutdown();
11165 _result
11166 }
11167
11168 pub fn send_no_shutdown_on_err(
11170 self,
11171 mut result: Result<RouterResponse, RouterError>,
11172 ) -> Result<(), fidl::Error> {
11173 let _result = self.send_raw(result);
11174 self.drop_without_shutdown();
11175 _result
11176 }
11177
11178 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
11179 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
11180 DictionaryRouterRouteResponse,
11181 RouterError,
11182 >>(
11183 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
11184 self.tx_id,
11185 0x199389f437b3937b,
11186 fidl::encoding::DynamicFlags::FLEXIBLE,
11187 )
11188 }
11189}
11190
11191#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
11192pub struct DictionaryRouterDeprecatedMarker;
11193
11194impl fidl::endpoints::ProtocolMarker for DictionaryRouterDeprecatedMarker {
11195 type Proxy = DictionaryRouterDeprecatedProxy;
11196 type RequestStream = DictionaryRouterDeprecatedRequestStream;
11197 #[cfg(target_os = "fuchsia")]
11198 type SynchronousProxy = DictionaryRouterDeprecatedSynchronousProxy;
11199
11200 const DEBUG_NAME: &'static str = "(anonymous) DictionaryRouterDeprecated";
11201}
11202pub type DictionaryRouterDeprecatedRouteResult = Result<RouterResponse, RouterError>;
11203
11204pub trait DictionaryRouterDeprecatedProxyInterface: Send + Sync {
11205 fn r#clone(
11206 &self,
11207 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11208 ) -> Result<(), fidl::Error>;
11209 type RouteResponseFut: std::future::Future<Output = Result<DictionaryRouterDeprecatedRouteResult, fidl::Error>>
11210 + Send;
11211 fn r#route(
11212 &self,
11213 request: DeprecatedRouteRequest,
11214 dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11215 ) -> Self::RouteResponseFut;
11216}
11217#[derive(Debug)]
11218#[cfg(target_os = "fuchsia")]
11219pub struct DictionaryRouterDeprecatedSynchronousProxy {
11220 client: fidl::client::sync::Client,
11221}
11222
11223#[cfg(target_os = "fuchsia")]
11224impl fidl::endpoints::SynchronousProxy for DictionaryRouterDeprecatedSynchronousProxy {
11225 type Proxy = DictionaryRouterDeprecatedProxy;
11226 type Protocol = DictionaryRouterDeprecatedMarker;
11227
11228 fn from_channel(inner: fidl::Channel) -> Self {
11229 Self::new(inner)
11230 }
11231
11232 fn into_channel(self) -> fidl::Channel {
11233 self.client.into_channel()
11234 }
11235
11236 fn as_channel(&self) -> &fidl::Channel {
11237 self.client.as_channel()
11238 }
11239}
11240
11241#[cfg(target_os = "fuchsia")]
11242impl DictionaryRouterDeprecatedSynchronousProxy {
11243 pub fn new(channel: fidl::Channel) -> Self {
11244 let protocol_name =
11245 <DictionaryRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
11246 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
11247 }
11248
11249 pub fn into_channel(self) -> fidl::Channel {
11250 self.client.into_channel()
11251 }
11252
11253 pub fn wait_for_event(
11256 &self,
11257 deadline: zx::MonotonicInstant,
11258 ) -> Result<DictionaryRouterDeprecatedEvent, fidl::Error> {
11259 DictionaryRouterDeprecatedEvent::decode(self.client.wait_for_event(deadline)?)
11260 }
11261
11262 pub fn r#clone(
11263 &self,
11264 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11265 ) -> Result<(), fidl::Error> {
11266 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
11267 (request,),
11268 0x20d8a7aba2168a79,
11269 fidl::encoding::DynamicFlags::empty(),
11270 )
11271 }
11272
11273 pub fn r#route(
11282 &self,
11283 mut request: DeprecatedRouteRequest,
11284 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11285 ___deadline: zx::MonotonicInstant,
11286 ) -> Result<DictionaryRouterDeprecatedRouteResult, fidl::Error> {
11287 let _response = self.client.send_query::<
11288 DictionaryRouterDeprecatedRouteRequest,
11289 fidl::encoding::FlexibleResultType<DictionaryRouterDeprecatedRouteResponse, RouterError>,
11290 >(
11291 (&mut request, dictionary_server_end,),
11292 0x10b86c8a8e9eb51a,
11293 fidl::encoding::DynamicFlags::FLEXIBLE,
11294 ___deadline,
11295 )?
11296 .into_result::<DictionaryRouterDeprecatedMarker>("route")?;
11297 Ok(_response.map(|x| x.response))
11298 }
11299}
11300
11301#[cfg(target_os = "fuchsia")]
11302impl From<DictionaryRouterDeprecatedSynchronousProxy> for zx::NullableHandle {
11303 fn from(value: DictionaryRouterDeprecatedSynchronousProxy) -> Self {
11304 value.into_channel().into()
11305 }
11306}
11307
11308#[cfg(target_os = "fuchsia")]
11309impl From<fidl::Channel> for DictionaryRouterDeprecatedSynchronousProxy {
11310 fn from(value: fidl::Channel) -> Self {
11311 Self::new(value)
11312 }
11313}
11314
11315#[cfg(target_os = "fuchsia")]
11316impl fidl::endpoints::FromClient for DictionaryRouterDeprecatedSynchronousProxy {
11317 type Protocol = DictionaryRouterDeprecatedMarker;
11318
11319 fn from_client(value: fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>) -> Self {
11320 Self::new(value.into_channel())
11321 }
11322}
11323
11324#[derive(Debug, Clone)]
11325pub struct DictionaryRouterDeprecatedProxy {
11326 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
11327}
11328
11329impl fidl::endpoints::Proxy for DictionaryRouterDeprecatedProxy {
11330 type Protocol = DictionaryRouterDeprecatedMarker;
11331
11332 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
11333 Self::new(inner)
11334 }
11335
11336 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
11337 self.client.into_channel().map_err(|client| Self { client })
11338 }
11339
11340 fn as_channel(&self) -> &::fidl::AsyncChannel {
11341 self.client.as_channel()
11342 }
11343}
11344
11345impl DictionaryRouterDeprecatedProxy {
11346 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
11348 let protocol_name =
11349 <DictionaryRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
11350 Self { client: fidl::client::Client::new(channel, protocol_name) }
11351 }
11352
11353 pub fn take_event_stream(&self) -> DictionaryRouterDeprecatedEventStream {
11359 DictionaryRouterDeprecatedEventStream { event_receiver: self.client.take_event_receiver() }
11360 }
11361
11362 pub fn r#clone(
11363 &self,
11364 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11365 ) -> Result<(), fidl::Error> {
11366 DictionaryRouterDeprecatedProxyInterface::r#clone(self, request)
11367 }
11368
11369 pub fn r#route(
11378 &self,
11379 mut request: DeprecatedRouteRequest,
11380 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11381 ) -> fidl::client::QueryResponseFut<
11382 DictionaryRouterDeprecatedRouteResult,
11383 fidl::encoding::DefaultFuchsiaResourceDialect,
11384 > {
11385 DictionaryRouterDeprecatedProxyInterface::r#route(self, request, dictionary_server_end)
11386 }
11387}
11388
11389impl DictionaryRouterDeprecatedProxyInterface for DictionaryRouterDeprecatedProxy {
11390 fn r#clone(
11391 &self,
11392 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11393 ) -> Result<(), fidl::Error> {
11394 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
11395 (request,),
11396 0x20d8a7aba2168a79,
11397 fidl::encoding::DynamicFlags::empty(),
11398 )
11399 }
11400
11401 type RouteResponseFut = fidl::client::QueryResponseFut<
11402 DictionaryRouterDeprecatedRouteResult,
11403 fidl::encoding::DefaultFuchsiaResourceDialect,
11404 >;
11405 fn r#route(
11406 &self,
11407 mut request: DeprecatedRouteRequest,
11408 mut dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11409 ) -> Self::RouteResponseFut {
11410 fn _decode(
11411 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
11412 ) -> Result<DictionaryRouterDeprecatedRouteResult, fidl::Error> {
11413 let _response = fidl::client::decode_transaction_body::<
11414 fidl::encoding::FlexibleResultType<
11415 DictionaryRouterDeprecatedRouteResponse,
11416 RouterError,
11417 >,
11418 fidl::encoding::DefaultFuchsiaResourceDialect,
11419 0x10b86c8a8e9eb51a,
11420 >(_buf?)?
11421 .into_result::<DictionaryRouterDeprecatedMarker>("route")?;
11422 Ok(_response.map(|x| x.response))
11423 }
11424 self.client.send_query_and_decode::<
11425 DictionaryRouterDeprecatedRouteRequest,
11426 DictionaryRouterDeprecatedRouteResult,
11427 >(
11428 (&mut request, dictionary_server_end,),
11429 0x10b86c8a8e9eb51a,
11430 fidl::encoding::DynamicFlags::FLEXIBLE,
11431 _decode,
11432 )
11433 }
11434}
11435
11436pub struct DictionaryRouterDeprecatedEventStream {
11437 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
11438}
11439
11440impl std::marker::Unpin for DictionaryRouterDeprecatedEventStream {}
11441
11442impl futures::stream::FusedStream for DictionaryRouterDeprecatedEventStream {
11443 fn is_terminated(&self) -> bool {
11444 self.event_receiver.is_terminated()
11445 }
11446}
11447
11448impl futures::Stream for DictionaryRouterDeprecatedEventStream {
11449 type Item = Result<DictionaryRouterDeprecatedEvent, fidl::Error>;
11450
11451 fn poll_next(
11452 mut self: std::pin::Pin<&mut Self>,
11453 cx: &mut std::task::Context<'_>,
11454 ) -> std::task::Poll<Option<Self::Item>> {
11455 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
11456 &mut self.event_receiver,
11457 cx
11458 )?) {
11459 Some(buf) => std::task::Poll::Ready(Some(DictionaryRouterDeprecatedEvent::decode(buf))),
11460 None => std::task::Poll::Ready(None),
11461 }
11462 }
11463}
11464
11465#[derive(Debug)]
11466pub enum DictionaryRouterDeprecatedEvent {
11467 #[non_exhaustive]
11468 _UnknownEvent {
11469 ordinal: u64,
11471 },
11472}
11473
11474impl DictionaryRouterDeprecatedEvent {
11475 fn decode(
11477 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
11478 ) -> Result<DictionaryRouterDeprecatedEvent, fidl::Error> {
11479 let (bytes, _handles) = buf.split_mut();
11480 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
11481 debug_assert_eq!(tx_header.tx_id, 0);
11482 match tx_header.ordinal {
11483 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
11484 Ok(DictionaryRouterDeprecatedEvent::_UnknownEvent {
11485 ordinal: tx_header.ordinal,
11486 })
11487 }
11488 _ => Err(fidl::Error::UnknownOrdinal {
11489 ordinal: tx_header.ordinal,
11490 protocol_name: <DictionaryRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
11491 })
11492 }
11493 }
11494}
11495
11496pub struct DictionaryRouterDeprecatedRequestStream {
11498 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
11499 is_terminated: bool,
11500}
11501
11502impl std::marker::Unpin for DictionaryRouterDeprecatedRequestStream {}
11503
11504impl futures::stream::FusedStream for DictionaryRouterDeprecatedRequestStream {
11505 fn is_terminated(&self) -> bool {
11506 self.is_terminated
11507 }
11508}
11509
11510impl fidl::endpoints::RequestStream for DictionaryRouterDeprecatedRequestStream {
11511 type Protocol = DictionaryRouterDeprecatedMarker;
11512 type ControlHandle = DictionaryRouterDeprecatedControlHandle;
11513
11514 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
11515 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
11516 }
11517
11518 fn control_handle(&self) -> Self::ControlHandle {
11519 DictionaryRouterDeprecatedControlHandle { inner: self.inner.clone() }
11520 }
11521
11522 fn into_inner(
11523 self,
11524 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
11525 {
11526 (self.inner, self.is_terminated)
11527 }
11528
11529 fn from_inner(
11530 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
11531 is_terminated: bool,
11532 ) -> Self {
11533 Self { inner, is_terminated }
11534 }
11535}
11536
11537impl futures::Stream for DictionaryRouterDeprecatedRequestStream {
11538 type Item = Result<DictionaryRouterDeprecatedRequest, fidl::Error>;
11539
11540 fn poll_next(
11541 mut self: std::pin::Pin<&mut Self>,
11542 cx: &mut std::task::Context<'_>,
11543 ) -> std::task::Poll<Option<Self::Item>> {
11544 let this = &mut *self;
11545 if this.inner.check_shutdown(cx) {
11546 this.is_terminated = true;
11547 return std::task::Poll::Ready(None);
11548 }
11549 if this.is_terminated {
11550 panic!("polled DictionaryRouterDeprecatedRequestStream after completion");
11551 }
11552 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
11553 |bytes, handles| {
11554 match this.inner.channel().read_etc(cx, bytes, handles) {
11555 std::task::Poll::Ready(Ok(())) => {}
11556 std::task::Poll::Pending => return std::task::Poll::Pending,
11557 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
11558 this.is_terminated = true;
11559 return std::task::Poll::Ready(None);
11560 }
11561 std::task::Poll::Ready(Err(e)) => {
11562 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
11563 e.into(),
11564 ))));
11565 }
11566 }
11567
11568 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
11570
11571 std::task::Poll::Ready(Some(match header.ordinal {
11572 0x20d8a7aba2168a79 => {
11573 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
11574 let mut req = fidl::new_empty!(fidl_fuchsia_unknown::CloneableCloneRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
11575 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
11576 let control_handle = DictionaryRouterDeprecatedControlHandle {
11577 inner: this.inner.clone(),
11578 };
11579 Ok(DictionaryRouterDeprecatedRequest::Clone {request: req.request,
11580
11581 control_handle,
11582 })
11583 }
11584 0x10b86c8a8e9eb51a => {
11585 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
11586 let mut req = fidl::new_empty!(DictionaryRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
11587 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DictionaryRouterDeprecatedRouteRequest>(&header, _body_bytes, handles, &mut req)?;
11588 let control_handle = DictionaryRouterDeprecatedControlHandle {
11589 inner: this.inner.clone(),
11590 };
11591 Ok(DictionaryRouterDeprecatedRequest::Route {request: req.request,
11592dictionary_server_end: req.dictionary_server_end,
11593
11594 responder: DictionaryRouterDeprecatedRouteResponder {
11595 control_handle: std::mem::ManuallyDrop::new(control_handle),
11596 tx_id: header.tx_id,
11597 },
11598 })
11599 }
11600 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
11601 Ok(DictionaryRouterDeprecatedRequest::_UnknownMethod {
11602 ordinal: header.ordinal,
11603 control_handle: DictionaryRouterDeprecatedControlHandle { inner: this.inner.clone() },
11604 method_type: fidl::MethodType::OneWay,
11605 })
11606 }
11607 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
11608 this.inner.send_framework_err(
11609 fidl::encoding::FrameworkErr::UnknownMethod,
11610 header.tx_id,
11611 header.ordinal,
11612 header.dynamic_flags(),
11613 (bytes, handles),
11614 )?;
11615 Ok(DictionaryRouterDeprecatedRequest::_UnknownMethod {
11616 ordinal: header.ordinal,
11617 control_handle: DictionaryRouterDeprecatedControlHandle { inner: this.inner.clone() },
11618 method_type: fidl::MethodType::TwoWay,
11619 })
11620 }
11621 _ => Err(fidl::Error::UnknownOrdinal {
11622 ordinal: header.ordinal,
11623 protocol_name: <DictionaryRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
11624 }),
11625 }))
11626 },
11627 )
11628 }
11629}
11630
11631#[derive(Debug)]
11633pub enum DictionaryRouterDeprecatedRequest {
11634 Clone {
11635 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11636 control_handle: DictionaryRouterDeprecatedControlHandle,
11637 },
11638 Route {
11647 request: DeprecatedRouteRequest,
11648 dictionary_server_end: fidl::endpoints::ServerEnd<DictionaryMarker>,
11649 responder: DictionaryRouterDeprecatedRouteResponder,
11650 },
11651 #[non_exhaustive]
11653 _UnknownMethod {
11654 ordinal: u64,
11656 control_handle: DictionaryRouterDeprecatedControlHandle,
11657 method_type: fidl::MethodType,
11658 },
11659}
11660
11661impl DictionaryRouterDeprecatedRequest {
11662 #[allow(irrefutable_let_patterns)]
11663 pub fn into_clone(
11664 self,
11665 ) -> Option<(
11666 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11667 DictionaryRouterDeprecatedControlHandle,
11668 )> {
11669 if let DictionaryRouterDeprecatedRequest::Clone { request, control_handle } = self {
11670 Some((request, control_handle))
11671 } else {
11672 None
11673 }
11674 }
11675
11676 #[allow(irrefutable_let_patterns)]
11677 pub fn into_route(
11678 self,
11679 ) -> Option<(
11680 DeprecatedRouteRequest,
11681 fidl::endpoints::ServerEnd<DictionaryMarker>,
11682 DictionaryRouterDeprecatedRouteResponder,
11683 )> {
11684 if let DictionaryRouterDeprecatedRequest::Route {
11685 request,
11686 dictionary_server_end,
11687 responder,
11688 } = self
11689 {
11690 Some((request, dictionary_server_end, responder))
11691 } else {
11692 None
11693 }
11694 }
11695
11696 pub fn method_name(&self) -> &'static str {
11698 match *self {
11699 DictionaryRouterDeprecatedRequest::Clone { .. } => "clone",
11700 DictionaryRouterDeprecatedRequest::Route { .. } => "route",
11701 DictionaryRouterDeprecatedRequest::_UnknownMethod {
11702 method_type: fidl::MethodType::OneWay,
11703 ..
11704 } => "unknown one-way method",
11705 DictionaryRouterDeprecatedRequest::_UnknownMethod {
11706 method_type: fidl::MethodType::TwoWay,
11707 ..
11708 } => "unknown two-way method",
11709 }
11710 }
11711}
11712
11713#[derive(Debug, Clone)]
11714pub struct DictionaryRouterDeprecatedControlHandle {
11715 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
11716}
11717
11718impl fidl::endpoints::ControlHandle for DictionaryRouterDeprecatedControlHandle {
11719 fn shutdown(&self) {
11720 self.inner.shutdown()
11721 }
11722
11723 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
11724 self.inner.shutdown_with_epitaph(status)
11725 }
11726
11727 fn is_closed(&self) -> bool {
11728 self.inner.channel().is_closed()
11729 }
11730 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
11731 self.inner.channel().on_closed()
11732 }
11733
11734 #[cfg(target_os = "fuchsia")]
11735 fn signal_peer(
11736 &self,
11737 clear_mask: zx::Signals,
11738 set_mask: zx::Signals,
11739 ) -> Result<(), zx_status::Status> {
11740 use fidl::Peered;
11741 self.inner.channel().signal_peer(clear_mask, set_mask)
11742 }
11743}
11744
11745impl DictionaryRouterDeprecatedControlHandle {}
11746
11747#[must_use = "FIDL methods require a response to be sent"]
11748#[derive(Debug)]
11749pub struct DictionaryRouterDeprecatedRouteResponder {
11750 control_handle: std::mem::ManuallyDrop<DictionaryRouterDeprecatedControlHandle>,
11751 tx_id: u32,
11752}
11753
11754impl std::ops::Drop for DictionaryRouterDeprecatedRouteResponder {
11758 fn drop(&mut self) {
11759 self.control_handle.shutdown();
11760 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
11762 }
11763}
11764
11765impl fidl::endpoints::Responder for DictionaryRouterDeprecatedRouteResponder {
11766 type ControlHandle = DictionaryRouterDeprecatedControlHandle;
11767
11768 fn control_handle(&self) -> &DictionaryRouterDeprecatedControlHandle {
11769 &self.control_handle
11770 }
11771
11772 fn drop_without_shutdown(mut self) {
11773 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
11775 std::mem::forget(self);
11777 }
11778}
11779
11780impl DictionaryRouterDeprecatedRouteResponder {
11781 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
11785 let _result = self.send_raw(result);
11786 if _result.is_err() {
11787 self.control_handle.shutdown();
11788 }
11789 self.drop_without_shutdown();
11790 _result
11791 }
11792
11793 pub fn send_no_shutdown_on_err(
11795 self,
11796 mut result: Result<RouterResponse, RouterError>,
11797 ) -> Result<(), fidl::Error> {
11798 let _result = self.send_raw(result);
11799 self.drop_without_shutdown();
11800 _result
11801 }
11802
11803 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
11804 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
11805 DictionaryRouterDeprecatedRouteResponse,
11806 RouterError,
11807 >>(
11808 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
11809 self.tx_id,
11810 0x10b86c8a8e9eb51a,
11811 fidl::encoding::DynamicFlags::FLEXIBLE,
11812 )
11813 }
11814}
11815
11816#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
11817pub struct DirConnectorMarker;
11818
11819impl fidl::endpoints::ProtocolMarker for DirConnectorMarker {
11820 type Proxy = DirConnectorProxy;
11821 type RequestStream = DirConnectorRequestStream;
11822 #[cfg(target_os = "fuchsia")]
11823 type SynchronousProxy = DirConnectorSynchronousProxy;
11824
11825 const DEBUG_NAME: &'static str = "(anonymous) DirConnector";
11826}
11827
11828pub trait DirConnectorProxyInterface: Send + Sync {
11829 fn r#clone(
11830 &self,
11831 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11832 ) -> Result<(), fidl::Error>;
11833 fn r#connect(
11834 &self,
11835 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
11836 ) -> Result<(), fidl::Error>;
11837}
11838#[derive(Debug)]
11839#[cfg(target_os = "fuchsia")]
11840pub struct DirConnectorSynchronousProxy {
11841 client: fidl::client::sync::Client,
11842}
11843
11844#[cfg(target_os = "fuchsia")]
11845impl fidl::endpoints::SynchronousProxy for DirConnectorSynchronousProxy {
11846 type Proxy = DirConnectorProxy;
11847 type Protocol = DirConnectorMarker;
11848
11849 fn from_channel(inner: fidl::Channel) -> Self {
11850 Self::new(inner)
11851 }
11852
11853 fn into_channel(self) -> fidl::Channel {
11854 self.client.into_channel()
11855 }
11856
11857 fn as_channel(&self) -> &fidl::Channel {
11858 self.client.as_channel()
11859 }
11860}
11861
11862#[cfg(target_os = "fuchsia")]
11863impl DirConnectorSynchronousProxy {
11864 pub fn new(channel: fidl::Channel) -> Self {
11865 let protocol_name = <DirConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
11866 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
11867 }
11868
11869 pub fn into_channel(self) -> fidl::Channel {
11870 self.client.into_channel()
11871 }
11872
11873 pub fn wait_for_event(
11876 &self,
11877 deadline: zx::MonotonicInstant,
11878 ) -> Result<DirConnectorEvent, fidl::Error> {
11879 DirConnectorEvent::decode(self.client.wait_for_event(deadline)?)
11880 }
11881
11882 pub fn r#clone(
11883 &self,
11884 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11885 ) -> Result<(), fidl::Error> {
11886 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
11887 (request,),
11888 0x20d8a7aba2168a79,
11889 fidl::encoding::DynamicFlags::empty(),
11890 )
11891 }
11892
11893 pub fn r#connect(
11895 &self,
11896 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
11897 ) -> Result<(), fidl::Error> {
11898 self.client.send::<DirConnectorConnectRequest>(
11899 (channel,),
11900 0x23fbb3d289ca7e5b,
11901 fidl::encoding::DynamicFlags::FLEXIBLE,
11902 )
11903 }
11904}
11905
11906#[cfg(target_os = "fuchsia")]
11907impl From<DirConnectorSynchronousProxy> for zx::NullableHandle {
11908 fn from(value: DirConnectorSynchronousProxy) -> Self {
11909 value.into_channel().into()
11910 }
11911}
11912
11913#[cfg(target_os = "fuchsia")]
11914impl From<fidl::Channel> for DirConnectorSynchronousProxy {
11915 fn from(value: fidl::Channel) -> Self {
11916 Self::new(value)
11917 }
11918}
11919
11920#[cfg(target_os = "fuchsia")]
11921impl fidl::endpoints::FromClient for DirConnectorSynchronousProxy {
11922 type Protocol = DirConnectorMarker;
11923
11924 fn from_client(value: fidl::endpoints::ClientEnd<DirConnectorMarker>) -> Self {
11925 Self::new(value.into_channel())
11926 }
11927}
11928
11929#[derive(Debug, Clone)]
11930pub struct DirConnectorProxy {
11931 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
11932}
11933
11934impl fidl::endpoints::Proxy for DirConnectorProxy {
11935 type Protocol = DirConnectorMarker;
11936
11937 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
11938 Self::new(inner)
11939 }
11940
11941 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
11942 self.client.into_channel().map_err(|client| Self { client })
11943 }
11944
11945 fn as_channel(&self) -> &::fidl::AsyncChannel {
11946 self.client.as_channel()
11947 }
11948}
11949
11950impl DirConnectorProxy {
11951 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
11953 let protocol_name = <DirConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
11954 Self { client: fidl::client::Client::new(channel, protocol_name) }
11955 }
11956
11957 pub fn take_event_stream(&self) -> DirConnectorEventStream {
11963 DirConnectorEventStream { event_receiver: self.client.take_event_receiver() }
11964 }
11965
11966 pub fn r#clone(
11967 &self,
11968 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11969 ) -> Result<(), fidl::Error> {
11970 DirConnectorProxyInterface::r#clone(self, request)
11971 }
11972
11973 pub fn r#connect(
11975 &self,
11976 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
11977 ) -> Result<(), fidl::Error> {
11978 DirConnectorProxyInterface::r#connect(self, channel)
11979 }
11980}
11981
11982impl DirConnectorProxyInterface for DirConnectorProxy {
11983 fn r#clone(
11984 &self,
11985 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
11986 ) -> Result<(), fidl::Error> {
11987 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
11988 (request,),
11989 0x20d8a7aba2168a79,
11990 fidl::encoding::DynamicFlags::empty(),
11991 )
11992 }
11993
11994 fn r#connect(
11995 &self,
11996 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
11997 ) -> Result<(), fidl::Error> {
11998 self.client.send::<DirConnectorConnectRequest>(
11999 (channel,),
12000 0x23fbb3d289ca7e5b,
12001 fidl::encoding::DynamicFlags::FLEXIBLE,
12002 )
12003 }
12004}
12005
12006pub struct DirConnectorEventStream {
12007 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
12008}
12009
12010impl std::marker::Unpin for DirConnectorEventStream {}
12011
12012impl futures::stream::FusedStream for DirConnectorEventStream {
12013 fn is_terminated(&self) -> bool {
12014 self.event_receiver.is_terminated()
12015 }
12016}
12017
12018impl futures::Stream for DirConnectorEventStream {
12019 type Item = Result<DirConnectorEvent, fidl::Error>;
12020
12021 fn poll_next(
12022 mut self: std::pin::Pin<&mut Self>,
12023 cx: &mut std::task::Context<'_>,
12024 ) -> std::task::Poll<Option<Self::Item>> {
12025 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
12026 &mut self.event_receiver,
12027 cx
12028 )?) {
12029 Some(buf) => std::task::Poll::Ready(Some(DirConnectorEvent::decode(buf))),
12030 None => std::task::Poll::Ready(None),
12031 }
12032 }
12033}
12034
12035#[derive(Debug)]
12036pub enum DirConnectorEvent {
12037 #[non_exhaustive]
12038 _UnknownEvent {
12039 ordinal: u64,
12041 },
12042}
12043
12044impl DirConnectorEvent {
12045 fn decode(
12047 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
12048 ) -> Result<DirConnectorEvent, fidl::Error> {
12049 let (bytes, _handles) = buf.split_mut();
12050 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
12051 debug_assert_eq!(tx_header.tx_id, 0);
12052 match tx_header.ordinal {
12053 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
12054 Ok(DirConnectorEvent::_UnknownEvent { ordinal: tx_header.ordinal })
12055 }
12056 _ => Err(fidl::Error::UnknownOrdinal {
12057 ordinal: tx_header.ordinal,
12058 protocol_name: <DirConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
12059 }),
12060 }
12061 }
12062}
12063
12064pub struct DirConnectorRequestStream {
12066 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12067 is_terminated: bool,
12068}
12069
12070impl std::marker::Unpin for DirConnectorRequestStream {}
12071
12072impl futures::stream::FusedStream for DirConnectorRequestStream {
12073 fn is_terminated(&self) -> bool {
12074 self.is_terminated
12075 }
12076}
12077
12078impl fidl::endpoints::RequestStream for DirConnectorRequestStream {
12079 type Protocol = DirConnectorMarker;
12080 type ControlHandle = DirConnectorControlHandle;
12081
12082 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
12083 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
12084 }
12085
12086 fn control_handle(&self) -> Self::ControlHandle {
12087 DirConnectorControlHandle { inner: self.inner.clone() }
12088 }
12089
12090 fn into_inner(
12091 self,
12092 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
12093 {
12094 (self.inner, self.is_terminated)
12095 }
12096
12097 fn from_inner(
12098 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12099 is_terminated: bool,
12100 ) -> Self {
12101 Self { inner, is_terminated }
12102 }
12103}
12104
12105impl futures::Stream for DirConnectorRequestStream {
12106 type Item = Result<DirConnectorRequest, fidl::Error>;
12107
12108 fn poll_next(
12109 mut self: std::pin::Pin<&mut Self>,
12110 cx: &mut std::task::Context<'_>,
12111 ) -> std::task::Poll<Option<Self::Item>> {
12112 let this = &mut *self;
12113 if this.inner.check_shutdown(cx) {
12114 this.is_terminated = true;
12115 return std::task::Poll::Ready(None);
12116 }
12117 if this.is_terminated {
12118 panic!("polled DirConnectorRequestStream after completion");
12119 }
12120 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
12121 |bytes, handles| {
12122 match this.inner.channel().read_etc(cx, bytes, handles) {
12123 std::task::Poll::Ready(Ok(())) => {}
12124 std::task::Poll::Pending => return std::task::Poll::Pending,
12125 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
12126 this.is_terminated = true;
12127 return std::task::Poll::Ready(None);
12128 }
12129 std::task::Poll::Ready(Err(e)) => {
12130 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
12131 e.into(),
12132 ))));
12133 }
12134 }
12135
12136 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
12138
12139 std::task::Poll::Ready(Some(match header.ordinal {
12140 0x20d8a7aba2168a79 => {
12141 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
12142 let mut req = fidl::new_empty!(
12143 fidl_fuchsia_unknown::CloneableCloneRequest,
12144 fidl::encoding::DefaultFuchsiaResourceDialect
12145 );
12146 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
12147 let control_handle =
12148 DirConnectorControlHandle { inner: this.inner.clone() };
12149 Ok(DirConnectorRequest::Clone { request: req.request, control_handle })
12150 }
12151 0x23fbb3d289ca7e5b => {
12152 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
12153 let mut req = fidl::new_empty!(
12154 DirConnectorConnectRequest,
12155 fidl::encoding::DefaultFuchsiaResourceDialect
12156 );
12157 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirConnectorConnectRequest>(&header, _body_bytes, handles, &mut req)?;
12158 let control_handle =
12159 DirConnectorControlHandle { inner: this.inner.clone() };
12160 Ok(DirConnectorRequest::Connect { channel: req.channel, control_handle })
12161 }
12162 _ if header.tx_id == 0
12163 && header
12164 .dynamic_flags()
12165 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
12166 {
12167 Ok(DirConnectorRequest::_UnknownMethod {
12168 ordinal: header.ordinal,
12169 control_handle: DirConnectorControlHandle { inner: this.inner.clone() },
12170 method_type: fidl::MethodType::OneWay,
12171 })
12172 }
12173 _ if header
12174 .dynamic_flags()
12175 .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
12176 {
12177 this.inner.send_framework_err(
12178 fidl::encoding::FrameworkErr::UnknownMethod,
12179 header.tx_id,
12180 header.ordinal,
12181 header.dynamic_flags(),
12182 (bytes, handles),
12183 )?;
12184 Ok(DirConnectorRequest::_UnknownMethod {
12185 ordinal: header.ordinal,
12186 control_handle: DirConnectorControlHandle { inner: this.inner.clone() },
12187 method_type: fidl::MethodType::TwoWay,
12188 })
12189 }
12190 _ => Err(fidl::Error::UnknownOrdinal {
12191 ordinal: header.ordinal,
12192 protocol_name:
12193 <DirConnectorMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
12194 }),
12195 }))
12196 },
12197 )
12198 }
12199}
12200
12201#[derive(Debug)]
12205pub enum DirConnectorRequest {
12206 Clone {
12207 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
12208 control_handle: DirConnectorControlHandle,
12209 },
12210 Connect {
12212 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
12213 control_handle: DirConnectorControlHandle,
12214 },
12215 #[non_exhaustive]
12217 _UnknownMethod {
12218 ordinal: u64,
12220 control_handle: DirConnectorControlHandle,
12221 method_type: fidl::MethodType,
12222 },
12223}
12224
12225impl DirConnectorRequest {
12226 #[allow(irrefutable_let_patterns)]
12227 pub fn into_clone(
12228 self,
12229 ) -> Option<(
12230 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
12231 DirConnectorControlHandle,
12232 )> {
12233 if let DirConnectorRequest::Clone { request, control_handle } = self {
12234 Some((request, control_handle))
12235 } else {
12236 None
12237 }
12238 }
12239
12240 #[allow(irrefutable_let_patterns)]
12241 pub fn into_connect(
12242 self,
12243 ) -> Option<(
12244 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
12245 DirConnectorControlHandle,
12246 )> {
12247 if let DirConnectorRequest::Connect { channel, control_handle } = self {
12248 Some((channel, control_handle))
12249 } else {
12250 None
12251 }
12252 }
12253
12254 pub fn method_name(&self) -> &'static str {
12256 match *self {
12257 DirConnectorRequest::Clone { .. } => "clone",
12258 DirConnectorRequest::Connect { .. } => "connect",
12259 DirConnectorRequest::_UnknownMethod {
12260 method_type: fidl::MethodType::OneWay, ..
12261 } => "unknown one-way method",
12262 DirConnectorRequest::_UnknownMethod {
12263 method_type: fidl::MethodType::TwoWay, ..
12264 } => "unknown two-way method",
12265 }
12266 }
12267}
12268
12269#[derive(Debug, Clone)]
12270pub struct DirConnectorControlHandle {
12271 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12272}
12273
12274impl fidl::endpoints::ControlHandle for DirConnectorControlHandle {
12275 fn shutdown(&self) {
12276 self.inner.shutdown()
12277 }
12278
12279 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
12280 self.inner.shutdown_with_epitaph(status)
12281 }
12282
12283 fn is_closed(&self) -> bool {
12284 self.inner.channel().is_closed()
12285 }
12286 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
12287 self.inner.channel().on_closed()
12288 }
12289
12290 #[cfg(target_os = "fuchsia")]
12291 fn signal_peer(
12292 &self,
12293 clear_mask: zx::Signals,
12294 set_mask: zx::Signals,
12295 ) -> Result<(), zx_status::Status> {
12296 use fidl::Peered;
12297 self.inner.channel().signal_peer(clear_mask, set_mask)
12298 }
12299}
12300
12301impl DirConnectorControlHandle {}
12302
12303#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
12304pub struct DirConnectorRouterMarker;
12305
12306impl fidl::endpoints::ProtocolMarker for DirConnectorRouterMarker {
12307 type Proxy = DirConnectorRouterProxy;
12308 type RequestStream = DirConnectorRouterRequestStream;
12309 #[cfg(target_os = "fuchsia")]
12310 type SynchronousProxy = DirConnectorRouterSynchronousProxy;
12311
12312 const DEBUG_NAME: &'static str = "(anonymous) DirConnectorRouter";
12313}
12314pub type DirConnectorRouterRouteResult = Result<RouterResponse, RouterError>;
12315
12316pub trait DirConnectorRouterProxyInterface: Send + Sync {
12317 type RouteResponseFut: std::future::Future<Output = Result<DirConnectorRouterRouteResult, fidl::Error>>
12318 + Send;
12319 fn r#route(
12320 &self,
12321 request: RouteRequest,
12322 instance_token: fidl::EventPair,
12323 handle: fidl::EventPair,
12324 ) -> Self::RouteResponseFut;
12325}
12326#[derive(Debug)]
12327#[cfg(target_os = "fuchsia")]
12328pub struct DirConnectorRouterSynchronousProxy {
12329 client: fidl::client::sync::Client,
12330}
12331
12332#[cfg(target_os = "fuchsia")]
12333impl fidl::endpoints::SynchronousProxy for DirConnectorRouterSynchronousProxy {
12334 type Proxy = DirConnectorRouterProxy;
12335 type Protocol = DirConnectorRouterMarker;
12336
12337 fn from_channel(inner: fidl::Channel) -> Self {
12338 Self::new(inner)
12339 }
12340
12341 fn into_channel(self) -> fidl::Channel {
12342 self.client.into_channel()
12343 }
12344
12345 fn as_channel(&self) -> &fidl::Channel {
12346 self.client.as_channel()
12347 }
12348}
12349
12350#[cfg(target_os = "fuchsia")]
12351impl DirConnectorRouterSynchronousProxy {
12352 pub fn new(channel: fidl::Channel) -> Self {
12353 let protocol_name =
12354 <DirConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
12355 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
12356 }
12357
12358 pub fn into_channel(self) -> fidl::Channel {
12359 self.client.into_channel()
12360 }
12361
12362 pub fn wait_for_event(
12365 &self,
12366 deadline: zx::MonotonicInstant,
12367 ) -> Result<DirConnectorRouterEvent, fidl::Error> {
12368 DirConnectorRouterEvent::decode(self.client.wait_for_event(deadline)?)
12369 }
12370
12371 pub fn r#route(
12385 &self,
12386 mut request: RouteRequest,
12387 mut instance_token: fidl::EventPair,
12388 mut handle: fidl::EventPair,
12389 ___deadline: zx::MonotonicInstant,
12390 ) -> Result<DirConnectorRouterRouteResult, fidl::Error> {
12391 let _response = self.client.send_query::<
12392 DirConnectorRouterRouteRequest,
12393 fidl::encoding::FlexibleResultType<DirConnectorRouterRouteResponse, RouterError>,
12394 >(
12395 (&mut request, instance_token, handle,),
12396 0x233f2ac038127462,
12397 fidl::encoding::DynamicFlags::FLEXIBLE,
12398 ___deadline,
12399 )?
12400 .into_result::<DirConnectorRouterMarker>("route")?;
12401 Ok(_response.map(|x| x.response))
12402 }
12403}
12404
12405#[cfg(target_os = "fuchsia")]
12406impl From<DirConnectorRouterSynchronousProxy> for zx::NullableHandle {
12407 fn from(value: DirConnectorRouterSynchronousProxy) -> Self {
12408 value.into_channel().into()
12409 }
12410}
12411
12412#[cfg(target_os = "fuchsia")]
12413impl From<fidl::Channel> for DirConnectorRouterSynchronousProxy {
12414 fn from(value: fidl::Channel) -> Self {
12415 Self::new(value)
12416 }
12417}
12418
12419#[cfg(target_os = "fuchsia")]
12420impl fidl::endpoints::FromClient for DirConnectorRouterSynchronousProxy {
12421 type Protocol = DirConnectorRouterMarker;
12422
12423 fn from_client(value: fidl::endpoints::ClientEnd<DirConnectorRouterMarker>) -> Self {
12424 Self::new(value.into_channel())
12425 }
12426}
12427
12428#[derive(Debug, Clone)]
12429pub struct DirConnectorRouterProxy {
12430 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
12431}
12432
12433impl fidl::endpoints::Proxy for DirConnectorRouterProxy {
12434 type Protocol = DirConnectorRouterMarker;
12435
12436 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
12437 Self::new(inner)
12438 }
12439
12440 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
12441 self.client.into_channel().map_err(|client| Self { client })
12442 }
12443
12444 fn as_channel(&self) -> &::fidl::AsyncChannel {
12445 self.client.as_channel()
12446 }
12447}
12448
12449impl DirConnectorRouterProxy {
12450 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
12452 let protocol_name =
12453 <DirConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
12454 Self { client: fidl::client::Client::new(channel, protocol_name) }
12455 }
12456
12457 pub fn take_event_stream(&self) -> DirConnectorRouterEventStream {
12463 DirConnectorRouterEventStream { event_receiver: self.client.take_event_receiver() }
12464 }
12465
12466 pub fn r#route(
12480 &self,
12481 mut request: RouteRequest,
12482 mut instance_token: fidl::EventPair,
12483 mut handle: fidl::EventPair,
12484 ) -> fidl::client::QueryResponseFut<
12485 DirConnectorRouterRouteResult,
12486 fidl::encoding::DefaultFuchsiaResourceDialect,
12487 > {
12488 DirConnectorRouterProxyInterface::r#route(self, request, instance_token, handle)
12489 }
12490}
12491
12492impl DirConnectorRouterProxyInterface for DirConnectorRouterProxy {
12493 type RouteResponseFut = fidl::client::QueryResponseFut<
12494 DirConnectorRouterRouteResult,
12495 fidl::encoding::DefaultFuchsiaResourceDialect,
12496 >;
12497 fn r#route(
12498 &self,
12499 mut request: RouteRequest,
12500 mut instance_token: fidl::EventPair,
12501 mut handle: fidl::EventPair,
12502 ) -> Self::RouteResponseFut {
12503 fn _decode(
12504 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
12505 ) -> Result<DirConnectorRouterRouteResult, fidl::Error> {
12506 let _response = fidl::client::decode_transaction_body::<
12507 fidl::encoding::FlexibleResultType<DirConnectorRouterRouteResponse, RouterError>,
12508 fidl::encoding::DefaultFuchsiaResourceDialect,
12509 0x233f2ac038127462,
12510 >(_buf?)?
12511 .into_result::<DirConnectorRouterMarker>("route")?;
12512 Ok(_response.map(|x| x.response))
12513 }
12514 self.client
12515 .send_query_and_decode::<DirConnectorRouterRouteRequest, DirConnectorRouterRouteResult>(
12516 (&mut request, instance_token, handle),
12517 0x233f2ac038127462,
12518 fidl::encoding::DynamicFlags::FLEXIBLE,
12519 _decode,
12520 )
12521 }
12522}
12523
12524pub struct DirConnectorRouterEventStream {
12525 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
12526}
12527
12528impl std::marker::Unpin for DirConnectorRouterEventStream {}
12529
12530impl futures::stream::FusedStream for DirConnectorRouterEventStream {
12531 fn is_terminated(&self) -> bool {
12532 self.event_receiver.is_terminated()
12533 }
12534}
12535
12536impl futures::Stream for DirConnectorRouterEventStream {
12537 type Item = Result<DirConnectorRouterEvent, fidl::Error>;
12538
12539 fn poll_next(
12540 mut self: std::pin::Pin<&mut Self>,
12541 cx: &mut std::task::Context<'_>,
12542 ) -> std::task::Poll<Option<Self::Item>> {
12543 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
12544 &mut self.event_receiver,
12545 cx
12546 )?) {
12547 Some(buf) => std::task::Poll::Ready(Some(DirConnectorRouterEvent::decode(buf))),
12548 None => std::task::Poll::Ready(None),
12549 }
12550 }
12551}
12552
12553#[derive(Debug)]
12554pub enum DirConnectorRouterEvent {
12555 #[non_exhaustive]
12556 _UnknownEvent {
12557 ordinal: u64,
12559 },
12560}
12561
12562impl DirConnectorRouterEvent {
12563 fn decode(
12565 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
12566 ) -> Result<DirConnectorRouterEvent, fidl::Error> {
12567 let (bytes, _handles) = buf.split_mut();
12568 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
12569 debug_assert_eq!(tx_header.tx_id, 0);
12570 match tx_header.ordinal {
12571 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
12572 Ok(DirConnectorRouterEvent::_UnknownEvent { ordinal: tx_header.ordinal })
12573 }
12574 _ => Err(fidl::Error::UnknownOrdinal {
12575 ordinal: tx_header.ordinal,
12576 protocol_name:
12577 <DirConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
12578 }),
12579 }
12580 }
12581}
12582
12583pub struct DirConnectorRouterRequestStream {
12585 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12586 is_terminated: bool,
12587}
12588
12589impl std::marker::Unpin for DirConnectorRouterRequestStream {}
12590
12591impl futures::stream::FusedStream for DirConnectorRouterRequestStream {
12592 fn is_terminated(&self) -> bool {
12593 self.is_terminated
12594 }
12595}
12596
12597impl fidl::endpoints::RequestStream for DirConnectorRouterRequestStream {
12598 type Protocol = DirConnectorRouterMarker;
12599 type ControlHandle = DirConnectorRouterControlHandle;
12600
12601 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
12602 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
12603 }
12604
12605 fn control_handle(&self) -> Self::ControlHandle {
12606 DirConnectorRouterControlHandle { inner: self.inner.clone() }
12607 }
12608
12609 fn into_inner(
12610 self,
12611 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
12612 {
12613 (self.inner, self.is_terminated)
12614 }
12615
12616 fn from_inner(
12617 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12618 is_terminated: bool,
12619 ) -> Self {
12620 Self { inner, is_terminated }
12621 }
12622}
12623
12624impl futures::Stream for DirConnectorRouterRequestStream {
12625 type Item = Result<DirConnectorRouterRequest, fidl::Error>;
12626
12627 fn poll_next(
12628 mut self: std::pin::Pin<&mut Self>,
12629 cx: &mut std::task::Context<'_>,
12630 ) -> std::task::Poll<Option<Self::Item>> {
12631 let this = &mut *self;
12632 if this.inner.check_shutdown(cx) {
12633 this.is_terminated = true;
12634 return std::task::Poll::Ready(None);
12635 }
12636 if this.is_terminated {
12637 panic!("polled DirConnectorRouterRequestStream after completion");
12638 }
12639 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
12640 |bytes, handles| {
12641 match this.inner.channel().read_etc(cx, bytes, handles) {
12642 std::task::Poll::Ready(Ok(())) => {}
12643 std::task::Poll::Pending => return std::task::Poll::Pending,
12644 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
12645 this.is_terminated = true;
12646 return std::task::Poll::Ready(None);
12647 }
12648 std::task::Poll::Ready(Err(e)) => {
12649 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
12650 e.into(),
12651 ))));
12652 }
12653 }
12654
12655 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
12657
12658 std::task::Poll::Ready(Some(match header.ordinal {
12659 0x233f2ac038127462 => {
12660 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
12661 let mut req = fidl::new_empty!(DirConnectorRouterRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
12662 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirConnectorRouterRouteRequest>(&header, _body_bytes, handles, &mut req)?;
12663 let control_handle = DirConnectorRouterControlHandle {
12664 inner: this.inner.clone(),
12665 };
12666 Ok(DirConnectorRouterRequest::Route {request: req.request,
12667instance_token: req.instance_token,
12668handle: req.handle,
12669
12670 responder: DirConnectorRouterRouteResponder {
12671 control_handle: std::mem::ManuallyDrop::new(control_handle),
12672 tx_id: header.tx_id,
12673 },
12674 })
12675 }
12676 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
12677 Ok(DirConnectorRouterRequest::_UnknownMethod {
12678 ordinal: header.ordinal,
12679 control_handle: DirConnectorRouterControlHandle { inner: this.inner.clone() },
12680 method_type: fidl::MethodType::OneWay,
12681 })
12682 }
12683 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
12684 this.inner.send_framework_err(
12685 fidl::encoding::FrameworkErr::UnknownMethod,
12686 header.tx_id,
12687 header.ordinal,
12688 header.dynamic_flags(),
12689 (bytes, handles),
12690 )?;
12691 Ok(DirConnectorRouterRequest::_UnknownMethod {
12692 ordinal: header.ordinal,
12693 control_handle: DirConnectorRouterControlHandle { inner: this.inner.clone() },
12694 method_type: fidl::MethodType::TwoWay,
12695 })
12696 }
12697 _ => Err(fidl::Error::UnknownOrdinal {
12698 ordinal: header.ordinal,
12699 protocol_name: <DirConnectorRouterMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
12700 }),
12701 }))
12702 },
12703 )
12704 }
12705}
12706
12707#[derive(Debug)]
12709pub enum DirConnectorRouterRequest {
12710 Route {
12724 request: RouteRequest,
12725 instance_token: fidl::EventPair,
12726 handle: fidl::EventPair,
12727 responder: DirConnectorRouterRouteResponder,
12728 },
12729 #[non_exhaustive]
12731 _UnknownMethod {
12732 ordinal: u64,
12734 control_handle: DirConnectorRouterControlHandle,
12735 method_type: fidl::MethodType,
12736 },
12737}
12738
12739impl DirConnectorRouterRequest {
12740 #[allow(irrefutable_let_patterns)]
12741 pub fn into_route(
12742 self,
12743 ) -> Option<(RouteRequest, fidl::EventPair, fidl::EventPair, DirConnectorRouterRouteResponder)>
12744 {
12745 if let DirConnectorRouterRequest::Route { request, instance_token, handle, responder } =
12746 self
12747 {
12748 Some((request, instance_token, handle, responder))
12749 } else {
12750 None
12751 }
12752 }
12753
12754 pub fn method_name(&self) -> &'static str {
12756 match *self {
12757 DirConnectorRouterRequest::Route { .. } => "route",
12758 DirConnectorRouterRequest::_UnknownMethod {
12759 method_type: fidl::MethodType::OneWay,
12760 ..
12761 } => "unknown one-way method",
12762 DirConnectorRouterRequest::_UnknownMethod {
12763 method_type: fidl::MethodType::TwoWay,
12764 ..
12765 } => "unknown two-way method",
12766 }
12767 }
12768}
12769
12770#[derive(Debug, Clone)]
12771pub struct DirConnectorRouterControlHandle {
12772 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
12773}
12774
12775impl fidl::endpoints::ControlHandle for DirConnectorRouterControlHandle {
12776 fn shutdown(&self) {
12777 self.inner.shutdown()
12778 }
12779
12780 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
12781 self.inner.shutdown_with_epitaph(status)
12782 }
12783
12784 fn is_closed(&self) -> bool {
12785 self.inner.channel().is_closed()
12786 }
12787 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
12788 self.inner.channel().on_closed()
12789 }
12790
12791 #[cfg(target_os = "fuchsia")]
12792 fn signal_peer(
12793 &self,
12794 clear_mask: zx::Signals,
12795 set_mask: zx::Signals,
12796 ) -> Result<(), zx_status::Status> {
12797 use fidl::Peered;
12798 self.inner.channel().signal_peer(clear_mask, set_mask)
12799 }
12800}
12801
12802impl DirConnectorRouterControlHandle {}
12803
12804#[must_use = "FIDL methods require a response to be sent"]
12805#[derive(Debug)]
12806pub struct DirConnectorRouterRouteResponder {
12807 control_handle: std::mem::ManuallyDrop<DirConnectorRouterControlHandle>,
12808 tx_id: u32,
12809}
12810
12811impl std::ops::Drop for DirConnectorRouterRouteResponder {
12815 fn drop(&mut self) {
12816 self.control_handle.shutdown();
12817 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
12819 }
12820}
12821
12822impl fidl::endpoints::Responder for DirConnectorRouterRouteResponder {
12823 type ControlHandle = DirConnectorRouterControlHandle;
12824
12825 fn control_handle(&self) -> &DirConnectorRouterControlHandle {
12826 &self.control_handle
12827 }
12828
12829 fn drop_without_shutdown(mut self) {
12830 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
12832 std::mem::forget(self);
12834 }
12835}
12836
12837impl DirConnectorRouterRouteResponder {
12838 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
12842 let _result = self.send_raw(result);
12843 if _result.is_err() {
12844 self.control_handle.shutdown();
12845 }
12846 self.drop_without_shutdown();
12847 _result
12848 }
12849
12850 pub fn send_no_shutdown_on_err(
12852 self,
12853 mut result: Result<RouterResponse, RouterError>,
12854 ) -> Result<(), fidl::Error> {
12855 let _result = self.send_raw(result);
12856 self.drop_without_shutdown();
12857 _result
12858 }
12859
12860 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
12861 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
12862 DirConnectorRouterRouteResponse,
12863 RouterError,
12864 >>(
12865 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
12866 self.tx_id,
12867 0x233f2ac038127462,
12868 fidl::encoding::DynamicFlags::FLEXIBLE,
12869 )
12870 }
12871}
12872
12873#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
12874pub struct DirConnectorRouterDeprecatedMarker;
12875
12876impl fidl::endpoints::ProtocolMarker for DirConnectorRouterDeprecatedMarker {
12877 type Proxy = DirConnectorRouterDeprecatedProxy;
12878 type RequestStream = DirConnectorRouterDeprecatedRequestStream;
12879 #[cfg(target_os = "fuchsia")]
12880 type SynchronousProxy = DirConnectorRouterDeprecatedSynchronousProxy;
12881
12882 const DEBUG_NAME: &'static str = "(anonymous) DirConnectorRouterDeprecated";
12883}
12884pub type DirConnectorRouterDeprecatedRouteResult = Result<RouterResponse, RouterError>;
12885
12886pub trait DirConnectorRouterDeprecatedProxyInterface: Send + Sync {
12887 fn r#clone(
12888 &self,
12889 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
12890 ) -> Result<(), fidl::Error>;
12891 type RouteResponseFut: std::future::Future<Output = Result<DirConnectorRouterDeprecatedRouteResult, fidl::Error>>
12892 + Send;
12893 fn r#route(
12894 &self,
12895 request: DeprecatedRouteRequest,
12896 dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
12897 ) -> Self::RouteResponseFut;
12898}
12899#[derive(Debug)]
12900#[cfg(target_os = "fuchsia")]
12901pub struct DirConnectorRouterDeprecatedSynchronousProxy {
12902 client: fidl::client::sync::Client,
12903}
12904
12905#[cfg(target_os = "fuchsia")]
12906impl fidl::endpoints::SynchronousProxy for DirConnectorRouterDeprecatedSynchronousProxy {
12907 type Proxy = DirConnectorRouterDeprecatedProxy;
12908 type Protocol = DirConnectorRouterDeprecatedMarker;
12909
12910 fn from_channel(inner: fidl::Channel) -> Self {
12911 Self::new(inner)
12912 }
12913
12914 fn into_channel(self) -> fidl::Channel {
12915 self.client.into_channel()
12916 }
12917
12918 fn as_channel(&self) -> &fidl::Channel {
12919 self.client.as_channel()
12920 }
12921}
12922
12923#[cfg(target_os = "fuchsia")]
12924impl DirConnectorRouterDeprecatedSynchronousProxy {
12925 pub fn new(channel: fidl::Channel) -> Self {
12926 let protocol_name =
12927 <DirConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
12928 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
12929 }
12930
12931 pub fn into_channel(self) -> fidl::Channel {
12932 self.client.into_channel()
12933 }
12934
12935 pub fn wait_for_event(
12938 &self,
12939 deadline: zx::MonotonicInstant,
12940 ) -> Result<DirConnectorRouterDeprecatedEvent, fidl::Error> {
12941 DirConnectorRouterDeprecatedEvent::decode(self.client.wait_for_event(deadline)?)
12942 }
12943
12944 pub fn r#clone(
12945 &self,
12946 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
12947 ) -> Result<(), fidl::Error> {
12948 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
12949 (request,),
12950 0x20d8a7aba2168a79,
12951 fidl::encoding::DynamicFlags::empty(),
12952 )
12953 }
12954
12955 pub fn r#route(
12964 &self,
12965 mut request: DeprecatedRouteRequest,
12966 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
12967 ___deadline: zx::MonotonicInstant,
12968 ) -> Result<DirConnectorRouterDeprecatedRouteResult, fidl::Error> {
12969 let _response = self.client.send_query::<
12970 DirConnectorRouterDeprecatedRouteRequest,
12971 fidl::encoding::FlexibleResultType<DirConnectorRouterDeprecatedRouteResponse, RouterError>,
12972 >(
12973 (&mut request, dir_connector_server_end,),
12974 0x199e1dee6ba3d71a,
12975 fidl::encoding::DynamicFlags::FLEXIBLE,
12976 ___deadline,
12977 )?
12978 .into_result::<DirConnectorRouterDeprecatedMarker>("route")?;
12979 Ok(_response.map(|x| x.response))
12980 }
12981}
12982
12983#[cfg(target_os = "fuchsia")]
12984impl From<DirConnectorRouterDeprecatedSynchronousProxy> for zx::NullableHandle {
12985 fn from(value: DirConnectorRouterDeprecatedSynchronousProxy) -> Self {
12986 value.into_channel().into()
12987 }
12988}
12989
12990#[cfg(target_os = "fuchsia")]
12991impl From<fidl::Channel> for DirConnectorRouterDeprecatedSynchronousProxy {
12992 fn from(value: fidl::Channel) -> Self {
12993 Self::new(value)
12994 }
12995}
12996
12997#[cfg(target_os = "fuchsia")]
12998impl fidl::endpoints::FromClient for DirConnectorRouterDeprecatedSynchronousProxy {
12999 type Protocol = DirConnectorRouterDeprecatedMarker;
13000
13001 fn from_client(value: fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>) -> Self {
13002 Self::new(value.into_channel())
13003 }
13004}
13005
13006#[derive(Debug, Clone)]
13007pub struct DirConnectorRouterDeprecatedProxy {
13008 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
13009}
13010
13011impl fidl::endpoints::Proxy for DirConnectorRouterDeprecatedProxy {
13012 type Protocol = DirConnectorRouterDeprecatedMarker;
13013
13014 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
13015 Self::new(inner)
13016 }
13017
13018 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
13019 self.client.into_channel().map_err(|client| Self { client })
13020 }
13021
13022 fn as_channel(&self) -> &::fidl::AsyncChannel {
13023 self.client.as_channel()
13024 }
13025}
13026
13027impl DirConnectorRouterDeprecatedProxy {
13028 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
13030 let protocol_name =
13031 <DirConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
13032 Self { client: fidl::client::Client::new(channel, protocol_name) }
13033 }
13034
13035 pub fn take_event_stream(&self) -> DirConnectorRouterDeprecatedEventStream {
13041 DirConnectorRouterDeprecatedEventStream {
13042 event_receiver: self.client.take_event_receiver(),
13043 }
13044 }
13045
13046 pub fn r#clone(
13047 &self,
13048 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
13049 ) -> Result<(), fidl::Error> {
13050 DirConnectorRouterDeprecatedProxyInterface::r#clone(self, request)
13051 }
13052
13053 pub fn r#route(
13062 &self,
13063 mut request: DeprecatedRouteRequest,
13064 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
13065 ) -> fidl::client::QueryResponseFut<
13066 DirConnectorRouterDeprecatedRouteResult,
13067 fidl::encoding::DefaultFuchsiaResourceDialect,
13068 > {
13069 DirConnectorRouterDeprecatedProxyInterface::r#route(self, request, dir_connector_server_end)
13070 }
13071}
13072
13073impl DirConnectorRouterDeprecatedProxyInterface for DirConnectorRouterDeprecatedProxy {
13074 fn r#clone(
13075 &self,
13076 mut request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
13077 ) -> Result<(), fidl::Error> {
13078 self.client.send::<fidl_fuchsia_unknown::CloneableCloneRequest>(
13079 (request,),
13080 0x20d8a7aba2168a79,
13081 fidl::encoding::DynamicFlags::empty(),
13082 )
13083 }
13084
13085 type RouteResponseFut = fidl::client::QueryResponseFut<
13086 DirConnectorRouterDeprecatedRouteResult,
13087 fidl::encoding::DefaultFuchsiaResourceDialect,
13088 >;
13089 fn r#route(
13090 &self,
13091 mut request: DeprecatedRouteRequest,
13092 mut dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
13093 ) -> Self::RouteResponseFut {
13094 fn _decode(
13095 mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
13096 ) -> Result<DirConnectorRouterDeprecatedRouteResult, fidl::Error> {
13097 let _response = fidl::client::decode_transaction_body::<
13098 fidl::encoding::FlexibleResultType<
13099 DirConnectorRouterDeprecatedRouteResponse,
13100 RouterError,
13101 >,
13102 fidl::encoding::DefaultFuchsiaResourceDialect,
13103 0x199e1dee6ba3d71a,
13104 >(_buf?)?
13105 .into_result::<DirConnectorRouterDeprecatedMarker>("route")?;
13106 Ok(_response.map(|x| x.response))
13107 }
13108 self.client.send_query_and_decode::<
13109 DirConnectorRouterDeprecatedRouteRequest,
13110 DirConnectorRouterDeprecatedRouteResult,
13111 >(
13112 (&mut request, dir_connector_server_end,),
13113 0x199e1dee6ba3d71a,
13114 fidl::encoding::DynamicFlags::FLEXIBLE,
13115 _decode,
13116 )
13117 }
13118}
13119
13120pub struct DirConnectorRouterDeprecatedEventStream {
13121 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
13122}
13123
13124impl std::marker::Unpin for DirConnectorRouterDeprecatedEventStream {}
13125
13126impl futures::stream::FusedStream for DirConnectorRouterDeprecatedEventStream {
13127 fn is_terminated(&self) -> bool {
13128 self.event_receiver.is_terminated()
13129 }
13130}
13131
13132impl futures::Stream for DirConnectorRouterDeprecatedEventStream {
13133 type Item = Result<DirConnectorRouterDeprecatedEvent, fidl::Error>;
13134
13135 fn poll_next(
13136 mut self: std::pin::Pin<&mut Self>,
13137 cx: &mut std::task::Context<'_>,
13138 ) -> std::task::Poll<Option<Self::Item>> {
13139 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
13140 &mut self.event_receiver,
13141 cx
13142 )?) {
13143 Some(buf) => {
13144 std::task::Poll::Ready(Some(DirConnectorRouterDeprecatedEvent::decode(buf)))
13145 }
13146 None => std::task::Poll::Ready(None),
13147 }
13148 }
13149}
13150
13151#[derive(Debug)]
13152pub enum DirConnectorRouterDeprecatedEvent {
13153 #[non_exhaustive]
13154 _UnknownEvent {
13155 ordinal: u64,
13157 },
13158}
13159
13160impl DirConnectorRouterDeprecatedEvent {
13161 fn decode(
13163 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
13164 ) -> Result<DirConnectorRouterDeprecatedEvent, fidl::Error> {
13165 let (bytes, _handles) = buf.split_mut();
13166 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
13167 debug_assert_eq!(tx_header.tx_id, 0);
13168 match tx_header.ordinal {
13169 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
13170 Ok(DirConnectorRouterDeprecatedEvent::_UnknownEvent {
13171 ordinal: tx_header.ordinal,
13172 })
13173 }
13174 _ => Err(fidl::Error::UnknownOrdinal {
13175 ordinal: tx_header.ordinal,
13176 protocol_name: <DirConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
13177 })
13178 }
13179 }
13180}
13181
13182pub struct DirConnectorRouterDeprecatedRequestStream {
13184 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13185 is_terminated: bool,
13186}
13187
13188impl std::marker::Unpin for DirConnectorRouterDeprecatedRequestStream {}
13189
13190impl futures::stream::FusedStream for DirConnectorRouterDeprecatedRequestStream {
13191 fn is_terminated(&self) -> bool {
13192 self.is_terminated
13193 }
13194}
13195
13196impl fidl::endpoints::RequestStream for DirConnectorRouterDeprecatedRequestStream {
13197 type Protocol = DirConnectorRouterDeprecatedMarker;
13198 type ControlHandle = DirConnectorRouterDeprecatedControlHandle;
13199
13200 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
13201 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
13202 }
13203
13204 fn control_handle(&self) -> Self::ControlHandle {
13205 DirConnectorRouterDeprecatedControlHandle { inner: self.inner.clone() }
13206 }
13207
13208 fn into_inner(
13209 self,
13210 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
13211 {
13212 (self.inner, self.is_terminated)
13213 }
13214
13215 fn from_inner(
13216 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13217 is_terminated: bool,
13218 ) -> Self {
13219 Self { inner, is_terminated }
13220 }
13221}
13222
13223impl futures::Stream for DirConnectorRouterDeprecatedRequestStream {
13224 type Item = Result<DirConnectorRouterDeprecatedRequest, fidl::Error>;
13225
13226 fn poll_next(
13227 mut self: std::pin::Pin<&mut Self>,
13228 cx: &mut std::task::Context<'_>,
13229 ) -> std::task::Poll<Option<Self::Item>> {
13230 let this = &mut *self;
13231 if this.inner.check_shutdown(cx) {
13232 this.is_terminated = true;
13233 return std::task::Poll::Ready(None);
13234 }
13235 if this.is_terminated {
13236 panic!("polled DirConnectorRouterDeprecatedRequestStream after completion");
13237 }
13238 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
13239 |bytes, handles| {
13240 match this.inner.channel().read_etc(cx, bytes, handles) {
13241 std::task::Poll::Ready(Ok(())) => {}
13242 std::task::Poll::Pending => return std::task::Poll::Pending,
13243 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
13244 this.is_terminated = true;
13245 return std::task::Poll::Ready(None);
13246 }
13247 std::task::Poll::Ready(Err(e)) => {
13248 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
13249 e.into(),
13250 ))));
13251 }
13252 }
13253
13254 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
13256
13257 std::task::Poll::Ready(Some(match header.ordinal {
13258 0x20d8a7aba2168a79 => {
13259 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
13260 let mut req = fidl::new_empty!(fidl_fuchsia_unknown::CloneableCloneRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
13261 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl_fuchsia_unknown::CloneableCloneRequest>(&header, _body_bytes, handles, &mut req)?;
13262 let control_handle = DirConnectorRouterDeprecatedControlHandle {
13263 inner: this.inner.clone(),
13264 };
13265 Ok(DirConnectorRouterDeprecatedRequest::Clone {request: req.request,
13266
13267 control_handle,
13268 })
13269 }
13270 0x199e1dee6ba3d71a => {
13271 header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
13272 let mut req = fidl::new_empty!(DirConnectorRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
13273 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirConnectorRouterDeprecatedRouteRequest>(&header, _body_bytes, handles, &mut req)?;
13274 let control_handle = DirConnectorRouterDeprecatedControlHandle {
13275 inner: this.inner.clone(),
13276 };
13277 Ok(DirConnectorRouterDeprecatedRequest::Route {request: req.request,
13278dir_connector_server_end: req.dir_connector_server_end,
13279
13280 responder: DirConnectorRouterDeprecatedRouteResponder {
13281 control_handle: std::mem::ManuallyDrop::new(control_handle),
13282 tx_id: header.tx_id,
13283 },
13284 })
13285 }
13286 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
13287 Ok(DirConnectorRouterDeprecatedRequest::_UnknownMethod {
13288 ordinal: header.ordinal,
13289 control_handle: DirConnectorRouterDeprecatedControlHandle { inner: this.inner.clone() },
13290 method_type: fidl::MethodType::OneWay,
13291 })
13292 }
13293 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
13294 this.inner.send_framework_err(
13295 fidl::encoding::FrameworkErr::UnknownMethod,
13296 header.tx_id,
13297 header.ordinal,
13298 header.dynamic_flags(),
13299 (bytes, handles),
13300 )?;
13301 Ok(DirConnectorRouterDeprecatedRequest::_UnknownMethod {
13302 ordinal: header.ordinal,
13303 control_handle: DirConnectorRouterDeprecatedControlHandle { inner: this.inner.clone() },
13304 method_type: fidl::MethodType::TwoWay,
13305 })
13306 }
13307 _ => Err(fidl::Error::UnknownOrdinal {
13308 ordinal: header.ordinal,
13309 protocol_name: <DirConnectorRouterDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
13310 }),
13311 }))
13312 },
13313 )
13314 }
13315}
13316
13317#[derive(Debug)]
13319pub enum DirConnectorRouterDeprecatedRequest {
13320 Clone {
13321 request: fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
13322 control_handle: DirConnectorRouterDeprecatedControlHandle,
13323 },
13324 Route {
13333 request: DeprecatedRouteRequest,
13334 dir_connector_server_end: fidl::endpoints::ServerEnd<DirConnectorMarker>,
13335 responder: DirConnectorRouterDeprecatedRouteResponder,
13336 },
13337 #[non_exhaustive]
13339 _UnknownMethod {
13340 ordinal: u64,
13342 control_handle: DirConnectorRouterDeprecatedControlHandle,
13343 method_type: fidl::MethodType,
13344 },
13345}
13346
13347impl DirConnectorRouterDeprecatedRequest {
13348 #[allow(irrefutable_let_patterns)]
13349 pub fn into_clone(
13350 self,
13351 ) -> Option<(
13352 fidl::endpoints::ServerEnd<fidl_fuchsia_unknown::CloneableMarker>,
13353 DirConnectorRouterDeprecatedControlHandle,
13354 )> {
13355 if let DirConnectorRouterDeprecatedRequest::Clone { request, control_handle } = self {
13356 Some((request, control_handle))
13357 } else {
13358 None
13359 }
13360 }
13361
13362 #[allow(irrefutable_let_patterns)]
13363 pub fn into_route(
13364 self,
13365 ) -> Option<(
13366 DeprecatedRouteRequest,
13367 fidl::endpoints::ServerEnd<DirConnectorMarker>,
13368 DirConnectorRouterDeprecatedRouteResponder,
13369 )> {
13370 if let DirConnectorRouterDeprecatedRequest::Route {
13371 request,
13372 dir_connector_server_end,
13373 responder,
13374 } = self
13375 {
13376 Some((request, dir_connector_server_end, responder))
13377 } else {
13378 None
13379 }
13380 }
13381
13382 pub fn method_name(&self) -> &'static str {
13384 match *self {
13385 DirConnectorRouterDeprecatedRequest::Clone { .. } => "clone",
13386 DirConnectorRouterDeprecatedRequest::Route { .. } => "route",
13387 DirConnectorRouterDeprecatedRequest::_UnknownMethod {
13388 method_type: fidl::MethodType::OneWay,
13389 ..
13390 } => "unknown one-way method",
13391 DirConnectorRouterDeprecatedRequest::_UnknownMethod {
13392 method_type: fidl::MethodType::TwoWay,
13393 ..
13394 } => "unknown two-way method",
13395 }
13396 }
13397}
13398
13399#[derive(Debug, Clone)]
13400pub struct DirConnectorRouterDeprecatedControlHandle {
13401 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13402}
13403
13404impl fidl::endpoints::ControlHandle for DirConnectorRouterDeprecatedControlHandle {
13405 fn shutdown(&self) {
13406 self.inner.shutdown()
13407 }
13408
13409 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
13410 self.inner.shutdown_with_epitaph(status)
13411 }
13412
13413 fn is_closed(&self) -> bool {
13414 self.inner.channel().is_closed()
13415 }
13416 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
13417 self.inner.channel().on_closed()
13418 }
13419
13420 #[cfg(target_os = "fuchsia")]
13421 fn signal_peer(
13422 &self,
13423 clear_mask: zx::Signals,
13424 set_mask: zx::Signals,
13425 ) -> Result<(), zx_status::Status> {
13426 use fidl::Peered;
13427 self.inner.channel().signal_peer(clear_mask, set_mask)
13428 }
13429}
13430
13431impl DirConnectorRouterDeprecatedControlHandle {}
13432
13433#[must_use = "FIDL methods require a response to be sent"]
13434#[derive(Debug)]
13435pub struct DirConnectorRouterDeprecatedRouteResponder {
13436 control_handle: std::mem::ManuallyDrop<DirConnectorRouterDeprecatedControlHandle>,
13437 tx_id: u32,
13438}
13439
13440impl std::ops::Drop for DirConnectorRouterDeprecatedRouteResponder {
13444 fn drop(&mut self) {
13445 self.control_handle.shutdown();
13446 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
13448 }
13449}
13450
13451impl fidl::endpoints::Responder for DirConnectorRouterDeprecatedRouteResponder {
13452 type ControlHandle = DirConnectorRouterDeprecatedControlHandle;
13453
13454 fn control_handle(&self) -> &DirConnectorRouterDeprecatedControlHandle {
13455 &self.control_handle
13456 }
13457
13458 fn drop_without_shutdown(mut self) {
13459 unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
13461 std::mem::forget(self);
13463 }
13464}
13465
13466impl DirConnectorRouterDeprecatedRouteResponder {
13467 pub fn send(self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
13471 let _result = self.send_raw(result);
13472 if _result.is_err() {
13473 self.control_handle.shutdown();
13474 }
13475 self.drop_without_shutdown();
13476 _result
13477 }
13478
13479 pub fn send_no_shutdown_on_err(
13481 self,
13482 mut result: Result<RouterResponse, RouterError>,
13483 ) -> Result<(), fidl::Error> {
13484 let _result = self.send_raw(result);
13485 self.drop_without_shutdown();
13486 _result
13487 }
13488
13489 fn send_raw(&self, mut result: Result<RouterResponse, RouterError>) -> Result<(), fidl::Error> {
13490 self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
13491 DirConnectorRouterDeprecatedRouteResponse,
13492 RouterError,
13493 >>(
13494 fidl::encoding::FlexibleResult::new(result.map(|response| (response,))),
13495 self.tx_id,
13496 0x199e1dee6ba3d71a,
13497 fidl::encoding::DynamicFlags::FLEXIBLE,
13498 )
13499 }
13500}
13501
13502#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
13503pub struct DirReceiverMarker;
13504
13505impl fidl::endpoints::ProtocolMarker for DirReceiverMarker {
13506 type Proxy = DirReceiverProxy;
13507 type RequestStream = DirReceiverRequestStream;
13508 #[cfg(target_os = "fuchsia")]
13509 type SynchronousProxy = DirReceiverSynchronousProxy;
13510
13511 const DEBUG_NAME: &'static str = "(anonymous) DirReceiver";
13512}
13513
13514pub trait DirReceiverProxyInterface: Send + Sync {
13515 fn r#receive(
13516 &self,
13517 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13518 path: &str,
13519 rights: fidl_fuchsia_io::Flags,
13520 ) -> Result<(), fidl::Error>;
13521}
13522#[derive(Debug)]
13523#[cfg(target_os = "fuchsia")]
13524pub struct DirReceiverSynchronousProxy {
13525 client: fidl::client::sync::Client,
13526}
13527
13528#[cfg(target_os = "fuchsia")]
13529impl fidl::endpoints::SynchronousProxy for DirReceiverSynchronousProxy {
13530 type Proxy = DirReceiverProxy;
13531 type Protocol = DirReceiverMarker;
13532
13533 fn from_channel(inner: fidl::Channel) -> Self {
13534 Self::new(inner)
13535 }
13536
13537 fn into_channel(self) -> fidl::Channel {
13538 self.client.into_channel()
13539 }
13540
13541 fn as_channel(&self) -> &fidl::Channel {
13542 self.client.as_channel()
13543 }
13544}
13545
13546#[cfg(target_os = "fuchsia")]
13547impl DirReceiverSynchronousProxy {
13548 pub fn new(channel: fidl::Channel) -> Self {
13549 let protocol_name = <DirReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
13550 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
13551 }
13552
13553 pub fn into_channel(self) -> fidl::Channel {
13554 self.client.into_channel()
13555 }
13556
13557 pub fn wait_for_event(
13560 &self,
13561 deadline: zx::MonotonicInstant,
13562 ) -> Result<DirReceiverEvent, fidl::Error> {
13563 DirReceiverEvent::decode(self.client.wait_for_event(deadline)?)
13564 }
13565
13566 pub fn r#receive(
13569 &self,
13570 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13571 mut path: &str,
13572 mut rights: fidl_fuchsia_io::Flags,
13573 ) -> Result<(), fidl::Error> {
13574 self.client.send::<DirReceiverReceiveRequest>(
13575 (channel, path, rights),
13576 0x4ac564d726bb325e,
13577 fidl::encoding::DynamicFlags::empty(),
13578 )
13579 }
13580}
13581
13582#[cfg(target_os = "fuchsia")]
13583impl From<DirReceiverSynchronousProxy> for zx::NullableHandle {
13584 fn from(value: DirReceiverSynchronousProxy) -> Self {
13585 value.into_channel().into()
13586 }
13587}
13588
13589#[cfg(target_os = "fuchsia")]
13590impl From<fidl::Channel> for DirReceiverSynchronousProxy {
13591 fn from(value: fidl::Channel) -> Self {
13592 Self::new(value)
13593 }
13594}
13595
13596#[cfg(target_os = "fuchsia")]
13597impl fidl::endpoints::FromClient for DirReceiverSynchronousProxy {
13598 type Protocol = DirReceiverMarker;
13599
13600 fn from_client(value: fidl::endpoints::ClientEnd<DirReceiverMarker>) -> Self {
13601 Self::new(value.into_channel())
13602 }
13603}
13604
13605#[derive(Debug, Clone)]
13606pub struct DirReceiverProxy {
13607 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
13608}
13609
13610impl fidl::endpoints::Proxy for DirReceiverProxy {
13611 type Protocol = DirReceiverMarker;
13612
13613 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
13614 Self::new(inner)
13615 }
13616
13617 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
13618 self.client.into_channel().map_err(|client| Self { client })
13619 }
13620
13621 fn as_channel(&self) -> &::fidl::AsyncChannel {
13622 self.client.as_channel()
13623 }
13624}
13625
13626impl DirReceiverProxy {
13627 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
13629 let protocol_name = <DirReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
13630 Self { client: fidl::client::Client::new(channel, protocol_name) }
13631 }
13632
13633 pub fn take_event_stream(&self) -> DirReceiverEventStream {
13639 DirReceiverEventStream { event_receiver: self.client.take_event_receiver() }
13640 }
13641
13642 pub fn r#receive(
13645 &self,
13646 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13647 mut path: &str,
13648 mut rights: fidl_fuchsia_io::Flags,
13649 ) -> Result<(), fidl::Error> {
13650 DirReceiverProxyInterface::r#receive(self, channel, path, rights)
13651 }
13652}
13653
13654impl DirReceiverProxyInterface for DirReceiverProxy {
13655 fn r#receive(
13656 &self,
13657 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13658 mut path: &str,
13659 mut rights: fidl_fuchsia_io::Flags,
13660 ) -> Result<(), fidl::Error> {
13661 self.client.send::<DirReceiverReceiveRequest>(
13662 (channel, path, rights),
13663 0x4ac564d726bb325e,
13664 fidl::encoding::DynamicFlags::empty(),
13665 )
13666 }
13667}
13668
13669pub struct DirReceiverEventStream {
13670 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
13671}
13672
13673impl std::marker::Unpin for DirReceiverEventStream {}
13674
13675impl futures::stream::FusedStream for DirReceiverEventStream {
13676 fn is_terminated(&self) -> bool {
13677 self.event_receiver.is_terminated()
13678 }
13679}
13680
13681impl futures::Stream for DirReceiverEventStream {
13682 type Item = Result<DirReceiverEvent, fidl::Error>;
13683
13684 fn poll_next(
13685 mut self: std::pin::Pin<&mut Self>,
13686 cx: &mut std::task::Context<'_>,
13687 ) -> std::task::Poll<Option<Self::Item>> {
13688 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
13689 &mut self.event_receiver,
13690 cx
13691 )?) {
13692 Some(buf) => std::task::Poll::Ready(Some(DirReceiverEvent::decode(buf))),
13693 None => std::task::Poll::Ready(None),
13694 }
13695 }
13696}
13697
13698#[derive(Debug)]
13699pub enum DirReceiverEvent {}
13700
13701impl DirReceiverEvent {
13702 fn decode(
13704 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
13705 ) -> Result<DirReceiverEvent, fidl::Error> {
13706 let (bytes, _handles) = buf.split_mut();
13707 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
13708 debug_assert_eq!(tx_header.tx_id, 0);
13709 match tx_header.ordinal {
13710 _ => Err(fidl::Error::UnknownOrdinal {
13711 ordinal: tx_header.ordinal,
13712 protocol_name: <DirReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
13713 }),
13714 }
13715 }
13716}
13717
13718pub struct DirReceiverRequestStream {
13720 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13721 is_terminated: bool,
13722}
13723
13724impl std::marker::Unpin for DirReceiverRequestStream {}
13725
13726impl futures::stream::FusedStream for DirReceiverRequestStream {
13727 fn is_terminated(&self) -> bool {
13728 self.is_terminated
13729 }
13730}
13731
13732impl fidl::endpoints::RequestStream for DirReceiverRequestStream {
13733 type Protocol = DirReceiverMarker;
13734 type ControlHandle = DirReceiverControlHandle;
13735
13736 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
13737 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
13738 }
13739
13740 fn control_handle(&self) -> Self::ControlHandle {
13741 DirReceiverControlHandle { inner: self.inner.clone() }
13742 }
13743
13744 fn into_inner(
13745 self,
13746 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
13747 {
13748 (self.inner, self.is_terminated)
13749 }
13750
13751 fn from_inner(
13752 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13753 is_terminated: bool,
13754 ) -> Self {
13755 Self { inner, is_terminated }
13756 }
13757}
13758
13759impl futures::Stream for DirReceiverRequestStream {
13760 type Item = Result<DirReceiverRequest, fidl::Error>;
13761
13762 fn poll_next(
13763 mut self: std::pin::Pin<&mut Self>,
13764 cx: &mut std::task::Context<'_>,
13765 ) -> std::task::Poll<Option<Self::Item>> {
13766 let this = &mut *self;
13767 if this.inner.check_shutdown(cx) {
13768 this.is_terminated = true;
13769 return std::task::Poll::Ready(None);
13770 }
13771 if this.is_terminated {
13772 panic!("polled DirReceiverRequestStream after completion");
13773 }
13774 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
13775 |bytes, handles| {
13776 match this.inner.channel().read_etc(cx, bytes, handles) {
13777 std::task::Poll::Ready(Ok(())) => {}
13778 std::task::Poll::Pending => return std::task::Poll::Pending,
13779 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
13780 this.is_terminated = true;
13781 return std::task::Poll::Ready(None);
13782 }
13783 std::task::Poll::Ready(Err(e)) => {
13784 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
13785 e.into(),
13786 ))));
13787 }
13788 }
13789
13790 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
13792
13793 std::task::Poll::Ready(Some(match header.ordinal {
13794 0x4ac564d726bb325e => {
13795 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
13796 let mut req = fidl::new_empty!(
13797 DirReceiverReceiveRequest,
13798 fidl::encoding::DefaultFuchsiaResourceDialect
13799 );
13800 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirReceiverReceiveRequest>(&header, _body_bytes, handles, &mut req)?;
13801 let control_handle = DirReceiverControlHandle { inner: this.inner.clone() };
13802 Ok(DirReceiverRequest::Receive {
13803 channel: req.channel,
13804 path: req.path,
13805 rights: req.rights,
13806
13807 control_handle,
13808 })
13809 }
13810 _ => Err(fidl::Error::UnknownOrdinal {
13811 ordinal: header.ordinal,
13812 protocol_name:
13813 <DirReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
13814 }),
13815 }))
13816 },
13817 )
13818 }
13819}
13820
13821#[derive(Debug)]
13823pub enum DirReceiverRequest {
13824 Receive {
13827 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13828 path: String,
13829 rights: fidl_fuchsia_io::Flags,
13830 control_handle: DirReceiverControlHandle,
13831 },
13832}
13833
13834impl DirReceiverRequest {
13835 #[allow(irrefutable_let_patterns)]
13836 pub fn into_receive(
13837 self,
13838 ) -> Option<(
13839 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13840 String,
13841 fidl_fuchsia_io::Flags,
13842 DirReceiverControlHandle,
13843 )> {
13844 if let DirReceiverRequest::Receive { channel, path, rights, control_handle } = self {
13845 Some((channel, path, rights, control_handle))
13846 } else {
13847 None
13848 }
13849 }
13850
13851 pub fn method_name(&self) -> &'static str {
13853 match *self {
13854 DirReceiverRequest::Receive { .. } => "receive",
13855 }
13856 }
13857}
13858
13859#[derive(Debug, Clone)]
13860pub struct DirReceiverControlHandle {
13861 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
13862}
13863
13864impl fidl::endpoints::ControlHandle for DirReceiverControlHandle {
13865 fn shutdown(&self) {
13866 self.inner.shutdown()
13867 }
13868
13869 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
13870 self.inner.shutdown_with_epitaph(status)
13871 }
13872
13873 fn is_closed(&self) -> bool {
13874 self.inner.channel().is_closed()
13875 }
13876 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
13877 self.inner.channel().on_closed()
13878 }
13879
13880 #[cfg(target_os = "fuchsia")]
13881 fn signal_peer(
13882 &self,
13883 clear_mask: zx::Signals,
13884 set_mask: zx::Signals,
13885 ) -> Result<(), zx_status::Status> {
13886 use fidl::Peered;
13887 self.inner.channel().signal_peer(clear_mask, set_mask)
13888 }
13889}
13890
13891impl DirReceiverControlHandle {}
13892
13893#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
13894pub struct DirReceiverDeprecatedMarker;
13895
13896impl fidl::endpoints::ProtocolMarker for DirReceiverDeprecatedMarker {
13897 type Proxy = DirReceiverDeprecatedProxy;
13898 type RequestStream = DirReceiverDeprecatedRequestStream;
13899 #[cfg(target_os = "fuchsia")]
13900 type SynchronousProxy = DirReceiverDeprecatedSynchronousProxy;
13901
13902 const DEBUG_NAME: &'static str = "(anonymous) DirReceiverDeprecated";
13903}
13904
13905pub trait DirReceiverDeprecatedProxyInterface: Send + Sync {
13906 fn r#receive(
13907 &self,
13908 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13909 ) -> Result<(), fidl::Error>;
13910}
13911#[derive(Debug)]
13912#[cfg(target_os = "fuchsia")]
13913pub struct DirReceiverDeprecatedSynchronousProxy {
13914 client: fidl::client::sync::Client,
13915}
13916
13917#[cfg(target_os = "fuchsia")]
13918impl fidl::endpoints::SynchronousProxy for DirReceiverDeprecatedSynchronousProxy {
13919 type Proxy = DirReceiverDeprecatedProxy;
13920 type Protocol = DirReceiverDeprecatedMarker;
13921
13922 fn from_channel(inner: fidl::Channel) -> Self {
13923 Self::new(inner)
13924 }
13925
13926 fn into_channel(self) -> fidl::Channel {
13927 self.client.into_channel()
13928 }
13929
13930 fn as_channel(&self) -> &fidl::Channel {
13931 self.client.as_channel()
13932 }
13933}
13934
13935#[cfg(target_os = "fuchsia")]
13936impl DirReceiverDeprecatedSynchronousProxy {
13937 pub fn new(channel: fidl::Channel) -> Self {
13938 let protocol_name =
13939 <DirReceiverDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
13940 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
13941 }
13942
13943 pub fn into_channel(self) -> fidl::Channel {
13944 self.client.into_channel()
13945 }
13946
13947 pub fn wait_for_event(
13950 &self,
13951 deadline: zx::MonotonicInstant,
13952 ) -> Result<DirReceiverDeprecatedEvent, fidl::Error> {
13953 DirReceiverDeprecatedEvent::decode(self.client.wait_for_event(deadline)?)
13954 }
13955
13956 pub fn r#receive(
13959 &self,
13960 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
13961 ) -> Result<(), fidl::Error> {
13962 self.client.send::<DirReceiverDeprecatedReceiveRequest>(
13963 (channel,),
13964 0x6351363b40e73f58,
13965 fidl::encoding::DynamicFlags::FLEXIBLE,
13966 )
13967 }
13968}
13969
13970#[cfg(target_os = "fuchsia")]
13971impl From<DirReceiverDeprecatedSynchronousProxy> for zx::NullableHandle {
13972 fn from(value: DirReceiverDeprecatedSynchronousProxy) -> Self {
13973 value.into_channel().into()
13974 }
13975}
13976
13977#[cfg(target_os = "fuchsia")]
13978impl From<fidl::Channel> for DirReceiverDeprecatedSynchronousProxy {
13979 fn from(value: fidl::Channel) -> Self {
13980 Self::new(value)
13981 }
13982}
13983
13984#[cfg(target_os = "fuchsia")]
13985impl fidl::endpoints::FromClient for DirReceiverDeprecatedSynchronousProxy {
13986 type Protocol = DirReceiverDeprecatedMarker;
13987
13988 fn from_client(value: fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>) -> Self {
13989 Self::new(value.into_channel())
13990 }
13991}
13992
13993#[derive(Debug, Clone)]
13994pub struct DirReceiverDeprecatedProxy {
13995 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
13996}
13997
13998impl fidl::endpoints::Proxy for DirReceiverDeprecatedProxy {
13999 type Protocol = DirReceiverDeprecatedMarker;
14000
14001 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
14002 Self::new(inner)
14003 }
14004
14005 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
14006 self.client.into_channel().map_err(|client| Self { client })
14007 }
14008
14009 fn as_channel(&self) -> &::fidl::AsyncChannel {
14010 self.client.as_channel()
14011 }
14012}
14013
14014impl DirReceiverDeprecatedProxy {
14015 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
14017 let protocol_name =
14018 <DirReceiverDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
14019 Self { client: fidl::client::Client::new(channel, protocol_name) }
14020 }
14021
14022 pub fn take_event_stream(&self) -> DirReceiverDeprecatedEventStream {
14028 DirReceiverDeprecatedEventStream { event_receiver: self.client.take_event_receiver() }
14029 }
14030
14031 pub fn r#receive(
14034 &self,
14035 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
14036 ) -> Result<(), fidl::Error> {
14037 DirReceiverDeprecatedProxyInterface::r#receive(self, channel)
14038 }
14039}
14040
14041impl DirReceiverDeprecatedProxyInterface for DirReceiverDeprecatedProxy {
14042 fn r#receive(
14043 &self,
14044 mut channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
14045 ) -> Result<(), fidl::Error> {
14046 self.client.send::<DirReceiverDeprecatedReceiveRequest>(
14047 (channel,),
14048 0x6351363b40e73f58,
14049 fidl::encoding::DynamicFlags::FLEXIBLE,
14050 )
14051 }
14052}
14053
14054pub struct DirReceiverDeprecatedEventStream {
14055 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
14056}
14057
14058impl std::marker::Unpin for DirReceiverDeprecatedEventStream {}
14059
14060impl futures::stream::FusedStream for DirReceiverDeprecatedEventStream {
14061 fn is_terminated(&self) -> bool {
14062 self.event_receiver.is_terminated()
14063 }
14064}
14065
14066impl futures::Stream for DirReceiverDeprecatedEventStream {
14067 type Item = Result<DirReceiverDeprecatedEvent, fidl::Error>;
14068
14069 fn poll_next(
14070 mut self: std::pin::Pin<&mut Self>,
14071 cx: &mut std::task::Context<'_>,
14072 ) -> std::task::Poll<Option<Self::Item>> {
14073 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
14074 &mut self.event_receiver,
14075 cx
14076 )?) {
14077 Some(buf) => std::task::Poll::Ready(Some(DirReceiverDeprecatedEvent::decode(buf))),
14078 None => std::task::Poll::Ready(None),
14079 }
14080 }
14081}
14082
14083#[derive(Debug)]
14084pub enum DirReceiverDeprecatedEvent {
14085 #[non_exhaustive]
14086 _UnknownEvent {
14087 ordinal: u64,
14089 },
14090}
14091
14092impl DirReceiverDeprecatedEvent {
14093 fn decode(
14095 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
14096 ) -> Result<DirReceiverDeprecatedEvent, fidl::Error> {
14097 let (bytes, _handles) = buf.split_mut();
14098 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
14099 debug_assert_eq!(tx_header.tx_id, 0);
14100 match tx_header.ordinal {
14101 _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
14102 Ok(DirReceiverDeprecatedEvent::_UnknownEvent { ordinal: tx_header.ordinal })
14103 }
14104 _ => Err(fidl::Error::UnknownOrdinal {
14105 ordinal: tx_header.ordinal,
14106 protocol_name:
14107 <DirReceiverDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
14108 }),
14109 }
14110 }
14111}
14112
14113pub struct DirReceiverDeprecatedRequestStream {
14115 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14116 is_terminated: bool,
14117}
14118
14119impl std::marker::Unpin for DirReceiverDeprecatedRequestStream {}
14120
14121impl futures::stream::FusedStream for DirReceiverDeprecatedRequestStream {
14122 fn is_terminated(&self) -> bool {
14123 self.is_terminated
14124 }
14125}
14126
14127impl fidl::endpoints::RequestStream for DirReceiverDeprecatedRequestStream {
14128 type Protocol = DirReceiverDeprecatedMarker;
14129 type ControlHandle = DirReceiverDeprecatedControlHandle;
14130
14131 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
14132 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
14133 }
14134
14135 fn control_handle(&self) -> Self::ControlHandle {
14136 DirReceiverDeprecatedControlHandle { inner: self.inner.clone() }
14137 }
14138
14139 fn into_inner(
14140 self,
14141 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
14142 {
14143 (self.inner, self.is_terminated)
14144 }
14145
14146 fn from_inner(
14147 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14148 is_terminated: bool,
14149 ) -> Self {
14150 Self { inner, is_terminated }
14151 }
14152}
14153
14154impl futures::Stream for DirReceiverDeprecatedRequestStream {
14155 type Item = Result<DirReceiverDeprecatedRequest, fidl::Error>;
14156
14157 fn poll_next(
14158 mut self: std::pin::Pin<&mut Self>,
14159 cx: &mut std::task::Context<'_>,
14160 ) -> std::task::Poll<Option<Self::Item>> {
14161 let this = &mut *self;
14162 if this.inner.check_shutdown(cx) {
14163 this.is_terminated = true;
14164 return std::task::Poll::Ready(None);
14165 }
14166 if this.is_terminated {
14167 panic!("polled DirReceiverDeprecatedRequestStream after completion");
14168 }
14169 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
14170 |bytes, handles| {
14171 match this.inner.channel().read_etc(cx, bytes, handles) {
14172 std::task::Poll::Ready(Ok(())) => {}
14173 std::task::Poll::Pending => return std::task::Poll::Pending,
14174 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
14175 this.is_terminated = true;
14176 return std::task::Poll::Ready(None);
14177 }
14178 std::task::Poll::Ready(Err(e)) => {
14179 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
14180 e.into(),
14181 ))));
14182 }
14183 }
14184
14185 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
14187
14188 std::task::Poll::Ready(Some(match header.ordinal {
14189 0x6351363b40e73f58 => {
14190 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
14191 let mut req = fidl::new_empty!(DirReceiverDeprecatedReceiveRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
14192 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<DirReceiverDeprecatedReceiveRequest>(&header, _body_bytes, handles, &mut req)?;
14193 let control_handle = DirReceiverDeprecatedControlHandle {
14194 inner: this.inner.clone(),
14195 };
14196 Ok(DirReceiverDeprecatedRequest::Receive {channel: req.channel,
14197
14198 control_handle,
14199 })
14200 }
14201 _ if header.tx_id == 0 && header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
14202 Ok(DirReceiverDeprecatedRequest::_UnknownMethod {
14203 ordinal: header.ordinal,
14204 control_handle: DirReceiverDeprecatedControlHandle { inner: this.inner.clone() },
14205 method_type: fidl::MethodType::OneWay,
14206 })
14207 }
14208 _ if header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
14209 this.inner.send_framework_err(
14210 fidl::encoding::FrameworkErr::UnknownMethod,
14211 header.tx_id,
14212 header.ordinal,
14213 header.dynamic_flags(),
14214 (bytes, handles),
14215 )?;
14216 Ok(DirReceiverDeprecatedRequest::_UnknownMethod {
14217 ordinal: header.ordinal,
14218 control_handle: DirReceiverDeprecatedControlHandle { inner: this.inner.clone() },
14219 method_type: fidl::MethodType::TwoWay,
14220 })
14221 }
14222 _ => Err(fidl::Error::UnknownOrdinal {
14223 ordinal: header.ordinal,
14224 protocol_name: <DirReceiverDeprecatedMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
14225 }),
14226 }))
14227 },
14228 )
14229 }
14230}
14231
14232#[derive(Debug)]
14235pub enum DirReceiverDeprecatedRequest {
14236 Receive {
14239 channel: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
14240 control_handle: DirReceiverDeprecatedControlHandle,
14241 },
14242 #[non_exhaustive]
14244 _UnknownMethod {
14245 ordinal: u64,
14247 control_handle: DirReceiverDeprecatedControlHandle,
14248 method_type: fidl::MethodType,
14249 },
14250}
14251
14252impl DirReceiverDeprecatedRequest {
14253 #[allow(irrefutable_let_patterns)]
14254 pub fn into_receive(
14255 self,
14256 ) -> Option<(
14257 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
14258 DirReceiverDeprecatedControlHandle,
14259 )> {
14260 if let DirReceiverDeprecatedRequest::Receive { channel, control_handle } = self {
14261 Some((channel, control_handle))
14262 } else {
14263 None
14264 }
14265 }
14266
14267 pub fn method_name(&self) -> &'static str {
14269 match *self {
14270 DirReceiverDeprecatedRequest::Receive { .. } => "receive",
14271 DirReceiverDeprecatedRequest::_UnknownMethod {
14272 method_type: fidl::MethodType::OneWay,
14273 ..
14274 } => "unknown one-way method",
14275 DirReceiverDeprecatedRequest::_UnknownMethod {
14276 method_type: fidl::MethodType::TwoWay,
14277 ..
14278 } => "unknown two-way method",
14279 }
14280 }
14281}
14282
14283#[derive(Debug, Clone)]
14284pub struct DirReceiverDeprecatedControlHandle {
14285 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14286}
14287
14288impl fidl::endpoints::ControlHandle for DirReceiverDeprecatedControlHandle {
14289 fn shutdown(&self) {
14290 self.inner.shutdown()
14291 }
14292
14293 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
14294 self.inner.shutdown_with_epitaph(status)
14295 }
14296
14297 fn is_closed(&self) -> bool {
14298 self.inner.channel().is_closed()
14299 }
14300 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
14301 self.inner.channel().on_closed()
14302 }
14303
14304 #[cfg(target_os = "fuchsia")]
14305 fn signal_peer(
14306 &self,
14307 clear_mask: zx::Signals,
14308 set_mask: zx::Signals,
14309 ) -> Result<(), zx_status::Status> {
14310 use fidl::Peered;
14311 self.inner.channel().signal_peer(clear_mask, set_mask)
14312 }
14313}
14314
14315impl DirReceiverDeprecatedControlHandle {}
14316
14317#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
14318pub struct ReceiverMarker;
14319
14320impl fidl::endpoints::ProtocolMarker for ReceiverMarker {
14321 type Proxy = ReceiverProxy;
14322 type RequestStream = ReceiverRequestStream;
14323 #[cfg(target_os = "fuchsia")]
14324 type SynchronousProxy = ReceiverSynchronousProxy;
14325
14326 const DEBUG_NAME: &'static str = "(anonymous) Receiver";
14327}
14328
14329pub trait ReceiverProxyInterface: Send + Sync {
14330 fn r#receive(&self, channel: fidl::Channel) -> Result<(), fidl::Error>;
14331}
14332#[derive(Debug)]
14333#[cfg(target_os = "fuchsia")]
14334pub struct ReceiverSynchronousProxy {
14335 client: fidl::client::sync::Client,
14336}
14337
14338#[cfg(target_os = "fuchsia")]
14339impl fidl::endpoints::SynchronousProxy for ReceiverSynchronousProxy {
14340 type Proxy = ReceiverProxy;
14341 type Protocol = ReceiverMarker;
14342
14343 fn from_channel(inner: fidl::Channel) -> Self {
14344 Self::new(inner)
14345 }
14346
14347 fn into_channel(self) -> fidl::Channel {
14348 self.client.into_channel()
14349 }
14350
14351 fn as_channel(&self) -> &fidl::Channel {
14352 self.client.as_channel()
14353 }
14354}
14355
14356#[cfg(target_os = "fuchsia")]
14357impl ReceiverSynchronousProxy {
14358 pub fn new(channel: fidl::Channel) -> Self {
14359 let protocol_name = <ReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
14360 Self { client: fidl::client::sync::Client::new(channel, protocol_name) }
14361 }
14362
14363 pub fn into_channel(self) -> fidl::Channel {
14364 self.client.into_channel()
14365 }
14366
14367 pub fn wait_for_event(
14370 &self,
14371 deadline: zx::MonotonicInstant,
14372 ) -> Result<ReceiverEvent, fidl::Error> {
14373 ReceiverEvent::decode(self.client.wait_for_event(deadline)?)
14374 }
14375
14376 pub fn r#receive(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
14379 self.client.send::<ReceiverReceiveRequest>(
14380 (channel,),
14381 0x609ca5c7943b58d0,
14382 fidl::encoding::DynamicFlags::empty(),
14383 )
14384 }
14385}
14386
14387#[cfg(target_os = "fuchsia")]
14388impl From<ReceiverSynchronousProxy> for zx::NullableHandle {
14389 fn from(value: ReceiverSynchronousProxy) -> Self {
14390 value.into_channel().into()
14391 }
14392}
14393
14394#[cfg(target_os = "fuchsia")]
14395impl From<fidl::Channel> for ReceiverSynchronousProxy {
14396 fn from(value: fidl::Channel) -> Self {
14397 Self::new(value)
14398 }
14399}
14400
14401#[cfg(target_os = "fuchsia")]
14402impl fidl::endpoints::FromClient for ReceiverSynchronousProxy {
14403 type Protocol = ReceiverMarker;
14404
14405 fn from_client(value: fidl::endpoints::ClientEnd<ReceiverMarker>) -> Self {
14406 Self::new(value.into_channel())
14407 }
14408}
14409
14410#[derive(Debug, Clone)]
14411pub struct ReceiverProxy {
14412 client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
14413}
14414
14415impl fidl::endpoints::Proxy for ReceiverProxy {
14416 type Protocol = ReceiverMarker;
14417
14418 fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
14419 Self::new(inner)
14420 }
14421
14422 fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
14423 self.client.into_channel().map_err(|client| Self { client })
14424 }
14425
14426 fn as_channel(&self) -> &::fidl::AsyncChannel {
14427 self.client.as_channel()
14428 }
14429}
14430
14431impl ReceiverProxy {
14432 pub fn new(channel: ::fidl::AsyncChannel) -> Self {
14434 let protocol_name = <ReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
14435 Self { client: fidl::client::Client::new(channel, protocol_name) }
14436 }
14437
14438 pub fn take_event_stream(&self) -> ReceiverEventStream {
14444 ReceiverEventStream { event_receiver: self.client.take_event_receiver() }
14445 }
14446
14447 pub fn r#receive(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
14450 ReceiverProxyInterface::r#receive(self, channel)
14451 }
14452}
14453
14454impl ReceiverProxyInterface for ReceiverProxy {
14455 fn r#receive(&self, mut channel: fidl::Channel) -> Result<(), fidl::Error> {
14456 self.client.send::<ReceiverReceiveRequest>(
14457 (channel,),
14458 0x609ca5c7943b58d0,
14459 fidl::encoding::DynamicFlags::empty(),
14460 )
14461 }
14462}
14463
14464pub struct ReceiverEventStream {
14465 event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
14466}
14467
14468impl std::marker::Unpin for ReceiverEventStream {}
14469
14470impl futures::stream::FusedStream for ReceiverEventStream {
14471 fn is_terminated(&self) -> bool {
14472 self.event_receiver.is_terminated()
14473 }
14474}
14475
14476impl futures::Stream for ReceiverEventStream {
14477 type Item = Result<ReceiverEvent, fidl::Error>;
14478
14479 fn poll_next(
14480 mut self: std::pin::Pin<&mut Self>,
14481 cx: &mut std::task::Context<'_>,
14482 ) -> std::task::Poll<Option<Self::Item>> {
14483 match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
14484 &mut self.event_receiver,
14485 cx
14486 )?) {
14487 Some(buf) => std::task::Poll::Ready(Some(ReceiverEvent::decode(buf))),
14488 None => std::task::Poll::Ready(None),
14489 }
14490 }
14491}
14492
14493#[derive(Debug)]
14494pub enum ReceiverEvent {}
14495
14496impl ReceiverEvent {
14497 fn decode(
14499 mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
14500 ) -> Result<ReceiverEvent, fidl::Error> {
14501 let (bytes, _handles) = buf.split_mut();
14502 let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
14503 debug_assert_eq!(tx_header.tx_id, 0);
14504 match tx_header.ordinal {
14505 _ => Err(fidl::Error::UnknownOrdinal {
14506 ordinal: tx_header.ordinal,
14507 protocol_name: <ReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
14508 }),
14509 }
14510 }
14511}
14512
14513pub struct ReceiverRequestStream {
14515 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14516 is_terminated: bool,
14517}
14518
14519impl std::marker::Unpin for ReceiverRequestStream {}
14520
14521impl futures::stream::FusedStream for ReceiverRequestStream {
14522 fn is_terminated(&self) -> bool {
14523 self.is_terminated
14524 }
14525}
14526
14527impl fidl::endpoints::RequestStream for ReceiverRequestStream {
14528 type Protocol = ReceiverMarker;
14529 type ControlHandle = ReceiverControlHandle;
14530
14531 fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
14532 Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
14533 }
14534
14535 fn control_handle(&self) -> Self::ControlHandle {
14536 ReceiverControlHandle { inner: self.inner.clone() }
14537 }
14538
14539 fn into_inner(
14540 self,
14541 ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
14542 {
14543 (self.inner, self.is_terminated)
14544 }
14545
14546 fn from_inner(
14547 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14548 is_terminated: bool,
14549 ) -> Self {
14550 Self { inner, is_terminated }
14551 }
14552}
14553
14554impl futures::Stream for ReceiverRequestStream {
14555 type Item = Result<ReceiverRequest, fidl::Error>;
14556
14557 fn poll_next(
14558 mut self: std::pin::Pin<&mut Self>,
14559 cx: &mut std::task::Context<'_>,
14560 ) -> std::task::Poll<Option<Self::Item>> {
14561 let this = &mut *self;
14562 if this.inner.check_shutdown(cx) {
14563 this.is_terminated = true;
14564 return std::task::Poll::Ready(None);
14565 }
14566 if this.is_terminated {
14567 panic!("polled ReceiverRequestStream after completion");
14568 }
14569 fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
14570 |bytes, handles| {
14571 match this.inner.channel().read_etc(cx, bytes, handles) {
14572 std::task::Poll::Ready(Ok(())) => {}
14573 std::task::Poll::Pending => return std::task::Poll::Pending,
14574 std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
14575 this.is_terminated = true;
14576 return std::task::Poll::Ready(None);
14577 }
14578 std::task::Poll::Ready(Err(e)) => {
14579 return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
14580 e.into(),
14581 ))));
14582 }
14583 }
14584
14585 let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
14587
14588 std::task::Poll::Ready(Some(match header.ordinal {
14589 0x609ca5c7943b58d0 => {
14590 header.validate_request_tx_id(fidl::MethodType::OneWay)?;
14591 let mut req = fidl::new_empty!(
14592 ReceiverReceiveRequest,
14593 fidl::encoding::DefaultFuchsiaResourceDialect
14594 );
14595 fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<ReceiverReceiveRequest>(&header, _body_bytes, handles, &mut req)?;
14596 let control_handle = ReceiverControlHandle { inner: this.inner.clone() };
14597 Ok(ReceiverRequest::Receive { channel: req.channel, control_handle })
14598 }
14599 _ => Err(fidl::Error::UnknownOrdinal {
14600 ordinal: header.ordinal,
14601 protocol_name:
14602 <ReceiverMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
14603 }),
14604 }))
14605 },
14606 )
14607 }
14608}
14609
14610#[derive(Debug)]
14612pub enum ReceiverRequest {
14613 Receive { channel: fidl::Channel, control_handle: ReceiverControlHandle },
14616}
14617
14618impl ReceiverRequest {
14619 #[allow(irrefutable_let_patterns)]
14620 pub fn into_receive(self) -> Option<(fidl::Channel, ReceiverControlHandle)> {
14621 if let ReceiverRequest::Receive { channel, control_handle } = self {
14622 Some((channel, control_handle))
14623 } else {
14624 None
14625 }
14626 }
14627
14628 pub fn method_name(&self) -> &'static str {
14630 match *self {
14631 ReceiverRequest::Receive { .. } => "receive",
14632 }
14633 }
14634}
14635
14636#[derive(Debug, Clone)]
14637pub struct ReceiverControlHandle {
14638 inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
14639}
14640
14641impl fidl::endpoints::ControlHandle for ReceiverControlHandle {
14642 fn shutdown(&self) {
14643 self.inner.shutdown()
14644 }
14645
14646 fn shutdown_with_epitaph(&self, status: zx_status::Status) {
14647 self.inner.shutdown_with_epitaph(status)
14648 }
14649
14650 fn is_closed(&self) -> bool {
14651 self.inner.channel().is_closed()
14652 }
14653 fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
14654 self.inner.channel().on_closed()
14655 }
14656
14657 #[cfg(target_os = "fuchsia")]
14658 fn signal_peer(
14659 &self,
14660 clear_mask: zx::Signals,
14661 set_mask: zx::Signals,
14662 ) -> Result<(), zx_status::Status> {
14663 use fidl::Peered;
14664 self.inner.channel().signal_peer(clear_mask, set_mask)
14665 }
14666}
14667
14668impl ReceiverControlHandle {}
14669
14670mod internal {
14671 use super::*;
14672
14673 impl fidl::encoding::ResourceTypeMarker for CapabilitiesCapabilityAssociateHandleRequest {
14674 type Borrowed<'a> = &'a mut Self;
14675 fn take_or_borrow<'a>(
14676 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
14677 ) -> Self::Borrowed<'a> {
14678 value
14679 }
14680 }
14681
14682 unsafe impl fidl::encoding::TypeMarker for CapabilitiesCapabilityAssociateHandleRequest {
14683 type Owned = Self;
14684
14685 #[inline(always)]
14686 fn inline_align(_context: fidl::encoding::Context) -> usize {
14687 4
14688 }
14689
14690 #[inline(always)]
14691 fn inline_size(_context: fidl::encoding::Context) -> usize {
14692 8
14693 }
14694 }
14695
14696 unsafe impl
14697 fidl::encoding::Encode<
14698 CapabilitiesCapabilityAssociateHandleRequest,
14699 fidl::encoding::DefaultFuchsiaResourceDialect,
14700 > for &mut CapabilitiesCapabilityAssociateHandleRequest
14701 {
14702 #[inline]
14703 unsafe fn encode(
14704 self,
14705 encoder: &mut fidl::encoding::Encoder<
14706 '_,
14707 fidl::encoding::DefaultFuchsiaResourceDialect,
14708 >,
14709 offset: usize,
14710 _depth: fidl::encoding::Depth,
14711 ) -> fidl::Result<()> {
14712 encoder.debug_check_bounds::<CapabilitiesCapabilityAssociateHandleRequest>(offset);
14713 fidl::encoding::Encode::<
14715 CapabilitiesCapabilityAssociateHandleRequest,
14716 fidl::encoding::DefaultFuchsiaResourceDialect,
14717 >::encode(
14718 (
14719 <fidl::encoding::HandleType<
14720 fidl::EventPair,
14721 { fidl::ObjectType::EVENTPAIR.into_raw() },
14722 2147483648,
14723 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
14724 &mut self.capability_handle,
14725 ),
14726 <fidl::encoding::HandleType<
14727 fidl::EventPair,
14728 { fidl::ObjectType::EVENTPAIR.into_raw() },
14729 2147483648,
14730 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
14731 &mut self.other_handle,
14732 ),
14733 ),
14734 encoder,
14735 offset,
14736 _depth,
14737 )
14738 }
14739 }
14740 unsafe impl<
14741 T0: fidl::encoding::Encode<
14742 fidl::encoding::HandleType<
14743 fidl::EventPair,
14744 { fidl::ObjectType::EVENTPAIR.into_raw() },
14745 2147483648,
14746 >,
14747 fidl::encoding::DefaultFuchsiaResourceDialect,
14748 >,
14749 T1: fidl::encoding::Encode<
14750 fidl::encoding::HandleType<
14751 fidl::EventPair,
14752 { fidl::ObjectType::EVENTPAIR.into_raw() },
14753 2147483648,
14754 >,
14755 fidl::encoding::DefaultFuchsiaResourceDialect,
14756 >,
14757 >
14758 fidl::encoding::Encode<
14759 CapabilitiesCapabilityAssociateHandleRequest,
14760 fidl::encoding::DefaultFuchsiaResourceDialect,
14761 > for (T0, T1)
14762 {
14763 #[inline]
14764 unsafe fn encode(
14765 self,
14766 encoder: &mut fidl::encoding::Encoder<
14767 '_,
14768 fidl::encoding::DefaultFuchsiaResourceDialect,
14769 >,
14770 offset: usize,
14771 depth: fidl::encoding::Depth,
14772 ) -> fidl::Result<()> {
14773 encoder.debug_check_bounds::<CapabilitiesCapabilityAssociateHandleRequest>(offset);
14774 self.0.encode(encoder, offset + 0, depth)?;
14778 self.1.encode(encoder, offset + 4, depth)?;
14779 Ok(())
14780 }
14781 }
14782
14783 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
14784 for CapabilitiesCapabilityAssociateHandleRequest
14785 {
14786 #[inline(always)]
14787 fn new_empty() -> Self {
14788 Self {
14789 capability_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
14790 other_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
14791 }
14792 }
14793
14794 #[inline]
14795 unsafe fn decode(
14796 &mut self,
14797 decoder: &mut fidl::encoding::Decoder<
14798 '_,
14799 fidl::encoding::DefaultFuchsiaResourceDialect,
14800 >,
14801 offset: usize,
14802 _depth: fidl::encoding::Depth,
14803 ) -> fidl::Result<()> {
14804 decoder.debug_check_bounds::<Self>(offset);
14805 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.capability_handle, decoder, offset + 0, _depth)?;
14807 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.other_handle, decoder, offset + 4, _depth)?;
14808 Ok(())
14809 }
14810 }
14811
14812 impl fidl::encoding::ResourceTypeMarker for CapabilitiesConnectorCreateRequest {
14813 type Borrowed<'a> = &'a mut Self;
14814 fn take_or_borrow<'a>(
14815 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
14816 ) -> Self::Borrowed<'a> {
14817 value
14818 }
14819 }
14820
14821 unsafe impl fidl::encoding::TypeMarker for CapabilitiesConnectorCreateRequest {
14822 type Owned = Self;
14823
14824 #[inline(always)]
14825 fn inline_align(_context: fidl::encoding::Context) -> usize {
14826 4
14827 }
14828
14829 #[inline(always)]
14830 fn inline_size(_context: fidl::encoding::Context) -> usize {
14831 8
14832 }
14833 }
14834
14835 unsafe impl
14836 fidl::encoding::Encode<
14837 CapabilitiesConnectorCreateRequest,
14838 fidl::encoding::DefaultFuchsiaResourceDialect,
14839 > for &mut CapabilitiesConnectorCreateRequest
14840 {
14841 #[inline]
14842 unsafe fn encode(
14843 self,
14844 encoder: &mut fidl::encoding::Encoder<
14845 '_,
14846 fidl::encoding::DefaultFuchsiaResourceDialect,
14847 >,
14848 offset: usize,
14849 _depth: fidl::encoding::Depth,
14850 ) -> fidl::Result<()> {
14851 encoder.debug_check_bounds::<CapabilitiesConnectorCreateRequest>(offset);
14852 fidl::encoding::Encode::<CapabilitiesConnectorCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
14854 (
14855 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.connector),
14856 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.receiver_client_end),
14857 ),
14858 encoder, offset, _depth
14859 )
14860 }
14861 }
14862 unsafe impl<
14863 T0: fidl::encoding::Encode<
14864 fidl::encoding::HandleType<
14865 fidl::EventPair,
14866 { fidl::ObjectType::EVENTPAIR.into_raw() },
14867 2147483648,
14868 >,
14869 fidl::encoding::DefaultFuchsiaResourceDialect,
14870 >,
14871 T1: fidl::encoding::Encode<
14872 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
14873 fidl::encoding::DefaultFuchsiaResourceDialect,
14874 >,
14875 >
14876 fidl::encoding::Encode<
14877 CapabilitiesConnectorCreateRequest,
14878 fidl::encoding::DefaultFuchsiaResourceDialect,
14879 > for (T0, T1)
14880 {
14881 #[inline]
14882 unsafe fn encode(
14883 self,
14884 encoder: &mut fidl::encoding::Encoder<
14885 '_,
14886 fidl::encoding::DefaultFuchsiaResourceDialect,
14887 >,
14888 offset: usize,
14889 depth: fidl::encoding::Depth,
14890 ) -> fidl::Result<()> {
14891 encoder.debug_check_bounds::<CapabilitiesConnectorCreateRequest>(offset);
14892 self.0.encode(encoder, offset + 0, depth)?;
14896 self.1.encode(encoder, offset + 4, depth)?;
14897 Ok(())
14898 }
14899 }
14900
14901 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
14902 for CapabilitiesConnectorCreateRequest
14903 {
14904 #[inline(always)]
14905 fn new_empty() -> Self {
14906 Self {
14907 connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
14908 receiver_client_end: fidl::new_empty!(
14909 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
14910 fidl::encoding::DefaultFuchsiaResourceDialect
14911 ),
14912 }
14913 }
14914
14915 #[inline]
14916 unsafe fn decode(
14917 &mut self,
14918 decoder: &mut fidl::encoding::Decoder<
14919 '_,
14920 fidl::encoding::DefaultFuchsiaResourceDialect,
14921 >,
14922 offset: usize,
14923 _depth: fidl::encoding::Depth,
14924 ) -> fidl::Result<()> {
14925 decoder.debug_check_bounds::<Self>(offset);
14926 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.connector, decoder, offset + 0, _depth)?;
14928 fidl::decode!(
14929 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
14930 fidl::encoding::DefaultFuchsiaResourceDialect,
14931 &mut self.receiver_client_end,
14932 decoder,
14933 offset + 4,
14934 _depth
14935 )?;
14936 Ok(())
14937 }
14938 }
14939
14940 impl fidl::encoding::ResourceTypeMarker for CapabilitiesConnectorOpenRequest {
14941 type Borrowed<'a> = &'a mut Self;
14942 fn take_or_borrow<'a>(
14943 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
14944 ) -> Self::Borrowed<'a> {
14945 value
14946 }
14947 }
14948
14949 unsafe impl fidl::encoding::TypeMarker for CapabilitiesConnectorOpenRequest {
14950 type Owned = Self;
14951
14952 #[inline(always)]
14953 fn inline_align(_context: fidl::encoding::Context) -> usize {
14954 4
14955 }
14956
14957 #[inline(always)]
14958 fn inline_size(_context: fidl::encoding::Context) -> usize {
14959 8
14960 }
14961 }
14962
14963 unsafe impl
14964 fidl::encoding::Encode<
14965 CapabilitiesConnectorOpenRequest,
14966 fidl::encoding::DefaultFuchsiaResourceDialect,
14967 > for &mut CapabilitiesConnectorOpenRequest
14968 {
14969 #[inline]
14970 unsafe fn encode(
14971 self,
14972 encoder: &mut fidl::encoding::Encoder<
14973 '_,
14974 fidl::encoding::DefaultFuchsiaResourceDialect,
14975 >,
14976 offset: usize,
14977 _depth: fidl::encoding::Depth,
14978 ) -> fidl::Result<()> {
14979 encoder.debug_check_bounds::<CapabilitiesConnectorOpenRequest>(offset);
14980 fidl::encoding::Encode::<
14982 CapabilitiesConnectorOpenRequest,
14983 fidl::encoding::DefaultFuchsiaResourceDialect,
14984 >::encode(
14985 (
14986 <fidl::encoding::HandleType<
14987 fidl::EventPair,
14988 { fidl::ObjectType::EVENTPAIR.into_raw() },
14989 2147483648,
14990 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
14991 &mut self.connector
14992 ),
14993 <fidl::encoding::HandleType<
14994 fidl::Channel,
14995 { fidl::ObjectType::CHANNEL.into_raw() },
14996 2147483648,
14997 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
14998 &mut self.channel
14999 ),
15000 ),
15001 encoder,
15002 offset,
15003 _depth,
15004 )
15005 }
15006 }
15007 unsafe impl<
15008 T0: fidl::encoding::Encode<
15009 fidl::encoding::HandleType<
15010 fidl::EventPair,
15011 { fidl::ObjectType::EVENTPAIR.into_raw() },
15012 2147483648,
15013 >,
15014 fidl::encoding::DefaultFuchsiaResourceDialect,
15015 >,
15016 T1: fidl::encoding::Encode<
15017 fidl::encoding::HandleType<
15018 fidl::Channel,
15019 { fidl::ObjectType::CHANNEL.into_raw() },
15020 2147483648,
15021 >,
15022 fidl::encoding::DefaultFuchsiaResourceDialect,
15023 >,
15024 >
15025 fidl::encoding::Encode<
15026 CapabilitiesConnectorOpenRequest,
15027 fidl::encoding::DefaultFuchsiaResourceDialect,
15028 > for (T0, T1)
15029 {
15030 #[inline]
15031 unsafe fn encode(
15032 self,
15033 encoder: &mut fidl::encoding::Encoder<
15034 '_,
15035 fidl::encoding::DefaultFuchsiaResourceDialect,
15036 >,
15037 offset: usize,
15038 depth: fidl::encoding::Depth,
15039 ) -> fidl::Result<()> {
15040 encoder.debug_check_bounds::<CapabilitiesConnectorOpenRequest>(offset);
15041 self.0.encode(encoder, offset + 0, depth)?;
15045 self.1.encode(encoder, offset + 4, depth)?;
15046 Ok(())
15047 }
15048 }
15049
15050 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15051 for CapabilitiesConnectorOpenRequest
15052 {
15053 #[inline(always)]
15054 fn new_empty() -> Self {
15055 Self {
15056 connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15057 channel: fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15058 }
15059 }
15060
15061 #[inline]
15062 unsafe fn decode(
15063 &mut self,
15064 decoder: &mut fidl::encoding::Decoder<
15065 '_,
15066 fidl::encoding::DefaultFuchsiaResourceDialect,
15067 >,
15068 offset: usize,
15069 _depth: fidl::encoding::Depth,
15070 ) -> fidl::Result<()> {
15071 decoder.debug_check_bounds::<Self>(offset);
15072 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.connector, decoder, offset + 0, _depth)?;
15074 fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.channel, decoder, offset + 4, _depth)?;
15075 Ok(())
15076 }
15077 }
15078
15079 impl fidl::encoding::ResourceTypeMarker for CapabilitiesConnectorRouterCreateRequest {
15080 type Borrowed<'a> = &'a mut Self;
15081 fn take_or_borrow<'a>(
15082 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15083 ) -> Self::Borrowed<'a> {
15084 value
15085 }
15086 }
15087
15088 unsafe impl fidl::encoding::TypeMarker for CapabilitiesConnectorRouterCreateRequest {
15089 type Owned = Self;
15090
15091 #[inline(always)]
15092 fn inline_align(_context: fidl::encoding::Context) -> usize {
15093 4
15094 }
15095
15096 #[inline(always)]
15097 fn inline_size(_context: fidl::encoding::Context) -> usize {
15098 8
15099 }
15100 }
15101
15102 unsafe impl
15103 fidl::encoding::Encode<
15104 CapabilitiesConnectorRouterCreateRequest,
15105 fidl::encoding::DefaultFuchsiaResourceDialect,
15106 > for &mut CapabilitiesConnectorRouterCreateRequest
15107 {
15108 #[inline]
15109 unsafe fn encode(
15110 self,
15111 encoder: &mut fidl::encoding::Encoder<
15112 '_,
15113 fidl::encoding::DefaultFuchsiaResourceDialect,
15114 >,
15115 offset: usize,
15116 _depth: fidl::encoding::Depth,
15117 ) -> fidl::Result<()> {
15118 encoder.debug_check_bounds::<CapabilitiesConnectorRouterCreateRequest>(offset);
15119 fidl::encoding::Encode::<CapabilitiesConnectorRouterCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
15121 (
15122 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router),
15123 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router_client_end),
15124 ),
15125 encoder, offset, _depth
15126 )
15127 }
15128 }
15129 unsafe impl<
15130 T0: fidl::encoding::Encode<
15131 fidl::encoding::HandleType<
15132 fidl::EventPair,
15133 { fidl::ObjectType::EVENTPAIR.into_raw() },
15134 2147483648,
15135 >,
15136 fidl::encoding::DefaultFuchsiaResourceDialect,
15137 >,
15138 T1: fidl::encoding::Encode<
15139 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterMarker>>,
15140 fidl::encoding::DefaultFuchsiaResourceDialect,
15141 >,
15142 >
15143 fidl::encoding::Encode<
15144 CapabilitiesConnectorRouterCreateRequest,
15145 fidl::encoding::DefaultFuchsiaResourceDialect,
15146 > for (T0, T1)
15147 {
15148 #[inline]
15149 unsafe fn encode(
15150 self,
15151 encoder: &mut fidl::encoding::Encoder<
15152 '_,
15153 fidl::encoding::DefaultFuchsiaResourceDialect,
15154 >,
15155 offset: usize,
15156 depth: fidl::encoding::Depth,
15157 ) -> fidl::Result<()> {
15158 encoder.debug_check_bounds::<CapabilitiesConnectorRouterCreateRequest>(offset);
15159 self.0.encode(encoder, offset + 0, depth)?;
15163 self.1.encode(encoder, offset + 4, depth)?;
15164 Ok(())
15165 }
15166 }
15167
15168 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15169 for CapabilitiesConnectorRouterCreateRequest
15170 {
15171 #[inline(always)]
15172 fn new_empty() -> Self {
15173 Self {
15174 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15175 router_client_end: fidl::new_empty!(
15176 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterMarker>>,
15177 fidl::encoding::DefaultFuchsiaResourceDialect
15178 ),
15179 }
15180 }
15181
15182 #[inline]
15183 unsafe fn decode(
15184 &mut self,
15185 decoder: &mut fidl::encoding::Decoder<
15186 '_,
15187 fidl::encoding::DefaultFuchsiaResourceDialect,
15188 >,
15189 offset: usize,
15190 _depth: fidl::encoding::Depth,
15191 ) -> fidl::Result<()> {
15192 decoder.debug_check_bounds::<Self>(offset);
15193 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
15195 fidl::decode!(
15196 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterMarker>>,
15197 fidl::encoding::DefaultFuchsiaResourceDialect,
15198 &mut self.router_client_end,
15199 decoder,
15200 offset + 4,
15201 _depth
15202 )?;
15203 Ok(())
15204 }
15205 }
15206
15207 impl fidl::encoding::ResourceTypeMarker for CapabilitiesConnectorRouterRouteRequest {
15208 type Borrowed<'a> = &'a mut Self;
15209 fn take_or_borrow<'a>(
15210 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15211 ) -> Self::Borrowed<'a> {
15212 value
15213 }
15214 }
15215
15216 unsafe impl fidl::encoding::TypeMarker for CapabilitiesConnectorRouterRouteRequest {
15217 type Owned = Self;
15218
15219 #[inline(always)]
15220 fn inline_align(_context: fidl::encoding::Context) -> usize {
15221 8
15222 }
15223
15224 #[inline(always)]
15225 fn inline_size(_context: fidl::encoding::Context) -> usize {
15226 32
15227 }
15228 }
15229
15230 unsafe impl
15231 fidl::encoding::Encode<
15232 CapabilitiesConnectorRouterRouteRequest,
15233 fidl::encoding::DefaultFuchsiaResourceDialect,
15234 > for &mut CapabilitiesConnectorRouterRouteRequest
15235 {
15236 #[inline]
15237 unsafe fn encode(
15238 self,
15239 encoder: &mut fidl::encoding::Encoder<
15240 '_,
15241 fidl::encoding::DefaultFuchsiaResourceDialect,
15242 >,
15243 offset: usize,
15244 _depth: fidl::encoding::Depth,
15245 ) -> fidl::Result<()> {
15246 encoder.debug_check_bounds::<CapabilitiesConnectorRouterRouteRequest>(offset);
15247 fidl::encoding::Encode::<
15249 CapabilitiesConnectorRouterRouteRequest,
15250 fidl::encoding::DefaultFuchsiaResourceDialect,
15251 >::encode(
15252 (
15253 <fidl::encoding::HandleType<
15254 fidl::EventPair,
15255 { fidl::ObjectType::EVENTPAIR.into_raw() },
15256 2147483648,
15257 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15258 &mut self.router
15259 ),
15260 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15261 &mut self.request,
15262 ),
15263 <fidl::encoding::HandleType<
15264 fidl::EventPair,
15265 { fidl::ObjectType::EVENTPAIR.into_raw() },
15266 2147483648,
15267 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15268 &mut self.instance_token,
15269 ),
15270 <fidl::encoding::HandleType<
15271 fidl::EventPair,
15272 { fidl::ObjectType::EVENTPAIR.into_raw() },
15273 2147483648,
15274 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15275 &mut self.connector
15276 ),
15277 ),
15278 encoder,
15279 offset,
15280 _depth,
15281 )
15282 }
15283 }
15284 unsafe impl<
15285 T0: fidl::encoding::Encode<
15286 fidl::encoding::HandleType<
15287 fidl::EventPair,
15288 { fidl::ObjectType::EVENTPAIR.into_raw() },
15289 2147483648,
15290 >,
15291 fidl::encoding::DefaultFuchsiaResourceDialect,
15292 >,
15293 T1: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
15294 T2: fidl::encoding::Encode<
15295 fidl::encoding::HandleType<
15296 fidl::EventPair,
15297 { fidl::ObjectType::EVENTPAIR.into_raw() },
15298 2147483648,
15299 >,
15300 fidl::encoding::DefaultFuchsiaResourceDialect,
15301 >,
15302 T3: fidl::encoding::Encode<
15303 fidl::encoding::HandleType<
15304 fidl::EventPair,
15305 { fidl::ObjectType::EVENTPAIR.into_raw() },
15306 2147483648,
15307 >,
15308 fidl::encoding::DefaultFuchsiaResourceDialect,
15309 >,
15310 >
15311 fidl::encoding::Encode<
15312 CapabilitiesConnectorRouterRouteRequest,
15313 fidl::encoding::DefaultFuchsiaResourceDialect,
15314 > for (T0, T1, T2, T3)
15315 {
15316 #[inline]
15317 unsafe fn encode(
15318 self,
15319 encoder: &mut fidl::encoding::Encoder<
15320 '_,
15321 fidl::encoding::DefaultFuchsiaResourceDialect,
15322 >,
15323 offset: usize,
15324 depth: fidl::encoding::Depth,
15325 ) -> fidl::Result<()> {
15326 encoder.debug_check_bounds::<CapabilitiesConnectorRouterRouteRequest>(offset);
15327 unsafe {
15330 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
15331 (ptr as *mut u64).write_unaligned(0);
15332 }
15333 self.0.encode(encoder, offset + 0, depth)?;
15335 self.1.encode(encoder, offset + 8, depth)?;
15336 self.2.encode(encoder, offset + 24, depth)?;
15337 self.3.encode(encoder, offset + 28, depth)?;
15338 Ok(())
15339 }
15340 }
15341
15342 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15343 for CapabilitiesConnectorRouterRouteRequest
15344 {
15345 #[inline(always)]
15346 fn new_empty() -> Self {
15347 Self {
15348 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15349 request: fidl::new_empty!(
15350 RouteRequest,
15351 fidl::encoding::DefaultFuchsiaResourceDialect
15352 ),
15353 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15354 connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15355 }
15356 }
15357
15358 #[inline]
15359 unsafe fn decode(
15360 &mut self,
15361 decoder: &mut fidl::encoding::Decoder<
15362 '_,
15363 fidl::encoding::DefaultFuchsiaResourceDialect,
15364 >,
15365 offset: usize,
15366 _depth: fidl::encoding::Depth,
15367 ) -> fidl::Result<()> {
15368 decoder.debug_check_bounds::<Self>(offset);
15369 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
15371 let padval = unsafe { (ptr as *const u64).read_unaligned() };
15372 let mask = 0xffffffff00000000u64;
15373 let maskedval = padval & mask;
15374 if maskedval != 0 {
15375 return Err(fidl::Error::NonZeroPadding {
15376 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
15377 });
15378 }
15379 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
15380 fidl::decode!(
15381 RouteRequest,
15382 fidl::encoding::DefaultFuchsiaResourceDialect,
15383 &mut self.request,
15384 decoder,
15385 offset + 8,
15386 _depth
15387 )?;
15388 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 24, _depth)?;
15389 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.connector, decoder, offset + 28, _depth)?;
15390 Ok(())
15391 }
15392 }
15393
15394 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDataCreateRequest {
15395 type Borrowed<'a> = &'a mut Self;
15396 fn take_or_borrow<'a>(
15397 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15398 ) -> Self::Borrowed<'a> {
15399 value
15400 }
15401 }
15402
15403 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDataCreateRequest {
15404 type Owned = Self;
15405
15406 #[inline(always)]
15407 fn inline_align(_context: fidl::encoding::Context) -> usize {
15408 8
15409 }
15410
15411 #[inline(always)]
15412 fn inline_size(_context: fidl::encoding::Context) -> usize {
15413 24
15414 }
15415 }
15416
15417 unsafe impl
15418 fidl::encoding::Encode<
15419 CapabilitiesDataCreateRequest,
15420 fidl::encoding::DefaultFuchsiaResourceDialect,
15421 > for &mut CapabilitiesDataCreateRequest
15422 {
15423 #[inline]
15424 unsafe fn encode(
15425 self,
15426 encoder: &mut fidl::encoding::Encoder<
15427 '_,
15428 fidl::encoding::DefaultFuchsiaResourceDialect,
15429 >,
15430 offset: usize,
15431 _depth: fidl::encoding::Depth,
15432 ) -> fidl::Result<()> {
15433 encoder.debug_check_bounds::<CapabilitiesDataCreateRequest>(offset);
15434 fidl::encoding::Encode::<
15436 CapabilitiesDataCreateRequest,
15437 fidl::encoding::DefaultFuchsiaResourceDialect,
15438 >::encode(
15439 (
15440 <fidl::encoding::HandleType<
15441 fidl::EventPair,
15442 { fidl::ObjectType::EVENTPAIR.into_raw() },
15443 2147483648,
15444 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15445 &mut self.data_handle
15446 ),
15447 <Data as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
15448 ),
15449 encoder,
15450 offset,
15451 _depth,
15452 )
15453 }
15454 }
15455 unsafe impl<
15456 T0: fidl::encoding::Encode<
15457 fidl::encoding::HandleType<
15458 fidl::EventPair,
15459 { fidl::ObjectType::EVENTPAIR.into_raw() },
15460 2147483648,
15461 >,
15462 fidl::encoding::DefaultFuchsiaResourceDialect,
15463 >,
15464 T1: fidl::encoding::Encode<Data, fidl::encoding::DefaultFuchsiaResourceDialect>,
15465 >
15466 fidl::encoding::Encode<
15467 CapabilitiesDataCreateRequest,
15468 fidl::encoding::DefaultFuchsiaResourceDialect,
15469 > for (T0, T1)
15470 {
15471 #[inline]
15472 unsafe fn encode(
15473 self,
15474 encoder: &mut fidl::encoding::Encoder<
15475 '_,
15476 fidl::encoding::DefaultFuchsiaResourceDialect,
15477 >,
15478 offset: usize,
15479 depth: fidl::encoding::Depth,
15480 ) -> fidl::Result<()> {
15481 encoder.debug_check_bounds::<CapabilitiesDataCreateRequest>(offset);
15482 unsafe {
15485 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
15486 (ptr as *mut u64).write_unaligned(0);
15487 }
15488 self.0.encode(encoder, offset + 0, depth)?;
15490 self.1.encode(encoder, offset + 8, depth)?;
15491 Ok(())
15492 }
15493 }
15494
15495 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15496 for CapabilitiesDataCreateRequest
15497 {
15498 #[inline(always)]
15499 fn new_empty() -> Self {
15500 Self {
15501 data_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15502 data: fidl::new_empty!(Data, fidl::encoding::DefaultFuchsiaResourceDialect),
15503 }
15504 }
15505
15506 #[inline]
15507 unsafe fn decode(
15508 &mut self,
15509 decoder: &mut fidl::encoding::Decoder<
15510 '_,
15511 fidl::encoding::DefaultFuchsiaResourceDialect,
15512 >,
15513 offset: usize,
15514 _depth: fidl::encoding::Depth,
15515 ) -> fidl::Result<()> {
15516 decoder.debug_check_bounds::<Self>(offset);
15517 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
15519 let padval = unsafe { (ptr as *const u64).read_unaligned() };
15520 let mask = 0xffffffff00000000u64;
15521 let maskedval = padval & mask;
15522 if maskedval != 0 {
15523 return Err(fidl::Error::NonZeroPadding {
15524 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
15525 });
15526 }
15527 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.data_handle, decoder, offset + 0, _depth)?;
15528 fidl::decode!(
15529 Data,
15530 fidl::encoding::DefaultFuchsiaResourceDialect,
15531 &mut self.data,
15532 decoder,
15533 offset + 8,
15534 _depth
15535 )?;
15536 Ok(())
15537 }
15538 }
15539
15540 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDataGetRequest {
15541 type Borrowed<'a> = &'a mut Self;
15542 fn take_or_borrow<'a>(
15543 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15544 ) -> Self::Borrowed<'a> {
15545 value
15546 }
15547 }
15548
15549 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDataGetRequest {
15550 type Owned = Self;
15551
15552 #[inline(always)]
15553 fn inline_align(_context: fidl::encoding::Context) -> usize {
15554 4
15555 }
15556
15557 #[inline(always)]
15558 fn inline_size(_context: fidl::encoding::Context) -> usize {
15559 4
15560 }
15561 }
15562
15563 unsafe impl
15564 fidl::encoding::Encode<
15565 CapabilitiesDataGetRequest,
15566 fidl::encoding::DefaultFuchsiaResourceDialect,
15567 > for &mut CapabilitiesDataGetRequest
15568 {
15569 #[inline]
15570 unsafe fn encode(
15571 self,
15572 encoder: &mut fidl::encoding::Encoder<
15573 '_,
15574 fidl::encoding::DefaultFuchsiaResourceDialect,
15575 >,
15576 offset: usize,
15577 _depth: fidl::encoding::Depth,
15578 ) -> fidl::Result<()> {
15579 encoder.debug_check_bounds::<CapabilitiesDataGetRequest>(offset);
15580 fidl::encoding::Encode::<
15582 CapabilitiesDataGetRequest,
15583 fidl::encoding::DefaultFuchsiaResourceDialect,
15584 >::encode(
15585 (<fidl::encoding::HandleType<
15586 fidl::EventPair,
15587 { fidl::ObjectType::EVENTPAIR.into_raw() },
15588 2147483648,
15589 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15590 &mut self.data_handle
15591 ),),
15592 encoder,
15593 offset,
15594 _depth,
15595 )
15596 }
15597 }
15598 unsafe impl<
15599 T0: fidl::encoding::Encode<
15600 fidl::encoding::HandleType<
15601 fidl::EventPair,
15602 { fidl::ObjectType::EVENTPAIR.into_raw() },
15603 2147483648,
15604 >,
15605 fidl::encoding::DefaultFuchsiaResourceDialect,
15606 >,
15607 >
15608 fidl::encoding::Encode<
15609 CapabilitiesDataGetRequest,
15610 fidl::encoding::DefaultFuchsiaResourceDialect,
15611 > for (T0,)
15612 {
15613 #[inline]
15614 unsafe fn encode(
15615 self,
15616 encoder: &mut fidl::encoding::Encoder<
15617 '_,
15618 fidl::encoding::DefaultFuchsiaResourceDialect,
15619 >,
15620 offset: usize,
15621 depth: fidl::encoding::Depth,
15622 ) -> fidl::Result<()> {
15623 encoder.debug_check_bounds::<CapabilitiesDataGetRequest>(offset);
15624 self.0.encode(encoder, offset + 0, depth)?;
15628 Ok(())
15629 }
15630 }
15631
15632 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15633 for CapabilitiesDataGetRequest
15634 {
15635 #[inline(always)]
15636 fn new_empty() -> Self {
15637 Self {
15638 data_handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15639 }
15640 }
15641
15642 #[inline]
15643 unsafe fn decode(
15644 &mut self,
15645 decoder: &mut fidl::encoding::Decoder<
15646 '_,
15647 fidl::encoding::DefaultFuchsiaResourceDialect,
15648 >,
15649 offset: usize,
15650 _depth: fidl::encoding::Depth,
15651 ) -> fidl::Result<()> {
15652 decoder.debug_check_bounds::<Self>(offset);
15653 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.data_handle, decoder, offset + 0, _depth)?;
15655 Ok(())
15656 }
15657 }
15658
15659 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDataRouterCreateRequest {
15660 type Borrowed<'a> = &'a mut Self;
15661 fn take_or_borrow<'a>(
15662 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15663 ) -> Self::Borrowed<'a> {
15664 value
15665 }
15666 }
15667
15668 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDataRouterCreateRequest {
15669 type Owned = Self;
15670
15671 #[inline(always)]
15672 fn inline_align(_context: fidl::encoding::Context) -> usize {
15673 4
15674 }
15675
15676 #[inline(always)]
15677 fn inline_size(_context: fidl::encoding::Context) -> usize {
15678 8
15679 }
15680 }
15681
15682 unsafe impl
15683 fidl::encoding::Encode<
15684 CapabilitiesDataRouterCreateRequest,
15685 fidl::encoding::DefaultFuchsiaResourceDialect,
15686 > for &mut CapabilitiesDataRouterCreateRequest
15687 {
15688 #[inline]
15689 unsafe fn encode(
15690 self,
15691 encoder: &mut fidl::encoding::Encoder<
15692 '_,
15693 fidl::encoding::DefaultFuchsiaResourceDialect,
15694 >,
15695 offset: usize,
15696 _depth: fidl::encoding::Depth,
15697 ) -> fidl::Result<()> {
15698 encoder.debug_check_bounds::<CapabilitiesDataRouterCreateRequest>(offset);
15699 fidl::encoding::Encode::<CapabilitiesDataRouterCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
15701 (
15702 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router),
15703 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router_client_end),
15704 ),
15705 encoder, offset, _depth
15706 )
15707 }
15708 }
15709 unsafe impl<
15710 T0: fidl::encoding::Encode<
15711 fidl::encoding::HandleType<
15712 fidl::EventPair,
15713 { fidl::ObjectType::EVENTPAIR.into_raw() },
15714 2147483648,
15715 >,
15716 fidl::encoding::DefaultFuchsiaResourceDialect,
15717 >,
15718 T1: fidl::encoding::Encode<
15719 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterMarker>>,
15720 fidl::encoding::DefaultFuchsiaResourceDialect,
15721 >,
15722 >
15723 fidl::encoding::Encode<
15724 CapabilitiesDataRouterCreateRequest,
15725 fidl::encoding::DefaultFuchsiaResourceDialect,
15726 > for (T0, T1)
15727 {
15728 #[inline]
15729 unsafe fn encode(
15730 self,
15731 encoder: &mut fidl::encoding::Encoder<
15732 '_,
15733 fidl::encoding::DefaultFuchsiaResourceDialect,
15734 >,
15735 offset: usize,
15736 depth: fidl::encoding::Depth,
15737 ) -> fidl::Result<()> {
15738 encoder.debug_check_bounds::<CapabilitiesDataRouterCreateRequest>(offset);
15739 self.0.encode(encoder, offset + 0, depth)?;
15743 self.1.encode(encoder, offset + 4, depth)?;
15744 Ok(())
15745 }
15746 }
15747
15748 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15749 for CapabilitiesDataRouterCreateRequest
15750 {
15751 #[inline(always)]
15752 fn new_empty() -> Self {
15753 Self {
15754 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15755 router_client_end: fidl::new_empty!(
15756 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterMarker>>,
15757 fidl::encoding::DefaultFuchsiaResourceDialect
15758 ),
15759 }
15760 }
15761
15762 #[inline]
15763 unsafe fn decode(
15764 &mut self,
15765 decoder: &mut fidl::encoding::Decoder<
15766 '_,
15767 fidl::encoding::DefaultFuchsiaResourceDialect,
15768 >,
15769 offset: usize,
15770 _depth: fidl::encoding::Depth,
15771 ) -> fidl::Result<()> {
15772 decoder.debug_check_bounds::<Self>(offset);
15773 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
15775 fidl::decode!(
15776 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterMarker>>,
15777 fidl::encoding::DefaultFuchsiaResourceDialect,
15778 &mut self.router_client_end,
15779 decoder,
15780 offset + 4,
15781 _depth
15782 )?;
15783 Ok(())
15784 }
15785 }
15786
15787 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDataRouterRouteRequest {
15788 type Borrowed<'a> = &'a mut Self;
15789 fn take_or_borrow<'a>(
15790 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15791 ) -> Self::Borrowed<'a> {
15792 value
15793 }
15794 }
15795
15796 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDataRouterRouteRequest {
15797 type Owned = Self;
15798
15799 #[inline(always)]
15800 fn inline_align(_context: fidl::encoding::Context) -> usize {
15801 8
15802 }
15803
15804 #[inline(always)]
15805 fn inline_size(_context: fidl::encoding::Context) -> usize {
15806 32
15807 }
15808 }
15809
15810 unsafe impl
15811 fidl::encoding::Encode<
15812 CapabilitiesDataRouterRouteRequest,
15813 fidl::encoding::DefaultFuchsiaResourceDialect,
15814 > for &mut CapabilitiesDataRouterRouteRequest
15815 {
15816 #[inline]
15817 unsafe fn encode(
15818 self,
15819 encoder: &mut fidl::encoding::Encoder<
15820 '_,
15821 fidl::encoding::DefaultFuchsiaResourceDialect,
15822 >,
15823 offset: usize,
15824 _depth: fidl::encoding::Depth,
15825 ) -> fidl::Result<()> {
15826 encoder.debug_check_bounds::<CapabilitiesDataRouterRouteRequest>(offset);
15827 fidl::encoding::Encode::<
15829 CapabilitiesDataRouterRouteRequest,
15830 fidl::encoding::DefaultFuchsiaResourceDialect,
15831 >::encode(
15832 (
15833 <fidl::encoding::HandleType<
15834 fidl::EventPair,
15835 { fidl::ObjectType::EVENTPAIR.into_raw() },
15836 2147483648,
15837 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15838 &mut self.router
15839 ),
15840 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15841 &mut self.request,
15842 ),
15843 <fidl::encoding::HandleType<
15844 fidl::EventPair,
15845 { fidl::ObjectType::EVENTPAIR.into_raw() },
15846 2147483648,
15847 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15848 &mut self.instance_token,
15849 ),
15850 <fidl::encoding::HandleType<
15851 fidl::EventPair,
15852 { fidl::ObjectType::EVENTPAIR.into_raw() },
15853 2147483648,
15854 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
15855 &mut self.data
15856 ),
15857 ),
15858 encoder,
15859 offset,
15860 _depth,
15861 )
15862 }
15863 }
15864 unsafe impl<
15865 T0: fidl::encoding::Encode<
15866 fidl::encoding::HandleType<
15867 fidl::EventPair,
15868 { fidl::ObjectType::EVENTPAIR.into_raw() },
15869 2147483648,
15870 >,
15871 fidl::encoding::DefaultFuchsiaResourceDialect,
15872 >,
15873 T1: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
15874 T2: fidl::encoding::Encode<
15875 fidl::encoding::HandleType<
15876 fidl::EventPair,
15877 { fidl::ObjectType::EVENTPAIR.into_raw() },
15878 2147483648,
15879 >,
15880 fidl::encoding::DefaultFuchsiaResourceDialect,
15881 >,
15882 T3: fidl::encoding::Encode<
15883 fidl::encoding::HandleType<
15884 fidl::EventPair,
15885 { fidl::ObjectType::EVENTPAIR.into_raw() },
15886 2147483648,
15887 >,
15888 fidl::encoding::DefaultFuchsiaResourceDialect,
15889 >,
15890 >
15891 fidl::encoding::Encode<
15892 CapabilitiesDataRouterRouteRequest,
15893 fidl::encoding::DefaultFuchsiaResourceDialect,
15894 > for (T0, T1, T2, T3)
15895 {
15896 #[inline]
15897 unsafe fn encode(
15898 self,
15899 encoder: &mut fidl::encoding::Encoder<
15900 '_,
15901 fidl::encoding::DefaultFuchsiaResourceDialect,
15902 >,
15903 offset: usize,
15904 depth: fidl::encoding::Depth,
15905 ) -> fidl::Result<()> {
15906 encoder.debug_check_bounds::<CapabilitiesDataRouterRouteRequest>(offset);
15907 unsafe {
15910 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
15911 (ptr as *mut u64).write_unaligned(0);
15912 }
15913 self.0.encode(encoder, offset + 0, depth)?;
15915 self.1.encode(encoder, offset + 8, depth)?;
15916 self.2.encode(encoder, offset + 24, depth)?;
15917 self.3.encode(encoder, offset + 28, depth)?;
15918 Ok(())
15919 }
15920 }
15921
15922 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
15923 for CapabilitiesDataRouterRouteRequest
15924 {
15925 #[inline(always)]
15926 fn new_empty() -> Self {
15927 Self {
15928 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15929 request: fidl::new_empty!(
15930 RouteRequest,
15931 fidl::encoding::DefaultFuchsiaResourceDialect
15932 ),
15933 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15934 data: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
15935 }
15936 }
15937
15938 #[inline]
15939 unsafe fn decode(
15940 &mut self,
15941 decoder: &mut fidl::encoding::Decoder<
15942 '_,
15943 fidl::encoding::DefaultFuchsiaResourceDialect,
15944 >,
15945 offset: usize,
15946 _depth: fidl::encoding::Depth,
15947 ) -> fidl::Result<()> {
15948 decoder.debug_check_bounds::<Self>(offset);
15949 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
15951 let padval = unsafe { (ptr as *const u64).read_unaligned() };
15952 let mask = 0xffffffff00000000u64;
15953 let maskedval = padval & mask;
15954 if maskedval != 0 {
15955 return Err(fidl::Error::NonZeroPadding {
15956 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
15957 });
15958 }
15959 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
15960 fidl::decode!(
15961 RouteRequest,
15962 fidl::encoding::DefaultFuchsiaResourceDialect,
15963 &mut self.request,
15964 decoder,
15965 offset + 8,
15966 _depth
15967 )?;
15968 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 24, _depth)?;
15969 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.data, decoder, offset + 28, _depth)?;
15970 Ok(())
15971 }
15972 }
15973
15974 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryCreateRequest {
15975 type Borrowed<'a> = &'a mut Self;
15976 fn take_or_borrow<'a>(
15977 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
15978 ) -> Self::Borrowed<'a> {
15979 value
15980 }
15981 }
15982
15983 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryCreateRequest {
15984 type Owned = Self;
15985
15986 #[inline(always)]
15987 fn inline_align(_context: fidl::encoding::Context) -> usize {
15988 4
15989 }
15990
15991 #[inline(always)]
15992 fn inline_size(_context: fidl::encoding::Context) -> usize {
15993 4
15994 }
15995 }
15996
15997 unsafe impl
15998 fidl::encoding::Encode<
15999 CapabilitiesDictionaryCreateRequest,
16000 fidl::encoding::DefaultFuchsiaResourceDialect,
16001 > for &mut CapabilitiesDictionaryCreateRequest
16002 {
16003 #[inline]
16004 unsafe fn encode(
16005 self,
16006 encoder: &mut fidl::encoding::Encoder<
16007 '_,
16008 fidl::encoding::DefaultFuchsiaResourceDialect,
16009 >,
16010 offset: usize,
16011 _depth: fidl::encoding::Depth,
16012 ) -> fidl::Result<()> {
16013 encoder.debug_check_bounds::<CapabilitiesDictionaryCreateRequest>(offset);
16014 fidl::encoding::Encode::<
16016 CapabilitiesDictionaryCreateRequest,
16017 fidl::encoding::DefaultFuchsiaResourceDialect,
16018 >::encode(
16019 (<fidl::encoding::HandleType<
16020 fidl::EventPair,
16021 { fidl::ObjectType::EVENTPAIR.into_raw() },
16022 2147483648,
16023 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16024 &mut self.dictionary
16025 ),),
16026 encoder,
16027 offset,
16028 _depth,
16029 )
16030 }
16031 }
16032 unsafe impl<
16033 T0: fidl::encoding::Encode<
16034 fidl::encoding::HandleType<
16035 fidl::EventPair,
16036 { fidl::ObjectType::EVENTPAIR.into_raw() },
16037 2147483648,
16038 >,
16039 fidl::encoding::DefaultFuchsiaResourceDialect,
16040 >,
16041 >
16042 fidl::encoding::Encode<
16043 CapabilitiesDictionaryCreateRequest,
16044 fidl::encoding::DefaultFuchsiaResourceDialect,
16045 > for (T0,)
16046 {
16047 #[inline]
16048 unsafe fn encode(
16049 self,
16050 encoder: &mut fidl::encoding::Encoder<
16051 '_,
16052 fidl::encoding::DefaultFuchsiaResourceDialect,
16053 >,
16054 offset: usize,
16055 depth: fidl::encoding::Depth,
16056 ) -> fidl::Result<()> {
16057 encoder.debug_check_bounds::<CapabilitiesDictionaryCreateRequest>(offset);
16058 self.0.encode(encoder, offset + 0, depth)?;
16062 Ok(())
16063 }
16064 }
16065
16066 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16067 for CapabilitiesDictionaryCreateRequest
16068 {
16069 #[inline(always)]
16070 fn new_empty() -> Self {
16071 Self {
16072 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16073 }
16074 }
16075
16076 #[inline]
16077 unsafe fn decode(
16078 &mut self,
16079 decoder: &mut fidl::encoding::Decoder<
16080 '_,
16081 fidl::encoding::DefaultFuchsiaResourceDialect,
16082 >,
16083 offset: usize,
16084 _depth: fidl::encoding::Depth,
16085 ) -> fidl::Result<()> {
16086 decoder.debug_check_bounds::<Self>(offset);
16087 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 0, _depth)?;
16089 Ok(())
16090 }
16091 }
16092
16093 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryGetRequest {
16094 type Borrowed<'a> = &'a mut Self;
16095 fn take_or_borrow<'a>(
16096 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16097 ) -> Self::Borrowed<'a> {
16098 value
16099 }
16100 }
16101
16102 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryGetRequest {
16103 type Owned = Self;
16104
16105 #[inline(always)]
16106 fn inline_align(_context: fidl::encoding::Context) -> usize {
16107 8
16108 }
16109
16110 #[inline(always)]
16111 fn inline_size(_context: fidl::encoding::Context) -> usize {
16112 32
16113 }
16114 }
16115
16116 unsafe impl
16117 fidl::encoding::Encode<
16118 CapabilitiesDictionaryGetRequest,
16119 fidl::encoding::DefaultFuchsiaResourceDialect,
16120 > for &mut CapabilitiesDictionaryGetRequest
16121 {
16122 #[inline]
16123 unsafe fn encode(
16124 self,
16125 encoder: &mut fidl::encoding::Encoder<
16126 '_,
16127 fidl::encoding::DefaultFuchsiaResourceDialect,
16128 >,
16129 offset: usize,
16130 _depth: fidl::encoding::Depth,
16131 ) -> fidl::Result<()> {
16132 encoder.debug_check_bounds::<CapabilitiesDictionaryGetRequest>(offset);
16133 fidl::encoding::Encode::<
16135 CapabilitiesDictionaryGetRequest,
16136 fidl::encoding::DefaultFuchsiaResourceDialect,
16137 >::encode(
16138 (
16139 <fidl::encoding::HandleType<
16140 fidl::EventPair,
16141 { fidl::ObjectType::EVENTPAIR.into_raw() },
16142 2147483648,
16143 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16144 &mut self.dictionary
16145 ),
16146 <fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
16147 &self.key,
16148 ),
16149 <fidl::encoding::HandleType<
16150 fidl::EventPair,
16151 { fidl::ObjectType::EVENTPAIR.into_raw() },
16152 2147483648,
16153 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16154 &mut self.value
16155 ),
16156 ),
16157 encoder,
16158 offset,
16159 _depth,
16160 )
16161 }
16162 }
16163 unsafe impl<
16164 T0: fidl::encoding::Encode<
16165 fidl::encoding::HandleType<
16166 fidl::EventPair,
16167 { fidl::ObjectType::EVENTPAIR.into_raw() },
16168 2147483648,
16169 >,
16170 fidl::encoding::DefaultFuchsiaResourceDialect,
16171 >,
16172 T1: fidl::encoding::Encode<
16173 fidl::encoding::BoundedString<100>,
16174 fidl::encoding::DefaultFuchsiaResourceDialect,
16175 >,
16176 T2: fidl::encoding::Encode<
16177 fidl::encoding::HandleType<
16178 fidl::EventPair,
16179 { fidl::ObjectType::EVENTPAIR.into_raw() },
16180 2147483648,
16181 >,
16182 fidl::encoding::DefaultFuchsiaResourceDialect,
16183 >,
16184 >
16185 fidl::encoding::Encode<
16186 CapabilitiesDictionaryGetRequest,
16187 fidl::encoding::DefaultFuchsiaResourceDialect,
16188 > for (T0, T1, T2)
16189 {
16190 #[inline]
16191 unsafe fn encode(
16192 self,
16193 encoder: &mut fidl::encoding::Encoder<
16194 '_,
16195 fidl::encoding::DefaultFuchsiaResourceDialect,
16196 >,
16197 offset: usize,
16198 depth: fidl::encoding::Depth,
16199 ) -> fidl::Result<()> {
16200 encoder.debug_check_bounds::<CapabilitiesDictionaryGetRequest>(offset);
16201 unsafe {
16204 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
16205 (ptr as *mut u64).write_unaligned(0);
16206 }
16207 unsafe {
16208 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
16209 (ptr as *mut u64).write_unaligned(0);
16210 }
16211 self.0.encode(encoder, offset + 0, depth)?;
16213 self.1.encode(encoder, offset + 8, depth)?;
16214 self.2.encode(encoder, offset + 24, depth)?;
16215 Ok(())
16216 }
16217 }
16218
16219 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16220 for CapabilitiesDictionaryGetRequest
16221 {
16222 #[inline(always)]
16223 fn new_empty() -> Self {
16224 Self {
16225 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16226 key: fidl::new_empty!(
16227 fidl::encoding::BoundedString<100>,
16228 fidl::encoding::DefaultFuchsiaResourceDialect
16229 ),
16230 value: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16231 }
16232 }
16233
16234 #[inline]
16235 unsafe fn decode(
16236 &mut self,
16237 decoder: &mut fidl::encoding::Decoder<
16238 '_,
16239 fidl::encoding::DefaultFuchsiaResourceDialect,
16240 >,
16241 offset: usize,
16242 _depth: fidl::encoding::Depth,
16243 ) -> fidl::Result<()> {
16244 decoder.debug_check_bounds::<Self>(offset);
16245 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
16247 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16248 let mask = 0xffffffff00000000u64;
16249 let maskedval = padval & mask;
16250 if maskedval != 0 {
16251 return Err(fidl::Error::NonZeroPadding {
16252 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
16253 });
16254 }
16255 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
16256 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16257 let mask = 0xffffffff00000000u64;
16258 let maskedval = padval & mask;
16259 if maskedval != 0 {
16260 return Err(fidl::Error::NonZeroPadding {
16261 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
16262 });
16263 }
16264 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 0, _depth)?;
16265 fidl::decode!(
16266 fidl::encoding::BoundedString<100>,
16267 fidl::encoding::DefaultFuchsiaResourceDialect,
16268 &mut self.key,
16269 decoder,
16270 offset + 8,
16271 _depth
16272 )?;
16273 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.value, decoder, offset + 24, _depth)?;
16274 Ok(())
16275 }
16276 }
16277
16278 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryInsertRequest {
16279 type Borrowed<'a> = &'a mut Self;
16280 fn take_or_borrow<'a>(
16281 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16282 ) -> Self::Borrowed<'a> {
16283 value
16284 }
16285 }
16286
16287 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryInsertRequest {
16288 type Owned = Self;
16289
16290 #[inline(always)]
16291 fn inline_align(_context: fidl::encoding::Context) -> usize {
16292 8
16293 }
16294
16295 #[inline(always)]
16296 fn inline_size(_context: fidl::encoding::Context) -> usize {
16297 32
16298 }
16299 }
16300
16301 unsafe impl
16302 fidl::encoding::Encode<
16303 CapabilitiesDictionaryInsertRequest,
16304 fidl::encoding::DefaultFuchsiaResourceDialect,
16305 > for &mut CapabilitiesDictionaryInsertRequest
16306 {
16307 #[inline]
16308 unsafe fn encode(
16309 self,
16310 encoder: &mut fidl::encoding::Encoder<
16311 '_,
16312 fidl::encoding::DefaultFuchsiaResourceDialect,
16313 >,
16314 offset: usize,
16315 _depth: fidl::encoding::Depth,
16316 ) -> fidl::Result<()> {
16317 encoder.debug_check_bounds::<CapabilitiesDictionaryInsertRequest>(offset);
16318 fidl::encoding::Encode::<
16320 CapabilitiesDictionaryInsertRequest,
16321 fidl::encoding::DefaultFuchsiaResourceDialect,
16322 >::encode(
16323 (
16324 <fidl::encoding::HandleType<
16325 fidl::EventPair,
16326 { fidl::ObjectType::EVENTPAIR.into_raw() },
16327 2147483648,
16328 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16329 &mut self.dictionary
16330 ),
16331 <fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
16332 &self.key,
16333 ),
16334 <fidl::encoding::HandleType<
16335 fidl::EventPair,
16336 { fidl::ObjectType::EVENTPAIR.into_raw() },
16337 2147483648,
16338 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16339 &mut self.value
16340 ),
16341 ),
16342 encoder,
16343 offset,
16344 _depth,
16345 )
16346 }
16347 }
16348 unsafe impl<
16349 T0: fidl::encoding::Encode<
16350 fidl::encoding::HandleType<
16351 fidl::EventPair,
16352 { fidl::ObjectType::EVENTPAIR.into_raw() },
16353 2147483648,
16354 >,
16355 fidl::encoding::DefaultFuchsiaResourceDialect,
16356 >,
16357 T1: fidl::encoding::Encode<
16358 fidl::encoding::BoundedString<100>,
16359 fidl::encoding::DefaultFuchsiaResourceDialect,
16360 >,
16361 T2: fidl::encoding::Encode<
16362 fidl::encoding::HandleType<
16363 fidl::EventPair,
16364 { fidl::ObjectType::EVENTPAIR.into_raw() },
16365 2147483648,
16366 >,
16367 fidl::encoding::DefaultFuchsiaResourceDialect,
16368 >,
16369 >
16370 fidl::encoding::Encode<
16371 CapabilitiesDictionaryInsertRequest,
16372 fidl::encoding::DefaultFuchsiaResourceDialect,
16373 > for (T0, T1, T2)
16374 {
16375 #[inline]
16376 unsafe fn encode(
16377 self,
16378 encoder: &mut fidl::encoding::Encoder<
16379 '_,
16380 fidl::encoding::DefaultFuchsiaResourceDialect,
16381 >,
16382 offset: usize,
16383 depth: fidl::encoding::Depth,
16384 ) -> fidl::Result<()> {
16385 encoder.debug_check_bounds::<CapabilitiesDictionaryInsertRequest>(offset);
16386 unsafe {
16389 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
16390 (ptr as *mut u64).write_unaligned(0);
16391 }
16392 unsafe {
16393 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
16394 (ptr as *mut u64).write_unaligned(0);
16395 }
16396 self.0.encode(encoder, offset + 0, depth)?;
16398 self.1.encode(encoder, offset + 8, depth)?;
16399 self.2.encode(encoder, offset + 24, depth)?;
16400 Ok(())
16401 }
16402 }
16403
16404 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16405 for CapabilitiesDictionaryInsertRequest
16406 {
16407 #[inline(always)]
16408 fn new_empty() -> Self {
16409 Self {
16410 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16411 key: fidl::new_empty!(
16412 fidl::encoding::BoundedString<100>,
16413 fidl::encoding::DefaultFuchsiaResourceDialect
16414 ),
16415 value: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16416 }
16417 }
16418
16419 #[inline]
16420 unsafe fn decode(
16421 &mut self,
16422 decoder: &mut fidl::encoding::Decoder<
16423 '_,
16424 fidl::encoding::DefaultFuchsiaResourceDialect,
16425 >,
16426 offset: usize,
16427 _depth: fidl::encoding::Depth,
16428 ) -> fidl::Result<()> {
16429 decoder.debug_check_bounds::<Self>(offset);
16430 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
16432 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16433 let mask = 0xffffffff00000000u64;
16434 let maskedval = padval & mask;
16435 if maskedval != 0 {
16436 return Err(fidl::Error::NonZeroPadding {
16437 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
16438 });
16439 }
16440 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
16441 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16442 let mask = 0xffffffff00000000u64;
16443 let maskedval = padval & mask;
16444 if maskedval != 0 {
16445 return Err(fidl::Error::NonZeroPadding {
16446 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
16447 });
16448 }
16449 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 0, _depth)?;
16450 fidl::decode!(
16451 fidl::encoding::BoundedString<100>,
16452 fidl::encoding::DefaultFuchsiaResourceDialect,
16453 &mut self.key,
16454 decoder,
16455 offset + 8,
16456 _depth
16457 )?;
16458 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.value, decoder, offset + 24, _depth)?;
16459 Ok(())
16460 }
16461 }
16462
16463 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryIterateKeysRequest {
16464 type Borrowed<'a> = &'a mut Self;
16465 fn take_or_borrow<'a>(
16466 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16467 ) -> Self::Borrowed<'a> {
16468 value
16469 }
16470 }
16471
16472 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryIterateKeysRequest {
16473 type Owned = Self;
16474
16475 #[inline(always)]
16476 fn inline_align(_context: fidl::encoding::Context) -> usize {
16477 4
16478 }
16479
16480 #[inline(always)]
16481 fn inline_size(_context: fidl::encoding::Context) -> usize {
16482 8
16483 }
16484 }
16485
16486 unsafe impl
16487 fidl::encoding::Encode<
16488 CapabilitiesDictionaryIterateKeysRequest,
16489 fidl::encoding::DefaultFuchsiaResourceDialect,
16490 > for &mut CapabilitiesDictionaryIterateKeysRequest
16491 {
16492 #[inline]
16493 unsafe fn encode(
16494 self,
16495 encoder: &mut fidl::encoding::Encoder<
16496 '_,
16497 fidl::encoding::DefaultFuchsiaResourceDialect,
16498 >,
16499 offset: usize,
16500 _depth: fidl::encoding::Depth,
16501 ) -> fidl::Result<()> {
16502 encoder.debug_check_bounds::<CapabilitiesDictionaryIterateKeysRequest>(offset);
16503 fidl::encoding::Encode::<
16505 CapabilitiesDictionaryIterateKeysRequest,
16506 fidl::encoding::DefaultFuchsiaResourceDialect,
16507 >::encode(
16508 (
16509 <fidl::encoding::HandleType<
16510 fidl::EventPair,
16511 { fidl::ObjectType::EVENTPAIR.into_raw() },
16512 2147483648,
16513 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16514 &mut self.dictionary
16515 ),
16516 <fidl::encoding::Endpoint<
16517 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
16518 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16519 &mut self.key_iterator,
16520 ),
16521 ),
16522 encoder,
16523 offset,
16524 _depth,
16525 )
16526 }
16527 }
16528 unsafe impl<
16529 T0: fidl::encoding::Encode<
16530 fidl::encoding::HandleType<
16531 fidl::EventPair,
16532 { fidl::ObjectType::EVENTPAIR.into_raw() },
16533 2147483648,
16534 >,
16535 fidl::encoding::DefaultFuchsiaResourceDialect,
16536 >,
16537 T1: fidl::encoding::Encode<
16538 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>>,
16539 fidl::encoding::DefaultFuchsiaResourceDialect,
16540 >,
16541 >
16542 fidl::encoding::Encode<
16543 CapabilitiesDictionaryIterateKeysRequest,
16544 fidl::encoding::DefaultFuchsiaResourceDialect,
16545 > for (T0, T1)
16546 {
16547 #[inline]
16548 unsafe fn encode(
16549 self,
16550 encoder: &mut fidl::encoding::Encoder<
16551 '_,
16552 fidl::encoding::DefaultFuchsiaResourceDialect,
16553 >,
16554 offset: usize,
16555 depth: fidl::encoding::Depth,
16556 ) -> fidl::Result<()> {
16557 encoder.debug_check_bounds::<CapabilitiesDictionaryIterateKeysRequest>(offset);
16558 self.0.encode(encoder, offset + 0, depth)?;
16562 self.1.encode(encoder, offset + 4, depth)?;
16563 Ok(())
16564 }
16565 }
16566
16567 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16568 for CapabilitiesDictionaryIterateKeysRequest
16569 {
16570 #[inline(always)]
16571 fn new_empty() -> Self {
16572 Self {
16573 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16574 key_iterator: fidl::new_empty!(
16575 fidl::encoding::Endpoint<
16576 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
16577 >,
16578 fidl::encoding::DefaultFuchsiaResourceDialect
16579 ),
16580 }
16581 }
16582
16583 #[inline]
16584 unsafe fn decode(
16585 &mut self,
16586 decoder: &mut fidl::encoding::Decoder<
16587 '_,
16588 fidl::encoding::DefaultFuchsiaResourceDialect,
16589 >,
16590 offset: usize,
16591 _depth: fidl::encoding::Depth,
16592 ) -> fidl::Result<()> {
16593 decoder.debug_check_bounds::<Self>(offset);
16594 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 0, _depth)?;
16596 fidl::decode!(
16597 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>>,
16598 fidl::encoding::DefaultFuchsiaResourceDialect,
16599 &mut self.key_iterator,
16600 decoder,
16601 offset + 4,
16602 _depth
16603 )?;
16604 Ok(())
16605 }
16606 }
16607
16608 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryRouterCreateRequest {
16609 type Borrowed<'a> = &'a mut Self;
16610 fn take_or_borrow<'a>(
16611 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16612 ) -> Self::Borrowed<'a> {
16613 value
16614 }
16615 }
16616
16617 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryRouterCreateRequest {
16618 type Owned = Self;
16619
16620 #[inline(always)]
16621 fn inline_align(_context: fidl::encoding::Context) -> usize {
16622 4
16623 }
16624
16625 #[inline(always)]
16626 fn inline_size(_context: fidl::encoding::Context) -> usize {
16627 8
16628 }
16629 }
16630
16631 unsafe impl
16632 fidl::encoding::Encode<
16633 CapabilitiesDictionaryRouterCreateRequest,
16634 fidl::encoding::DefaultFuchsiaResourceDialect,
16635 > for &mut CapabilitiesDictionaryRouterCreateRequest
16636 {
16637 #[inline]
16638 unsafe fn encode(
16639 self,
16640 encoder: &mut fidl::encoding::Encoder<
16641 '_,
16642 fidl::encoding::DefaultFuchsiaResourceDialect,
16643 >,
16644 offset: usize,
16645 _depth: fidl::encoding::Depth,
16646 ) -> fidl::Result<()> {
16647 encoder.debug_check_bounds::<CapabilitiesDictionaryRouterCreateRequest>(offset);
16648 fidl::encoding::Encode::<CapabilitiesDictionaryRouterCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
16650 (
16651 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router),
16652 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router_client_end),
16653 ),
16654 encoder, offset, _depth
16655 )
16656 }
16657 }
16658 unsafe impl<
16659 T0: fidl::encoding::Encode<
16660 fidl::encoding::HandleType<
16661 fidl::EventPair,
16662 { fidl::ObjectType::EVENTPAIR.into_raw() },
16663 2147483648,
16664 >,
16665 fidl::encoding::DefaultFuchsiaResourceDialect,
16666 >,
16667 T1: fidl::encoding::Encode<
16668 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterMarker>>,
16669 fidl::encoding::DefaultFuchsiaResourceDialect,
16670 >,
16671 >
16672 fidl::encoding::Encode<
16673 CapabilitiesDictionaryRouterCreateRequest,
16674 fidl::encoding::DefaultFuchsiaResourceDialect,
16675 > for (T0, T1)
16676 {
16677 #[inline]
16678 unsafe fn encode(
16679 self,
16680 encoder: &mut fidl::encoding::Encoder<
16681 '_,
16682 fidl::encoding::DefaultFuchsiaResourceDialect,
16683 >,
16684 offset: usize,
16685 depth: fidl::encoding::Depth,
16686 ) -> fidl::Result<()> {
16687 encoder.debug_check_bounds::<CapabilitiesDictionaryRouterCreateRequest>(offset);
16688 self.0.encode(encoder, offset + 0, depth)?;
16692 self.1.encode(encoder, offset + 4, depth)?;
16693 Ok(())
16694 }
16695 }
16696
16697 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16698 for CapabilitiesDictionaryRouterCreateRequest
16699 {
16700 #[inline(always)]
16701 fn new_empty() -> Self {
16702 Self {
16703 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16704 router_client_end: fidl::new_empty!(
16705 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterMarker>>,
16706 fidl::encoding::DefaultFuchsiaResourceDialect
16707 ),
16708 }
16709 }
16710
16711 #[inline]
16712 unsafe fn decode(
16713 &mut self,
16714 decoder: &mut fidl::encoding::Decoder<
16715 '_,
16716 fidl::encoding::DefaultFuchsiaResourceDialect,
16717 >,
16718 offset: usize,
16719 _depth: fidl::encoding::Depth,
16720 ) -> fidl::Result<()> {
16721 decoder.debug_check_bounds::<Self>(offset);
16722 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
16724 fidl::decode!(
16725 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterMarker>>,
16726 fidl::encoding::DefaultFuchsiaResourceDialect,
16727 &mut self.router_client_end,
16728 decoder,
16729 offset + 4,
16730 _depth
16731 )?;
16732 Ok(())
16733 }
16734 }
16735
16736 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryRouterRouteRequest {
16737 type Borrowed<'a> = &'a mut Self;
16738 fn take_or_borrow<'a>(
16739 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16740 ) -> Self::Borrowed<'a> {
16741 value
16742 }
16743 }
16744
16745 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryRouterRouteRequest {
16746 type Owned = Self;
16747
16748 #[inline(always)]
16749 fn inline_align(_context: fidl::encoding::Context) -> usize {
16750 8
16751 }
16752
16753 #[inline(always)]
16754 fn inline_size(_context: fidl::encoding::Context) -> usize {
16755 32
16756 }
16757 }
16758
16759 unsafe impl
16760 fidl::encoding::Encode<
16761 CapabilitiesDictionaryRouterRouteRequest,
16762 fidl::encoding::DefaultFuchsiaResourceDialect,
16763 > for &mut CapabilitiesDictionaryRouterRouteRequest
16764 {
16765 #[inline]
16766 unsafe fn encode(
16767 self,
16768 encoder: &mut fidl::encoding::Encoder<
16769 '_,
16770 fidl::encoding::DefaultFuchsiaResourceDialect,
16771 >,
16772 offset: usize,
16773 _depth: fidl::encoding::Depth,
16774 ) -> fidl::Result<()> {
16775 encoder.debug_check_bounds::<CapabilitiesDictionaryRouterRouteRequest>(offset);
16776 fidl::encoding::Encode::<
16778 CapabilitiesDictionaryRouterRouteRequest,
16779 fidl::encoding::DefaultFuchsiaResourceDialect,
16780 >::encode(
16781 (
16782 <fidl::encoding::HandleType<
16783 fidl::EventPair,
16784 { fidl::ObjectType::EVENTPAIR.into_raw() },
16785 2147483648,
16786 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16787 &mut self.router
16788 ),
16789 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16790 &mut self.request,
16791 ),
16792 <fidl::encoding::HandleType<
16793 fidl::EventPair,
16794 { fidl::ObjectType::EVENTPAIR.into_raw() },
16795 2147483648,
16796 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16797 &mut self.instance_token,
16798 ),
16799 <fidl::encoding::HandleType<
16800 fidl::EventPair,
16801 { fidl::ObjectType::EVENTPAIR.into_raw() },
16802 2147483648,
16803 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
16804 &mut self.dictionary
16805 ),
16806 ),
16807 encoder,
16808 offset,
16809 _depth,
16810 )
16811 }
16812 }
16813 unsafe impl<
16814 T0: fidl::encoding::Encode<
16815 fidl::encoding::HandleType<
16816 fidl::EventPair,
16817 { fidl::ObjectType::EVENTPAIR.into_raw() },
16818 2147483648,
16819 >,
16820 fidl::encoding::DefaultFuchsiaResourceDialect,
16821 >,
16822 T1: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
16823 T2: fidl::encoding::Encode<
16824 fidl::encoding::HandleType<
16825 fidl::EventPair,
16826 { fidl::ObjectType::EVENTPAIR.into_raw() },
16827 2147483648,
16828 >,
16829 fidl::encoding::DefaultFuchsiaResourceDialect,
16830 >,
16831 T3: fidl::encoding::Encode<
16832 fidl::encoding::HandleType<
16833 fidl::EventPair,
16834 { fidl::ObjectType::EVENTPAIR.into_raw() },
16835 2147483648,
16836 >,
16837 fidl::encoding::DefaultFuchsiaResourceDialect,
16838 >,
16839 >
16840 fidl::encoding::Encode<
16841 CapabilitiesDictionaryRouterRouteRequest,
16842 fidl::encoding::DefaultFuchsiaResourceDialect,
16843 > for (T0, T1, T2, T3)
16844 {
16845 #[inline]
16846 unsafe fn encode(
16847 self,
16848 encoder: &mut fidl::encoding::Encoder<
16849 '_,
16850 fidl::encoding::DefaultFuchsiaResourceDialect,
16851 >,
16852 offset: usize,
16853 depth: fidl::encoding::Depth,
16854 ) -> fidl::Result<()> {
16855 encoder.debug_check_bounds::<CapabilitiesDictionaryRouterRouteRequest>(offset);
16856 unsafe {
16859 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
16860 (ptr as *mut u64).write_unaligned(0);
16861 }
16862 self.0.encode(encoder, offset + 0, depth)?;
16864 self.1.encode(encoder, offset + 8, depth)?;
16865 self.2.encode(encoder, offset + 24, depth)?;
16866 self.3.encode(encoder, offset + 28, depth)?;
16867 Ok(())
16868 }
16869 }
16870
16871 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
16872 for CapabilitiesDictionaryRouterRouteRequest
16873 {
16874 #[inline(always)]
16875 fn new_empty() -> Self {
16876 Self {
16877 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16878 request: fidl::new_empty!(
16879 RouteRequest,
16880 fidl::encoding::DefaultFuchsiaResourceDialect
16881 ),
16882 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16883 dictionary: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
16884 }
16885 }
16886
16887 #[inline]
16888 unsafe fn decode(
16889 &mut self,
16890 decoder: &mut fidl::encoding::Decoder<
16891 '_,
16892 fidl::encoding::DefaultFuchsiaResourceDialect,
16893 >,
16894 offset: usize,
16895 _depth: fidl::encoding::Depth,
16896 ) -> fidl::Result<()> {
16897 decoder.debug_check_bounds::<Self>(offset);
16898 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
16900 let padval = unsafe { (ptr as *const u64).read_unaligned() };
16901 let mask = 0xffffffff00000000u64;
16902 let maskedval = padval & mask;
16903 if maskedval != 0 {
16904 return Err(fidl::Error::NonZeroPadding {
16905 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
16906 });
16907 }
16908 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
16909 fidl::decode!(
16910 RouteRequest,
16911 fidl::encoding::DefaultFuchsiaResourceDialect,
16912 &mut self.request,
16913 decoder,
16914 offset + 8,
16915 _depth
16916 )?;
16917 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 24, _depth)?;
16918 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dictionary, decoder, offset + 28, _depth)?;
16919 Ok(())
16920 }
16921 }
16922
16923 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDirConnectorCreateRequest {
16924 type Borrowed<'a> = &'a mut Self;
16925 fn take_or_borrow<'a>(
16926 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
16927 ) -> Self::Borrowed<'a> {
16928 value
16929 }
16930 }
16931
16932 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDirConnectorCreateRequest {
16933 type Owned = Self;
16934
16935 #[inline(always)]
16936 fn inline_align(_context: fidl::encoding::Context) -> usize {
16937 4
16938 }
16939
16940 #[inline(always)]
16941 fn inline_size(_context: fidl::encoding::Context) -> usize {
16942 8
16943 }
16944 }
16945
16946 unsafe impl
16947 fidl::encoding::Encode<
16948 CapabilitiesDirConnectorCreateRequest,
16949 fidl::encoding::DefaultFuchsiaResourceDialect,
16950 > for &mut CapabilitiesDirConnectorCreateRequest
16951 {
16952 #[inline]
16953 unsafe fn encode(
16954 self,
16955 encoder: &mut fidl::encoding::Encoder<
16956 '_,
16957 fidl::encoding::DefaultFuchsiaResourceDialect,
16958 >,
16959 offset: usize,
16960 _depth: fidl::encoding::Depth,
16961 ) -> fidl::Result<()> {
16962 encoder.debug_check_bounds::<CapabilitiesDirConnectorCreateRequest>(offset);
16963 fidl::encoding::Encode::<CapabilitiesDirConnectorCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
16965 (
16966 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dir_connector),
16967 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.receiver_client_end),
16968 ),
16969 encoder, offset, _depth
16970 )
16971 }
16972 }
16973 unsafe impl<
16974 T0: fidl::encoding::Encode<
16975 fidl::encoding::HandleType<
16976 fidl::EventPair,
16977 { fidl::ObjectType::EVENTPAIR.into_raw() },
16978 2147483648,
16979 >,
16980 fidl::encoding::DefaultFuchsiaResourceDialect,
16981 >,
16982 T1: fidl::encoding::Encode<
16983 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverMarker>>,
16984 fidl::encoding::DefaultFuchsiaResourceDialect,
16985 >,
16986 >
16987 fidl::encoding::Encode<
16988 CapabilitiesDirConnectorCreateRequest,
16989 fidl::encoding::DefaultFuchsiaResourceDialect,
16990 > for (T0, T1)
16991 {
16992 #[inline]
16993 unsafe fn encode(
16994 self,
16995 encoder: &mut fidl::encoding::Encoder<
16996 '_,
16997 fidl::encoding::DefaultFuchsiaResourceDialect,
16998 >,
16999 offset: usize,
17000 depth: fidl::encoding::Depth,
17001 ) -> fidl::Result<()> {
17002 encoder.debug_check_bounds::<CapabilitiesDirConnectorCreateRequest>(offset);
17003 self.0.encode(encoder, offset + 0, depth)?;
17007 self.1.encode(encoder, offset + 4, depth)?;
17008 Ok(())
17009 }
17010 }
17011
17012 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17013 for CapabilitiesDirConnectorCreateRequest
17014 {
17015 #[inline(always)]
17016 fn new_empty() -> Self {
17017 Self {
17018 dir_connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17019 receiver_client_end: fidl::new_empty!(
17020 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverMarker>>,
17021 fidl::encoding::DefaultFuchsiaResourceDialect
17022 ),
17023 }
17024 }
17025
17026 #[inline]
17027 unsafe fn decode(
17028 &mut self,
17029 decoder: &mut fidl::encoding::Decoder<
17030 '_,
17031 fidl::encoding::DefaultFuchsiaResourceDialect,
17032 >,
17033 offset: usize,
17034 _depth: fidl::encoding::Depth,
17035 ) -> fidl::Result<()> {
17036 decoder.debug_check_bounds::<Self>(offset);
17037 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dir_connector, decoder, offset + 0, _depth)?;
17039 fidl::decode!(
17040 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverMarker>>,
17041 fidl::encoding::DefaultFuchsiaResourceDialect,
17042 &mut self.receiver_client_end,
17043 decoder,
17044 offset + 4,
17045 _depth
17046 )?;
17047 Ok(())
17048 }
17049 }
17050
17051 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDirConnectorRouterCreateRequest {
17052 type Borrowed<'a> = &'a mut Self;
17053 fn take_or_borrow<'a>(
17054 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17055 ) -> Self::Borrowed<'a> {
17056 value
17057 }
17058 }
17059
17060 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDirConnectorRouterCreateRequest {
17061 type Owned = Self;
17062
17063 #[inline(always)]
17064 fn inline_align(_context: fidl::encoding::Context) -> usize {
17065 4
17066 }
17067
17068 #[inline(always)]
17069 fn inline_size(_context: fidl::encoding::Context) -> usize {
17070 8
17071 }
17072 }
17073
17074 unsafe impl
17075 fidl::encoding::Encode<
17076 CapabilitiesDirConnectorRouterCreateRequest,
17077 fidl::encoding::DefaultFuchsiaResourceDialect,
17078 > for &mut CapabilitiesDirConnectorRouterCreateRequest
17079 {
17080 #[inline]
17081 unsafe fn encode(
17082 self,
17083 encoder: &mut fidl::encoding::Encoder<
17084 '_,
17085 fidl::encoding::DefaultFuchsiaResourceDialect,
17086 >,
17087 offset: usize,
17088 _depth: fidl::encoding::Depth,
17089 ) -> fidl::Result<()> {
17090 encoder.debug_check_bounds::<CapabilitiesDirConnectorRouterCreateRequest>(offset);
17091 fidl::encoding::Encode::<CapabilitiesDirConnectorRouterCreateRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
17093 (
17094 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router),
17095 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.router_client_end),
17096 ),
17097 encoder, offset, _depth
17098 )
17099 }
17100 }
17101 unsafe impl<
17102 T0: fidl::encoding::Encode<
17103 fidl::encoding::HandleType<
17104 fidl::EventPair,
17105 { fidl::ObjectType::EVENTPAIR.into_raw() },
17106 2147483648,
17107 >,
17108 fidl::encoding::DefaultFuchsiaResourceDialect,
17109 >,
17110 T1: fidl::encoding::Encode<
17111 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterMarker>>,
17112 fidl::encoding::DefaultFuchsiaResourceDialect,
17113 >,
17114 >
17115 fidl::encoding::Encode<
17116 CapabilitiesDirConnectorRouterCreateRequest,
17117 fidl::encoding::DefaultFuchsiaResourceDialect,
17118 > for (T0, T1)
17119 {
17120 #[inline]
17121 unsafe fn encode(
17122 self,
17123 encoder: &mut fidl::encoding::Encoder<
17124 '_,
17125 fidl::encoding::DefaultFuchsiaResourceDialect,
17126 >,
17127 offset: usize,
17128 depth: fidl::encoding::Depth,
17129 ) -> fidl::Result<()> {
17130 encoder.debug_check_bounds::<CapabilitiesDirConnectorRouterCreateRequest>(offset);
17131 self.0.encode(encoder, offset + 0, depth)?;
17135 self.1.encode(encoder, offset + 4, depth)?;
17136 Ok(())
17137 }
17138 }
17139
17140 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17141 for CapabilitiesDirConnectorRouterCreateRequest
17142 {
17143 #[inline(always)]
17144 fn new_empty() -> Self {
17145 Self {
17146 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17147 router_client_end: fidl::new_empty!(
17148 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterMarker>>,
17149 fidl::encoding::DefaultFuchsiaResourceDialect
17150 ),
17151 }
17152 }
17153
17154 #[inline]
17155 unsafe fn decode(
17156 &mut self,
17157 decoder: &mut fidl::encoding::Decoder<
17158 '_,
17159 fidl::encoding::DefaultFuchsiaResourceDialect,
17160 >,
17161 offset: usize,
17162 _depth: fidl::encoding::Depth,
17163 ) -> fidl::Result<()> {
17164 decoder.debug_check_bounds::<Self>(offset);
17165 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
17167 fidl::decode!(
17168 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterMarker>>,
17169 fidl::encoding::DefaultFuchsiaResourceDialect,
17170 &mut self.router_client_end,
17171 decoder,
17172 offset + 4,
17173 _depth
17174 )?;
17175 Ok(())
17176 }
17177 }
17178
17179 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDirConnectorRouterRouteRequest {
17180 type Borrowed<'a> = &'a mut Self;
17181 fn take_or_borrow<'a>(
17182 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17183 ) -> Self::Borrowed<'a> {
17184 value
17185 }
17186 }
17187
17188 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDirConnectorRouterRouteRequest {
17189 type Owned = Self;
17190
17191 #[inline(always)]
17192 fn inline_align(_context: fidl::encoding::Context) -> usize {
17193 8
17194 }
17195
17196 #[inline(always)]
17197 fn inline_size(_context: fidl::encoding::Context) -> usize {
17198 32
17199 }
17200 }
17201
17202 unsafe impl
17203 fidl::encoding::Encode<
17204 CapabilitiesDirConnectorRouterRouteRequest,
17205 fidl::encoding::DefaultFuchsiaResourceDialect,
17206 > for &mut CapabilitiesDirConnectorRouterRouteRequest
17207 {
17208 #[inline]
17209 unsafe fn encode(
17210 self,
17211 encoder: &mut fidl::encoding::Encoder<
17212 '_,
17213 fidl::encoding::DefaultFuchsiaResourceDialect,
17214 >,
17215 offset: usize,
17216 _depth: fidl::encoding::Depth,
17217 ) -> fidl::Result<()> {
17218 encoder.debug_check_bounds::<CapabilitiesDirConnectorRouterRouteRequest>(offset);
17219 fidl::encoding::Encode::<
17221 CapabilitiesDirConnectorRouterRouteRequest,
17222 fidl::encoding::DefaultFuchsiaResourceDialect,
17223 >::encode(
17224 (
17225 <fidl::encoding::HandleType<
17226 fidl::EventPair,
17227 { fidl::ObjectType::EVENTPAIR.into_raw() },
17228 2147483648,
17229 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17230 &mut self.router
17231 ),
17232 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17233 &mut self.request,
17234 ),
17235 <fidl::encoding::HandleType<
17236 fidl::EventPair,
17237 { fidl::ObjectType::EVENTPAIR.into_raw() },
17238 2147483648,
17239 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17240 &mut self.instance_token,
17241 ),
17242 <fidl::encoding::HandleType<
17243 fidl::EventPair,
17244 { fidl::ObjectType::EVENTPAIR.into_raw() },
17245 2147483648,
17246 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17247 &mut self.dir_connector,
17248 ),
17249 ),
17250 encoder,
17251 offset,
17252 _depth,
17253 )
17254 }
17255 }
17256 unsafe impl<
17257 T0: fidl::encoding::Encode<
17258 fidl::encoding::HandleType<
17259 fidl::EventPair,
17260 { fidl::ObjectType::EVENTPAIR.into_raw() },
17261 2147483648,
17262 >,
17263 fidl::encoding::DefaultFuchsiaResourceDialect,
17264 >,
17265 T1: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
17266 T2: fidl::encoding::Encode<
17267 fidl::encoding::HandleType<
17268 fidl::EventPair,
17269 { fidl::ObjectType::EVENTPAIR.into_raw() },
17270 2147483648,
17271 >,
17272 fidl::encoding::DefaultFuchsiaResourceDialect,
17273 >,
17274 T3: fidl::encoding::Encode<
17275 fidl::encoding::HandleType<
17276 fidl::EventPair,
17277 { fidl::ObjectType::EVENTPAIR.into_raw() },
17278 2147483648,
17279 >,
17280 fidl::encoding::DefaultFuchsiaResourceDialect,
17281 >,
17282 >
17283 fidl::encoding::Encode<
17284 CapabilitiesDirConnectorRouterRouteRequest,
17285 fidl::encoding::DefaultFuchsiaResourceDialect,
17286 > for (T0, T1, T2, T3)
17287 {
17288 #[inline]
17289 unsafe fn encode(
17290 self,
17291 encoder: &mut fidl::encoding::Encoder<
17292 '_,
17293 fidl::encoding::DefaultFuchsiaResourceDialect,
17294 >,
17295 offset: usize,
17296 depth: fidl::encoding::Depth,
17297 ) -> fidl::Result<()> {
17298 encoder.debug_check_bounds::<CapabilitiesDirConnectorRouterRouteRequest>(offset);
17299 unsafe {
17302 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
17303 (ptr as *mut u64).write_unaligned(0);
17304 }
17305 self.0.encode(encoder, offset + 0, depth)?;
17307 self.1.encode(encoder, offset + 8, depth)?;
17308 self.2.encode(encoder, offset + 24, depth)?;
17309 self.3.encode(encoder, offset + 28, depth)?;
17310 Ok(())
17311 }
17312 }
17313
17314 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17315 for CapabilitiesDirConnectorRouterRouteRequest
17316 {
17317 #[inline(always)]
17318 fn new_empty() -> Self {
17319 Self {
17320 router: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17321 request: fidl::new_empty!(
17322 RouteRequest,
17323 fidl::encoding::DefaultFuchsiaResourceDialect
17324 ),
17325 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17326 dir_connector: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17327 }
17328 }
17329
17330 #[inline]
17331 unsafe fn decode(
17332 &mut self,
17333 decoder: &mut fidl::encoding::Decoder<
17334 '_,
17335 fidl::encoding::DefaultFuchsiaResourceDialect,
17336 >,
17337 offset: usize,
17338 _depth: fidl::encoding::Depth,
17339 ) -> fidl::Result<()> {
17340 decoder.debug_check_bounds::<Self>(offset);
17341 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
17343 let padval = unsafe { (ptr as *const u64).read_unaligned() };
17344 let mask = 0xffffffff00000000u64;
17345 let maskedval = padval & mask;
17346 if maskedval != 0 {
17347 return Err(fidl::Error::NonZeroPadding {
17348 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
17349 });
17350 }
17351 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.router, decoder, offset + 0, _depth)?;
17352 fidl::decode!(
17353 RouteRequest,
17354 fidl::encoding::DefaultFuchsiaResourceDialect,
17355 &mut self.request,
17356 decoder,
17357 offset + 8,
17358 _depth
17359 )?;
17360 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 24, _depth)?;
17361 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.dir_connector, decoder, offset + 28, _depth)?;
17362 Ok(())
17363 }
17364 }
17365
17366 impl fidl::encoding::ResourceTypeMarker for CapabilitiesInstanceTokenCreateRequest {
17367 type Borrowed<'a> = &'a mut Self;
17368 fn take_or_borrow<'a>(
17369 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17370 ) -> Self::Borrowed<'a> {
17371 value
17372 }
17373 }
17374
17375 unsafe impl fidl::encoding::TypeMarker for CapabilitiesInstanceTokenCreateRequest {
17376 type Owned = Self;
17377
17378 #[inline(always)]
17379 fn inline_align(_context: fidl::encoding::Context) -> usize {
17380 4
17381 }
17382
17383 #[inline(always)]
17384 fn inline_size(_context: fidl::encoding::Context) -> usize {
17385 4
17386 }
17387 }
17388
17389 unsafe impl
17390 fidl::encoding::Encode<
17391 CapabilitiesInstanceTokenCreateRequest,
17392 fidl::encoding::DefaultFuchsiaResourceDialect,
17393 > for &mut CapabilitiesInstanceTokenCreateRequest
17394 {
17395 #[inline]
17396 unsafe fn encode(
17397 self,
17398 encoder: &mut fidl::encoding::Encoder<
17399 '_,
17400 fidl::encoding::DefaultFuchsiaResourceDialect,
17401 >,
17402 offset: usize,
17403 _depth: fidl::encoding::Depth,
17404 ) -> fidl::Result<()> {
17405 encoder.debug_check_bounds::<CapabilitiesInstanceTokenCreateRequest>(offset);
17406 fidl::encoding::Encode::<
17408 CapabilitiesInstanceTokenCreateRequest,
17409 fidl::encoding::DefaultFuchsiaResourceDialect,
17410 >::encode(
17411 (<fidl::encoding::HandleType<
17412 fidl::EventPair,
17413 { fidl::ObjectType::EVENTPAIR.into_raw() },
17414 2147483648,
17415 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17416 &mut self.instance_token
17417 ),),
17418 encoder,
17419 offset,
17420 _depth,
17421 )
17422 }
17423 }
17424 unsafe impl<
17425 T0: fidl::encoding::Encode<
17426 fidl::encoding::HandleType<
17427 fidl::EventPair,
17428 { fidl::ObjectType::EVENTPAIR.into_raw() },
17429 2147483648,
17430 >,
17431 fidl::encoding::DefaultFuchsiaResourceDialect,
17432 >,
17433 >
17434 fidl::encoding::Encode<
17435 CapabilitiesInstanceTokenCreateRequest,
17436 fidl::encoding::DefaultFuchsiaResourceDialect,
17437 > for (T0,)
17438 {
17439 #[inline]
17440 unsafe fn encode(
17441 self,
17442 encoder: &mut fidl::encoding::Encoder<
17443 '_,
17444 fidl::encoding::DefaultFuchsiaResourceDialect,
17445 >,
17446 offset: usize,
17447 depth: fidl::encoding::Depth,
17448 ) -> fidl::Result<()> {
17449 encoder.debug_check_bounds::<CapabilitiesInstanceTokenCreateRequest>(offset);
17450 self.0.encode(encoder, offset + 0, depth)?;
17454 Ok(())
17455 }
17456 }
17457
17458 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17459 for CapabilitiesInstanceTokenCreateRequest
17460 {
17461 #[inline(always)]
17462 fn new_empty() -> Self {
17463 Self {
17464 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
17465 }
17466 }
17467
17468 #[inline]
17469 unsafe fn decode(
17470 &mut self,
17471 decoder: &mut fidl::encoding::Decoder<
17472 '_,
17473 fidl::encoding::DefaultFuchsiaResourceDialect,
17474 >,
17475 offset: usize,
17476 _depth: fidl::encoding::Depth,
17477 ) -> fidl::Result<()> {
17478 decoder.debug_check_bounds::<Self>(offset);
17479 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 0, _depth)?;
17481 Ok(())
17482 }
17483 }
17484
17485 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryGetResponse {
17486 type Borrowed<'a> = &'a mut Self;
17487 fn take_or_borrow<'a>(
17488 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17489 ) -> Self::Borrowed<'a> {
17490 value
17491 }
17492 }
17493
17494 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryGetResponse {
17495 type Owned = Self;
17496
17497 #[inline(always)]
17498 fn inline_align(_context: fidl::encoding::Context) -> usize {
17499 4
17500 }
17501
17502 #[inline(always)]
17503 fn inline_size(_context: fidl::encoding::Context) -> usize {
17504 4
17505 }
17506 }
17507
17508 unsafe impl
17509 fidl::encoding::Encode<
17510 CapabilitiesDictionaryGetResponse,
17511 fidl::encoding::DefaultFuchsiaResourceDialect,
17512 > for &mut CapabilitiesDictionaryGetResponse
17513 {
17514 #[inline]
17515 unsafe fn encode(
17516 self,
17517 encoder: &mut fidl::encoding::Encoder<
17518 '_,
17519 fidl::encoding::DefaultFuchsiaResourceDialect,
17520 >,
17521 offset: usize,
17522 _depth: fidl::encoding::Depth,
17523 ) -> fidl::Result<()> {
17524 encoder.debug_check_bounds::<CapabilitiesDictionaryGetResponse>(offset);
17525 fidl::encoding::Encode::<
17527 CapabilitiesDictionaryGetResponse,
17528 fidl::encoding::DefaultFuchsiaResourceDialect,
17529 >::encode(
17530 (<CapabilityType as fidl::encoding::ValueTypeMarker>::borrow(
17531 &self.capability_type,
17532 ),),
17533 encoder,
17534 offset,
17535 _depth,
17536 )
17537 }
17538 }
17539 unsafe impl<
17540 T0: fidl::encoding::Encode<CapabilityType, fidl::encoding::DefaultFuchsiaResourceDialect>,
17541 >
17542 fidl::encoding::Encode<
17543 CapabilitiesDictionaryGetResponse,
17544 fidl::encoding::DefaultFuchsiaResourceDialect,
17545 > for (T0,)
17546 {
17547 #[inline]
17548 unsafe fn encode(
17549 self,
17550 encoder: &mut fidl::encoding::Encoder<
17551 '_,
17552 fidl::encoding::DefaultFuchsiaResourceDialect,
17553 >,
17554 offset: usize,
17555 depth: fidl::encoding::Depth,
17556 ) -> fidl::Result<()> {
17557 encoder.debug_check_bounds::<CapabilitiesDictionaryGetResponse>(offset);
17558 self.0.encode(encoder, offset + 0, depth)?;
17562 Ok(())
17563 }
17564 }
17565
17566 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17567 for CapabilitiesDictionaryGetResponse
17568 {
17569 #[inline(always)]
17570 fn new_empty() -> Self {
17571 Self {
17572 capability_type: fidl::new_empty!(
17573 CapabilityType,
17574 fidl::encoding::DefaultFuchsiaResourceDialect
17575 ),
17576 }
17577 }
17578
17579 #[inline]
17580 unsafe fn decode(
17581 &mut self,
17582 decoder: &mut fidl::encoding::Decoder<
17583 '_,
17584 fidl::encoding::DefaultFuchsiaResourceDialect,
17585 >,
17586 offset: usize,
17587 _depth: fidl::encoding::Depth,
17588 ) -> fidl::Result<()> {
17589 decoder.debug_check_bounds::<Self>(offset);
17590 fidl::decode!(
17592 CapabilityType,
17593 fidl::encoding::DefaultFuchsiaResourceDialect,
17594 &mut self.capability_type,
17595 decoder,
17596 offset + 0,
17597 _depth
17598 )?;
17599 Ok(())
17600 }
17601 }
17602
17603 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryRemoveResponse {
17604 type Borrowed<'a> = &'a mut Self;
17605 fn take_or_borrow<'a>(
17606 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17607 ) -> Self::Borrowed<'a> {
17608 value
17609 }
17610 }
17611
17612 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryRemoveResponse {
17613 type Owned = Self;
17614
17615 #[inline(always)]
17616 fn inline_align(_context: fidl::encoding::Context) -> usize {
17617 4
17618 }
17619
17620 #[inline(always)]
17621 fn inline_size(_context: fidl::encoding::Context) -> usize {
17622 4
17623 }
17624 }
17625
17626 unsafe impl
17627 fidl::encoding::Encode<
17628 CapabilitiesDictionaryRemoveResponse,
17629 fidl::encoding::DefaultFuchsiaResourceDialect,
17630 > for &mut CapabilitiesDictionaryRemoveResponse
17631 {
17632 #[inline]
17633 unsafe fn encode(
17634 self,
17635 encoder: &mut fidl::encoding::Encoder<
17636 '_,
17637 fidl::encoding::DefaultFuchsiaResourceDialect,
17638 >,
17639 offset: usize,
17640 _depth: fidl::encoding::Depth,
17641 ) -> fidl::Result<()> {
17642 encoder.debug_check_bounds::<CapabilitiesDictionaryRemoveResponse>(offset);
17643 fidl::encoding::Encode::<
17645 CapabilitiesDictionaryRemoveResponse,
17646 fidl::encoding::DefaultFuchsiaResourceDialect,
17647 >::encode(
17648 (<CapabilityType as fidl::encoding::ValueTypeMarker>::borrow(
17649 &self.capability_type,
17650 ),),
17651 encoder,
17652 offset,
17653 _depth,
17654 )
17655 }
17656 }
17657 unsafe impl<
17658 T0: fidl::encoding::Encode<CapabilityType, fidl::encoding::DefaultFuchsiaResourceDialect>,
17659 >
17660 fidl::encoding::Encode<
17661 CapabilitiesDictionaryRemoveResponse,
17662 fidl::encoding::DefaultFuchsiaResourceDialect,
17663 > for (T0,)
17664 {
17665 #[inline]
17666 unsafe fn encode(
17667 self,
17668 encoder: &mut fidl::encoding::Encoder<
17669 '_,
17670 fidl::encoding::DefaultFuchsiaResourceDialect,
17671 >,
17672 offset: usize,
17673 depth: fidl::encoding::Depth,
17674 ) -> fidl::Result<()> {
17675 encoder.debug_check_bounds::<CapabilitiesDictionaryRemoveResponse>(offset);
17676 self.0.encode(encoder, offset + 0, depth)?;
17680 Ok(())
17681 }
17682 }
17683
17684 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17685 for CapabilitiesDictionaryRemoveResponse
17686 {
17687 #[inline(always)]
17688 fn new_empty() -> Self {
17689 Self {
17690 capability_type: fidl::new_empty!(
17691 CapabilityType,
17692 fidl::encoding::DefaultFuchsiaResourceDialect
17693 ),
17694 }
17695 }
17696
17697 #[inline]
17698 unsafe fn decode(
17699 &mut self,
17700 decoder: &mut fidl::encoding::Decoder<
17701 '_,
17702 fidl::encoding::DefaultFuchsiaResourceDialect,
17703 >,
17704 offset: usize,
17705 _depth: fidl::encoding::Depth,
17706 ) -> fidl::Result<()> {
17707 decoder.debug_check_bounds::<Self>(offset);
17708 fidl::decode!(
17710 CapabilityType,
17711 fidl::encoding::DefaultFuchsiaResourceDialect,
17712 &mut self.capability_type,
17713 decoder,
17714 offset + 0,
17715 _depth
17716 )?;
17717 Ok(())
17718 }
17719 }
17720
17721 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateConnectorRequest {
17722 type Borrowed<'a> = &'a mut Self;
17723 fn take_or_borrow<'a>(
17724 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17725 ) -> Self::Borrowed<'a> {
17726 value
17727 }
17728 }
17729
17730 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateConnectorRequest {
17731 type Owned = Self;
17732
17733 #[inline(always)]
17734 fn inline_align(_context: fidl::encoding::Context) -> usize {
17735 4
17736 }
17737
17738 #[inline(always)]
17739 fn inline_size(_context: fidl::encoding::Context) -> usize {
17740 8
17741 }
17742 }
17743
17744 unsafe impl
17745 fidl::encoding::Encode<
17746 CapabilityFactoryCreateConnectorRequest,
17747 fidl::encoding::DefaultFuchsiaResourceDialect,
17748 > for &mut CapabilityFactoryCreateConnectorRequest
17749 {
17750 #[inline]
17751 unsafe fn encode(
17752 self,
17753 encoder: &mut fidl::encoding::Encoder<
17754 '_,
17755 fidl::encoding::DefaultFuchsiaResourceDialect,
17756 >,
17757 offset: usize,
17758 _depth: fidl::encoding::Depth,
17759 ) -> fidl::Result<()> {
17760 encoder.debug_check_bounds::<CapabilityFactoryCreateConnectorRequest>(offset);
17761 fidl::encoding::Encode::<CapabilityFactoryCreateConnectorRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
17763 (
17764 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.receiver_client_end),
17765 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.connector_server_end),
17766 ),
17767 encoder, offset, _depth
17768 )
17769 }
17770 }
17771 unsafe impl<
17772 T0: fidl::encoding::Encode<
17773 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
17774 fidl::encoding::DefaultFuchsiaResourceDialect,
17775 >,
17776 T1: fidl::encoding::Encode<
17777 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
17778 fidl::encoding::DefaultFuchsiaResourceDialect,
17779 >,
17780 >
17781 fidl::encoding::Encode<
17782 CapabilityFactoryCreateConnectorRequest,
17783 fidl::encoding::DefaultFuchsiaResourceDialect,
17784 > for (T0, T1)
17785 {
17786 #[inline]
17787 unsafe fn encode(
17788 self,
17789 encoder: &mut fidl::encoding::Encoder<
17790 '_,
17791 fidl::encoding::DefaultFuchsiaResourceDialect,
17792 >,
17793 offset: usize,
17794 depth: fidl::encoding::Depth,
17795 ) -> fidl::Result<()> {
17796 encoder.debug_check_bounds::<CapabilityFactoryCreateConnectorRequest>(offset);
17797 self.0.encode(encoder, offset + 0, depth)?;
17801 self.1.encode(encoder, offset + 4, depth)?;
17802 Ok(())
17803 }
17804 }
17805
17806 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17807 for CapabilityFactoryCreateConnectorRequest
17808 {
17809 #[inline(always)]
17810 fn new_empty() -> Self {
17811 Self {
17812 receiver_client_end: fidl::new_empty!(
17813 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
17814 fidl::encoding::DefaultFuchsiaResourceDialect
17815 ),
17816 connector_server_end: fidl::new_empty!(
17817 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
17818 fidl::encoding::DefaultFuchsiaResourceDialect
17819 ),
17820 }
17821 }
17822
17823 #[inline]
17824 unsafe fn decode(
17825 &mut self,
17826 decoder: &mut fidl::encoding::Decoder<
17827 '_,
17828 fidl::encoding::DefaultFuchsiaResourceDialect,
17829 >,
17830 offset: usize,
17831 _depth: fidl::encoding::Depth,
17832 ) -> fidl::Result<()> {
17833 decoder.debug_check_bounds::<Self>(offset);
17834 fidl::decode!(
17836 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ReceiverMarker>>,
17837 fidl::encoding::DefaultFuchsiaResourceDialect,
17838 &mut self.receiver_client_end,
17839 decoder,
17840 offset + 0,
17841 _depth
17842 )?;
17843 fidl::decode!(
17844 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
17845 fidl::encoding::DefaultFuchsiaResourceDialect,
17846 &mut self.connector_server_end,
17847 decoder,
17848 offset + 4,
17849 _depth
17850 )?;
17851 Ok(())
17852 }
17853 }
17854
17855 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateConnectorRouterRequest {
17856 type Borrowed<'a> = &'a mut Self;
17857 fn take_or_borrow<'a>(
17858 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
17859 ) -> Self::Borrowed<'a> {
17860 value
17861 }
17862 }
17863
17864 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateConnectorRouterRequest {
17865 type Owned = Self;
17866
17867 #[inline(always)]
17868 fn inline_align(_context: fidl::encoding::Context) -> usize {
17869 4
17870 }
17871
17872 #[inline(always)]
17873 fn inline_size(_context: fidl::encoding::Context) -> usize {
17874 8
17875 }
17876 }
17877
17878 unsafe impl
17879 fidl::encoding::Encode<
17880 CapabilityFactoryCreateConnectorRouterRequest,
17881 fidl::encoding::DefaultFuchsiaResourceDialect,
17882 > for &mut CapabilityFactoryCreateConnectorRouterRequest
17883 {
17884 #[inline]
17885 unsafe fn encode(
17886 self,
17887 encoder: &mut fidl::encoding::Encoder<
17888 '_,
17889 fidl::encoding::DefaultFuchsiaResourceDialect,
17890 >,
17891 offset: usize,
17892 _depth: fidl::encoding::Depth,
17893 ) -> fidl::Result<()> {
17894 encoder.debug_check_bounds::<CapabilityFactoryCreateConnectorRouterRequest>(offset);
17895 fidl::encoding::Encode::<
17897 CapabilityFactoryCreateConnectorRouterRequest,
17898 fidl::encoding::DefaultFuchsiaResourceDialect,
17899 >::encode(
17900 (
17901 <fidl::encoding::Endpoint<
17902 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
17903 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17904 &mut self.router_client_end,
17905 ),
17906 <fidl::encoding::Endpoint<
17907 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
17908 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
17909 &mut self.router_server_end,
17910 ),
17911 ),
17912 encoder,
17913 offset,
17914 _depth,
17915 )
17916 }
17917 }
17918 unsafe impl<
17919 T0: fidl::encoding::Encode<
17920 fidl::encoding::Endpoint<
17921 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
17922 >,
17923 fidl::encoding::DefaultFuchsiaResourceDialect,
17924 >,
17925 T1: fidl::encoding::Encode<
17926 fidl::encoding::Endpoint<
17927 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
17928 >,
17929 fidl::encoding::DefaultFuchsiaResourceDialect,
17930 >,
17931 >
17932 fidl::encoding::Encode<
17933 CapabilityFactoryCreateConnectorRouterRequest,
17934 fidl::encoding::DefaultFuchsiaResourceDialect,
17935 > for (T0, T1)
17936 {
17937 #[inline]
17938 unsafe fn encode(
17939 self,
17940 encoder: &mut fidl::encoding::Encoder<
17941 '_,
17942 fidl::encoding::DefaultFuchsiaResourceDialect,
17943 >,
17944 offset: usize,
17945 depth: fidl::encoding::Depth,
17946 ) -> fidl::Result<()> {
17947 encoder.debug_check_bounds::<CapabilityFactoryCreateConnectorRouterRequest>(offset);
17948 self.0.encode(encoder, offset + 0, depth)?;
17952 self.1.encode(encoder, offset + 4, depth)?;
17953 Ok(())
17954 }
17955 }
17956
17957 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
17958 for CapabilityFactoryCreateConnectorRouterRequest
17959 {
17960 #[inline(always)]
17961 fn new_empty() -> Self {
17962 Self {
17963 router_client_end: fidl::new_empty!(
17964 fidl::encoding::Endpoint<
17965 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
17966 >,
17967 fidl::encoding::DefaultFuchsiaResourceDialect
17968 ),
17969 router_server_end: fidl::new_empty!(
17970 fidl::encoding::Endpoint<
17971 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
17972 >,
17973 fidl::encoding::DefaultFuchsiaResourceDialect
17974 ),
17975 }
17976 }
17977
17978 #[inline]
17979 unsafe fn decode(
17980 &mut self,
17981 decoder: &mut fidl::encoding::Decoder<
17982 '_,
17983 fidl::encoding::DefaultFuchsiaResourceDialect,
17984 >,
17985 offset: usize,
17986 _depth: fidl::encoding::Depth,
17987 ) -> fidl::Result<()> {
17988 decoder.debug_check_bounds::<Self>(offset);
17989 fidl::decode!(
17991 fidl::encoding::Endpoint<
17992 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
17993 >,
17994 fidl::encoding::DefaultFuchsiaResourceDialect,
17995 &mut self.router_client_end,
17996 decoder,
17997 offset + 0,
17998 _depth
17999 )?;
18000 fidl::decode!(
18001 fidl::encoding::Endpoint<
18002 fidl::endpoints::ServerEnd<ConnectorRouterDeprecatedMarker>,
18003 >,
18004 fidl::encoding::DefaultFuchsiaResourceDialect,
18005 &mut self.router_server_end,
18006 decoder,
18007 offset + 4,
18008 _depth
18009 )?;
18010 Ok(())
18011 }
18012 }
18013
18014 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDataRouterRequest {
18015 type Borrowed<'a> = &'a mut Self;
18016 fn take_or_borrow<'a>(
18017 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18018 ) -> Self::Borrowed<'a> {
18019 value
18020 }
18021 }
18022
18023 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDataRouterRequest {
18024 type Owned = Self;
18025
18026 #[inline(always)]
18027 fn inline_align(_context: fidl::encoding::Context) -> usize {
18028 4
18029 }
18030
18031 #[inline(always)]
18032 fn inline_size(_context: fidl::encoding::Context) -> usize {
18033 8
18034 }
18035 }
18036
18037 unsafe impl
18038 fidl::encoding::Encode<
18039 CapabilityFactoryCreateDataRouterRequest,
18040 fidl::encoding::DefaultFuchsiaResourceDialect,
18041 > for &mut CapabilityFactoryCreateDataRouterRequest
18042 {
18043 #[inline]
18044 unsafe fn encode(
18045 self,
18046 encoder: &mut fidl::encoding::Encoder<
18047 '_,
18048 fidl::encoding::DefaultFuchsiaResourceDialect,
18049 >,
18050 offset: usize,
18051 _depth: fidl::encoding::Depth,
18052 ) -> fidl::Result<()> {
18053 encoder.debug_check_bounds::<CapabilityFactoryCreateDataRouterRequest>(offset);
18054 fidl::encoding::Encode::<
18056 CapabilityFactoryCreateDataRouterRequest,
18057 fidl::encoding::DefaultFuchsiaResourceDialect,
18058 >::encode(
18059 (
18060 <fidl::encoding::Endpoint<
18061 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
18062 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18063 &mut self.router_client_end,
18064 ),
18065 <fidl::encoding::Endpoint<
18066 fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
18067 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18068 &mut self.router_server_end,
18069 ),
18070 ),
18071 encoder,
18072 offset,
18073 _depth,
18074 )
18075 }
18076 }
18077 unsafe impl<
18078 T0: fidl::encoding::Encode<
18079 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>>,
18080 fidl::encoding::DefaultFuchsiaResourceDialect,
18081 >,
18082 T1: fidl::encoding::Encode<
18083 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>>,
18084 fidl::encoding::DefaultFuchsiaResourceDialect,
18085 >,
18086 >
18087 fidl::encoding::Encode<
18088 CapabilityFactoryCreateDataRouterRequest,
18089 fidl::encoding::DefaultFuchsiaResourceDialect,
18090 > for (T0, T1)
18091 {
18092 #[inline]
18093 unsafe fn encode(
18094 self,
18095 encoder: &mut fidl::encoding::Encoder<
18096 '_,
18097 fidl::encoding::DefaultFuchsiaResourceDialect,
18098 >,
18099 offset: usize,
18100 depth: fidl::encoding::Depth,
18101 ) -> fidl::Result<()> {
18102 encoder.debug_check_bounds::<CapabilityFactoryCreateDataRouterRequest>(offset);
18103 self.0.encode(encoder, offset + 0, depth)?;
18107 self.1.encode(encoder, offset + 4, depth)?;
18108 Ok(())
18109 }
18110 }
18111
18112 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18113 for CapabilityFactoryCreateDataRouterRequest
18114 {
18115 #[inline(always)]
18116 fn new_empty() -> Self {
18117 Self {
18118 router_client_end: fidl::new_empty!(
18119 fidl::encoding::Endpoint<
18120 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
18121 >,
18122 fidl::encoding::DefaultFuchsiaResourceDialect
18123 ),
18124 router_server_end: fidl::new_empty!(
18125 fidl::encoding::Endpoint<
18126 fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>,
18127 >,
18128 fidl::encoding::DefaultFuchsiaResourceDialect
18129 ),
18130 }
18131 }
18132
18133 #[inline]
18134 unsafe fn decode(
18135 &mut self,
18136 decoder: &mut fidl::encoding::Decoder<
18137 '_,
18138 fidl::encoding::DefaultFuchsiaResourceDialect,
18139 >,
18140 offset: usize,
18141 _depth: fidl::encoding::Depth,
18142 ) -> fidl::Result<()> {
18143 decoder.debug_check_bounds::<Self>(offset);
18144 fidl::decode!(
18146 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>>,
18147 fidl::encoding::DefaultFuchsiaResourceDialect,
18148 &mut self.router_client_end,
18149 decoder,
18150 offset + 0,
18151 _depth
18152 )?;
18153 fidl::decode!(
18154 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DataRouterDeprecatedMarker>>,
18155 fidl::encoding::DefaultFuchsiaResourceDialect,
18156 &mut self.router_server_end,
18157 decoder,
18158 offset + 4,
18159 _depth
18160 )?;
18161 Ok(())
18162 }
18163 }
18164
18165 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDictionaryRequest {
18166 type Borrowed<'a> = &'a mut Self;
18167 fn take_or_borrow<'a>(
18168 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18169 ) -> Self::Borrowed<'a> {
18170 value
18171 }
18172 }
18173
18174 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDictionaryRequest {
18175 type Owned = Self;
18176
18177 #[inline(always)]
18178 fn inline_align(_context: fidl::encoding::Context) -> usize {
18179 4
18180 }
18181
18182 #[inline(always)]
18183 fn inline_size(_context: fidl::encoding::Context) -> usize {
18184 4
18185 }
18186 }
18187
18188 unsafe impl
18189 fidl::encoding::Encode<
18190 CapabilityFactoryCreateDictionaryRequest,
18191 fidl::encoding::DefaultFuchsiaResourceDialect,
18192 > for &mut CapabilityFactoryCreateDictionaryRequest
18193 {
18194 #[inline]
18195 unsafe fn encode(
18196 self,
18197 encoder: &mut fidl::encoding::Encoder<
18198 '_,
18199 fidl::encoding::DefaultFuchsiaResourceDialect,
18200 >,
18201 offset: usize,
18202 _depth: fidl::encoding::Depth,
18203 ) -> fidl::Result<()> {
18204 encoder.debug_check_bounds::<CapabilityFactoryCreateDictionaryRequest>(offset);
18205 fidl::encoding::Encode::<CapabilityFactoryCreateDictionaryRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
18207 (
18208 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dictionary_server_end),
18209 ),
18210 encoder, offset, _depth
18211 )
18212 }
18213 }
18214 unsafe impl<
18215 T0: fidl::encoding::Encode<
18216 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
18217 fidl::encoding::DefaultFuchsiaResourceDialect,
18218 >,
18219 >
18220 fidl::encoding::Encode<
18221 CapabilityFactoryCreateDictionaryRequest,
18222 fidl::encoding::DefaultFuchsiaResourceDialect,
18223 > for (T0,)
18224 {
18225 #[inline]
18226 unsafe fn encode(
18227 self,
18228 encoder: &mut fidl::encoding::Encoder<
18229 '_,
18230 fidl::encoding::DefaultFuchsiaResourceDialect,
18231 >,
18232 offset: usize,
18233 depth: fidl::encoding::Depth,
18234 ) -> fidl::Result<()> {
18235 encoder.debug_check_bounds::<CapabilityFactoryCreateDictionaryRequest>(offset);
18236 self.0.encode(encoder, offset + 0, depth)?;
18240 Ok(())
18241 }
18242 }
18243
18244 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18245 for CapabilityFactoryCreateDictionaryRequest
18246 {
18247 #[inline(always)]
18248 fn new_empty() -> Self {
18249 Self {
18250 dictionary_server_end: fidl::new_empty!(
18251 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
18252 fidl::encoding::DefaultFuchsiaResourceDialect
18253 ),
18254 }
18255 }
18256
18257 #[inline]
18258 unsafe fn decode(
18259 &mut self,
18260 decoder: &mut fidl::encoding::Decoder<
18261 '_,
18262 fidl::encoding::DefaultFuchsiaResourceDialect,
18263 >,
18264 offset: usize,
18265 _depth: fidl::encoding::Depth,
18266 ) -> fidl::Result<()> {
18267 decoder.debug_check_bounds::<Self>(offset);
18268 fidl::decode!(
18270 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
18271 fidl::encoding::DefaultFuchsiaResourceDialect,
18272 &mut self.dictionary_server_end,
18273 decoder,
18274 offset + 0,
18275 _depth
18276 )?;
18277 Ok(())
18278 }
18279 }
18280
18281 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDictionaryRouterRequest {
18282 type Borrowed<'a> = &'a mut Self;
18283 fn take_or_borrow<'a>(
18284 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18285 ) -> Self::Borrowed<'a> {
18286 value
18287 }
18288 }
18289
18290 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDictionaryRouterRequest {
18291 type Owned = Self;
18292
18293 #[inline(always)]
18294 fn inline_align(_context: fidl::encoding::Context) -> usize {
18295 4
18296 }
18297
18298 #[inline(always)]
18299 fn inline_size(_context: fidl::encoding::Context) -> usize {
18300 8
18301 }
18302 }
18303
18304 unsafe impl
18305 fidl::encoding::Encode<
18306 CapabilityFactoryCreateDictionaryRouterRequest,
18307 fidl::encoding::DefaultFuchsiaResourceDialect,
18308 > for &mut CapabilityFactoryCreateDictionaryRouterRequest
18309 {
18310 #[inline]
18311 unsafe fn encode(
18312 self,
18313 encoder: &mut fidl::encoding::Encoder<
18314 '_,
18315 fidl::encoding::DefaultFuchsiaResourceDialect,
18316 >,
18317 offset: usize,
18318 _depth: fidl::encoding::Depth,
18319 ) -> fidl::Result<()> {
18320 encoder.debug_check_bounds::<CapabilityFactoryCreateDictionaryRouterRequest>(offset);
18321 fidl::encoding::Encode::<
18323 CapabilityFactoryCreateDictionaryRouterRequest,
18324 fidl::encoding::DefaultFuchsiaResourceDialect,
18325 >::encode(
18326 (
18327 <fidl::encoding::Endpoint<
18328 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
18329 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18330 &mut self.router_client_end,
18331 ),
18332 <fidl::encoding::Endpoint<
18333 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
18334 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18335 &mut self.router_server_end,
18336 ),
18337 ),
18338 encoder,
18339 offset,
18340 _depth,
18341 )
18342 }
18343 }
18344 unsafe impl<
18345 T0: fidl::encoding::Encode<
18346 fidl::encoding::Endpoint<
18347 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
18348 >,
18349 fidl::encoding::DefaultFuchsiaResourceDialect,
18350 >,
18351 T1: fidl::encoding::Encode<
18352 fidl::encoding::Endpoint<
18353 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
18354 >,
18355 fidl::encoding::DefaultFuchsiaResourceDialect,
18356 >,
18357 >
18358 fidl::encoding::Encode<
18359 CapabilityFactoryCreateDictionaryRouterRequest,
18360 fidl::encoding::DefaultFuchsiaResourceDialect,
18361 > for (T0, T1)
18362 {
18363 #[inline]
18364 unsafe fn encode(
18365 self,
18366 encoder: &mut fidl::encoding::Encoder<
18367 '_,
18368 fidl::encoding::DefaultFuchsiaResourceDialect,
18369 >,
18370 offset: usize,
18371 depth: fidl::encoding::Depth,
18372 ) -> fidl::Result<()> {
18373 encoder.debug_check_bounds::<CapabilityFactoryCreateDictionaryRouterRequest>(offset);
18374 self.0.encode(encoder, offset + 0, depth)?;
18378 self.1.encode(encoder, offset + 4, depth)?;
18379 Ok(())
18380 }
18381 }
18382
18383 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18384 for CapabilityFactoryCreateDictionaryRouterRequest
18385 {
18386 #[inline(always)]
18387 fn new_empty() -> Self {
18388 Self {
18389 router_client_end: fidl::new_empty!(
18390 fidl::encoding::Endpoint<
18391 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
18392 >,
18393 fidl::encoding::DefaultFuchsiaResourceDialect
18394 ),
18395 router_server_end: fidl::new_empty!(
18396 fidl::encoding::Endpoint<
18397 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
18398 >,
18399 fidl::encoding::DefaultFuchsiaResourceDialect
18400 ),
18401 }
18402 }
18403
18404 #[inline]
18405 unsafe fn decode(
18406 &mut self,
18407 decoder: &mut fidl::encoding::Decoder<
18408 '_,
18409 fidl::encoding::DefaultFuchsiaResourceDialect,
18410 >,
18411 offset: usize,
18412 _depth: fidl::encoding::Depth,
18413 ) -> fidl::Result<()> {
18414 decoder.debug_check_bounds::<Self>(offset);
18415 fidl::decode!(
18417 fidl::encoding::Endpoint<
18418 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
18419 >,
18420 fidl::encoding::DefaultFuchsiaResourceDialect,
18421 &mut self.router_client_end,
18422 decoder,
18423 offset + 0,
18424 _depth
18425 )?;
18426 fidl::decode!(
18427 fidl::encoding::Endpoint<
18428 fidl::endpoints::ServerEnd<DictionaryRouterDeprecatedMarker>,
18429 >,
18430 fidl::encoding::DefaultFuchsiaResourceDialect,
18431 &mut self.router_server_end,
18432 decoder,
18433 offset + 4,
18434 _depth
18435 )?;
18436 Ok(())
18437 }
18438 }
18439
18440 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDirConnectorRequest {
18441 type Borrowed<'a> = &'a mut Self;
18442 fn take_or_borrow<'a>(
18443 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18444 ) -> Self::Borrowed<'a> {
18445 value
18446 }
18447 }
18448
18449 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDirConnectorRequest {
18450 type Owned = Self;
18451
18452 #[inline(always)]
18453 fn inline_align(_context: fidl::encoding::Context) -> usize {
18454 4
18455 }
18456
18457 #[inline(always)]
18458 fn inline_size(_context: fidl::encoding::Context) -> usize {
18459 8
18460 }
18461 }
18462
18463 unsafe impl
18464 fidl::encoding::Encode<
18465 CapabilityFactoryCreateDirConnectorRequest,
18466 fidl::encoding::DefaultFuchsiaResourceDialect,
18467 > for &mut CapabilityFactoryCreateDirConnectorRequest
18468 {
18469 #[inline]
18470 unsafe fn encode(
18471 self,
18472 encoder: &mut fidl::encoding::Encoder<
18473 '_,
18474 fidl::encoding::DefaultFuchsiaResourceDialect,
18475 >,
18476 offset: usize,
18477 _depth: fidl::encoding::Depth,
18478 ) -> fidl::Result<()> {
18479 encoder.debug_check_bounds::<CapabilityFactoryCreateDirConnectorRequest>(offset);
18480 fidl::encoding::Encode::<CapabilityFactoryCreateDirConnectorRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
18482 (
18483 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dir_receiver_client_end),
18484 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dir_connector_server_end),
18485 ),
18486 encoder, offset, _depth
18487 )
18488 }
18489 }
18490 unsafe impl<
18491 T0: fidl::encoding::Encode<
18492 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>>,
18493 fidl::encoding::DefaultFuchsiaResourceDialect,
18494 >,
18495 T1: fidl::encoding::Encode<
18496 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
18497 fidl::encoding::DefaultFuchsiaResourceDialect,
18498 >,
18499 >
18500 fidl::encoding::Encode<
18501 CapabilityFactoryCreateDirConnectorRequest,
18502 fidl::encoding::DefaultFuchsiaResourceDialect,
18503 > for (T0, T1)
18504 {
18505 #[inline]
18506 unsafe fn encode(
18507 self,
18508 encoder: &mut fidl::encoding::Encoder<
18509 '_,
18510 fidl::encoding::DefaultFuchsiaResourceDialect,
18511 >,
18512 offset: usize,
18513 depth: fidl::encoding::Depth,
18514 ) -> fidl::Result<()> {
18515 encoder.debug_check_bounds::<CapabilityFactoryCreateDirConnectorRequest>(offset);
18516 self.0.encode(encoder, offset + 0, depth)?;
18520 self.1.encode(encoder, offset + 4, depth)?;
18521 Ok(())
18522 }
18523 }
18524
18525 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18526 for CapabilityFactoryCreateDirConnectorRequest
18527 {
18528 #[inline(always)]
18529 fn new_empty() -> Self {
18530 Self {
18531 dir_receiver_client_end: fidl::new_empty!(
18532 fidl::encoding::Endpoint<
18533 fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>,
18534 >,
18535 fidl::encoding::DefaultFuchsiaResourceDialect
18536 ),
18537 dir_connector_server_end: fidl::new_empty!(
18538 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
18539 fidl::encoding::DefaultFuchsiaResourceDialect
18540 ),
18541 }
18542 }
18543
18544 #[inline]
18545 unsafe fn decode(
18546 &mut self,
18547 decoder: &mut fidl::encoding::Decoder<
18548 '_,
18549 fidl::encoding::DefaultFuchsiaResourceDialect,
18550 >,
18551 offset: usize,
18552 _depth: fidl::encoding::Depth,
18553 ) -> fidl::Result<()> {
18554 decoder.debug_check_bounds::<Self>(offset);
18555 fidl::decode!(
18557 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirReceiverDeprecatedMarker>>,
18558 fidl::encoding::DefaultFuchsiaResourceDialect,
18559 &mut self.dir_receiver_client_end,
18560 decoder,
18561 offset + 0,
18562 _depth
18563 )?;
18564 fidl::decode!(
18565 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
18566 fidl::encoding::DefaultFuchsiaResourceDialect,
18567 &mut self.dir_connector_server_end,
18568 decoder,
18569 offset + 4,
18570 _depth
18571 )?;
18572 Ok(())
18573 }
18574 }
18575
18576 impl fidl::encoding::ResourceTypeMarker for CapabilityFactoryCreateDirConnectorRouterRequest {
18577 type Borrowed<'a> = &'a mut Self;
18578 fn take_or_borrow<'a>(
18579 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18580 ) -> Self::Borrowed<'a> {
18581 value
18582 }
18583 }
18584
18585 unsafe impl fidl::encoding::TypeMarker for CapabilityFactoryCreateDirConnectorRouterRequest {
18586 type Owned = Self;
18587
18588 #[inline(always)]
18589 fn inline_align(_context: fidl::encoding::Context) -> usize {
18590 4
18591 }
18592
18593 #[inline(always)]
18594 fn inline_size(_context: fidl::encoding::Context) -> usize {
18595 8
18596 }
18597 }
18598
18599 unsafe impl
18600 fidl::encoding::Encode<
18601 CapabilityFactoryCreateDirConnectorRouterRequest,
18602 fidl::encoding::DefaultFuchsiaResourceDialect,
18603 > for &mut CapabilityFactoryCreateDirConnectorRouterRequest
18604 {
18605 #[inline]
18606 unsafe fn encode(
18607 self,
18608 encoder: &mut fidl::encoding::Encoder<
18609 '_,
18610 fidl::encoding::DefaultFuchsiaResourceDialect,
18611 >,
18612 offset: usize,
18613 _depth: fidl::encoding::Depth,
18614 ) -> fidl::Result<()> {
18615 encoder.debug_check_bounds::<CapabilityFactoryCreateDirConnectorRouterRequest>(offset);
18616 fidl::encoding::Encode::<
18618 CapabilityFactoryCreateDirConnectorRouterRequest,
18619 fidl::encoding::DefaultFuchsiaResourceDialect,
18620 >::encode(
18621 (
18622 <fidl::encoding::Endpoint<
18623 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
18624 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18625 &mut self.router_client_end,
18626 ),
18627 <fidl::encoding::Endpoint<
18628 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
18629 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18630 &mut self.router_server_end,
18631 ),
18632 ),
18633 encoder,
18634 offset,
18635 _depth,
18636 )
18637 }
18638 }
18639 unsafe impl<
18640 T0: fidl::encoding::Encode<
18641 fidl::encoding::Endpoint<
18642 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
18643 >,
18644 fidl::encoding::DefaultFuchsiaResourceDialect,
18645 >,
18646 T1: fidl::encoding::Encode<
18647 fidl::encoding::Endpoint<
18648 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
18649 >,
18650 fidl::encoding::DefaultFuchsiaResourceDialect,
18651 >,
18652 >
18653 fidl::encoding::Encode<
18654 CapabilityFactoryCreateDirConnectorRouterRequest,
18655 fidl::encoding::DefaultFuchsiaResourceDialect,
18656 > for (T0, T1)
18657 {
18658 #[inline]
18659 unsafe fn encode(
18660 self,
18661 encoder: &mut fidl::encoding::Encoder<
18662 '_,
18663 fidl::encoding::DefaultFuchsiaResourceDialect,
18664 >,
18665 offset: usize,
18666 depth: fidl::encoding::Depth,
18667 ) -> fidl::Result<()> {
18668 encoder.debug_check_bounds::<CapabilityFactoryCreateDirConnectorRouterRequest>(offset);
18669 self.0.encode(encoder, offset + 0, depth)?;
18673 self.1.encode(encoder, offset + 4, depth)?;
18674 Ok(())
18675 }
18676 }
18677
18678 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18679 for CapabilityFactoryCreateDirConnectorRouterRequest
18680 {
18681 #[inline(always)]
18682 fn new_empty() -> Self {
18683 Self {
18684 router_client_end: fidl::new_empty!(
18685 fidl::encoding::Endpoint<
18686 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
18687 >,
18688 fidl::encoding::DefaultFuchsiaResourceDialect
18689 ),
18690 router_server_end: fidl::new_empty!(
18691 fidl::encoding::Endpoint<
18692 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
18693 >,
18694 fidl::encoding::DefaultFuchsiaResourceDialect
18695 ),
18696 }
18697 }
18698
18699 #[inline]
18700 unsafe fn decode(
18701 &mut self,
18702 decoder: &mut fidl::encoding::Decoder<
18703 '_,
18704 fidl::encoding::DefaultFuchsiaResourceDialect,
18705 >,
18706 offset: usize,
18707 _depth: fidl::encoding::Depth,
18708 ) -> fidl::Result<()> {
18709 decoder.debug_check_bounds::<Self>(offset);
18710 fidl::decode!(
18712 fidl::encoding::Endpoint<
18713 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
18714 >,
18715 fidl::encoding::DefaultFuchsiaResourceDialect,
18716 &mut self.router_client_end,
18717 decoder,
18718 offset + 0,
18719 _depth
18720 )?;
18721 fidl::decode!(
18722 fidl::encoding::Endpoint<
18723 fidl::endpoints::ServerEnd<DirConnectorRouterDeprecatedMarker>,
18724 >,
18725 fidl::encoding::DefaultFuchsiaResourceDialect,
18726 &mut self.router_server_end,
18727 decoder,
18728 offset + 4,
18729 _depth
18730 )?;
18731 Ok(())
18732 }
18733 }
18734
18735 impl fidl::encoding::ResourceTypeMarker for ConnectorConnectRequest {
18736 type Borrowed<'a> = &'a mut Self;
18737 fn take_or_borrow<'a>(
18738 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18739 ) -> Self::Borrowed<'a> {
18740 value
18741 }
18742 }
18743
18744 unsafe impl fidl::encoding::TypeMarker for ConnectorConnectRequest {
18745 type Owned = Self;
18746
18747 #[inline(always)]
18748 fn inline_align(_context: fidl::encoding::Context) -> usize {
18749 4
18750 }
18751
18752 #[inline(always)]
18753 fn inline_size(_context: fidl::encoding::Context) -> usize {
18754 4
18755 }
18756 }
18757
18758 unsafe impl
18759 fidl::encoding::Encode<
18760 ConnectorConnectRequest,
18761 fidl::encoding::DefaultFuchsiaResourceDialect,
18762 > for &mut ConnectorConnectRequest
18763 {
18764 #[inline]
18765 unsafe fn encode(
18766 self,
18767 encoder: &mut fidl::encoding::Encoder<
18768 '_,
18769 fidl::encoding::DefaultFuchsiaResourceDialect,
18770 >,
18771 offset: usize,
18772 _depth: fidl::encoding::Depth,
18773 ) -> fidl::Result<()> {
18774 encoder.debug_check_bounds::<ConnectorConnectRequest>(offset);
18775 fidl::encoding::Encode::<
18777 ConnectorConnectRequest,
18778 fidl::encoding::DefaultFuchsiaResourceDialect,
18779 >::encode(
18780 (<fidl::encoding::HandleType<
18781 fidl::Channel,
18782 { fidl::ObjectType::CHANNEL.into_raw() },
18783 2147483648,
18784 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
18785 &mut self.channel
18786 ),),
18787 encoder,
18788 offset,
18789 _depth,
18790 )
18791 }
18792 }
18793 unsafe impl<
18794 T0: fidl::encoding::Encode<
18795 fidl::encoding::HandleType<
18796 fidl::Channel,
18797 { fidl::ObjectType::CHANNEL.into_raw() },
18798 2147483648,
18799 >,
18800 fidl::encoding::DefaultFuchsiaResourceDialect,
18801 >,
18802 >
18803 fidl::encoding::Encode<
18804 ConnectorConnectRequest,
18805 fidl::encoding::DefaultFuchsiaResourceDialect,
18806 > for (T0,)
18807 {
18808 #[inline]
18809 unsafe fn encode(
18810 self,
18811 encoder: &mut fidl::encoding::Encoder<
18812 '_,
18813 fidl::encoding::DefaultFuchsiaResourceDialect,
18814 >,
18815 offset: usize,
18816 depth: fidl::encoding::Depth,
18817 ) -> fidl::Result<()> {
18818 encoder.debug_check_bounds::<ConnectorConnectRequest>(offset);
18819 self.0.encode(encoder, offset + 0, depth)?;
18823 Ok(())
18824 }
18825 }
18826
18827 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18828 for ConnectorConnectRequest
18829 {
18830 #[inline(always)]
18831 fn new_empty() -> Self {
18832 Self {
18833 channel: fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
18834 }
18835 }
18836
18837 #[inline]
18838 unsafe fn decode(
18839 &mut self,
18840 decoder: &mut fidl::encoding::Decoder<
18841 '_,
18842 fidl::encoding::DefaultFuchsiaResourceDialect,
18843 >,
18844 offset: usize,
18845 _depth: fidl::encoding::Depth,
18846 ) -> fidl::Result<()> {
18847 decoder.debug_check_bounds::<Self>(offset);
18848 fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.channel, decoder, offset + 0, _depth)?;
18850 Ok(())
18851 }
18852 }
18853
18854 impl fidl::encoding::ResourceTypeMarker for ConnectorRouterDeprecatedRouteRequest {
18855 type Borrowed<'a> = &'a mut Self;
18856 fn take_or_borrow<'a>(
18857 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
18858 ) -> Self::Borrowed<'a> {
18859 value
18860 }
18861 }
18862
18863 unsafe impl fidl::encoding::TypeMarker for ConnectorRouterDeprecatedRouteRequest {
18864 type Owned = Self;
18865
18866 #[inline(always)]
18867 fn inline_align(_context: fidl::encoding::Context) -> usize {
18868 8
18869 }
18870
18871 #[inline(always)]
18872 fn inline_size(_context: fidl::encoding::Context) -> usize {
18873 24
18874 }
18875 }
18876
18877 unsafe impl
18878 fidl::encoding::Encode<
18879 ConnectorRouterDeprecatedRouteRequest,
18880 fidl::encoding::DefaultFuchsiaResourceDialect,
18881 > for &mut ConnectorRouterDeprecatedRouteRequest
18882 {
18883 #[inline]
18884 unsafe fn encode(
18885 self,
18886 encoder: &mut fidl::encoding::Encoder<
18887 '_,
18888 fidl::encoding::DefaultFuchsiaResourceDialect,
18889 >,
18890 offset: usize,
18891 _depth: fidl::encoding::Depth,
18892 ) -> fidl::Result<()> {
18893 encoder.debug_check_bounds::<ConnectorRouterDeprecatedRouteRequest>(offset);
18894 fidl::encoding::Encode::<ConnectorRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
18896 (
18897 <DeprecatedRouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.request),
18898 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.connector_server_end),
18899 ),
18900 encoder, offset, _depth
18901 )
18902 }
18903 }
18904 unsafe impl<
18905 T0: fidl::encoding::Encode<
18906 DeprecatedRouteRequest,
18907 fidl::encoding::DefaultFuchsiaResourceDialect,
18908 >,
18909 T1: fidl::encoding::Encode<
18910 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
18911 fidl::encoding::DefaultFuchsiaResourceDialect,
18912 >,
18913 >
18914 fidl::encoding::Encode<
18915 ConnectorRouterDeprecatedRouteRequest,
18916 fidl::encoding::DefaultFuchsiaResourceDialect,
18917 > for (T0, T1)
18918 {
18919 #[inline]
18920 unsafe fn encode(
18921 self,
18922 encoder: &mut fidl::encoding::Encoder<
18923 '_,
18924 fidl::encoding::DefaultFuchsiaResourceDialect,
18925 >,
18926 offset: usize,
18927 depth: fidl::encoding::Depth,
18928 ) -> fidl::Result<()> {
18929 encoder.debug_check_bounds::<ConnectorRouterDeprecatedRouteRequest>(offset);
18930 unsafe {
18933 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
18934 (ptr as *mut u64).write_unaligned(0);
18935 }
18936 self.0.encode(encoder, offset + 0, depth)?;
18938 self.1.encode(encoder, offset + 16, depth)?;
18939 Ok(())
18940 }
18941 }
18942
18943 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
18944 for ConnectorRouterDeprecatedRouteRequest
18945 {
18946 #[inline(always)]
18947 fn new_empty() -> Self {
18948 Self {
18949 request: fidl::new_empty!(
18950 DeprecatedRouteRequest,
18951 fidl::encoding::DefaultFuchsiaResourceDialect
18952 ),
18953 connector_server_end: fidl::new_empty!(
18954 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
18955 fidl::encoding::DefaultFuchsiaResourceDialect
18956 ),
18957 }
18958 }
18959
18960 #[inline]
18961 unsafe fn decode(
18962 &mut self,
18963 decoder: &mut fidl::encoding::Decoder<
18964 '_,
18965 fidl::encoding::DefaultFuchsiaResourceDialect,
18966 >,
18967 offset: usize,
18968 _depth: fidl::encoding::Depth,
18969 ) -> fidl::Result<()> {
18970 decoder.debug_check_bounds::<Self>(offset);
18971 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
18973 let padval = unsafe { (ptr as *const u64).read_unaligned() };
18974 let mask = 0xffffffff00000000u64;
18975 let maskedval = padval & mask;
18976 if maskedval != 0 {
18977 return Err(fidl::Error::NonZeroPadding {
18978 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
18979 });
18980 }
18981 fidl::decode!(
18982 DeprecatedRouteRequest,
18983 fidl::encoding::DefaultFuchsiaResourceDialect,
18984 &mut self.request,
18985 decoder,
18986 offset + 0,
18987 _depth
18988 )?;
18989 fidl::decode!(
18990 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<ConnectorMarker>>,
18991 fidl::encoding::DefaultFuchsiaResourceDialect,
18992 &mut self.connector_server_end,
18993 decoder,
18994 offset + 16,
18995 _depth
18996 )?;
18997 Ok(())
18998 }
18999 }
19000
19001 impl fidl::encoding::ResourceTypeMarker for ConnectorRouterDeprecatedRouteResponse {
19002 type Borrowed<'a> = &'a mut Self;
19003 fn take_or_borrow<'a>(
19004 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19005 ) -> Self::Borrowed<'a> {
19006 value
19007 }
19008 }
19009
19010 unsafe impl fidl::encoding::TypeMarker for ConnectorRouterDeprecatedRouteResponse {
19011 type Owned = Self;
19012
19013 #[inline(always)]
19014 fn inline_align(_context: fidl::encoding::Context) -> usize {
19015 4
19016 }
19017
19018 #[inline(always)]
19019 fn inline_size(_context: fidl::encoding::Context) -> usize {
19020 4
19021 }
19022 }
19023
19024 unsafe impl
19025 fidl::encoding::Encode<
19026 ConnectorRouterDeprecatedRouteResponse,
19027 fidl::encoding::DefaultFuchsiaResourceDialect,
19028 > for &mut ConnectorRouterDeprecatedRouteResponse
19029 {
19030 #[inline]
19031 unsafe fn encode(
19032 self,
19033 encoder: &mut fidl::encoding::Encoder<
19034 '_,
19035 fidl::encoding::DefaultFuchsiaResourceDialect,
19036 >,
19037 offset: usize,
19038 _depth: fidl::encoding::Depth,
19039 ) -> fidl::Result<()> {
19040 encoder.debug_check_bounds::<ConnectorRouterDeprecatedRouteResponse>(offset);
19041 fidl::encoding::Encode::<
19043 ConnectorRouterDeprecatedRouteResponse,
19044 fidl::encoding::DefaultFuchsiaResourceDialect,
19045 >::encode(
19046 (<RouterResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),),
19047 encoder,
19048 offset,
19049 _depth,
19050 )
19051 }
19052 }
19053 unsafe impl<
19054 T0: fidl::encoding::Encode<RouterResponse, fidl::encoding::DefaultFuchsiaResourceDialect>,
19055 >
19056 fidl::encoding::Encode<
19057 ConnectorRouterDeprecatedRouteResponse,
19058 fidl::encoding::DefaultFuchsiaResourceDialect,
19059 > for (T0,)
19060 {
19061 #[inline]
19062 unsafe fn encode(
19063 self,
19064 encoder: &mut fidl::encoding::Encoder<
19065 '_,
19066 fidl::encoding::DefaultFuchsiaResourceDialect,
19067 >,
19068 offset: usize,
19069 depth: fidl::encoding::Depth,
19070 ) -> fidl::Result<()> {
19071 encoder.debug_check_bounds::<ConnectorRouterDeprecatedRouteResponse>(offset);
19072 self.0.encode(encoder, offset + 0, depth)?;
19076 Ok(())
19077 }
19078 }
19079
19080 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19081 for ConnectorRouterDeprecatedRouteResponse
19082 {
19083 #[inline(always)]
19084 fn new_empty() -> Self {
19085 Self {
19086 response: fidl::new_empty!(
19087 RouterResponse,
19088 fidl::encoding::DefaultFuchsiaResourceDialect
19089 ),
19090 }
19091 }
19092
19093 #[inline]
19094 unsafe fn decode(
19095 &mut self,
19096 decoder: &mut fidl::encoding::Decoder<
19097 '_,
19098 fidl::encoding::DefaultFuchsiaResourceDialect,
19099 >,
19100 offset: usize,
19101 _depth: fidl::encoding::Depth,
19102 ) -> fidl::Result<()> {
19103 decoder.debug_check_bounds::<Self>(offset);
19104 fidl::decode!(
19106 RouterResponse,
19107 fidl::encoding::DefaultFuchsiaResourceDialect,
19108 &mut self.response,
19109 decoder,
19110 offset + 0,
19111 _depth
19112 )?;
19113 Ok(())
19114 }
19115 }
19116
19117 impl fidl::encoding::ResourceTypeMarker for ConnectorRouterRouteRequest {
19118 type Borrowed<'a> = &'a mut Self;
19119 fn take_or_borrow<'a>(
19120 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19121 ) -> Self::Borrowed<'a> {
19122 value
19123 }
19124 }
19125
19126 unsafe impl fidl::encoding::TypeMarker for ConnectorRouterRouteRequest {
19127 type Owned = Self;
19128
19129 #[inline(always)]
19130 fn inline_align(_context: fidl::encoding::Context) -> usize {
19131 8
19132 }
19133
19134 #[inline(always)]
19135 fn inline_size(_context: fidl::encoding::Context) -> usize {
19136 24
19137 }
19138 }
19139
19140 unsafe impl
19141 fidl::encoding::Encode<
19142 ConnectorRouterRouteRequest,
19143 fidl::encoding::DefaultFuchsiaResourceDialect,
19144 > for &mut ConnectorRouterRouteRequest
19145 {
19146 #[inline]
19147 unsafe fn encode(
19148 self,
19149 encoder: &mut fidl::encoding::Encoder<
19150 '_,
19151 fidl::encoding::DefaultFuchsiaResourceDialect,
19152 >,
19153 offset: usize,
19154 _depth: fidl::encoding::Depth,
19155 ) -> fidl::Result<()> {
19156 encoder.debug_check_bounds::<ConnectorRouterRouteRequest>(offset);
19157 fidl::encoding::Encode::<
19159 ConnectorRouterRouteRequest,
19160 fidl::encoding::DefaultFuchsiaResourceDialect,
19161 >::encode(
19162 (
19163 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19164 &mut self.request,
19165 ),
19166 <fidl::encoding::HandleType<
19167 fidl::EventPair,
19168 { fidl::ObjectType::EVENTPAIR.into_raw() },
19169 2147483648,
19170 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19171 &mut self.instance_token,
19172 ),
19173 <fidl::encoding::HandleType<
19174 fidl::EventPair,
19175 { fidl::ObjectType::EVENTPAIR.into_raw() },
19176 2147483648,
19177 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19178 &mut self.handle
19179 ),
19180 ),
19181 encoder,
19182 offset,
19183 _depth,
19184 )
19185 }
19186 }
19187 unsafe impl<
19188 T0: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
19189 T1: fidl::encoding::Encode<
19190 fidl::encoding::HandleType<
19191 fidl::EventPair,
19192 { fidl::ObjectType::EVENTPAIR.into_raw() },
19193 2147483648,
19194 >,
19195 fidl::encoding::DefaultFuchsiaResourceDialect,
19196 >,
19197 T2: fidl::encoding::Encode<
19198 fidl::encoding::HandleType<
19199 fidl::EventPair,
19200 { fidl::ObjectType::EVENTPAIR.into_raw() },
19201 2147483648,
19202 >,
19203 fidl::encoding::DefaultFuchsiaResourceDialect,
19204 >,
19205 >
19206 fidl::encoding::Encode<
19207 ConnectorRouterRouteRequest,
19208 fidl::encoding::DefaultFuchsiaResourceDialect,
19209 > for (T0, T1, T2)
19210 {
19211 #[inline]
19212 unsafe fn encode(
19213 self,
19214 encoder: &mut fidl::encoding::Encoder<
19215 '_,
19216 fidl::encoding::DefaultFuchsiaResourceDialect,
19217 >,
19218 offset: usize,
19219 depth: fidl::encoding::Depth,
19220 ) -> fidl::Result<()> {
19221 encoder.debug_check_bounds::<ConnectorRouterRouteRequest>(offset);
19222 self.0.encode(encoder, offset + 0, depth)?;
19226 self.1.encode(encoder, offset + 16, depth)?;
19227 self.2.encode(encoder, offset + 20, depth)?;
19228 Ok(())
19229 }
19230 }
19231
19232 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19233 for ConnectorRouterRouteRequest
19234 {
19235 #[inline(always)]
19236 fn new_empty() -> Self {
19237 Self {
19238 request: fidl::new_empty!(
19239 RouteRequest,
19240 fidl::encoding::DefaultFuchsiaResourceDialect
19241 ),
19242 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
19243 handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
19244 }
19245 }
19246
19247 #[inline]
19248 unsafe fn decode(
19249 &mut self,
19250 decoder: &mut fidl::encoding::Decoder<
19251 '_,
19252 fidl::encoding::DefaultFuchsiaResourceDialect,
19253 >,
19254 offset: usize,
19255 _depth: fidl::encoding::Depth,
19256 ) -> fidl::Result<()> {
19257 decoder.debug_check_bounds::<Self>(offset);
19258 fidl::decode!(
19260 RouteRequest,
19261 fidl::encoding::DefaultFuchsiaResourceDialect,
19262 &mut self.request,
19263 decoder,
19264 offset + 0,
19265 _depth
19266 )?;
19267 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 16, _depth)?;
19268 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle, decoder, offset + 20, _depth)?;
19269 Ok(())
19270 }
19271 }
19272
19273 impl fidl::encoding::ResourceTypeMarker for DataRouterDeprecatedRouteRequest {
19274 type Borrowed<'a> = &'a mut Self;
19275 fn take_or_borrow<'a>(
19276 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19277 ) -> Self::Borrowed<'a> {
19278 value
19279 }
19280 }
19281
19282 unsafe impl fidl::encoding::TypeMarker for DataRouterDeprecatedRouteRequest {
19283 type Owned = Self;
19284
19285 #[inline(always)]
19286 fn inline_align(_context: fidl::encoding::Context) -> usize {
19287 8
19288 }
19289
19290 #[inline(always)]
19291 fn inline_size(_context: fidl::encoding::Context) -> usize {
19292 16
19293 }
19294 }
19295
19296 unsafe impl
19297 fidl::encoding::Encode<
19298 DataRouterDeprecatedRouteRequest,
19299 fidl::encoding::DefaultFuchsiaResourceDialect,
19300 > for &mut DataRouterDeprecatedRouteRequest
19301 {
19302 #[inline]
19303 unsafe fn encode(
19304 self,
19305 encoder: &mut fidl::encoding::Encoder<
19306 '_,
19307 fidl::encoding::DefaultFuchsiaResourceDialect,
19308 >,
19309 offset: usize,
19310 _depth: fidl::encoding::Depth,
19311 ) -> fidl::Result<()> {
19312 encoder.debug_check_bounds::<DataRouterDeprecatedRouteRequest>(offset);
19313 fidl::encoding::Encode::<
19315 DataRouterDeprecatedRouteRequest,
19316 fidl::encoding::DefaultFuchsiaResourceDialect,
19317 >::encode(
19318 (<DeprecatedRouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19319 &mut self.request,
19320 ),),
19321 encoder,
19322 offset,
19323 _depth,
19324 )
19325 }
19326 }
19327 unsafe impl<
19328 T0: fidl::encoding::Encode<
19329 DeprecatedRouteRequest,
19330 fidl::encoding::DefaultFuchsiaResourceDialect,
19331 >,
19332 >
19333 fidl::encoding::Encode<
19334 DataRouterDeprecatedRouteRequest,
19335 fidl::encoding::DefaultFuchsiaResourceDialect,
19336 > for (T0,)
19337 {
19338 #[inline]
19339 unsafe fn encode(
19340 self,
19341 encoder: &mut fidl::encoding::Encoder<
19342 '_,
19343 fidl::encoding::DefaultFuchsiaResourceDialect,
19344 >,
19345 offset: usize,
19346 depth: fidl::encoding::Depth,
19347 ) -> fidl::Result<()> {
19348 encoder.debug_check_bounds::<DataRouterDeprecatedRouteRequest>(offset);
19349 self.0.encode(encoder, offset + 0, depth)?;
19353 Ok(())
19354 }
19355 }
19356
19357 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19358 for DataRouterDeprecatedRouteRequest
19359 {
19360 #[inline(always)]
19361 fn new_empty() -> Self {
19362 Self {
19363 request: fidl::new_empty!(
19364 DeprecatedRouteRequest,
19365 fidl::encoding::DefaultFuchsiaResourceDialect
19366 ),
19367 }
19368 }
19369
19370 #[inline]
19371 unsafe fn decode(
19372 &mut self,
19373 decoder: &mut fidl::encoding::Decoder<
19374 '_,
19375 fidl::encoding::DefaultFuchsiaResourceDialect,
19376 >,
19377 offset: usize,
19378 _depth: fidl::encoding::Depth,
19379 ) -> fidl::Result<()> {
19380 decoder.debug_check_bounds::<Self>(offset);
19381 fidl::decode!(
19383 DeprecatedRouteRequest,
19384 fidl::encoding::DefaultFuchsiaResourceDialect,
19385 &mut self.request,
19386 decoder,
19387 offset + 0,
19388 _depth
19389 )?;
19390 Ok(())
19391 }
19392 }
19393
19394 impl fidl::encoding::ResourceTypeMarker for DataRouterDeprecatedRouteResponse {
19395 type Borrowed<'a> = &'a mut Self;
19396 fn take_or_borrow<'a>(
19397 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19398 ) -> Self::Borrowed<'a> {
19399 value
19400 }
19401 }
19402
19403 unsafe impl fidl::encoding::TypeMarker for DataRouterDeprecatedRouteResponse {
19404 type Owned = Self;
19405
19406 #[inline(always)]
19407 fn inline_align(_context: fidl::encoding::Context) -> usize {
19408 8
19409 }
19410
19411 #[inline(always)]
19412 fn inline_size(_context: fidl::encoding::Context) -> usize {
19413 24
19414 }
19415 }
19416
19417 unsafe impl
19418 fidl::encoding::Encode<
19419 DataRouterDeprecatedRouteResponse,
19420 fidl::encoding::DefaultFuchsiaResourceDialect,
19421 > for &mut DataRouterDeprecatedRouteResponse
19422 {
19423 #[inline]
19424 unsafe fn encode(
19425 self,
19426 encoder: &mut fidl::encoding::Encoder<
19427 '_,
19428 fidl::encoding::DefaultFuchsiaResourceDialect,
19429 >,
19430 offset: usize,
19431 _depth: fidl::encoding::Depth,
19432 ) -> fidl::Result<()> {
19433 encoder.debug_check_bounds::<DataRouterDeprecatedRouteResponse>(offset);
19434 fidl::encoding::Encode::<DataRouterDeprecatedRouteResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
19436 (
19437 <RouterResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),
19438 <fidl::encoding::OptionalUnion<Data> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
19439 ),
19440 encoder, offset, _depth
19441 )
19442 }
19443 }
19444 unsafe impl<
19445 T0: fidl::encoding::Encode<RouterResponse, fidl::encoding::DefaultFuchsiaResourceDialect>,
19446 T1: fidl::encoding::Encode<
19447 fidl::encoding::OptionalUnion<Data>,
19448 fidl::encoding::DefaultFuchsiaResourceDialect,
19449 >,
19450 >
19451 fidl::encoding::Encode<
19452 DataRouterDeprecatedRouteResponse,
19453 fidl::encoding::DefaultFuchsiaResourceDialect,
19454 > for (T0, T1)
19455 {
19456 #[inline]
19457 unsafe fn encode(
19458 self,
19459 encoder: &mut fidl::encoding::Encoder<
19460 '_,
19461 fidl::encoding::DefaultFuchsiaResourceDialect,
19462 >,
19463 offset: usize,
19464 depth: fidl::encoding::Depth,
19465 ) -> fidl::Result<()> {
19466 encoder.debug_check_bounds::<DataRouterDeprecatedRouteResponse>(offset);
19467 unsafe {
19470 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
19471 (ptr as *mut u64).write_unaligned(0);
19472 }
19473 self.0.encode(encoder, offset + 0, depth)?;
19475 self.1.encode(encoder, offset + 8, depth)?;
19476 Ok(())
19477 }
19478 }
19479
19480 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19481 for DataRouterDeprecatedRouteResponse
19482 {
19483 #[inline(always)]
19484 fn new_empty() -> Self {
19485 Self {
19486 response: fidl::new_empty!(
19487 RouterResponse,
19488 fidl::encoding::DefaultFuchsiaResourceDialect
19489 ),
19490 data: fidl::new_empty!(
19491 fidl::encoding::OptionalUnion<Data>,
19492 fidl::encoding::DefaultFuchsiaResourceDialect
19493 ),
19494 }
19495 }
19496
19497 #[inline]
19498 unsafe fn decode(
19499 &mut self,
19500 decoder: &mut fidl::encoding::Decoder<
19501 '_,
19502 fidl::encoding::DefaultFuchsiaResourceDialect,
19503 >,
19504 offset: usize,
19505 _depth: fidl::encoding::Depth,
19506 ) -> fidl::Result<()> {
19507 decoder.debug_check_bounds::<Self>(offset);
19508 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
19510 let padval = unsafe { (ptr as *const u64).read_unaligned() };
19511 let mask = 0xffffffff00000000u64;
19512 let maskedval = padval & mask;
19513 if maskedval != 0 {
19514 return Err(fidl::Error::NonZeroPadding {
19515 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
19516 });
19517 }
19518 fidl::decode!(
19519 RouterResponse,
19520 fidl::encoding::DefaultFuchsiaResourceDialect,
19521 &mut self.response,
19522 decoder,
19523 offset + 0,
19524 _depth
19525 )?;
19526 fidl::decode!(
19527 fidl::encoding::OptionalUnion<Data>,
19528 fidl::encoding::DefaultFuchsiaResourceDialect,
19529 &mut self.data,
19530 decoder,
19531 offset + 8,
19532 _depth
19533 )?;
19534 Ok(())
19535 }
19536 }
19537
19538 impl fidl::encoding::ResourceTypeMarker for DataRouterRouteRequest {
19539 type Borrowed<'a> = &'a mut Self;
19540 fn take_or_borrow<'a>(
19541 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19542 ) -> Self::Borrowed<'a> {
19543 value
19544 }
19545 }
19546
19547 unsafe impl fidl::encoding::TypeMarker for DataRouterRouteRequest {
19548 type Owned = Self;
19549
19550 #[inline(always)]
19551 fn inline_align(_context: fidl::encoding::Context) -> usize {
19552 8
19553 }
19554
19555 #[inline(always)]
19556 fn inline_size(_context: fidl::encoding::Context) -> usize {
19557 24
19558 }
19559 }
19560
19561 unsafe impl
19562 fidl::encoding::Encode<
19563 DataRouterRouteRequest,
19564 fidl::encoding::DefaultFuchsiaResourceDialect,
19565 > for &mut DataRouterRouteRequest
19566 {
19567 #[inline]
19568 unsafe fn encode(
19569 self,
19570 encoder: &mut fidl::encoding::Encoder<
19571 '_,
19572 fidl::encoding::DefaultFuchsiaResourceDialect,
19573 >,
19574 offset: usize,
19575 _depth: fidl::encoding::Depth,
19576 ) -> fidl::Result<()> {
19577 encoder.debug_check_bounds::<DataRouterRouteRequest>(offset);
19578 fidl::encoding::Encode::<
19580 DataRouterRouteRequest,
19581 fidl::encoding::DefaultFuchsiaResourceDialect,
19582 >::encode(
19583 (
19584 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19585 &mut self.request,
19586 ),
19587 <fidl::encoding::HandleType<
19588 fidl::EventPair,
19589 { fidl::ObjectType::EVENTPAIR.into_raw() },
19590 2147483648,
19591 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19592 &mut self.instance_token,
19593 ),
19594 <fidl::encoding::HandleType<
19595 fidl::EventPair,
19596 { fidl::ObjectType::EVENTPAIR.into_raw() },
19597 2147483648,
19598 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19599 &mut self.handle
19600 ),
19601 ),
19602 encoder,
19603 offset,
19604 _depth,
19605 )
19606 }
19607 }
19608 unsafe impl<
19609 T0: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
19610 T1: fidl::encoding::Encode<
19611 fidl::encoding::HandleType<
19612 fidl::EventPair,
19613 { fidl::ObjectType::EVENTPAIR.into_raw() },
19614 2147483648,
19615 >,
19616 fidl::encoding::DefaultFuchsiaResourceDialect,
19617 >,
19618 T2: fidl::encoding::Encode<
19619 fidl::encoding::HandleType<
19620 fidl::EventPair,
19621 { fidl::ObjectType::EVENTPAIR.into_raw() },
19622 2147483648,
19623 >,
19624 fidl::encoding::DefaultFuchsiaResourceDialect,
19625 >,
19626 >
19627 fidl::encoding::Encode<
19628 DataRouterRouteRequest,
19629 fidl::encoding::DefaultFuchsiaResourceDialect,
19630 > for (T0, T1, T2)
19631 {
19632 #[inline]
19633 unsafe fn encode(
19634 self,
19635 encoder: &mut fidl::encoding::Encoder<
19636 '_,
19637 fidl::encoding::DefaultFuchsiaResourceDialect,
19638 >,
19639 offset: usize,
19640 depth: fidl::encoding::Depth,
19641 ) -> fidl::Result<()> {
19642 encoder.debug_check_bounds::<DataRouterRouteRequest>(offset);
19643 self.0.encode(encoder, offset + 0, depth)?;
19647 self.1.encode(encoder, offset + 16, depth)?;
19648 self.2.encode(encoder, offset + 20, depth)?;
19649 Ok(())
19650 }
19651 }
19652
19653 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19654 for DataRouterRouteRequest
19655 {
19656 #[inline(always)]
19657 fn new_empty() -> Self {
19658 Self {
19659 request: fidl::new_empty!(
19660 RouteRequest,
19661 fidl::encoding::DefaultFuchsiaResourceDialect
19662 ),
19663 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
19664 handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
19665 }
19666 }
19667
19668 #[inline]
19669 unsafe fn decode(
19670 &mut self,
19671 decoder: &mut fidl::encoding::Decoder<
19672 '_,
19673 fidl::encoding::DefaultFuchsiaResourceDialect,
19674 >,
19675 offset: usize,
19676 _depth: fidl::encoding::Depth,
19677 ) -> fidl::Result<()> {
19678 decoder.debug_check_bounds::<Self>(offset);
19679 fidl::decode!(
19681 RouteRequest,
19682 fidl::encoding::DefaultFuchsiaResourceDialect,
19683 &mut self.request,
19684 decoder,
19685 offset + 0,
19686 _depth
19687 )?;
19688 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 16, _depth)?;
19689 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle, decoder, offset + 20, _depth)?;
19690 Ok(())
19691 }
19692 }
19693
19694 impl fidl::encoding::ResourceTypeMarker for DictionaryGetRequest {
19695 type Borrowed<'a> = &'a mut Self;
19696 fn take_or_borrow<'a>(
19697 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19698 ) -> Self::Borrowed<'a> {
19699 value
19700 }
19701 }
19702
19703 unsafe impl fidl::encoding::TypeMarker for DictionaryGetRequest {
19704 type Owned = Self;
19705
19706 #[inline(always)]
19707 fn inline_align(_context: fidl::encoding::Context) -> usize {
19708 8
19709 }
19710
19711 #[inline(always)]
19712 fn inline_size(_context: fidl::encoding::Context) -> usize {
19713 16
19714 }
19715 }
19716
19717 unsafe impl
19718 fidl::encoding::Encode<DictionaryGetRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
19719 for &mut DictionaryGetRequest
19720 {
19721 #[inline]
19722 unsafe fn encode(
19723 self,
19724 encoder: &mut fidl::encoding::Encoder<
19725 '_,
19726 fidl::encoding::DefaultFuchsiaResourceDialect,
19727 >,
19728 offset: usize,
19729 _depth: fidl::encoding::Depth,
19730 ) -> fidl::Result<()> {
19731 encoder.debug_check_bounds::<DictionaryGetRequest>(offset);
19732 fidl::encoding::Encode::<
19734 DictionaryGetRequest,
19735 fidl::encoding::DefaultFuchsiaResourceDialect,
19736 >::encode(
19737 (<fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
19738 &self.key,
19739 ),),
19740 encoder,
19741 offset,
19742 _depth,
19743 )
19744 }
19745 }
19746 unsafe impl<
19747 T0: fidl::encoding::Encode<
19748 fidl::encoding::BoundedString<100>,
19749 fidl::encoding::DefaultFuchsiaResourceDialect,
19750 >,
19751 >
19752 fidl::encoding::Encode<DictionaryGetRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
19753 for (T0,)
19754 {
19755 #[inline]
19756 unsafe fn encode(
19757 self,
19758 encoder: &mut fidl::encoding::Encoder<
19759 '_,
19760 fidl::encoding::DefaultFuchsiaResourceDialect,
19761 >,
19762 offset: usize,
19763 depth: fidl::encoding::Depth,
19764 ) -> fidl::Result<()> {
19765 encoder.debug_check_bounds::<DictionaryGetRequest>(offset);
19766 self.0.encode(encoder, offset + 0, depth)?;
19770 Ok(())
19771 }
19772 }
19773
19774 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19775 for DictionaryGetRequest
19776 {
19777 #[inline(always)]
19778 fn new_empty() -> Self {
19779 Self {
19780 key: fidl::new_empty!(
19781 fidl::encoding::BoundedString<100>,
19782 fidl::encoding::DefaultFuchsiaResourceDialect
19783 ),
19784 }
19785 }
19786
19787 #[inline]
19788 unsafe fn decode(
19789 &mut self,
19790 decoder: &mut fidl::encoding::Decoder<
19791 '_,
19792 fidl::encoding::DefaultFuchsiaResourceDialect,
19793 >,
19794 offset: usize,
19795 _depth: fidl::encoding::Depth,
19796 ) -> fidl::Result<()> {
19797 decoder.debug_check_bounds::<Self>(offset);
19798 fidl::decode!(
19800 fidl::encoding::BoundedString<100>,
19801 fidl::encoding::DefaultFuchsiaResourceDialect,
19802 &mut self.key,
19803 decoder,
19804 offset + 0,
19805 _depth
19806 )?;
19807 Ok(())
19808 }
19809 }
19810
19811 impl fidl::encoding::ResourceTypeMarker for DictionaryInsertRequest {
19812 type Borrowed<'a> = &'a mut Self;
19813 fn take_or_borrow<'a>(
19814 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19815 ) -> Self::Borrowed<'a> {
19816 value
19817 }
19818 }
19819
19820 unsafe impl fidl::encoding::TypeMarker for DictionaryInsertRequest {
19821 type Owned = Self;
19822
19823 #[inline(always)]
19824 fn inline_align(_context: fidl::encoding::Context) -> usize {
19825 8
19826 }
19827
19828 #[inline(always)]
19829 fn inline_size(_context: fidl::encoding::Context) -> usize {
19830 32
19831 }
19832 }
19833
19834 unsafe impl
19835 fidl::encoding::Encode<
19836 DictionaryInsertRequest,
19837 fidl::encoding::DefaultFuchsiaResourceDialect,
19838 > for &mut DictionaryInsertRequest
19839 {
19840 #[inline]
19841 unsafe fn encode(
19842 self,
19843 encoder: &mut fidl::encoding::Encoder<
19844 '_,
19845 fidl::encoding::DefaultFuchsiaResourceDialect,
19846 >,
19847 offset: usize,
19848 _depth: fidl::encoding::Depth,
19849 ) -> fidl::Result<()> {
19850 encoder.debug_check_bounds::<DictionaryInsertRequest>(offset);
19851 fidl::encoding::Encode::<
19853 DictionaryInsertRequest,
19854 fidl::encoding::DefaultFuchsiaResourceDialect,
19855 >::encode(
19856 (
19857 <fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
19858 &self.key,
19859 ),
19860 <CapabilityDeprecated as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
19861 &mut self.capability,
19862 ),
19863 ),
19864 encoder,
19865 offset,
19866 _depth,
19867 )
19868 }
19869 }
19870 unsafe impl<
19871 T0: fidl::encoding::Encode<
19872 fidl::encoding::BoundedString<100>,
19873 fidl::encoding::DefaultFuchsiaResourceDialect,
19874 >,
19875 T1: fidl::encoding::Encode<CapabilityDeprecated, fidl::encoding::DefaultFuchsiaResourceDialect>,
19876 >
19877 fidl::encoding::Encode<
19878 DictionaryInsertRequest,
19879 fidl::encoding::DefaultFuchsiaResourceDialect,
19880 > for (T0, T1)
19881 {
19882 #[inline]
19883 unsafe fn encode(
19884 self,
19885 encoder: &mut fidl::encoding::Encoder<
19886 '_,
19887 fidl::encoding::DefaultFuchsiaResourceDialect,
19888 >,
19889 offset: usize,
19890 depth: fidl::encoding::Depth,
19891 ) -> fidl::Result<()> {
19892 encoder.debug_check_bounds::<DictionaryInsertRequest>(offset);
19893 self.0.encode(encoder, offset + 0, depth)?;
19897 self.1.encode(encoder, offset + 16, depth)?;
19898 Ok(())
19899 }
19900 }
19901
19902 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
19903 for DictionaryInsertRequest
19904 {
19905 #[inline(always)]
19906 fn new_empty() -> Self {
19907 Self {
19908 key: fidl::new_empty!(
19909 fidl::encoding::BoundedString<100>,
19910 fidl::encoding::DefaultFuchsiaResourceDialect
19911 ),
19912 capability: fidl::new_empty!(
19913 CapabilityDeprecated,
19914 fidl::encoding::DefaultFuchsiaResourceDialect
19915 ),
19916 }
19917 }
19918
19919 #[inline]
19920 unsafe fn decode(
19921 &mut self,
19922 decoder: &mut fidl::encoding::Decoder<
19923 '_,
19924 fidl::encoding::DefaultFuchsiaResourceDialect,
19925 >,
19926 offset: usize,
19927 _depth: fidl::encoding::Depth,
19928 ) -> fidl::Result<()> {
19929 decoder.debug_check_bounds::<Self>(offset);
19930 fidl::decode!(
19932 fidl::encoding::BoundedString<100>,
19933 fidl::encoding::DefaultFuchsiaResourceDialect,
19934 &mut self.key,
19935 decoder,
19936 offset + 0,
19937 _depth
19938 )?;
19939 fidl::decode!(
19940 CapabilityDeprecated,
19941 fidl::encoding::DefaultFuchsiaResourceDialect,
19942 &mut self.capability,
19943 decoder,
19944 offset + 16,
19945 _depth
19946 )?;
19947 Ok(())
19948 }
19949 }
19950
19951 impl fidl::encoding::ResourceTypeMarker for DictionaryIterateKeysRequest {
19952 type Borrowed<'a> = &'a mut Self;
19953 fn take_or_borrow<'a>(
19954 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
19955 ) -> Self::Borrowed<'a> {
19956 value
19957 }
19958 }
19959
19960 unsafe impl fidl::encoding::TypeMarker for DictionaryIterateKeysRequest {
19961 type Owned = Self;
19962
19963 #[inline(always)]
19964 fn inline_align(_context: fidl::encoding::Context) -> usize {
19965 4
19966 }
19967
19968 #[inline(always)]
19969 fn inline_size(_context: fidl::encoding::Context) -> usize {
19970 4
19971 }
19972 }
19973
19974 unsafe impl
19975 fidl::encoding::Encode<
19976 DictionaryIterateKeysRequest,
19977 fidl::encoding::DefaultFuchsiaResourceDialect,
19978 > for &mut DictionaryIterateKeysRequest
19979 {
19980 #[inline]
19981 unsafe fn encode(
19982 self,
19983 encoder: &mut fidl::encoding::Encoder<
19984 '_,
19985 fidl::encoding::DefaultFuchsiaResourceDialect,
19986 >,
19987 offset: usize,
19988 _depth: fidl::encoding::Depth,
19989 ) -> fidl::Result<()> {
19990 encoder.debug_check_bounds::<DictionaryIterateKeysRequest>(offset);
19991 fidl::encoding::Encode::<
19993 DictionaryIterateKeysRequest,
19994 fidl::encoding::DefaultFuchsiaResourceDialect,
19995 >::encode(
19996 (
19997 <fidl::encoding::Endpoint<
19998 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
19999 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
20000 &mut self.key_iterator,
20001 ),
20002 ),
20003 encoder,
20004 offset,
20005 _depth,
20006 )
20007 }
20008 }
20009 unsafe impl<
20010 T0: fidl::encoding::Encode<
20011 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>>,
20012 fidl::encoding::DefaultFuchsiaResourceDialect,
20013 >,
20014 >
20015 fidl::encoding::Encode<
20016 DictionaryIterateKeysRequest,
20017 fidl::encoding::DefaultFuchsiaResourceDialect,
20018 > for (T0,)
20019 {
20020 #[inline]
20021 unsafe fn encode(
20022 self,
20023 encoder: &mut fidl::encoding::Encoder<
20024 '_,
20025 fidl::encoding::DefaultFuchsiaResourceDialect,
20026 >,
20027 offset: usize,
20028 depth: fidl::encoding::Depth,
20029 ) -> fidl::Result<()> {
20030 encoder.debug_check_bounds::<DictionaryIterateKeysRequest>(offset);
20031 self.0.encode(encoder, offset + 0, depth)?;
20035 Ok(())
20036 }
20037 }
20038
20039 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20040 for DictionaryIterateKeysRequest
20041 {
20042 #[inline(always)]
20043 fn new_empty() -> Self {
20044 Self {
20045 key_iterator: fidl::new_empty!(
20046 fidl::encoding::Endpoint<
20047 fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>,
20048 >,
20049 fidl::encoding::DefaultFuchsiaResourceDialect
20050 ),
20051 }
20052 }
20053
20054 #[inline]
20055 unsafe fn decode(
20056 &mut self,
20057 decoder: &mut fidl::encoding::Decoder<
20058 '_,
20059 fidl::encoding::DefaultFuchsiaResourceDialect,
20060 >,
20061 offset: usize,
20062 _depth: fidl::encoding::Depth,
20063 ) -> fidl::Result<()> {
20064 decoder.debug_check_bounds::<Self>(offset);
20065 fidl::decode!(
20067 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryKeyIteratorMarker>>,
20068 fidl::encoding::DefaultFuchsiaResourceDialect,
20069 &mut self.key_iterator,
20070 decoder,
20071 offset + 0,
20072 _depth
20073 )?;
20074 Ok(())
20075 }
20076 }
20077
20078 impl fidl::encoding::ResourceTypeMarker for DictionaryRemoveRequest {
20079 type Borrowed<'a> = &'a mut Self;
20080 fn take_or_borrow<'a>(
20081 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20082 ) -> Self::Borrowed<'a> {
20083 value
20084 }
20085 }
20086
20087 unsafe impl fidl::encoding::TypeMarker for DictionaryRemoveRequest {
20088 type Owned = Self;
20089
20090 #[inline(always)]
20091 fn inline_align(_context: fidl::encoding::Context) -> usize {
20092 8
20093 }
20094
20095 #[inline(always)]
20096 fn inline_size(_context: fidl::encoding::Context) -> usize {
20097 16
20098 }
20099 }
20100
20101 unsafe impl
20102 fidl::encoding::Encode<
20103 DictionaryRemoveRequest,
20104 fidl::encoding::DefaultFuchsiaResourceDialect,
20105 > for &mut DictionaryRemoveRequest
20106 {
20107 #[inline]
20108 unsafe fn encode(
20109 self,
20110 encoder: &mut fidl::encoding::Encoder<
20111 '_,
20112 fidl::encoding::DefaultFuchsiaResourceDialect,
20113 >,
20114 offset: usize,
20115 _depth: fidl::encoding::Depth,
20116 ) -> fidl::Result<()> {
20117 encoder.debug_check_bounds::<DictionaryRemoveRequest>(offset);
20118 fidl::encoding::Encode::<
20120 DictionaryRemoveRequest,
20121 fidl::encoding::DefaultFuchsiaResourceDialect,
20122 >::encode(
20123 (<fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow(
20124 &self.key,
20125 ),),
20126 encoder,
20127 offset,
20128 _depth,
20129 )
20130 }
20131 }
20132 unsafe impl<
20133 T0: fidl::encoding::Encode<
20134 fidl::encoding::BoundedString<100>,
20135 fidl::encoding::DefaultFuchsiaResourceDialect,
20136 >,
20137 >
20138 fidl::encoding::Encode<
20139 DictionaryRemoveRequest,
20140 fidl::encoding::DefaultFuchsiaResourceDialect,
20141 > for (T0,)
20142 {
20143 #[inline]
20144 unsafe fn encode(
20145 self,
20146 encoder: &mut fidl::encoding::Encoder<
20147 '_,
20148 fidl::encoding::DefaultFuchsiaResourceDialect,
20149 >,
20150 offset: usize,
20151 depth: fidl::encoding::Depth,
20152 ) -> fidl::Result<()> {
20153 encoder.debug_check_bounds::<DictionaryRemoveRequest>(offset);
20154 self.0.encode(encoder, offset + 0, depth)?;
20158 Ok(())
20159 }
20160 }
20161
20162 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20163 for DictionaryRemoveRequest
20164 {
20165 #[inline(always)]
20166 fn new_empty() -> Self {
20167 Self {
20168 key: fidl::new_empty!(
20169 fidl::encoding::BoundedString<100>,
20170 fidl::encoding::DefaultFuchsiaResourceDialect
20171 ),
20172 }
20173 }
20174
20175 #[inline]
20176 unsafe fn decode(
20177 &mut self,
20178 decoder: &mut fidl::encoding::Decoder<
20179 '_,
20180 fidl::encoding::DefaultFuchsiaResourceDialect,
20181 >,
20182 offset: usize,
20183 _depth: fidl::encoding::Depth,
20184 ) -> fidl::Result<()> {
20185 decoder.debug_check_bounds::<Self>(offset);
20186 fidl::decode!(
20188 fidl::encoding::BoundedString<100>,
20189 fidl::encoding::DefaultFuchsiaResourceDialect,
20190 &mut self.key,
20191 decoder,
20192 offset + 0,
20193 _depth
20194 )?;
20195 Ok(())
20196 }
20197 }
20198
20199 impl fidl::encoding::ResourceTypeMarker for DictionaryRouterDeprecatedRouteRequest {
20200 type Borrowed<'a> = &'a mut Self;
20201 fn take_or_borrow<'a>(
20202 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20203 ) -> Self::Borrowed<'a> {
20204 value
20205 }
20206 }
20207
20208 unsafe impl fidl::encoding::TypeMarker for DictionaryRouterDeprecatedRouteRequest {
20209 type Owned = Self;
20210
20211 #[inline(always)]
20212 fn inline_align(_context: fidl::encoding::Context) -> usize {
20213 8
20214 }
20215
20216 #[inline(always)]
20217 fn inline_size(_context: fidl::encoding::Context) -> usize {
20218 24
20219 }
20220 }
20221
20222 unsafe impl
20223 fidl::encoding::Encode<
20224 DictionaryRouterDeprecatedRouteRequest,
20225 fidl::encoding::DefaultFuchsiaResourceDialect,
20226 > for &mut DictionaryRouterDeprecatedRouteRequest
20227 {
20228 #[inline]
20229 unsafe fn encode(
20230 self,
20231 encoder: &mut fidl::encoding::Encoder<
20232 '_,
20233 fidl::encoding::DefaultFuchsiaResourceDialect,
20234 >,
20235 offset: usize,
20236 _depth: fidl::encoding::Depth,
20237 ) -> fidl::Result<()> {
20238 encoder.debug_check_bounds::<DictionaryRouterDeprecatedRouteRequest>(offset);
20239 fidl::encoding::Encode::<DictionaryRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
20241 (
20242 <DeprecatedRouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.request),
20243 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dictionary_server_end),
20244 ),
20245 encoder, offset, _depth
20246 )
20247 }
20248 }
20249 unsafe impl<
20250 T0: fidl::encoding::Encode<
20251 DeprecatedRouteRequest,
20252 fidl::encoding::DefaultFuchsiaResourceDialect,
20253 >,
20254 T1: fidl::encoding::Encode<
20255 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
20256 fidl::encoding::DefaultFuchsiaResourceDialect,
20257 >,
20258 >
20259 fidl::encoding::Encode<
20260 DictionaryRouterDeprecatedRouteRequest,
20261 fidl::encoding::DefaultFuchsiaResourceDialect,
20262 > for (T0, T1)
20263 {
20264 #[inline]
20265 unsafe fn encode(
20266 self,
20267 encoder: &mut fidl::encoding::Encoder<
20268 '_,
20269 fidl::encoding::DefaultFuchsiaResourceDialect,
20270 >,
20271 offset: usize,
20272 depth: fidl::encoding::Depth,
20273 ) -> fidl::Result<()> {
20274 encoder.debug_check_bounds::<DictionaryRouterDeprecatedRouteRequest>(offset);
20275 unsafe {
20278 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
20279 (ptr as *mut u64).write_unaligned(0);
20280 }
20281 self.0.encode(encoder, offset + 0, depth)?;
20283 self.1.encode(encoder, offset + 16, depth)?;
20284 Ok(())
20285 }
20286 }
20287
20288 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20289 for DictionaryRouterDeprecatedRouteRequest
20290 {
20291 #[inline(always)]
20292 fn new_empty() -> Self {
20293 Self {
20294 request: fidl::new_empty!(
20295 DeprecatedRouteRequest,
20296 fidl::encoding::DefaultFuchsiaResourceDialect
20297 ),
20298 dictionary_server_end: fidl::new_empty!(
20299 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
20300 fidl::encoding::DefaultFuchsiaResourceDialect
20301 ),
20302 }
20303 }
20304
20305 #[inline]
20306 unsafe fn decode(
20307 &mut self,
20308 decoder: &mut fidl::encoding::Decoder<
20309 '_,
20310 fidl::encoding::DefaultFuchsiaResourceDialect,
20311 >,
20312 offset: usize,
20313 _depth: fidl::encoding::Depth,
20314 ) -> fidl::Result<()> {
20315 decoder.debug_check_bounds::<Self>(offset);
20316 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
20318 let padval = unsafe { (ptr as *const u64).read_unaligned() };
20319 let mask = 0xffffffff00000000u64;
20320 let maskedval = padval & mask;
20321 if maskedval != 0 {
20322 return Err(fidl::Error::NonZeroPadding {
20323 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
20324 });
20325 }
20326 fidl::decode!(
20327 DeprecatedRouteRequest,
20328 fidl::encoding::DefaultFuchsiaResourceDialect,
20329 &mut self.request,
20330 decoder,
20331 offset + 0,
20332 _depth
20333 )?;
20334 fidl::decode!(
20335 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DictionaryMarker>>,
20336 fidl::encoding::DefaultFuchsiaResourceDialect,
20337 &mut self.dictionary_server_end,
20338 decoder,
20339 offset + 16,
20340 _depth
20341 )?;
20342 Ok(())
20343 }
20344 }
20345
20346 impl fidl::encoding::ResourceTypeMarker for DictionaryRouterDeprecatedRouteResponse {
20347 type Borrowed<'a> = &'a mut Self;
20348 fn take_or_borrow<'a>(
20349 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20350 ) -> Self::Borrowed<'a> {
20351 value
20352 }
20353 }
20354
20355 unsafe impl fidl::encoding::TypeMarker for DictionaryRouterDeprecatedRouteResponse {
20356 type Owned = Self;
20357
20358 #[inline(always)]
20359 fn inline_align(_context: fidl::encoding::Context) -> usize {
20360 4
20361 }
20362
20363 #[inline(always)]
20364 fn inline_size(_context: fidl::encoding::Context) -> usize {
20365 4
20366 }
20367 }
20368
20369 unsafe impl
20370 fidl::encoding::Encode<
20371 DictionaryRouterDeprecatedRouteResponse,
20372 fidl::encoding::DefaultFuchsiaResourceDialect,
20373 > for &mut DictionaryRouterDeprecatedRouteResponse
20374 {
20375 #[inline]
20376 unsafe fn encode(
20377 self,
20378 encoder: &mut fidl::encoding::Encoder<
20379 '_,
20380 fidl::encoding::DefaultFuchsiaResourceDialect,
20381 >,
20382 offset: usize,
20383 _depth: fidl::encoding::Depth,
20384 ) -> fidl::Result<()> {
20385 encoder.debug_check_bounds::<DictionaryRouterDeprecatedRouteResponse>(offset);
20386 fidl::encoding::Encode::<
20388 DictionaryRouterDeprecatedRouteResponse,
20389 fidl::encoding::DefaultFuchsiaResourceDialect,
20390 >::encode(
20391 (<RouterResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),),
20392 encoder,
20393 offset,
20394 _depth,
20395 )
20396 }
20397 }
20398 unsafe impl<
20399 T0: fidl::encoding::Encode<RouterResponse, fidl::encoding::DefaultFuchsiaResourceDialect>,
20400 >
20401 fidl::encoding::Encode<
20402 DictionaryRouterDeprecatedRouteResponse,
20403 fidl::encoding::DefaultFuchsiaResourceDialect,
20404 > for (T0,)
20405 {
20406 #[inline]
20407 unsafe fn encode(
20408 self,
20409 encoder: &mut fidl::encoding::Encoder<
20410 '_,
20411 fidl::encoding::DefaultFuchsiaResourceDialect,
20412 >,
20413 offset: usize,
20414 depth: fidl::encoding::Depth,
20415 ) -> fidl::Result<()> {
20416 encoder.debug_check_bounds::<DictionaryRouterDeprecatedRouteResponse>(offset);
20417 self.0.encode(encoder, offset + 0, depth)?;
20421 Ok(())
20422 }
20423 }
20424
20425 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20426 for DictionaryRouterDeprecatedRouteResponse
20427 {
20428 #[inline(always)]
20429 fn new_empty() -> Self {
20430 Self {
20431 response: fidl::new_empty!(
20432 RouterResponse,
20433 fidl::encoding::DefaultFuchsiaResourceDialect
20434 ),
20435 }
20436 }
20437
20438 #[inline]
20439 unsafe fn decode(
20440 &mut self,
20441 decoder: &mut fidl::encoding::Decoder<
20442 '_,
20443 fidl::encoding::DefaultFuchsiaResourceDialect,
20444 >,
20445 offset: usize,
20446 _depth: fidl::encoding::Depth,
20447 ) -> fidl::Result<()> {
20448 decoder.debug_check_bounds::<Self>(offset);
20449 fidl::decode!(
20451 RouterResponse,
20452 fidl::encoding::DefaultFuchsiaResourceDialect,
20453 &mut self.response,
20454 decoder,
20455 offset + 0,
20456 _depth
20457 )?;
20458 Ok(())
20459 }
20460 }
20461
20462 impl fidl::encoding::ResourceTypeMarker for DictionaryRouterRouteRequest {
20463 type Borrowed<'a> = &'a mut Self;
20464 fn take_or_borrow<'a>(
20465 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20466 ) -> Self::Borrowed<'a> {
20467 value
20468 }
20469 }
20470
20471 unsafe impl fidl::encoding::TypeMarker for DictionaryRouterRouteRequest {
20472 type Owned = Self;
20473
20474 #[inline(always)]
20475 fn inline_align(_context: fidl::encoding::Context) -> usize {
20476 8
20477 }
20478
20479 #[inline(always)]
20480 fn inline_size(_context: fidl::encoding::Context) -> usize {
20481 24
20482 }
20483 }
20484
20485 unsafe impl
20486 fidl::encoding::Encode<
20487 DictionaryRouterRouteRequest,
20488 fidl::encoding::DefaultFuchsiaResourceDialect,
20489 > for &mut DictionaryRouterRouteRequest
20490 {
20491 #[inline]
20492 unsafe fn encode(
20493 self,
20494 encoder: &mut fidl::encoding::Encoder<
20495 '_,
20496 fidl::encoding::DefaultFuchsiaResourceDialect,
20497 >,
20498 offset: usize,
20499 _depth: fidl::encoding::Depth,
20500 ) -> fidl::Result<()> {
20501 encoder.debug_check_bounds::<DictionaryRouterRouteRequest>(offset);
20502 fidl::encoding::Encode::<
20504 DictionaryRouterRouteRequest,
20505 fidl::encoding::DefaultFuchsiaResourceDialect,
20506 >::encode(
20507 (
20508 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
20509 &mut self.request,
20510 ),
20511 <fidl::encoding::HandleType<
20512 fidl::EventPair,
20513 { fidl::ObjectType::EVENTPAIR.into_raw() },
20514 2147483648,
20515 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
20516 &mut self.instance_token,
20517 ),
20518 <fidl::encoding::HandleType<
20519 fidl::EventPair,
20520 { fidl::ObjectType::EVENTPAIR.into_raw() },
20521 2147483648,
20522 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
20523 &mut self.handle
20524 ),
20525 ),
20526 encoder,
20527 offset,
20528 _depth,
20529 )
20530 }
20531 }
20532 unsafe impl<
20533 T0: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
20534 T1: fidl::encoding::Encode<
20535 fidl::encoding::HandleType<
20536 fidl::EventPair,
20537 { fidl::ObjectType::EVENTPAIR.into_raw() },
20538 2147483648,
20539 >,
20540 fidl::encoding::DefaultFuchsiaResourceDialect,
20541 >,
20542 T2: fidl::encoding::Encode<
20543 fidl::encoding::HandleType<
20544 fidl::EventPair,
20545 { fidl::ObjectType::EVENTPAIR.into_raw() },
20546 2147483648,
20547 >,
20548 fidl::encoding::DefaultFuchsiaResourceDialect,
20549 >,
20550 >
20551 fidl::encoding::Encode<
20552 DictionaryRouterRouteRequest,
20553 fidl::encoding::DefaultFuchsiaResourceDialect,
20554 > for (T0, T1, T2)
20555 {
20556 #[inline]
20557 unsafe fn encode(
20558 self,
20559 encoder: &mut fidl::encoding::Encoder<
20560 '_,
20561 fidl::encoding::DefaultFuchsiaResourceDialect,
20562 >,
20563 offset: usize,
20564 depth: fidl::encoding::Depth,
20565 ) -> fidl::Result<()> {
20566 encoder.debug_check_bounds::<DictionaryRouterRouteRequest>(offset);
20567 self.0.encode(encoder, offset + 0, depth)?;
20571 self.1.encode(encoder, offset + 16, depth)?;
20572 self.2.encode(encoder, offset + 20, depth)?;
20573 Ok(())
20574 }
20575 }
20576
20577 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20578 for DictionaryRouterRouteRequest
20579 {
20580 #[inline(always)]
20581 fn new_empty() -> Self {
20582 Self {
20583 request: fidl::new_empty!(
20584 RouteRequest,
20585 fidl::encoding::DefaultFuchsiaResourceDialect
20586 ),
20587 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
20588 handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
20589 }
20590 }
20591
20592 #[inline]
20593 unsafe fn decode(
20594 &mut self,
20595 decoder: &mut fidl::encoding::Decoder<
20596 '_,
20597 fidl::encoding::DefaultFuchsiaResourceDialect,
20598 >,
20599 offset: usize,
20600 _depth: fidl::encoding::Depth,
20601 ) -> fidl::Result<()> {
20602 decoder.debug_check_bounds::<Self>(offset);
20603 fidl::decode!(
20605 RouteRequest,
20606 fidl::encoding::DefaultFuchsiaResourceDialect,
20607 &mut self.request,
20608 decoder,
20609 offset + 0,
20610 _depth
20611 )?;
20612 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 16, _depth)?;
20613 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle, decoder, offset + 20, _depth)?;
20614 Ok(())
20615 }
20616 }
20617
20618 impl fidl::encoding::ResourceTypeMarker for DictionaryGetResponse {
20619 type Borrowed<'a> = &'a mut Self;
20620 fn take_or_borrow<'a>(
20621 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20622 ) -> Self::Borrowed<'a> {
20623 value
20624 }
20625 }
20626
20627 unsafe impl fidl::encoding::TypeMarker for DictionaryGetResponse {
20628 type Owned = Self;
20629
20630 #[inline(always)]
20631 fn inline_align(_context: fidl::encoding::Context) -> usize {
20632 8
20633 }
20634
20635 #[inline(always)]
20636 fn inline_size(_context: fidl::encoding::Context) -> usize {
20637 16
20638 }
20639 }
20640
20641 unsafe impl
20642 fidl::encoding::Encode<DictionaryGetResponse, fidl::encoding::DefaultFuchsiaResourceDialect>
20643 for &mut DictionaryGetResponse
20644 {
20645 #[inline]
20646 unsafe fn encode(
20647 self,
20648 encoder: &mut fidl::encoding::Encoder<
20649 '_,
20650 fidl::encoding::DefaultFuchsiaResourceDialect,
20651 >,
20652 offset: usize,
20653 _depth: fidl::encoding::Depth,
20654 ) -> fidl::Result<()> {
20655 encoder.debug_check_bounds::<DictionaryGetResponse>(offset);
20656 fidl::encoding::Encode::<DictionaryGetResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
20658 (
20659 <fidl::encoding::OptionalUnion<CapabilityDeprecated> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.capability),
20660 ),
20661 encoder, offset, _depth
20662 )
20663 }
20664 }
20665 unsafe impl<
20666 T0: fidl::encoding::Encode<
20667 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20668 fidl::encoding::DefaultFuchsiaResourceDialect,
20669 >,
20670 >
20671 fidl::encoding::Encode<DictionaryGetResponse, fidl::encoding::DefaultFuchsiaResourceDialect>
20672 for (T0,)
20673 {
20674 #[inline]
20675 unsafe fn encode(
20676 self,
20677 encoder: &mut fidl::encoding::Encoder<
20678 '_,
20679 fidl::encoding::DefaultFuchsiaResourceDialect,
20680 >,
20681 offset: usize,
20682 depth: fidl::encoding::Depth,
20683 ) -> fidl::Result<()> {
20684 encoder.debug_check_bounds::<DictionaryGetResponse>(offset);
20685 self.0.encode(encoder, offset + 0, depth)?;
20689 Ok(())
20690 }
20691 }
20692
20693 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20694 for DictionaryGetResponse
20695 {
20696 #[inline(always)]
20697 fn new_empty() -> Self {
20698 Self {
20699 capability: fidl::new_empty!(
20700 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20701 fidl::encoding::DefaultFuchsiaResourceDialect
20702 ),
20703 }
20704 }
20705
20706 #[inline]
20707 unsafe fn decode(
20708 &mut self,
20709 decoder: &mut fidl::encoding::Decoder<
20710 '_,
20711 fidl::encoding::DefaultFuchsiaResourceDialect,
20712 >,
20713 offset: usize,
20714 _depth: fidl::encoding::Depth,
20715 ) -> fidl::Result<()> {
20716 decoder.debug_check_bounds::<Self>(offset);
20717 fidl::decode!(
20719 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20720 fidl::encoding::DefaultFuchsiaResourceDialect,
20721 &mut self.capability,
20722 decoder,
20723 offset + 0,
20724 _depth
20725 )?;
20726 Ok(())
20727 }
20728 }
20729
20730 impl fidl::encoding::ResourceTypeMarker for DictionaryLegacyExportResponse {
20731 type Borrowed<'a> = &'a mut Self;
20732 fn take_or_borrow<'a>(
20733 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20734 ) -> Self::Borrowed<'a> {
20735 value
20736 }
20737 }
20738
20739 unsafe impl fidl::encoding::TypeMarker for DictionaryLegacyExportResponse {
20740 type Owned = Self;
20741
20742 #[inline(always)]
20743 fn inline_align(_context: fidl::encoding::Context) -> usize {
20744 4
20745 }
20746
20747 #[inline(always)]
20748 fn inline_size(_context: fidl::encoding::Context) -> usize {
20749 4
20750 }
20751 }
20752
20753 unsafe impl
20754 fidl::encoding::Encode<
20755 DictionaryLegacyExportResponse,
20756 fidl::encoding::DefaultFuchsiaResourceDialect,
20757 > for &mut DictionaryLegacyExportResponse
20758 {
20759 #[inline]
20760 unsafe fn encode(
20761 self,
20762 encoder: &mut fidl::encoding::Encoder<
20763 '_,
20764 fidl::encoding::DefaultFuchsiaResourceDialect,
20765 >,
20766 offset: usize,
20767 _depth: fidl::encoding::Depth,
20768 ) -> fidl::Result<()> {
20769 encoder.debug_check_bounds::<DictionaryLegacyExportResponse>(offset);
20770 fidl::encoding::Encode::<DictionaryLegacyExportResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
20772 (
20773 <fidl_fuchsia_component_sandbox::DictionaryRef as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dictionary_ref),
20774 ),
20775 encoder, offset, _depth
20776 )
20777 }
20778 }
20779 unsafe impl<
20780 T0: fidl::encoding::Encode<
20781 fidl_fuchsia_component_sandbox::DictionaryRef,
20782 fidl::encoding::DefaultFuchsiaResourceDialect,
20783 >,
20784 >
20785 fidl::encoding::Encode<
20786 DictionaryLegacyExportResponse,
20787 fidl::encoding::DefaultFuchsiaResourceDialect,
20788 > for (T0,)
20789 {
20790 #[inline]
20791 unsafe fn encode(
20792 self,
20793 encoder: &mut fidl::encoding::Encoder<
20794 '_,
20795 fidl::encoding::DefaultFuchsiaResourceDialect,
20796 >,
20797 offset: usize,
20798 depth: fidl::encoding::Depth,
20799 ) -> fidl::Result<()> {
20800 encoder.debug_check_bounds::<DictionaryLegacyExportResponse>(offset);
20801 self.0.encode(encoder, offset + 0, depth)?;
20805 Ok(())
20806 }
20807 }
20808
20809 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20810 for DictionaryLegacyExportResponse
20811 {
20812 #[inline(always)]
20813 fn new_empty() -> Self {
20814 Self {
20815 dictionary_ref: fidl::new_empty!(
20816 fidl_fuchsia_component_sandbox::DictionaryRef,
20817 fidl::encoding::DefaultFuchsiaResourceDialect
20818 ),
20819 }
20820 }
20821
20822 #[inline]
20823 unsafe fn decode(
20824 &mut self,
20825 decoder: &mut fidl::encoding::Decoder<
20826 '_,
20827 fidl::encoding::DefaultFuchsiaResourceDialect,
20828 >,
20829 offset: usize,
20830 _depth: fidl::encoding::Depth,
20831 ) -> fidl::Result<()> {
20832 decoder.debug_check_bounds::<Self>(offset);
20833 fidl::decode!(
20835 fidl_fuchsia_component_sandbox::DictionaryRef,
20836 fidl::encoding::DefaultFuchsiaResourceDialect,
20837 &mut self.dictionary_ref,
20838 decoder,
20839 offset + 0,
20840 _depth
20841 )?;
20842 Ok(())
20843 }
20844 }
20845
20846 impl fidl::encoding::ResourceTypeMarker for DictionaryRemoveResponse {
20847 type Borrowed<'a> = &'a mut Self;
20848 fn take_or_borrow<'a>(
20849 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20850 ) -> Self::Borrowed<'a> {
20851 value
20852 }
20853 }
20854
20855 unsafe impl fidl::encoding::TypeMarker for DictionaryRemoveResponse {
20856 type Owned = Self;
20857
20858 #[inline(always)]
20859 fn inline_align(_context: fidl::encoding::Context) -> usize {
20860 8
20861 }
20862
20863 #[inline(always)]
20864 fn inline_size(_context: fidl::encoding::Context) -> usize {
20865 16
20866 }
20867 }
20868
20869 unsafe impl
20870 fidl::encoding::Encode<
20871 DictionaryRemoveResponse,
20872 fidl::encoding::DefaultFuchsiaResourceDialect,
20873 > for &mut DictionaryRemoveResponse
20874 {
20875 #[inline]
20876 unsafe fn encode(
20877 self,
20878 encoder: &mut fidl::encoding::Encoder<
20879 '_,
20880 fidl::encoding::DefaultFuchsiaResourceDialect,
20881 >,
20882 offset: usize,
20883 _depth: fidl::encoding::Depth,
20884 ) -> fidl::Result<()> {
20885 encoder.debug_check_bounds::<DictionaryRemoveResponse>(offset);
20886 fidl::encoding::Encode::<DictionaryRemoveResponse, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
20888 (
20889 <fidl::encoding::OptionalUnion<CapabilityDeprecated> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.capability),
20890 ),
20891 encoder, offset, _depth
20892 )
20893 }
20894 }
20895 unsafe impl<
20896 T0: fidl::encoding::Encode<
20897 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20898 fidl::encoding::DefaultFuchsiaResourceDialect,
20899 >,
20900 >
20901 fidl::encoding::Encode<
20902 DictionaryRemoveResponse,
20903 fidl::encoding::DefaultFuchsiaResourceDialect,
20904 > for (T0,)
20905 {
20906 #[inline]
20907 unsafe fn encode(
20908 self,
20909 encoder: &mut fidl::encoding::Encoder<
20910 '_,
20911 fidl::encoding::DefaultFuchsiaResourceDialect,
20912 >,
20913 offset: usize,
20914 depth: fidl::encoding::Depth,
20915 ) -> fidl::Result<()> {
20916 encoder.debug_check_bounds::<DictionaryRemoveResponse>(offset);
20917 self.0.encode(encoder, offset + 0, depth)?;
20921 Ok(())
20922 }
20923 }
20924
20925 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
20926 for DictionaryRemoveResponse
20927 {
20928 #[inline(always)]
20929 fn new_empty() -> Self {
20930 Self {
20931 capability: fidl::new_empty!(
20932 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20933 fidl::encoding::DefaultFuchsiaResourceDialect
20934 ),
20935 }
20936 }
20937
20938 #[inline]
20939 unsafe fn decode(
20940 &mut self,
20941 decoder: &mut fidl::encoding::Decoder<
20942 '_,
20943 fidl::encoding::DefaultFuchsiaResourceDialect,
20944 >,
20945 offset: usize,
20946 _depth: fidl::encoding::Depth,
20947 ) -> fidl::Result<()> {
20948 decoder.debug_check_bounds::<Self>(offset);
20949 fidl::decode!(
20951 fidl::encoding::OptionalUnion<CapabilityDeprecated>,
20952 fidl::encoding::DefaultFuchsiaResourceDialect,
20953 &mut self.capability,
20954 decoder,
20955 offset + 0,
20956 _depth
20957 )?;
20958 Ok(())
20959 }
20960 }
20961
20962 impl fidl::encoding::ResourceTypeMarker for DirConnectorConnectRequest {
20963 type Borrowed<'a> = &'a mut Self;
20964 fn take_or_borrow<'a>(
20965 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
20966 ) -> Self::Borrowed<'a> {
20967 value
20968 }
20969 }
20970
20971 unsafe impl fidl::encoding::TypeMarker for DirConnectorConnectRequest {
20972 type Owned = Self;
20973
20974 #[inline(always)]
20975 fn inline_align(_context: fidl::encoding::Context) -> usize {
20976 4
20977 }
20978
20979 #[inline(always)]
20980 fn inline_size(_context: fidl::encoding::Context) -> usize {
20981 4
20982 }
20983 }
20984
20985 unsafe impl
20986 fidl::encoding::Encode<
20987 DirConnectorConnectRequest,
20988 fidl::encoding::DefaultFuchsiaResourceDialect,
20989 > for &mut DirConnectorConnectRequest
20990 {
20991 #[inline]
20992 unsafe fn encode(
20993 self,
20994 encoder: &mut fidl::encoding::Encoder<
20995 '_,
20996 fidl::encoding::DefaultFuchsiaResourceDialect,
20997 >,
20998 offset: usize,
20999 _depth: fidl::encoding::Depth,
21000 ) -> fidl::Result<()> {
21001 encoder.debug_check_bounds::<DirConnectorConnectRequest>(offset);
21002 fidl::encoding::Encode::<
21004 DirConnectorConnectRequest,
21005 fidl::encoding::DefaultFuchsiaResourceDialect,
21006 >::encode(
21007 (<fidl::encoding::Endpoint<
21008 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21009 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21010 &mut self.channel
21011 ),),
21012 encoder,
21013 offset,
21014 _depth,
21015 )
21016 }
21017 }
21018 unsafe impl<
21019 T0: fidl::encoding::Encode<
21020 fidl::encoding::Endpoint<
21021 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21022 >,
21023 fidl::encoding::DefaultFuchsiaResourceDialect,
21024 >,
21025 >
21026 fidl::encoding::Encode<
21027 DirConnectorConnectRequest,
21028 fidl::encoding::DefaultFuchsiaResourceDialect,
21029 > for (T0,)
21030 {
21031 #[inline]
21032 unsafe fn encode(
21033 self,
21034 encoder: &mut fidl::encoding::Encoder<
21035 '_,
21036 fidl::encoding::DefaultFuchsiaResourceDialect,
21037 >,
21038 offset: usize,
21039 depth: fidl::encoding::Depth,
21040 ) -> fidl::Result<()> {
21041 encoder.debug_check_bounds::<DirConnectorConnectRequest>(offset);
21042 self.0.encode(encoder, offset + 0, depth)?;
21046 Ok(())
21047 }
21048 }
21049
21050 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21051 for DirConnectorConnectRequest
21052 {
21053 #[inline(always)]
21054 fn new_empty() -> Self {
21055 Self {
21056 channel: fidl::new_empty!(
21057 fidl::encoding::Endpoint<
21058 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21059 >,
21060 fidl::encoding::DefaultFuchsiaResourceDialect
21061 ),
21062 }
21063 }
21064
21065 #[inline]
21066 unsafe fn decode(
21067 &mut self,
21068 decoder: &mut fidl::encoding::Decoder<
21069 '_,
21070 fidl::encoding::DefaultFuchsiaResourceDialect,
21071 >,
21072 offset: usize,
21073 _depth: fidl::encoding::Depth,
21074 ) -> fidl::Result<()> {
21075 decoder.debug_check_bounds::<Self>(offset);
21076 fidl::decode!(
21078 fidl::encoding::Endpoint<
21079 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21080 >,
21081 fidl::encoding::DefaultFuchsiaResourceDialect,
21082 &mut self.channel,
21083 decoder,
21084 offset + 0,
21085 _depth
21086 )?;
21087 Ok(())
21088 }
21089 }
21090
21091 impl fidl::encoding::ResourceTypeMarker for DirConnectorRouterDeprecatedRouteRequest {
21092 type Borrowed<'a> = &'a mut Self;
21093 fn take_or_borrow<'a>(
21094 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21095 ) -> Self::Borrowed<'a> {
21096 value
21097 }
21098 }
21099
21100 unsafe impl fidl::encoding::TypeMarker for DirConnectorRouterDeprecatedRouteRequest {
21101 type Owned = Self;
21102
21103 #[inline(always)]
21104 fn inline_align(_context: fidl::encoding::Context) -> usize {
21105 8
21106 }
21107
21108 #[inline(always)]
21109 fn inline_size(_context: fidl::encoding::Context) -> usize {
21110 24
21111 }
21112 }
21113
21114 unsafe impl
21115 fidl::encoding::Encode<
21116 DirConnectorRouterDeprecatedRouteRequest,
21117 fidl::encoding::DefaultFuchsiaResourceDialect,
21118 > for &mut DirConnectorRouterDeprecatedRouteRequest
21119 {
21120 #[inline]
21121 unsafe fn encode(
21122 self,
21123 encoder: &mut fidl::encoding::Encoder<
21124 '_,
21125 fidl::encoding::DefaultFuchsiaResourceDialect,
21126 >,
21127 offset: usize,
21128 _depth: fidl::encoding::Depth,
21129 ) -> fidl::Result<()> {
21130 encoder.debug_check_bounds::<DirConnectorRouterDeprecatedRouteRequest>(offset);
21131 fidl::encoding::Encode::<DirConnectorRouterDeprecatedRouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
21133 (
21134 <DeprecatedRouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.request),
21135 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.dir_connector_server_end),
21136 ),
21137 encoder, offset, _depth
21138 )
21139 }
21140 }
21141 unsafe impl<
21142 T0: fidl::encoding::Encode<
21143 DeprecatedRouteRequest,
21144 fidl::encoding::DefaultFuchsiaResourceDialect,
21145 >,
21146 T1: fidl::encoding::Encode<
21147 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
21148 fidl::encoding::DefaultFuchsiaResourceDialect,
21149 >,
21150 >
21151 fidl::encoding::Encode<
21152 DirConnectorRouterDeprecatedRouteRequest,
21153 fidl::encoding::DefaultFuchsiaResourceDialect,
21154 > for (T0, T1)
21155 {
21156 #[inline]
21157 unsafe fn encode(
21158 self,
21159 encoder: &mut fidl::encoding::Encoder<
21160 '_,
21161 fidl::encoding::DefaultFuchsiaResourceDialect,
21162 >,
21163 offset: usize,
21164 depth: fidl::encoding::Depth,
21165 ) -> fidl::Result<()> {
21166 encoder.debug_check_bounds::<DirConnectorRouterDeprecatedRouteRequest>(offset);
21167 unsafe {
21170 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
21171 (ptr as *mut u64).write_unaligned(0);
21172 }
21173 self.0.encode(encoder, offset + 0, depth)?;
21175 self.1.encode(encoder, offset + 16, depth)?;
21176 Ok(())
21177 }
21178 }
21179
21180 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21181 for DirConnectorRouterDeprecatedRouteRequest
21182 {
21183 #[inline(always)]
21184 fn new_empty() -> Self {
21185 Self {
21186 request: fidl::new_empty!(
21187 DeprecatedRouteRequest,
21188 fidl::encoding::DefaultFuchsiaResourceDialect
21189 ),
21190 dir_connector_server_end: fidl::new_empty!(
21191 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
21192 fidl::encoding::DefaultFuchsiaResourceDialect
21193 ),
21194 }
21195 }
21196
21197 #[inline]
21198 unsafe fn decode(
21199 &mut self,
21200 decoder: &mut fidl::encoding::Decoder<
21201 '_,
21202 fidl::encoding::DefaultFuchsiaResourceDialect,
21203 >,
21204 offset: usize,
21205 _depth: fidl::encoding::Depth,
21206 ) -> fidl::Result<()> {
21207 decoder.debug_check_bounds::<Self>(offset);
21208 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
21210 let padval = unsafe { (ptr as *const u64).read_unaligned() };
21211 let mask = 0xffffffff00000000u64;
21212 let maskedval = padval & mask;
21213 if maskedval != 0 {
21214 return Err(fidl::Error::NonZeroPadding {
21215 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
21216 });
21217 }
21218 fidl::decode!(
21219 DeprecatedRouteRequest,
21220 fidl::encoding::DefaultFuchsiaResourceDialect,
21221 &mut self.request,
21222 decoder,
21223 offset + 0,
21224 _depth
21225 )?;
21226 fidl::decode!(
21227 fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<DirConnectorMarker>>,
21228 fidl::encoding::DefaultFuchsiaResourceDialect,
21229 &mut self.dir_connector_server_end,
21230 decoder,
21231 offset + 16,
21232 _depth
21233 )?;
21234 Ok(())
21235 }
21236 }
21237
21238 impl fidl::encoding::ResourceTypeMarker for DirConnectorRouterDeprecatedRouteResponse {
21239 type Borrowed<'a> = &'a mut Self;
21240 fn take_or_borrow<'a>(
21241 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21242 ) -> Self::Borrowed<'a> {
21243 value
21244 }
21245 }
21246
21247 unsafe impl fidl::encoding::TypeMarker for DirConnectorRouterDeprecatedRouteResponse {
21248 type Owned = Self;
21249
21250 #[inline(always)]
21251 fn inline_align(_context: fidl::encoding::Context) -> usize {
21252 4
21253 }
21254
21255 #[inline(always)]
21256 fn inline_size(_context: fidl::encoding::Context) -> usize {
21257 4
21258 }
21259 }
21260
21261 unsafe impl
21262 fidl::encoding::Encode<
21263 DirConnectorRouterDeprecatedRouteResponse,
21264 fidl::encoding::DefaultFuchsiaResourceDialect,
21265 > for &mut DirConnectorRouterDeprecatedRouteResponse
21266 {
21267 #[inline]
21268 unsafe fn encode(
21269 self,
21270 encoder: &mut fidl::encoding::Encoder<
21271 '_,
21272 fidl::encoding::DefaultFuchsiaResourceDialect,
21273 >,
21274 offset: usize,
21275 _depth: fidl::encoding::Depth,
21276 ) -> fidl::Result<()> {
21277 encoder.debug_check_bounds::<DirConnectorRouterDeprecatedRouteResponse>(offset);
21278 fidl::encoding::Encode::<
21280 DirConnectorRouterDeprecatedRouteResponse,
21281 fidl::encoding::DefaultFuchsiaResourceDialect,
21282 >::encode(
21283 (<RouterResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.response),),
21284 encoder,
21285 offset,
21286 _depth,
21287 )
21288 }
21289 }
21290 unsafe impl<
21291 T0: fidl::encoding::Encode<RouterResponse, fidl::encoding::DefaultFuchsiaResourceDialect>,
21292 >
21293 fidl::encoding::Encode<
21294 DirConnectorRouterDeprecatedRouteResponse,
21295 fidl::encoding::DefaultFuchsiaResourceDialect,
21296 > for (T0,)
21297 {
21298 #[inline]
21299 unsafe fn encode(
21300 self,
21301 encoder: &mut fidl::encoding::Encoder<
21302 '_,
21303 fidl::encoding::DefaultFuchsiaResourceDialect,
21304 >,
21305 offset: usize,
21306 depth: fidl::encoding::Depth,
21307 ) -> fidl::Result<()> {
21308 encoder.debug_check_bounds::<DirConnectorRouterDeprecatedRouteResponse>(offset);
21309 self.0.encode(encoder, offset + 0, depth)?;
21313 Ok(())
21314 }
21315 }
21316
21317 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21318 for DirConnectorRouterDeprecatedRouteResponse
21319 {
21320 #[inline(always)]
21321 fn new_empty() -> Self {
21322 Self {
21323 response: fidl::new_empty!(
21324 RouterResponse,
21325 fidl::encoding::DefaultFuchsiaResourceDialect
21326 ),
21327 }
21328 }
21329
21330 #[inline]
21331 unsafe fn decode(
21332 &mut self,
21333 decoder: &mut fidl::encoding::Decoder<
21334 '_,
21335 fidl::encoding::DefaultFuchsiaResourceDialect,
21336 >,
21337 offset: usize,
21338 _depth: fidl::encoding::Depth,
21339 ) -> fidl::Result<()> {
21340 decoder.debug_check_bounds::<Self>(offset);
21341 fidl::decode!(
21343 RouterResponse,
21344 fidl::encoding::DefaultFuchsiaResourceDialect,
21345 &mut self.response,
21346 decoder,
21347 offset + 0,
21348 _depth
21349 )?;
21350 Ok(())
21351 }
21352 }
21353
21354 impl fidl::encoding::ResourceTypeMarker for DirConnectorRouterRouteRequest {
21355 type Borrowed<'a> = &'a mut Self;
21356 fn take_or_borrow<'a>(
21357 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21358 ) -> Self::Borrowed<'a> {
21359 value
21360 }
21361 }
21362
21363 unsafe impl fidl::encoding::TypeMarker for DirConnectorRouterRouteRequest {
21364 type Owned = Self;
21365
21366 #[inline(always)]
21367 fn inline_align(_context: fidl::encoding::Context) -> usize {
21368 8
21369 }
21370
21371 #[inline(always)]
21372 fn inline_size(_context: fidl::encoding::Context) -> usize {
21373 24
21374 }
21375 }
21376
21377 unsafe impl
21378 fidl::encoding::Encode<
21379 DirConnectorRouterRouteRequest,
21380 fidl::encoding::DefaultFuchsiaResourceDialect,
21381 > for &mut DirConnectorRouterRouteRequest
21382 {
21383 #[inline]
21384 unsafe fn encode(
21385 self,
21386 encoder: &mut fidl::encoding::Encoder<
21387 '_,
21388 fidl::encoding::DefaultFuchsiaResourceDialect,
21389 >,
21390 offset: usize,
21391 _depth: fidl::encoding::Depth,
21392 ) -> fidl::Result<()> {
21393 encoder.debug_check_bounds::<DirConnectorRouterRouteRequest>(offset);
21394 fidl::encoding::Encode::<
21396 DirConnectorRouterRouteRequest,
21397 fidl::encoding::DefaultFuchsiaResourceDialect,
21398 >::encode(
21399 (
21400 <RouteRequest as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21401 &mut self.request,
21402 ),
21403 <fidl::encoding::HandleType<
21404 fidl::EventPair,
21405 { fidl::ObjectType::EVENTPAIR.into_raw() },
21406 2147483648,
21407 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21408 &mut self.instance_token,
21409 ),
21410 <fidl::encoding::HandleType<
21411 fidl::EventPair,
21412 { fidl::ObjectType::EVENTPAIR.into_raw() },
21413 2147483648,
21414 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21415 &mut self.handle
21416 ),
21417 ),
21418 encoder,
21419 offset,
21420 _depth,
21421 )
21422 }
21423 }
21424 unsafe impl<
21425 T0: fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>,
21426 T1: fidl::encoding::Encode<
21427 fidl::encoding::HandleType<
21428 fidl::EventPair,
21429 { fidl::ObjectType::EVENTPAIR.into_raw() },
21430 2147483648,
21431 >,
21432 fidl::encoding::DefaultFuchsiaResourceDialect,
21433 >,
21434 T2: fidl::encoding::Encode<
21435 fidl::encoding::HandleType<
21436 fidl::EventPair,
21437 { fidl::ObjectType::EVENTPAIR.into_raw() },
21438 2147483648,
21439 >,
21440 fidl::encoding::DefaultFuchsiaResourceDialect,
21441 >,
21442 >
21443 fidl::encoding::Encode<
21444 DirConnectorRouterRouteRequest,
21445 fidl::encoding::DefaultFuchsiaResourceDialect,
21446 > for (T0, T1, T2)
21447 {
21448 #[inline]
21449 unsafe fn encode(
21450 self,
21451 encoder: &mut fidl::encoding::Encoder<
21452 '_,
21453 fidl::encoding::DefaultFuchsiaResourceDialect,
21454 >,
21455 offset: usize,
21456 depth: fidl::encoding::Depth,
21457 ) -> fidl::Result<()> {
21458 encoder.debug_check_bounds::<DirConnectorRouterRouteRequest>(offset);
21459 self.0.encode(encoder, offset + 0, depth)?;
21463 self.1.encode(encoder, offset + 16, depth)?;
21464 self.2.encode(encoder, offset + 20, depth)?;
21465 Ok(())
21466 }
21467 }
21468
21469 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21470 for DirConnectorRouterRouteRequest
21471 {
21472 #[inline(always)]
21473 fn new_empty() -> Self {
21474 Self {
21475 request: fidl::new_empty!(
21476 RouteRequest,
21477 fidl::encoding::DefaultFuchsiaResourceDialect
21478 ),
21479 instance_token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
21480 handle: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
21481 }
21482 }
21483
21484 #[inline]
21485 unsafe fn decode(
21486 &mut self,
21487 decoder: &mut fidl::encoding::Decoder<
21488 '_,
21489 fidl::encoding::DefaultFuchsiaResourceDialect,
21490 >,
21491 offset: usize,
21492 _depth: fidl::encoding::Depth,
21493 ) -> fidl::Result<()> {
21494 decoder.debug_check_bounds::<Self>(offset);
21495 fidl::decode!(
21497 RouteRequest,
21498 fidl::encoding::DefaultFuchsiaResourceDialect,
21499 &mut self.request,
21500 decoder,
21501 offset + 0,
21502 _depth
21503 )?;
21504 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.instance_token, decoder, offset + 16, _depth)?;
21505 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.handle, decoder, offset + 20, _depth)?;
21506 Ok(())
21507 }
21508 }
21509
21510 impl fidl::encoding::ResourceTypeMarker for DirReceiverDeprecatedReceiveRequest {
21511 type Borrowed<'a> = &'a mut Self;
21512 fn take_or_borrow<'a>(
21513 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21514 ) -> Self::Borrowed<'a> {
21515 value
21516 }
21517 }
21518
21519 unsafe impl fidl::encoding::TypeMarker for DirReceiverDeprecatedReceiveRequest {
21520 type Owned = Self;
21521
21522 #[inline(always)]
21523 fn inline_align(_context: fidl::encoding::Context) -> usize {
21524 4
21525 }
21526
21527 #[inline(always)]
21528 fn inline_size(_context: fidl::encoding::Context) -> usize {
21529 4
21530 }
21531 }
21532
21533 unsafe impl
21534 fidl::encoding::Encode<
21535 DirReceiverDeprecatedReceiveRequest,
21536 fidl::encoding::DefaultFuchsiaResourceDialect,
21537 > for &mut DirReceiverDeprecatedReceiveRequest
21538 {
21539 #[inline]
21540 unsafe fn encode(
21541 self,
21542 encoder: &mut fidl::encoding::Encoder<
21543 '_,
21544 fidl::encoding::DefaultFuchsiaResourceDialect,
21545 >,
21546 offset: usize,
21547 _depth: fidl::encoding::Depth,
21548 ) -> fidl::Result<()> {
21549 encoder.debug_check_bounds::<DirReceiverDeprecatedReceiveRequest>(offset);
21550 fidl::encoding::Encode::<
21552 DirReceiverDeprecatedReceiveRequest,
21553 fidl::encoding::DefaultFuchsiaResourceDialect,
21554 >::encode(
21555 (<fidl::encoding::Endpoint<
21556 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21557 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21558 &mut self.channel
21559 ),),
21560 encoder,
21561 offset,
21562 _depth,
21563 )
21564 }
21565 }
21566 unsafe impl<
21567 T0: fidl::encoding::Encode<
21568 fidl::encoding::Endpoint<
21569 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21570 >,
21571 fidl::encoding::DefaultFuchsiaResourceDialect,
21572 >,
21573 >
21574 fidl::encoding::Encode<
21575 DirReceiverDeprecatedReceiveRequest,
21576 fidl::encoding::DefaultFuchsiaResourceDialect,
21577 > for (T0,)
21578 {
21579 #[inline]
21580 unsafe fn encode(
21581 self,
21582 encoder: &mut fidl::encoding::Encoder<
21583 '_,
21584 fidl::encoding::DefaultFuchsiaResourceDialect,
21585 >,
21586 offset: usize,
21587 depth: fidl::encoding::Depth,
21588 ) -> fidl::Result<()> {
21589 encoder.debug_check_bounds::<DirReceiverDeprecatedReceiveRequest>(offset);
21590 self.0.encode(encoder, offset + 0, depth)?;
21594 Ok(())
21595 }
21596 }
21597
21598 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21599 for DirReceiverDeprecatedReceiveRequest
21600 {
21601 #[inline(always)]
21602 fn new_empty() -> Self {
21603 Self {
21604 channel: fidl::new_empty!(
21605 fidl::encoding::Endpoint<
21606 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21607 >,
21608 fidl::encoding::DefaultFuchsiaResourceDialect
21609 ),
21610 }
21611 }
21612
21613 #[inline]
21614 unsafe fn decode(
21615 &mut self,
21616 decoder: &mut fidl::encoding::Decoder<
21617 '_,
21618 fidl::encoding::DefaultFuchsiaResourceDialect,
21619 >,
21620 offset: usize,
21621 _depth: fidl::encoding::Depth,
21622 ) -> fidl::Result<()> {
21623 decoder.debug_check_bounds::<Self>(offset);
21624 fidl::decode!(
21626 fidl::encoding::Endpoint<
21627 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21628 >,
21629 fidl::encoding::DefaultFuchsiaResourceDialect,
21630 &mut self.channel,
21631 decoder,
21632 offset + 0,
21633 _depth
21634 )?;
21635 Ok(())
21636 }
21637 }
21638
21639 impl fidl::encoding::ResourceTypeMarker for DirReceiverReceiveRequest {
21640 type Borrowed<'a> = &'a mut Self;
21641 fn take_or_borrow<'a>(
21642 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21643 ) -> Self::Borrowed<'a> {
21644 value
21645 }
21646 }
21647
21648 unsafe impl fidl::encoding::TypeMarker for DirReceiverReceiveRequest {
21649 type Owned = Self;
21650
21651 #[inline(always)]
21652 fn inline_align(_context: fidl::encoding::Context) -> usize {
21653 8
21654 }
21655
21656 #[inline(always)]
21657 fn inline_size(_context: fidl::encoding::Context) -> usize {
21658 32
21659 }
21660 }
21661
21662 unsafe impl
21663 fidl::encoding::Encode<
21664 DirReceiverReceiveRequest,
21665 fidl::encoding::DefaultFuchsiaResourceDialect,
21666 > for &mut DirReceiverReceiveRequest
21667 {
21668 #[inline]
21669 unsafe fn encode(
21670 self,
21671 encoder: &mut fidl::encoding::Encoder<
21672 '_,
21673 fidl::encoding::DefaultFuchsiaResourceDialect,
21674 >,
21675 offset: usize,
21676 _depth: fidl::encoding::Depth,
21677 ) -> fidl::Result<()> {
21678 encoder.debug_check_bounds::<DirReceiverReceiveRequest>(offset);
21679 fidl::encoding::Encode::<DirReceiverReceiveRequest, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
21681 (
21682 <fidl::encoding::Endpoint<fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.channel),
21683 <fidl::encoding::BoundedString<4095> as fidl::encoding::ValueTypeMarker>::borrow(&self.path),
21684 <fidl_fuchsia_io::Flags as fidl::encoding::ValueTypeMarker>::borrow(&self.rights),
21685 ),
21686 encoder, offset, _depth
21687 )
21688 }
21689 }
21690 unsafe impl<
21691 T0: fidl::encoding::Encode<
21692 fidl::encoding::Endpoint<
21693 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21694 >,
21695 fidl::encoding::DefaultFuchsiaResourceDialect,
21696 >,
21697 T1: fidl::encoding::Encode<
21698 fidl::encoding::BoundedString<4095>,
21699 fidl::encoding::DefaultFuchsiaResourceDialect,
21700 >,
21701 T2: fidl::encoding::Encode<
21702 fidl_fuchsia_io::Flags,
21703 fidl::encoding::DefaultFuchsiaResourceDialect,
21704 >,
21705 >
21706 fidl::encoding::Encode<
21707 DirReceiverReceiveRequest,
21708 fidl::encoding::DefaultFuchsiaResourceDialect,
21709 > for (T0, T1, T2)
21710 {
21711 #[inline]
21712 unsafe fn encode(
21713 self,
21714 encoder: &mut fidl::encoding::Encoder<
21715 '_,
21716 fidl::encoding::DefaultFuchsiaResourceDialect,
21717 >,
21718 offset: usize,
21719 depth: fidl::encoding::Depth,
21720 ) -> fidl::Result<()> {
21721 encoder.debug_check_bounds::<DirReceiverReceiveRequest>(offset);
21722 unsafe {
21725 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
21726 (ptr as *mut u64).write_unaligned(0);
21727 }
21728 self.0.encode(encoder, offset + 0, depth)?;
21730 self.1.encode(encoder, offset + 8, depth)?;
21731 self.2.encode(encoder, offset + 24, depth)?;
21732 Ok(())
21733 }
21734 }
21735
21736 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21737 for DirReceiverReceiveRequest
21738 {
21739 #[inline(always)]
21740 fn new_empty() -> Self {
21741 Self {
21742 channel: fidl::new_empty!(
21743 fidl::encoding::Endpoint<
21744 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21745 >,
21746 fidl::encoding::DefaultFuchsiaResourceDialect
21747 ),
21748 path: fidl::new_empty!(
21749 fidl::encoding::BoundedString<4095>,
21750 fidl::encoding::DefaultFuchsiaResourceDialect
21751 ),
21752 rights: fidl::new_empty!(
21753 fidl_fuchsia_io::Flags,
21754 fidl::encoding::DefaultFuchsiaResourceDialect
21755 ),
21756 }
21757 }
21758
21759 #[inline]
21760 unsafe fn decode(
21761 &mut self,
21762 decoder: &mut fidl::encoding::Decoder<
21763 '_,
21764 fidl::encoding::DefaultFuchsiaResourceDialect,
21765 >,
21766 offset: usize,
21767 _depth: fidl::encoding::Depth,
21768 ) -> fidl::Result<()> {
21769 decoder.debug_check_bounds::<Self>(offset);
21770 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
21772 let padval = unsafe { (ptr as *const u64).read_unaligned() };
21773 let mask = 0xffffffff00000000u64;
21774 let maskedval = padval & mask;
21775 if maskedval != 0 {
21776 return Err(fidl::Error::NonZeroPadding {
21777 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
21778 });
21779 }
21780 fidl::decode!(
21781 fidl::encoding::Endpoint<
21782 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
21783 >,
21784 fidl::encoding::DefaultFuchsiaResourceDialect,
21785 &mut self.channel,
21786 decoder,
21787 offset + 0,
21788 _depth
21789 )?;
21790 fidl::decode!(
21791 fidl::encoding::BoundedString<4095>,
21792 fidl::encoding::DefaultFuchsiaResourceDialect,
21793 &mut self.path,
21794 decoder,
21795 offset + 8,
21796 _depth
21797 )?;
21798 fidl::decode!(
21799 fidl_fuchsia_io::Flags,
21800 fidl::encoding::DefaultFuchsiaResourceDialect,
21801 &mut self.rights,
21802 decoder,
21803 offset + 24,
21804 _depth
21805 )?;
21806 Ok(())
21807 }
21808 }
21809
21810 impl fidl::encoding::ResourceTypeMarker for ReceiverReceiveRequest {
21811 type Borrowed<'a> = &'a mut Self;
21812 fn take_or_borrow<'a>(
21813 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21814 ) -> Self::Borrowed<'a> {
21815 value
21816 }
21817 }
21818
21819 unsafe impl fidl::encoding::TypeMarker for ReceiverReceiveRequest {
21820 type Owned = Self;
21821
21822 #[inline(always)]
21823 fn inline_align(_context: fidl::encoding::Context) -> usize {
21824 4
21825 }
21826
21827 #[inline(always)]
21828 fn inline_size(_context: fidl::encoding::Context) -> usize {
21829 4
21830 }
21831 }
21832
21833 unsafe impl
21834 fidl::encoding::Encode<
21835 ReceiverReceiveRequest,
21836 fidl::encoding::DefaultFuchsiaResourceDialect,
21837 > for &mut ReceiverReceiveRequest
21838 {
21839 #[inline]
21840 unsafe fn encode(
21841 self,
21842 encoder: &mut fidl::encoding::Encoder<
21843 '_,
21844 fidl::encoding::DefaultFuchsiaResourceDialect,
21845 >,
21846 offset: usize,
21847 _depth: fidl::encoding::Depth,
21848 ) -> fidl::Result<()> {
21849 encoder.debug_check_bounds::<ReceiverReceiveRequest>(offset);
21850 fidl::encoding::Encode::<
21852 ReceiverReceiveRequest,
21853 fidl::encoding::DefaultFuchsiaResourceDialect,
21854 >::encode(
21855 (<fidl::encoding::HandleType<
21856 fidl::Channel,
21857 { fidl::ObjectType::CHANNEL.into_raw() },
21858 2147483648,
21859 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow(
21860 &mut self.channel
21861 ),),
21862 encoder,
21863 offset,
21864 _depth,
21865 )
21866 }
21867 }
21868 unsafe impl<
21869 T0: fidl::encoding::Encode<
21870 fidl::encoding::HandleType<
21871 fidl::Channel,
21872 { fidl::ObjectType::CHANNEL.into_raw() },
21873 2147483648,
21874 >,
21875 fidl::encoding::DefaultFuchsiaResourceDialect,
21876 >,
21877 >
21878 fidl::encoding::Encode<
21879 ReceiverReceiveRequest,
21880 fidl::encoding::DefaultFuchsiaResourceDialect,
21881 > for (T0,)
21882 {
21883 #[inline]
21884 unsafe fn encode(
21885 self,
21886 encoder: &mut fidl::encoding::Encoder<
21887 '_,
21888 fidl::encoding::DefaultFuchsiaResourceDialect,
21889 >,
21890 offset: usize,
21891 depth: fidl::encoding::Depth,
21892 ) -> fidl::Result<()> {
21893 encoder.debug_check_bounds::<ReceiverReceiveRequest>(offset);
21894 self.0.encode(encoder, offset + 0, depth)?;
21898 Ok(())
21899 }
21900 }
21901
21902 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
21903 for ReceiverReceiveRequest
21904 {
21905 #[inline(always)]
21906 fn new_empty() -> Self {
21907 Self {
21908 channel: fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
21909 }
21910 }
21911
21912 #[inline]
21913 unsafe fn decode(
21914 &mut self,
21915 decoder: &mut fidl::encoding::Decoder<
21916 '_,
21917 fidl::encoding::DefaultFuchsiaResourceDialect,
21918 >,
21919 offset: usize,
21920 _depth: fidl::encoding::Depth,
21921 ) -> fidl::Result<()> {
21922 decoder.debug_check_bounds::<Self>(offset);
21923 fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.channel, decoder, offset + 0, _depth)?;
21925 Ok(())
21926 }
21927 }
21928
21929 impl fidl::encoding::ResourceTypeMarker for WeakInstanceToken {
21930 type Borrowed<'a> = &'a mut Self;
21931 fn take_or_borrow<'a>(
21932 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
21933 ) -> Self::Borrowed<'a> {
21934 value
21935 }
21936 }
21937
21938 unsafe impl fidl::encoding::TypeMarker for WeakInstanceToken {
21939 type Owned = Self;
21940
21941 #[inline(always)]
21942 fn inline_align(_context: fidl::encoding::Context) -> usize {
21943 4
21944 }
21945
21946 #[inline(always)]
21947 fn inline_size(_context: fidl::encoding::Context) -> usize {
21948 4
21949 }
21950 }
21951
21952 unsafe impl
21953 fidl::encoding::Encode<WeakInstanceToken, fidl::encoding::DefaultFuchsiaResourceDialect>
21954 for &mut WeakInstanceToken
21955 {
21956 #[inline]
21957 unsafe fn encode(
21958 self,
21959 encoder: &mut fidl::encoding::Encoder<
21960 '_,
21961 fidl::encoding::DefaultFuchsiaResourceDialect,
21962 >,
21963 offset: usize,
21964 _depth: fidl::encoding::Depth,
21965 ) -> fidl::Result<()> {
21966 encoder.debug_check_bounds::<WeakInstanceToken>(offset);
21967 fidl::encoding::Encode::<WeakInstanceToken, fidl::encoding::DefaultFuchsiaResourceDialect>::encode(
21969 (
21970 <fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(&mut self.token),
21971 ),
21972 encoder, offset, _depth
21973 )
21974 }
21975 }
21976 unsafe impl<
21977 T0: fidl::encoding::Encode<
21978 fidl::encoding::HandleType<
21979 fidl::EventPair,
21980 { fidl::ObjectType::EVENTPAIR.into_raw() },
21981 2147483648,
21982 >,
21983 fidl::encoding::DefaultFuchsiaResourceDialect,
21984 >,
21985 > fidl::encoding::Encode<WeakInstanceToken, fidl::encoding::DefaultFuchsiaResourceDialect>
21986 for (T0,)
21987 {
21988 #[inline]
21989 unsafe fn encode(
21990 self,
21991 encoder: &mut fidl::encoding::Encoder<
21992 '_,
21993 fidl::encoding::DefaultFuchsiaResourceDialect,
21994 >,
21995 offset: usize,
21996 depth: fidl::encoding::Depth,
21997 ) -> fidl::Result<()> {
21998 encoder.debug_check_bounds::<WeakInstanceToken>(offset);
21999 self.0.encode(encoder, offset + 0, depth)?;
22003 Ok(())
22004 }
22005 }
22006
22007 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
22008 for WeakInstanceToken
22009 {
22010 #[inline(always)]
22011 fn new_empty() -> Self {
22012 Self {
22013 token: fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect),
22014 }
22015 }
22016
22017 #[inline]
22018 unsafe fn decode(
22019 &mut self,
22020 decoder: &mut fidl::encoding::Decoder<
22021 '_,
22022 fidl::encoding::DefaultFuchsiaResourceDialect,
22023 >,
22024 offset: usize,
22025 _depth: fidl::encoding::Depth,
22026 ) -> fidl::Result<()> {
22027 decoder.debug_check_bounds::<Self>(offset);
22028 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, &mut self.token, decoder, offset + 0, _depth)?;
22030 Ok(())
22031 }
22032 }
22033
22034 impl CapabilitiesDictionaryRemoveRequest {
22035 #[inline(always)]
22036 fn max_ordinal_present(&self) -> u64 {
22037 if let Some(_) = self.value {
22038 return 3;
22039 }
22040 if let Some(_) = self.key {
22041 return 2;
22042 }
22043 if let Some(_) = self.dictionary {
22044 return 1;
22045 }
22046 0
22047 }
22048 }
22049
22050 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDictionaryRemoveRequest {
22051 type Borrowed<'a> = &'a mut Self;
22052 fn take_or_borrow<'a>(
22053 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
22054 ) -> Self::Borrowed<'a> {
22055 value
22056 }
22057 }
22058
22059 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDictionaryRemoveRequest {
22060 type Owned = Self;
22061
22062 #[inline(always)]
22063 fn inline_align(_context: fidl::encoding::Context) -> usize {
22064 8
22065 }
22066
22067 #[inline(always)]
22068 fn inline_size(_context: fidl::encoding::Context) -> usize {
22069 16
22070 }
22071 }
22072
22073 unsafe impl
22074 fidl::encoding::Encode<
22075 CapabilitiesDictionaryRemoveRequest,
22076 fidl::encoding::DefaultFuchsiaResourceDialect,
22077 > for &mut CapabilitiesDictionaryRemoveRequest
22078 {
22079 unsafe fn encode(
22080 self,
22081 encoder: &mut fidl::encoding::Encoder<
22082 '_,
22083 fidl::encoding::DefaultFuchsiaResourceDialect,
22084 >,
22085 offset: usize,
22086 mut depth: fidl::encoding::Depth,
22087 ) -> fidl::Result<()> {
22088 encoder.debug_check_bounds::<CapabilitiesDictionaryRemoveRequest>(offset);
22089 let max_ordinal: u64 = self.max_ordinal_present();
22091 encoder.write_num(max_ordinal, offset);
22092 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
22093 if max_ordinal == 0 {
22095 return Ok(());
22096 }
22097 depth.increment()?;
22098 let envelope_size = 8;
22099 let bytes_len = max_ordinal as usize * envelope_size;
22100 #[allow(unused_variables)]
22101 let offset = encoder.out_of_line_offset(bytes_len);
22102 let mut _prev_end_offset: usize = 0;
22103 if 1 > max_ordinal {
22104 return Ok(());
22105 }
22106
22107 let cur_offset: usize = (1 - 1) * envelope_size;
22110
22111 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22113
22114 fidl::encoding::encode_in_envelope_optional::<
22119 fidl::encoding::HandleType<
22120 fidl::EventPair,
22121 { fidl::ObjectType::EVENTPAIR.into_raw() },
22122 2147483648,
22123 >,
22124 fidl::encoding::DefaultFuchsiaResourceDialect,
22125 >(
22126 self.dictionary.as_mut().map(
22127 <fidl::encoding::HandleType<
22128 fidl::EventPair,
22129 { fidl::ObjectType::EVENTPAIR.into_raw() },
22130 2147483648,
22131 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
22132 ),
22133 encoder,
22134 offset + cur_offset,
22135 depth,
22136 )?;
22137
22138 _prev_end_offset = cur_offset + envelope_size;
22139 if 2 > max_ordinal {
22140 return Ok(());
22141 }
22142
22143 let cur_offset: usize = (2 - 1) * envelope_size;
22146
22147 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22149
22150 fidl::encoding::encode_in_envelope_optional::<
22155 fidl::encoding::BoundedString<100>,
22156 fidl::encoding::DefaultFuchsiaResourceDialect,
22157 >(
22158 self.key.as_ref().map(
22159 <fidl::encoding::BoundedString<100> as fidl::encoding::ValueTypeMarker>::borrow,
22160 ),
22161 encoder,
22162 offset + cur_offset,
22163 depth,
22164 )?;
22165
22166 _prev_end_offset = cur_offset + envelope_size;
22167 if 3 > max_ordinal {
22168 return Ok(());
22169 }
22170
22171 let cur_offset: usize = (3 - 1) * envelope_size;
22174
22175 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22177
22178 fidl::encoding::encode_in_envelope_optional::<
22183 fidl::encoding::HandleType<
22184 fidl::EventPair,
22185 { fidl::ObjectType::EVENTPAIR.into_raw() },
22186 2147483648,
22187 >,
22188 fidl::encoding::DefaultFuchsiaResourceDialect,
22189 >(
22190 self.value.as_mut().map(
22191 <fidl::encoding::HandleType<
22192 fidl::EventPair,
22193 { fidl::ObjectType::EVENTPAIR.into_raw() },
22194 2147483648,
22195 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
22196 ),
22197 encoder,
22198 offset + cur_offset,
22199 depth,
22200 )?;
22201
22202 _prev_end_offset = cur_offset + envelope_size;
22203
22204 Ok(())
22205 }
22206 }
22207
22208 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
22209 for CapabilitiesDictionaryRemoveRequest
22210 {
22211 #[inline(always)]
22212 fn new_empty() -> Self {
22213 Self::default()
22214 }
22215
22216 unsafe fn decode(
22217 &mut self,
22218 decoder: &mut fidl::encoding::Decoder<
22219 '_,
22220 fidl::encoding::DefaultFuchsiaResourceDialect,
22221 >,
22222 offset: usize,
22223 mut depth: fidl::encoding::Depth,
22224 ) -> fidl::Result<()> {
22225 decoder.debug_check_bounds::<Self>(offset);
22226 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
22227 None => return Err(fidl::Error::NotNullable),
22228 Some(len) => len,
22229 };
22230 if len == 0 {
22232 return Ok(());
22233 };
22234 depth.increment()?;
22235 let envelope_size = 8;
22236 let bytes_len = len * envelope_size;
22237 let offset = decoder.out_of_line_offset(bytes_len)?;
22238 let mut _next_ordinal_to_read = 0;
22240 let mut next_offset = offset;
22241 let end_offset = offset + bytes_len;
22242 _next_ordinal_to_read += 1;
22243 if next_offset >= end_offset {
22244 return Ok(());
22245 }
22246
22247 while _next_ordinal_to_read < 1 {
22249 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22250 _next_ordinal_to_read += 1;
22251 next_offset += envelope_size;
22252 }
22253
22254 let next_out_of_line = decoder.next_out_of_line();
22255 let handles_before = decoder.remaining_handles();
22256 if let Some((inlined, num_bytes, num_handles)) =
22257 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22258 {
22259 let member_inline_size = <fidl::encoding::HandleType<
22260 fidl::EventPair,
22261 { fidl::ObjectType::EVENTPAIR.into_raw() },
22262 2147483648,
22263 > as fidl::encoding::TypeMarker>::inline_size(
22264 decoder.context
22265 );
22266 if inlined != (member_inline_size <= 4) {
22267 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22268 }
22269 let inner_offset;
22270 let mut inner_depth = depth.clone();
22271 if inlined {
22272 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22273 inner_offset = next_offset;
22274 } else {
22275 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22276 inner_depth.increment()?;
22277 }
22278 let val_ref =
22279 self.dictionary.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
22280 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
22281 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22282 {
22283 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22284 }
22285 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22286 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22287 }
22288 }
22289
22290 next_offset += envelope_size;
22291 _next_ordinal_to_read += 1;
22292 if next_offset >= end_offset {
22293 return Ok(());
22294 }
22295
22296 while _next_ordinal_to_read < 2 {
22298 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22299 _next_ordinal_to_read += 1;
22300 next_offset += envelope_size;
22301 }
22302
22303 let next_out_of_line = decoder.next_out_of_line();
22304 let handles_before = decoder.remaining_handles();
22305 if let Some((inlined, num_bytes, num_handles)) =
22306 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22307 {
22308 let member_inline_size =
22309 <fidl::encoding::BoundedString<100> as fidl::encoding::TypeMarker>::inline_size(
22310 decoder.context,
22311 );
22312 if inlined != (member_inline_size <= 4) {
22313 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22314 }
22315 let inner_offset;
22316 let mut inner_depth = depth.clone();
22317 if inlined {
22318 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22319 inner_offset = next_offset;
22320 } else {
22321 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22322 inner_depth.increment()?;
22323 }
22324 let val_ref = self.key.get_or_insert_with(|| {
22325 fidl::new_empty!(
22326 fidl::encoding::BoundedString<100>,
22327 fidl::encoding::DefaultFuchsiaResourceDialect
22328 )
22329 });
22330 fidl::decode!(
22331 fidl::encoding::BoundedString<100>,
22332 fidl::encoding::DefaultFuchsiaResourceDialect,
22333 val_ref,
22334 decoder,
22335 inner_offset,
22336 inner_depth
22337 )?;
22338 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22339 {
22340 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22341 }
22342 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22343 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22344 }
22345 }
22346
22347 next_offset += envelope_size;
22348 _next_ordinal_to_read += 1;
22349 if next_offset >= end_offset {
22350 return Ok(());
22351 }
22352
22353 while _next_ordinal_to_read < 3 {
22355 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22356 _next_ordinal_to_read += 1;
22357 next_offset += envelope_size;
22358 }
22359
22360 let next_out_of_line = decoder.next_out_of_line();
22361 let handles_before = decoder.remaining_handles();
22362 if let Some((inlined, num_bytes, num_handles)) =
22363 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22364 {
22365 let member_inline_size = <fidl::encoding::HandleType<
22366 fidl::EventPair,
22367 { fidl::ObjectType::EVENTPAIR.into_raw() },
22368 2147483648,
22369 > as fidl::encoding::TypeMarker>::inline_size(
22370 decoder.context
22371 );
22372 if inlined != (member_inline_size <= 4) {
22373 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22374 }
22375 let inner_offset;
22376 let mut inner_depth = depth.clone();
22377 if inlined {
22378 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22379 inner_offset = next_offset;
22380 } else {
22381 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22382 inner_depth.increment()?;
22383 }
22384 let val_ref =
22385 self.value.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
22386 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
22387 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22388 {
22389 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22390 }
22391 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22392 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22393 }
22394 }
22395
22396 next_offset += envelope_size;
22397
22398 while next_offset < end_offset {
22400 _next_ordinal_to_read += 1;
22401 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22402 next_offset += envelope_size;
22403 }
22404
22405 Ok(())
22406 }
22407 }
22408
22409 impl CapabilitiesDirConnectorOpenRequest {
22410 #[inline(always)]
22411 fn max_ordinal_present(&self) -> u64 {
22412 if let Some(_) = self.path {
22413 return 4;
22414 }
22415 if let Some(_) = self.flags {
22416 return 3;
22417 }
22418 if let Some(_) = self.channel {
22419 return 2;
22420 }
22421 if let Some(_) = self.dir_connector {
22422 return 1;
22423 }
22424 0
22425 }
22426 }
22427
22428 impl fidl::encoding::ResourceTypeMarker for CapabilitiesDirConnectorOpenRequest {
22429 type Borrowed<'a> = &'a mut Self;
22430 fn take_or_borrow<'a>(
22431 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
22432 ) -> Self::Borrowed<'a> {
22433 value
22434 }
22435 }
22436
22437 unsafe impl fidl::encoding::TypeMarker for CapabilitiesDirConnectorOpenRequest {
22438 type Owned = Self;
22439
22440 #[inline(always)]
22441 fn inline_align(_context: fidl::encoding::Context) -> usize {
22442 8
22443 }
22444
22445 #[inline(always)]
22446 fn inline_size(_context: fidl::encoding::Context) -> usize {
22447 16
22448 }
22449 }
22450
22451 unsafe impl
22452 fidl::encoding::Encode<
22453 CapabilitiesDirConnectorOpenRequest,
22454 fidl::encoding::DefaultFuchsiaResourceDialect,
22455 > for &mut CapabilitiesDirConnectorOpenRequest
22456 {
22457 unsafe fn encode(
22458 self,
22459 encoder: &mut fidl::encoding::Encoder<
22460 '_,
22461 fidl::encoding::DefaultFuchsiaResourceDialect,
22462 >,
22463 offset: usize,
22464 mut depth: fidl::encoding::Depth,
22465 ) -> fidl::Result<()> {
22466 encoder.debug_check_bounds::<CapabilitiesDirConnectorOpenRequest>(offset);
22467 let max_ordinal: u64 = self.max_ordinal_present();
22469 encoder.write_num(max_ordinal, offset);
22470 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
22471 if max_ordinal == 0 {
22473 return Ok(());
22474 }
22475 depth.increment()?;
22476 let envelope_size = 8;
22477 let bytes_len = max_ordinal as usize * envelope_size;
22478 #[allow(unused_variables)]
22479 let offset = encoder.out_of_line_offset(bytes_len);
22480 let mut _prev_end_offset: usize = 0;
22481 if 1 > max_ordinal {
22482 return Ok(());
22483 }
22484
22485 let cur_offset: usize = (1 - 1) * envelope_size;
22488
22489 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22491
22492 fidl::encoding::encode_in_envelope_optional::<
22497 fidl::encoding::HandleType<
22498 fidl::EventPair,
22499 { fidl::ObjectType::EVENTPAIR.into_raw() },
22500 2147483648,
22501 >,
22502 fidl::encoding::DefaultFuchsiaResourceDialect,
22503 >(
22504 self.dir_connector.as_mut().map(
22505 <fidl::encoding::HandleType<
22506 fidl::EventPair,
22507 { fidl::ObjectType::EVENTPAIR.into_raw() },
22508 2147483648,
22509 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
22510 ),
22511 encoder,
22512 offset + cur_offset,
22513 depth,
22514 )?;
22515
22516 _prev_end_offset = cur_offset + envelope_size;
22517 if 2 > max_ordinal {
22518 return Ok(());
22519 }
22520
22521 let cur_offset: usize = (2 - 1) * envelope_size;
22524
22525 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22527
22528 fidl::encoding::encode_in_envelope_optional::<
22533 fidl::encoding::Endpoint<
22534 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22535 >,
22536 fidl::encoding::DefaultFuchsiaResourceDialect,
22537 >(
22538 self.channel.as_mut().map(
22539 <fidl::encoding::Endpoint<
22540 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22541 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
22542 ),
22543 encoder,
22544 offset + cur_offset,
22545 depth,
22546 )?;
22547
22548 _prev_end_offset = cur_offset + envelope_size;
22549 if 3 > max_ordinal {
22550 return Ok(());
22551 }
22552
22553 let cur_offset: usize = (3 - 1) * envelope_size;
22556
22557 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22559
22560 fidl::encoding::encode_in_envelope_optional::<
22565 fidl_fuchsia_io::Flags,
22566 fidl::encoding::DefaultFuchsiaResourceDialect,
22567 >(
22568 self.flags
22569 .as_ref()
22570 .map(<fidl_fuchsia_io::Flags as fidl::encoding::ValueTypeMarker>::borrow),
22571 encoder,
22572 offset + cur_offset,
22573 depth,
22574 )?;
22575
22576 _prev_end_offset = cur_offset + envelope_size;
22577 if 4 > max_ordinal {
22578 return Ok(());
22579 }
22580
22581 let cur_offset: usize = (4 - 1) * envelope_size;
22584
22585 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22587
22588 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<4095>, fidl::encoding::DefaultFuchsiaResourceDialect>(
22593 self.path.as_ref().map(<fidl::encoding::BoundedString<4095> as fidl::encoding::ValueTypeMarker>::borrow),
22594 encoder, offset + cur_offset, depth
22595 )?;
22596
22597 _prev_end_offset = cur_offset + envelope_size;
22598
22599 Ok(())
22600 }
22601 }
22602
22603 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
22604 for CapabilitiesDirConnectorOpenRequest
22605 {
22606 #[inline(always)]
22607 fn new_empty() -> Self {
22608 Self::default()
22609 }
22610
22611 unsafe fn decode(
22612 &mut self,
22613 decoder: &mut fidl::encoding::Decoder<
22614 '_,
22615 fidl::encoding::DefaultFuchsiaResourceDialect,
22616 >,
22617 offset: usize,
22618 mut depth: fidl::encoding::Depth,
22619 ) -> fidl::Result<()> {
22620 decoder.debug_check_bounds::<Self>(offset);
22621 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
22622 None => return Err(fidl::Error::NotNullable),
22623 Some(len) => len,
22624 };
22625 if len == 0 {
22627 return Ok(());
22628 };
22629 depth.increment()?;
22630 let envelope_size = 8;
22631 let bytes_len = len * envelope_size;
22632 let offset = decoder.out_of_line_offset(bytes_len)?;
22633 let mut _next_ordinal_to_read = 0;
22635 let mut next_offset = offset;
22636 let end_offset = offset + bytes_len;
22637 _next_ordinal_to_read += 1;
22638 if next_offset >= end_offset {
22639 return Ok(());
22640 }
22641
22642 while _next_ordinal_to_read < 1 {
22644 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22645 _next_ordinal_to_read += 1;
22646 next_offset += envelope_size;
22647 }
22648
22649 let next_out_of_line = decoder.next_out_of_line();
22650 let handles_before = decoder.remaining_handles();
22651 if let Some((inlined, num_bytes, num_handles)) =
22652 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22653 {
22654 let member_inline_size = <fidl::encoding::HandleType<
22655 fidl::EventPair,
22656 { fidl::ObjectType::EVENTPAIR.into_raw() },
22657 2147483648,
22658 > as fidl::encoding::TypeMarker>::inline_size(
22659 decoder.context
22660 );
22661 if inlined != (member_inline_size <= 4) {
22662 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22663 }
22664 let inner_offset;
22665 let mut inner_depth = depth.clone();
22666 if inlined {
22667 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22668 inner_offset = next_offset;
22669 } else {
22670 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22671 inner_depth.increment()?;
22672 }
22673 let val_ref =
22674 self.dir_connector.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
22675 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
22676 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22677 {
22678 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22679 }
22680 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22681 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22682 }
22683 }
22684
22685 next_offset += envelope_size;
22686 _next_ordinal_to_read += 1;
22687 if next_offset >= end_offset {
22688 return Ok(());
22689 }
22690
22691 while _next_ordinal_to_read < 2 {
22693 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22694 _next_ordinal_to_read += 1;
22695 next_offset += envelope_size;
22696 }
22697
22698 let next_out_of_line = decoder.next_out_of_line();
22699 let handles_before = decoder.remaining_handles();
22700 if let Some((inlined, num_bytes, num_handles)) =
22701 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22702 {
22703 let member_inline_size = <fidl::encoding::Endpoint<
22704 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22705 > as fidl::encoding::TypeMarker>::inline_size(
22706 decoder.context
22707 );
22708 if inlined != (member_inline_size <= 4) {
22709 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22710 }
22711 let inner_offset;
22712 let mut inner_depth = depth.clone();
22713 if inlined {
22714 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22715 inner_offset = next_offset;
22716 } else {
22717 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22718 inner_depth.increment()?;
22719 }
22720 let val_ref = self.channel.get_or_insert_with(|| {
22721 fidl::new_empty!(
22722 fidl::encoding::Endpoint<
22723 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22724 >,
22725 fidl::encoding::DefaultFuchsiaResourceDialect
22726 )
22727 });
22728 fidl::decode!(
22729 fidl::encoding::Endpoint<
22730 fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>,
22731 >,
22732 fidl::encoding::DefaultFuchsiaResourceDialect,
22733 val_ref,
22734 decoder,
22735 inner_offset,
22736 inner_depth
22737 )?;
22738 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22739 {
22740 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22741 }
22742 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22743 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22744 }
22745 }
22746
22747 next_offset += envelope_size;
22748 _next_ordinal_to_read += 1;
22749 if next_offset >= end_offset {
22750 return Ok(());
22751 }
22752
22753 while _next_ordinal_to_read < 3 {
22755 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22756 _next_ordinal_to_read += 1;
22757 next_offset += envelope_size;
22758 }
22759
22760 let next_out_of_line = decoder.next_out_of_line();
22761 let handles_before = decoder.remaining_handles();
22762 if let Some((inlined, num_bytes, num_handles)) =
22763 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22764 {
22765 let member_inline_size =
22766 <fidl_fuchsia_io::Flags as fidl::encoding::TypeMarker>::inline_size(
22767 decoder.context,
22768 );
22769 if inlined != (member_inline_size <= 4) {
22770 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22771 }
22772 let inner_offset;
22773 let mut inner_depth = depth.clone();
22774 if inlined {
22775 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22776 inner_offset = next_offset;
22777 } else {
22778 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22779 inner_depth.increment()?;
22780 }
22781 let val_ref = self.flags.get_or_insert_with(|| {
22782 fidl::new_empty!(
22783 fidl_fuchsia_io::Flags,
22784 fidl::encoding::DefaultFuchsiaResourceDialect
22785 )
22786 });
22787 fidl::decode!(
22788 fidl_fuchsia_io::Flags,
22789 fidl::encoding::DefaultFuchsiaResourceDialect,
22790 val_ref,
22791 decoder,
22792 inner_offset,
22793 inner_depth
22794 )?;
22795 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22796 {
22797 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22798 }
22799 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22800 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22801 }
22802 }
22803
22804 next_offset += envelope_size;
22805 _next_ordinal_to_read += 1;
22806 if next_offset >= end_offset {
22807 return Ok(());
22808 }
22809
22810 while _next_ordinal_to_read < 4 {
22812 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22813 _next_ordinal_to_read += 1;
22814 next_offset += envelope_size;
22815 }
22816
22817 let next_out_of_line = decoder.next_out_of_line();
22818 let handles_before = decoder.remaining_handles();
22819 if let Some((inlined, num_bytes, num_handles)) =
22820 fidl::encoding::decode_envelope_header(decoder, next_offset)?
22821 {
22822 let member_inline_size = <fidl::encoding::BoundedString<4095> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
22823 if inlined != (member_inline_size <= 4) {
22824 return Err(fidl::Error::InvalidInlineBitInEnvelope);
22825 }
22826 let inner_offset;
22827 let mut inner_depth = depth.clone();
22828 if inlined {
22829 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
22830 inner_offset = next_offset;
22831 } else {
22832 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
22833 inner_depth.increment()?;
22834 }
22835 let val_ref = self.path.get_or_insert_with(|| {
22836 fidl::new_empty!(
22837 fidl::encoding::BoundedString<4095>,
22838 fidl::encoding::DefaultFuchsiaResourceDialect
22839 )
22840 });
22841 fidl::decode!(
22842 fidl::encoding::BoundedString<4095>,
22843 fidl::encoding::DefaultFuchsiaResourceDialect,
22844 val_ref,
22845 decoder,
22846 inner_offset,
22847 inner_depth
22848 )?;
22849 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
22850 {
22851 return Err(fidl::Error::InvalidNumBytesInEnvelope);
22852 }
22853 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
22854 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
22855 }
22856 }
22857
22858 next_offset += envelope_size;
22859
22860 while next_offset < end_offset {
22862 _next_ordinal_to_read += 1;
22863 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
22864 next_offset += envelope_size;
22865 }
22866
22867 Ok(())
22868 }
22869 }
22870
22871 impl DeprecatedRouteRequest {
22872 #[inline(always)]
22873 fn max_ordinal_present(&self) -> u64 {
22874 if let Some(_) = self.metadata {
22875 return 2;
22876 }
22877 if let Some(_) = self.target {
22878 return 1;
22879 }
22880 0
22881 }
22882 }
22883
22884 impl fidl::encoding::ResourceTypeMarker for DeprecatedRouteRequest {
22885 type Borrowed<'a> = &'a mut Self;
22886 fn take_or_borrow<'a>(
22887 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
22888 ) -> Self::Borrowed<'a> {
22889 value
22890 }
22891 }
22892
22893 unsafe impl fidl::encoding::TypeMarker for DeprecatedRouteRequest {
22894 type Owned = Self;
22895
22896 #[inline(always)]
22897 fn inline_align(_context: fidl::encoding::Context) -> usize {
22898 8
22899 }
22900
22901 #[inline(always)]
22902 fn inline_size(_context: fidl::encoding::Context) -> usize {
22903 16
22904 }
22905 }
22906
22907 unsafe impl
22908 fidl::encoding::Encode<
22909 DeprecatedRouteRequest,
22910 fidl::encoding::DefaultFuchsiaResourceDialect,
22911 > for &mut DeprecatedRouteRequest
22912 {
22913 unsafe fn encode(
22914 self,
22915 encoder: &mut fidl::encoding::Encoder<
22916 '_,
22917 fidl::encoding::DefaultFuchsiaResourceDialect,
22918 >,
22919 offset: usize,
22920 mut depth: fidl::encoding::Depth,
22921 ) -> fidl::Result<()> {
22922 encoder.debug_check_bounds::<DeprecatedRouteRequest>(offset);
22923 let max_ordinal: u64 = self.max_ordinal_present();
22925 encoder.write_num(max_ordinal, offset);
22926 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
22927 if max_ordinal == 0 {
22929 return Ok(());
22930 }
22931 depth.increment()?;
22932 let envelope_size = 8;
22933 let bytes_len = max_ordinal as usize * envelope_size;
22934 #[allow(unused_variables)]
22935 let offset = encoder.out_of_line_offset(bytes_len);
22936 let mut _prev_end_offset: usize = 0;
22937 if 1 > max_ordinal {
22938 return Ok(());
22939 }
22940
22941 let cur_offset: usize = (1 - 1) * envelope_size;
22944
22945 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22947
22948 fidl::encoding::encode_in_envelope_optional::<
22953 WeakInstanceToken,
22954 fidl::encoding::DefaultFuchsiaResourceDialect,
22955 >(
22956 self.target
22957 .as_mut()
22958 .map(<WeakInstanceToken as fidl::encoding::ResourceTypeMarker>::take_or_borrow),
22959 encoder,
22960 offset + cur_offset,
22961 depth,
22962 )?;
22963
22964 _prev_end_offset = cur_offset + envelope_size;
22965 if 2 > max_ordinal {
22966 return Ok(());
22967 }
22968
22969 let cur_offset: usize = (2 - 1) * envelope_size;
22972
22973 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
22975
22976 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
22981 self.metadata.as_mut().map(<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow),
22982 encoder, offset + cur_offset, depth
22983 )?;
22984
22985 _prev_end_offset = cur_offset + envelope_size;
22986
22987 Ok(())
22988 }
22989 }
22990
22991 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
22992 for DeprecatedRouteRequest
22993 {
22994 #[inline(always)]
22995 fn new_empty() -> Self {
22996 Self::default()
22997 }
22998
22999 unsafe fn decode(
23000 &mut self,
23001 decoder: &mut fidl::encoding::Decoder<
23002 '_,
23003 fidl::encoding::DefaultFuchsiaResourceDialect,
23004 >,
23005 offset: usize,
23006 mut depth: fidl::encoding::Depth,
23007 ) -> fidl::Result<()> {
23008 decoder.debug_check_bounds::<Self>(offset);
23009 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
23010 None => return Err(fidl::Error::NotNullable),
23011 Some(len) => len,
23012 };
23013 if len == 0 {
23015 return Ok(());
23016 };
23017 depth.increment()?;
23018 let envelope_size = 8;
23019 let bytes_len = len * envelope_size;
23020 let offset = decoder.out_of_line_offset(bytes_len)?;
23021 let mut _next_ordinal_to_read = 0;
23023 let mut next_offset = offset;
23024 let end_offset = offset + bytes_len;
23025 _next_ordinal_to_read += 1;
23026 if next_offset >= end_offset {
23027 return Ok(());
23028 }
23029
23030 while _next_ordinal_to_read < 1 {
23032 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23033 _next_ordinal_to_read += 1;
23034 next_offset += envelope_size;
23035 }
23036
23037 let next_out_of_line = decoder.next_out_of_line();
23038 let handles_before = decoder.remaining_handles();
23039 if let Some((inlined, num_bytes, num_handles)) =
23040 fidl::encoding::decode_envelope_header(decoder, next_offset)?
23041 {
23042 let member_inline_size =
23043 <WeakInstanceToken as fidl::encoding::TypeMarker>::inline_size(decoder.context);
23044 if inlined != (member_inline_size <= 4) {
23045 return Err(fidl::Error::InvalidInlineBitInEnvelope);
23046 }
23047 let inner_offset;
23048 let mut inner_depth = depth.clone();
23049 if inlined {
23050 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
23051 inner_offset = next_offset;
23052 } else {
23053 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
23054 inner_depth.increment()?;
23055 }
23056 let val_ref = self.target.get_or_insert_with(|| {
23057 fidl::new_empty!(
23058 WeakInstanceToken,
23059 fidl::encoding::DefaultFuchsiaResourceDialect
23060 )
23061 });
23062 fidl::decode!(
23063 WeakInstanceToken,
23064 fidl::encoding::DefaultFuchsiaResourceDialect,
23065 val_ref,
23066 decoder,
23067 inner_offset,
23068 inner_depth
23069 )?;
23070 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
23071 {
23072 return Err(fidl::Error::InvalidNumBytesInEnvelope);
23073 }
23074 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
23075 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
23076 }
23077 }
23078
23079 next_offset += envelope_size;
23080 _next_ordinal_to_read += 1;
23081 if next_offset >= end_offset {
23082 return Ok(());
23083 }
23084
23085 while _next_ordinal_to_read < 2 {
23087 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23088 _next_ordinal_to_read += 1;
23089 next_offset += envelope_size;
23090 }
23091
23092 let next_out_of_line = decoder.next_out_of_line();
23093 let handles_before = decoder.remaining_handles();
23094 if let Some((inlined, num_bytes, num_handles)) =
23095 fidl::encoding::decode_envelope_header(decoder, next_offset)?
23096 {
23097 let member_inline_size = <fidl::encoding::Endpoint<
23098 fidl::endpoints::ClientEnd<DictionaryMarker>,
23099 > as fidl::encoding::TypeMarker>::inline_size(
23100 decoder.context
23101 );
23102 if inlined != (member_inline_size <= 4) {
23103 return Err(fidl::Error::InvalidInlineBitInEnvelope);
23104 }
23105 let inner_offset;
23106 let mut inner_depth = depth.clone();
23107 if inlined {
23108 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
23109 inner_offset = next_offset;
23110 } else {
23111 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
23112 inner_depth.increment()?;
23113 }
23114 let val_ref = self.metadata.get_or_insert_with(|| {
23115 fidl::new_empty!(
23116 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>,
23117 fidl::encoding::DefaultFuchsiaResourceDialect
23118 )
23119 });
23120 fidl::decode!(
23121 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>,
23122 fidl::encoding::DefaultFuchsiaResourceDialect,
23123 val_ref,
23124 decoder,
23125 inner_offset,
23126 inner_depth
23127 )?;
23128 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
23129 {
23130 return Err(fidl::Error::InvalidNumBytesInEnvelope);
23131 }
23132 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
23133 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
23134 }
23135 }
23136
23137 next_offset += envelope_size;
23138
23139 while next_offset < end_offset {
23141 _next_ordinal_to_read += 1;
23142 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23143 next_offset += envelope_size;
23144 }
23145
23146 Ok(())
23147 }
23148 }
23149
23150 impl RouteRequest {
23151 #[inline(always)]
23152 fn max_ordinal_present(&self) -> u64 {
23153 if let Some(_) = self.metadata {
23154 return 1;
23155 }
23156 0
23157 }
23158 }
23159
23160 impl fidl::encoding::ResourceTypeMarker for RouteRequest {
23161 type Borrowed<'a> = &'a mut Self;
23162 fn take_or_borrow<'a>(
23163 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
23164 ) -> Self::Borrowed<'a> {
23165 value
23166 }
23167 }
23168
23169 unsafe impl fidl::encoding::TypeMarker for RouteRequest {
23170 type Owned = Self;
23171
23172 #[inline(always)]
23173 fn inline_align(_context: fidl::encoding::Context) -> usize {
23174 8
23175 }
23176
23177 #[inline(always)]
23178 fn inline_size(_context: fidl::encoding::Context) -> usize {
23179 16
23180 }
23181 }
23182
23183 unsafe impl fidl::encoding::Encode<RouteRequest, fidl::encoding::DefaultFuchsiaResourceDialect>
23184 for &mut RouteRequest
23185 {
23186 unsafe fn encode(
23187 self,
23188 encoder: &mut fidl::encoding::Encoder<
23189 '_,
23190 fidl::encoding::DefaultFuchsiaResourceDialect,
23191 >,
23192 offset: usize,
23193 mut depth: fidl::encoding::Depth,
23194 ) -> fidl::Result<()> {
23195 encoder.debug_check_bounds::<RouteRequest>(offset);
23196 let max_ordinal: u64 = self.max_ordinal_present();
23198 encoder.write_num(max_ordinal, offset);
23199 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
23200 if max_ordinal == 0 {
23202 return Ok(());
23203 }
23204 depth.increment()?;
23205 let envelope_size = 8;
23206 let bytes_len = max_ordinal as usize * envelope_size;
23207 #[allow(unused_variables)]
23208 let offset = encoder.out_of_line_offset(bytes_len);
23209 let mut _prev_end_offset: usize = 0;
23210 if 1 > max_ordinal {
23211 return Ok(());
23212 }
23213
23214 let cur_offset: usize = (1 - 1) * envelope_size;
23217
23218 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
23220
23221 fidl::encoding::encode_in_envelope_optional::<
23226 fidl::encoding::HandleType<
23227 fidl::EventPair,
23228 { fidl::ObjectType::EVENTPAIR.into_raw() },
23229 2147483648,
23230 >,
23231 fidl::encoding::DefaultFuchsiaResourceDialect,
23232 >(
23233 self.metadata.as_mut().map(
23234 <fidl::encoding::HandleType<
23235 fidl::EventPair,
23236 { fidl::ObjectType::EVENTPAIR.into_raw() },
23237 2147483648,
23238 > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
23239 ),
23240 encoder,
23241 offset + cur_offset,
23242 depth,
23243 )?;
23244
23245 _prev_end_offset = cur_offset + envelope_size;
23246
23247 Ok(())
23248 }
23249 }
23250
23251 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect> for RouteRequest {
23252 #[inline(always)]
23253 fn new_empty() -> Self {
23254 Self::default()
23255 }
23256
23257 unsafe fn decode(
23258 &mut self,
23259 decoder: &mut fidl::encoding::Decoder<
23260 '_,
23261 fidl::encoding::DefaultFuchsiaResourceDialect,
23262 >,
23263 offset: usize,
23264 mut depth: fidl::encoding::Depth,
23265 ) -> fidl::Result<()> {
23266 decoder.debug_check_bounds::<Self>(offset);
23267 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
23268 None => return Err(fidl::Error::NotNullable),
23269 Some(len) => len,
23270 };
23271 if len == 0 {
23273 return Ok(());
23274 };
23275 depth.increment()?;
23276 let envelope_size = 8;
23277 let bytes_len = len * envelope_size;
23278 let offset = decoder.out_of_line_offset(bytes_len)?;
23279 let mut _next_ordinal_to_read = 0;
23281 let mut next_offset = offset;
23282 let end_offset = offset + bytes_len;
23283 _next_ordinal_to_read += 1;
23284 if next_offset >= end_offset {
23285 return Ok(());
23286 }
23287
23288 while _next_ordinal_to_read < 1 {
23290 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23291 _next_ordinal_to_read += 1;
23292 next_offset += envelope_size;
23293 }
23294
23295 let next_out_of_line = decoder.next_out_of_line();
23296 let handles_before = decoder.remaining_handles();
23297 if let Some((inlined, num_bytes, num_handles)) =
23298 fidl::encoding::decode_envelope_header(decoder, next_offset)?
23299 {
23300 let member_inline_size = <fidl::encoding::HandleType<
23301 fidl::EventPair,
23302 { fidl::ObjectType::EVENTPAIR.into_raw() },
23303 2147483648,
23304 > as fidl::encoding::TypeMarker>::inline_size(
23305 decoder.context
23306 );
23307 if inlined != (member_inline_size <= 4) {
23308 return Err(fidl::Error::InvalidInlineBitInEnvelope);
23309 }
23310 let inner_offset;
23311 let mut inner_depth = depth.clone();
23312 if inlined {
23313 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
23314 inner_offset = next_offset;
23315 } else {
23316 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
23317 inner_depth.increment()?;
23318 }
23319 let val_ref =
23320 self.metadata.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
23321 fidl::decode!(fidl::encoding::HandleType<fidl::EventPair, { fidl::ObjectType::EVENTPAIR.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
23322 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
23323 {
23324 return Err(fidl::Error::InvalidNumBytesInEnvelope);
23325 }
23326 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
23327 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
23328 }
23329 }
23330
23331 next_offset += envelope_size;
23332
23333 while next_offset < end_offset {
23335 _next_ordinal_to_read += 1;
23336 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
23337 next_offset += envelope_size;
23338 }
23339
23340 Ok(())
23341 }
23342 }
23343
23344 impl fidl::encoding::ResourceTypeMarker for CapabilityDeprecated {
23345 type Borrowed<'a> = &'a mut Self;
23346 fn take_or_borrow<'a>(
23347 value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
23348 ) -> Self::Borrowed<'a> {
23349 value
23350 }
23351 }
23352
23353 unsafe impl fidl::encoding::TypeMarker for CapabilityDeprecated {
23354 type Owned = Self;
23355
23356 #[inline(always)]
23357 fn inline_align(_context: fidl::encoding::Context) -> usize {
23358 8
23359 }
23360
23361 #[inline(always)]
23362 fn inline_size(_context: fidl::encoding::Context) -> usize {
23363 16
23364 }
23365 }
23366
23367 unsafe impl
23368 fidl::encoding::Encode<CapabilityDeprecated, fidl::encoding::DefaultFuchsiaResourceDialect>
23369 for &mut CapabilityDeprecated
23370 {
23371 #[inline]
23372 unsafe fn encode(
23373 self,
23374 encoder: &mut fidl::encoding::Encoder<
23375 '_,
23376 fidl::encoding::DefaultFuchsiaResourceDialect,
23377 >,
23378 offset: usize,
23379 _depth: fidl::encoding::Depth,
23380 ) -> fidl::Result<()> {
23381 encoder.debug_check_bounds::<CapabilityDeprecated>(offset);
23382 encoder.write_num::<u64>(self.ordinal(), offset);
23383 match self {
23384 CapabilityDeprecated::Connector(ref mut val) => {
23385 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23386 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23387 encoder, offset + 8, _depth
23388 )
23389 }
23390 CapabilityDeprecated::DirConnector(ref mut val) => {
23391 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23392 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23393 encoder, offset + 8, _depth
23394 )
23395 }
23396 CapabilityDeprecated::Dictionary(ref mut val) => {
23397 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23398 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23399 encoder, offset + 8, _depth
23400 )
23401 }
23402 CapabilityDeprecated::Data(ref val) => {
23403 fidl::encoding::encode_in_envelope::<Data, fidl::encoding::DefaultFuchsiaResourceDialect>(
23404 <Data as fidl::encoding::ValueTypeMarker>::borrow(val),
23405 encoder, offset + 8, _depth
23406 )
23407 }
23408 CapabilityDeprecated::ConnectorRouter(ref mut val) => {
23409 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23410 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23411 encoder, offset + 8, _depth
23412 )
23413 }
23414 CapabilityDeprecated::DirConnectorRouter(ref mut val) => {
23415 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23416 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23417 encoder, offset + 8, _depth
23418 )
23419 }
23420 CapabilityDeprecated::DictionaryRouter(ref mut val) => {
23421 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23422 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23423 encoder, offset + 8, _depth
23424 )
23425 }
23426 CapabilityDeprecated::DataRouter(ref mut val) => {
23427 fidl::encoding::encode_in_envelope::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
23428 <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow(val),
23429 encoder, offset + 8, _depth
23430 )
23431 }
23432 CapabilityDeprecated::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
23433 }
23434 }
23435 }
23436
23437 impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
23438 for CapabilityDeprecated
23439 {
23440 #[inline(always)]
23441 fn new_empty() -> Self {
23442 Self::__SourceBreaking { unknown_ordinal: 0 }
23443 }
23444
23445 #[inline]
23446 unsafe fn decode(
23447 &mut self,
23448 decoder: &mut fidl::encoding::Decoder<
23449 '_,
23450 fidl::encoding::DefaultFuchsiaResourceDialect,
23451 >,
23452 offset: usize,
23453 mut depth: fidl::encoding::Depth,
23454 ) -> fidl::Result<()> {
23455 decoder.debug_check_bounds::<Self>(offset);
23456 #[allow(unused_variables)]
23457 let next_out_of_line = decoder.next_out_of_line();
23458 let handles_before = decoder.remaining_handles();
23459 let (ordinal, inlined, num_bytes, num_handles) =
23460 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
23461
23462 let member_inline_size = match ordinal {
23463 1 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23464 2 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23465 3 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23466 4 => <Data as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23467 5 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23468 6 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23469 7 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23470 8 => <fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>> as fidl::encoding::TypeMarker>::inline_size(decoder.context),
23471 0 => return Err(fidl::Error::UnknownUnionTag),
23472 _ => num_bytes as usize,
23473 };
23474
23475 if inlined != (member_inline_size <= 4) {
23476 return Err(fidl::Error::InvalidInlineBitInEnvelope);
23477 }
23478 let _inner_offset;
23479 if inlined {
23480 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
23481 _inner_offset = offset + 8;
23482 } else {
23483 depth.increment()?;
23484 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
23485 }
23486 match ordinal {
23487 1 => {
23488 #[allow(irrefutable_let_patterns)]
23489 if let CapabilityDeprecated::Connector(_) = self {
23490 } else {
23492 *self = CapabilityDeprecated::Connector(fidl::new_empty!(
23494 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>>,
23495 fidl::encoding::DefaultFuchsiaResourceDialect
23496 ));
23497 }
23498 #[allow(irrefutable_let_patterns)]
23499 if let CapabilityDeprecated::Connector(ref mut val) = self {
23500 fidl::decode!(
23501 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<ConnectorMarker>>,
23502 fidl::encoding::DefaultFuchsiaResourceDialect,
23503 val,
23504 decoder,
23505 _inner_offset,
23506 depth
23507 )?;
23508 } else {
23509 unreachable!()
23510 }
23511 }
23512 2 => {
23513 #[allow(irrefutable_let_patterns)]
23514 if let CapabilityDeprecated::DirConnector(_) = self {
23515 } else {
23517 *self = CapabilityDeprecated::DirConnector(fidl::new_empty!(
23519 fidl::encoding::Endpoint<
23520 fidl::endpoints::ClientEnd<DirConnectorMarker>,
23521 >,
23522 fidl::encoding::DefaultFuchsiaResourceDialect
23523 ));
23524 }
23525 #[allow(irrefutable_let_patterns)]
23526 if let CapabilityDeprecated::DirConnector(ref mut val) = self {
23527 fidl::decode!(
23528 fidl::encoding::Endpoint<
23529 fidl::endpoints::ClientEnd<DirConnectorMarker>,
23530 >,
23531 fidl::encoding::DefaultFuchsiaResourceDialect,
23532 val,
23533 decoder,
23534 _inner_offset,
23535 depth
23536 )?;
23537 } else {
23538 unreachable!()
23539 }
23540 }
23541 3 => {
23542 #[allow(irrefutable_let_patterns)]
23543 if let CapabilityDeprecated::Dictionary(_) = self {
23544 } else {
23546 *self = CapabilityDeprecated::Dictionary(fidl::new_empty!(
23548 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>,
23549 fidl::encoding::DefaultFuchsiaResourceDialect
23550 ));
23551 }
23552 #[allow(irrefutable_let_patterns)]
23553 if let CapabilityDeprecated::Dictionary(ref mut val) = self {
23554 fidl::decode!(
23555 fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<DictionaryMarker>>,
23556 fidl::encoding::DefaultFuchsiaResourceDialect,
23557 val,
23558 decoder,
23559 _inner_offset,
23560 depth
23561 )?;
23562 } else {
23563 unreachable!()
23564 }
23565 }
23566 4 => {
23567 #[allow(irrefutable_let_patterns)]
23568 if let CapabilityDeprecated::Data(_) = self {
23569 } else {
23571 *self = CapabilityDeprecated::Data(fidl::new_empty!(
23573 Data,
23574 fidl::encoding::DefaultFuchsiaResourceDialect
23575 ));
23576 }
23577 #[allow(irrefutable_let_patterns)]
23578 if let CapabilityDeprecated::Data(ref mut val) = self {
23579 fidl::decode!(
23580 Data,
23581 fidl::encoding::DefaultFuchsiaResourceDialect,
23582 val,
23583 decoder,
23584 _inner_offset,
23585 depth
23586 )?;
23587 } else {
23588 unreachable!()
23589 }
23590 }
23591 5 => {
23592 #[allow(irrefutable_let_patterns)]
23593 if let CapabilityDeprecated::ConnectorRouter(_) = self {
23594 } else {
23596 *self = CapabilityDeprecated::ConnectorRouter(fidl::new_empty!(
23598 fidl::encoding::Endpoint<
23599 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
23600 >,
23601 fidl::encoding::DefaultFuchsiaResourceDialect
23602 ));
23603 }
23604 #[allow(irrefutable_let_patterns)]
23605 if let CapabilityDeprecated::ConnectorRouter(ref mut val) = self {
23606 fidl::decode!(
23607 fidl::encoding::Endpoint<
23608 fidl::endpoints::ClientEnd<ConnectorRouterDeprecatedMarker>,
23609 >,
23610 fidl::encoding::DefaultFuchsiaResourceDialect,
23611 val,
23612 decoder,
23613 _inner_offset,
23614 depth
23615 )?;
23616 } else {
23617 unreachable!()
23618 }
23619 }
23620 6 => {
23621 #[allow(irrefutable_let_patterns)]
23622 if let CapabilityDeprecated::DirConnectorRouter(_) = self {
23623 } else {
23625 *self = CapabilityDeprecated::DirConnectorRouter(fidl::new_empty!(
23627 fidl::encoding::Endpoint<
23628 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
23629 >,
23630 fidl::encoding::DefaultFuchsiaResourceDialect
23631 ));
23632 }
23633 #[allow(irrefutable_let_patterns)]
23634 if let CapabilityDeprecated::DirConnectorRouter(ref mut val) = self {
23635 fidl::decode!(
23636 fidl::encoding::Endpoint<
23637 fidl::endpoints::ClientEnd<DirConnectorRouterDeprecatedMarker>,
23638 >,
23639 fidl::encoding::DefaultFuchsiaResourceDialect,
23640 val,
23641 decoder,
23642 _inner_offset,
23643 depth
23644 )?;
23645 } else {
23646 unreachable!()
23647 }
23648 }
23649 7 => {
23650 #[allow(irrefutable_let_patterns)]
23651 if let CapabilityDeprecated::DictionaryRouter(_) = self {
23652 } else {
23654 *self = CapabilityDeprecated::DictionaryRouter(fidl::new_empty!(
23656 fidl::encoding::Endpoint<
23657 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
23658 >,
23659 fidl::encoding::DefaultFuchsiaResourceDialect
23660 ));
23661 }
23662 #[allow(irrefutable_let_patterns)]
23663 if let CapabilityDeprecated::DictionaryRouter(ref mut val) = self {
23664 fidl::decode!(
23665 fidl::encoding::Endpoint<
23666 fidl::endpoints::ClientEnd<DictionaryRouterDeprecatedMarker>,
23667 >,
23668 fidl::encoding::DefaultFuchsiaResourceDialect,
23669 val,
23670 decoder,
23671 _inner_offset,
23672 depth
23673 )?;
23674 } else {
23675 unreachable!()
23676 }
23677 }
23678 8 => {
23679 #[allow(irrefutable_let_patterns)]
23680 if let CapabilityDeprecated::DataRouter(_) = self {
23681 } else {
23683 *self = CapabilityDeprecated::DataRouter(fidl::new_empty!(
23685 fidl::encoding::Endpoint<
23686 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
23687 >,
23688 fidl::encoding::DefaultFuchsiaResourceDialect
23689 ));
23690 }
23691 #[allow(irrefutable_let_patterns)]
23692 if let CapabilityDeprecated::DataRouter(ref mut val) = self {
23693 fidl::decode!(
23694 fidl::encoding::Endpoint<
23695 fidl::endpoints::ClientEnd<DataRouterDeprecatedMarker>,
23696 >,
23697 fidl::encoding::DefaultFuchsiaResourceDialect,
23698 val,
23699 decoder,
23700 _inner_offset,
23701 depth
23702 )?;
23703 } else {
23704 unreachable!()
23705 }
23706 }
23707 #[allow(deprecated)]
23708 ordinal => {
23709 for _ in 0..num_handles {
23710 decoder.drop_next_handle()?;
23711 }
23712 *self = CapabilityDeprecated::__SourceBreaking { unknown_ordinal: ordinal };
23713 }
23714 }
23715 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
23716 return Err(fidl::Error::InvalidNumBytesInEnvelope);
23717 }
23718 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
23719 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
23720 }
23721 Ok(())
23722 }
23723 }
23724}