Trait Encodable

pub trait Encodable {
    type Encoded: ZeroPadding;

    const COPY_OPTIMIZATION: CopyOptimization<Self> = _;
}
Expand description

A type which can be encoded as FIDL.

Provided Associated Constants§

const COPY_OPTIMIZATION: CopyOptimization<Self> = _

An optimization flag that allows the bytes of this type to be copied directly during encoding instead of calling encode.

This optimization is disabled by default. To enable this optimization, you must unsafely attest that Self is trivially copyable using CopyOptimization::enable or CopyOptimization::enable_if.

Required Associated Types§

type Encoded: ZeroPadding

The wire type for the value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl Encodable for bool

§

impl Encodable for f32

§

impl Encodable for f64

§

impl Encodable for i8

§

impl Encodable for i16

§

impl Encodable for i32

§

impl Encodable for i64

§

impl Encodable for u8

§

impl Encodable for u16

§

impl Encodable for u32

§

impl Encodable for u64

§

impl Encodable for ()

§

impl Encodable for String

§

impl Encodable for WireMessageHeader

§

type Encoded = WireMessageHeader

§

impl<T> Encodable for Option<T>
where T: EncodableOption,

§

impl<T> Encodable for Box<T>
where T: Encodable,

§

type Encoded = <T as Encodable>::Encoded

§

impl<T> Encodable for Vec<T>
where T: Encodable,

§

impl<T, E> Encodable for Result<T, E>
where T: Encodable, E: Encodable,

§

impl<T, const N: usize> Encodable for [T; N]
where T: Encodable,

Implementors§

§

impl Encodable for FrameworkError

§

impl Encodable for Channel

§

impl Encodable for Handle

§

impl Encodable for WireF32

§

impl Encodable for WireF64

§

impl Encodable for WireI16

§

impl Encodable for WireI32

§

impl Encodable for WireI64

§

impl Encodable for WireU16

§

impl Encodable for WireU32

§

impl Encodable for WireU64

§

impl<T> Encodable for Flexible<T>
where T: Encodable,

§

impl<T, E> Encodable for FlexibleResult<T, E>
where T: Encodable, E: Encodable,

§

impl<T, P> Encodable for ClientEnd<T, P>
where T: Encodable,

§

impl<T, P> Encodable for ServerEnd<T, P>
where T: Encodable,

impl Encodable for Error

impl Encodable for EventPayload

impl Encodable for EventType

impl Encodable for NamespaceError

impl Encodable for CapabilityRequestedPayload

impl Encodable for ChildIteratorNextResponse

impl Encodable for ControllerIsStartedResponse

impl Encodable for ControllerStartRequest

impl Encodable for CreateChildArgs

impl Encodable for DebugStartedPayload

impl Encodable for DestroyedPayload

impl Encodable for DirectoryReadyPayload

impl Encodable for DiscoveredPayload

impl Encodable for Event

impl Encodable for EventHeader

impl Encodable for EventStreamGetNextResponse

impl Encodable for NamespaceCreateRequest

impl Encodable for NamespaceCreateResponse

impl Encodable for NamespaceEntry

impl Encodable for NamespaceInputEntry

impl Encodable for PurgedPayload

impl Encodable for RealmCreateChildRequest

impl Encodable for RealmDestroyChildRequest

impl Encodable for RealmListChildrenRequest

impl Encodable for RealmOpenControllerRequest

impl Encodable for RealmOpenExposedDirRequest

impl Encodable for ResolvedPayload

impl Encodable for StartChildArgs

impl Encodable for StartedPayload

impl Encodable for StoppedPayload

impl Encodable for UnresolvedPayload

impl Encodable for AllowedOffers

impl Encodable for Availability

impl Encodable for Capability

impl Encodable for ConfigChecksum

impl Encodable for ConfigSingleValue

impl Encodable for ConfigTypeLayout

impl Encodable for ConfigValue

impl Encodable for ConfigValueSource

impl Encodable for ConfigVectorValue

impl Encodable for DebugRegistration

impl Encodable for DeliveryType

impl Encodable for DependencyType

impl Encodable for Durability

impl Encodable for EnvironmentExtends

impl Encodable for Expose

impl Encodable for LayoutConstraint

impl Encodable for LayoutParameter

impl Encodable for Offer

impl Encodable for OnTerminate

impl Encodable for Ref

impl Encodable for StartupMode

impl Encodable for StorageId

impl Encodable for Use

impl Encodable for CapabilityRef

impl Encodable for Child

impl Encodable for ChildRef

impl Encodable for Collection

impl Encodable for CollectionRef

impl Encodable for Component

impl Encodable for ConfigField

impl Encodable for ConfigMutability

impl Encodable for ConfigOverride

impl Encodable for ConfigSchema

impl Encodable for ConfigSourceCapabilities

impl Encodable for ConfigType

impl Encodable for ConfigValueSpec

impl Encodable for ConfigValuesData

impl Encodable for Configuration

impl Encodable for DebugProtocolRegistration

impl Encodable for DebugRef

impl Encodable for Dictionary

impl Encodable for Directory

impl Encodable for Environment

impl Encodable for EnvironmentRef

impl Encodable for EventStream

impl Encodable for EventSubscription

impl Encodable for ExposeConfiguration

impl Encodable for ExposeDictionary

impl Encodable for ExposeDirectory

impl Encodable for ExposeProtocol

impl Encodable for ExposeResolver

impl Encodable for ExposeRunner

impl Encodable for ExposeService

impl Encodable for FrameworkRef

impl Encodable for NameMapping

impl Encodable for OfferConfiguration

impl Encodable for OfferDictionary

impl Encodable for OfferDirectory

impl Encodable for OfferEventStream

impl Encodable for OfferProtocol

impl Encodable for OfferResolver

impl Encodable for OfferRunner

impl Encodable for OfferService

impl Encodable for OfferStorage

impl Encodable for ParentRef

impl Encodable for Program

impl Encodable for Protocol

impl Encodable for ResolvedConfig

impl Encodable for ResolvedConfigField

impl Encodable for Resolver

impl Encodable for ResolverRegistration

impl Encodable for Runner

impl Encodable for RunnerRegistration

impl Encodable for SelfRef

impl Encodable for Service

impl Encodable for Storage

impl Encodable for UseConfiguration

impl Encodable for UseDirectory

impl Encodable for UseEventStream

impl Encodable for UseProtocol

impl Encodable for UseRunner

impl Encodable for UseService

impl Encodable for UseStorage

impl Encodable for VoidRef

impl Encodable for Task

impl Encodable for ComponentDiagnostics

impl Encodable for ComponentNamespaceEntry

impl Encodable for ComponentRunnerStartRequest

impl Encodable for ComponentStartInfo

impl Encodable for ComponentStopInfo

impl Encodable for ComponentTasks

impl Encodable for TaskProviderGetJobResponse

impl Encodable for Availability

impl Encodable for Capability

impl Encodable for CapabilityStoreError

impl Encodable for ConnectorRouterRouteResponse

impl Encodable for Data

impl Encodable for DataRouterRouteResponse

impl Encodable for DictionaryError

impl Encodable for DirEntryRouterRouteResponse

impl Encodable for DirectoryRouterRouteResponse

impl Encodable for RouterError

impl Encodable for CapabilityStoreDropRequest

impl Encodable for CapabilityStoreExportRequest

impl Encodable for CapabilityStoreImportRequest

impl Encodable for Connector

impl Encodable for DictionaryItem

impl Encodable for DictionaryOptionalItem

impl Encodable for DictionaryRef

impl Encodable for DirConnector

impl Encodable for DirEntry

impl Encodable for DirReceiverReceiveRequest

impl Encodable for InstanceToken

impl Encodable for ProtocolPayload

impl Encodable for RouteRequest

impl Encodable for Unavailable

impl Encodable for Unit

impl Encodable for WrappedCapabilityId

impl Encodable for DictionaryValue

impl Encodable for Dictionary

impl Encodable for DictionaryEntry

impl Encodable for ConnectionType

impl Encodable for ConnectorConnectRequest

impl Encodable for DevfsAddArgs

impl Encodable for Severity

impl Encodable for Task

impl Encodable for ComponentDiagnostics

impl Encodable for ComponentTasks

impl Encodable for Interest

impl Encodable for BusType

impl Encodable for CompositeNodeSpecError

impl Encodable for Condition

impl Encodable for DeviceAddress

impl Encodable for DeviceAddressStability

impl Encodable for DriverPackageType

impl Encodable for NodeError

impl Encodable for NodePropertyKey

impl Encodable for NodePropertyValue

impl Encodable for Offer

impl Encodable for BindRule

impl Encodable for BusInfo

impl Encodable for CompositeDriverInfo

impl Encodable for CompositeDriverMatch

impl Encodable for CompositeInfo

impl Encodable for CompositeNodeSpec

impl Encodable for CompositeParent

impl Encodable for DevfsAddArgs

impl Encodable for DeviceCategory

impl Encodable for DriverInfo

impl Encodable for DriverStartArgs

impl Encodable for DriverStartRequest

impl Encodable for NodeAddArgs

impl Encodable for NodeAddChildRequest

impl Encodable for NodeProperty

impl Encodable for NodeProperty2

impl Encodable for NodePropertyEntry

impl Encodable for NodePropertyEntry2

impl Encodable for NodeSymbol

impl Encodable for ParentSpec

impl Encodable for DeviceGetEventResponse

impl Encodable for DeviceGetHardwareIdResponse

impl Encodable for AdvisoryLockType

impl Encodable for DirentType

impl Encodable for ExtendedAttributeValue

impl Encodable for HashAlgorithm

impl Encodable for NodeInfoDeprecated

impl Encodable for Representation

impl Encodable for SeekOrigin

impl Encodable for SelinuxContext

impl Encodable for SetExtendedAttributeMode

impl Encodable for WatchEvent

impl Encodable for AdvisoryLockRange

impl Encodable for AdvisoryLockRequest

impl Encodable for AllocateMode

impl Encodable for ConnectionInfo

impl Encodable for DirectoryGetTokenResponse

impl Encodable for DirectoryInfo

impl Encodable for DirectoryLinkRequest

impl Encodable for DirectoryLinkResponse

impl Encodable for DirectoryObject

impl Encodable for DirectoryOpenRequest

impl Encodable for DirectoryReadDirentsRequest

impl Encodable for DirectoryReadDirentsResponse

impl Encodable for DirectoryRenameRequest

impl Encodable for DirectoryRewindResponse

impl Encodable for DirectoryUnlinkRequest

impl Encodable for DirectoryWatchRequest

impl Encodable for DirectoryWatchResponse

impl Encodable for EmptyStruct

impl Encodable for FileAllocateRequest

impl Encodable for FileEnableVerityRequest

impl Encodable for FileGetBackingMemoryRequest

impl Encodable for FileGetBackingMemoryResponse

impl Encodable for FileInfo

impl Encodable for FileObject

impl Encodable for FileReadAtRequest

impl Encodable for FileReadAtResponse

impl Encodable for FileResizeRequest

impl Encodable for FileSeekRequest

impl Encodable for FileSeekResponse

impl Encodable for FileSignal

impl Encodable for FileWriteAtRequest

impl Encodable for FileWriteAtResponse

impl Encodable for FilesystemInfo

impl Encodable for Flags

impl Encodable for ImmutableNodeAttributes

impl Encodable for LinkableLinkIntoRequest

impl Encodable for ModeType

impl Encodable for MutableNodeAttributes

impl Encodable for NodeAttributeFlags

impl Encodable for NodeAttributes

impl Encodable for NodeAttributes2

impl Encodable for NodeAttributesQuery

impl Encodable for NodeDeprecatedCloneRequest

impl Encodable for NodeGetAttrResponse

impl Encodable for NodeGetAttributesRequest

impl Encodable for NodeGetFlagsResponse

impl Encodable for NodeInfo

impl Encodable for NodeOnOpenRequest

impl Encodable for NodeProtocolKinds

impl Encodable for NodeQueryFilesystemResponse

impl Encodable for NodeSetAttrRequest

impl Encodable for NodeSetAttrResponse

impl Encodable for NodeSetFlagsRequest

impl Encodable for OpenFlags

impl Encodable for Operations

impl Encodable for Options

impl Encodable for ReadableReadRequest

impl Encodable for ReadableReadResponse

impl Encodable for Service

impl Encodable for SymlinkInfo

impl Encodable for SymlinkObject

impl Encodable for UnlinkFlags

impl Encodable for UnlinkOptions

impl Encodable for VerificationOptions

impl Encodable for VmoFlags

impl Encodable for WatchMask

impl Encodable for WritableWriteRequest

impl Encodable for WritableWriteResponse

impl Encodable for LoaderCloneRequest

impl Encodable for LoaderCloneResponse

impl Encodable for LoaderConfigRequest

impl Encodable for LoaderConfigResponse

impl Encodable for LoaderLoadObjectRequest

impl Encodable for LoaderLoadObjectResponse

impl Encodable for Data

impl Encodable for Buffer

impl Encodable for Range

impl Encodable for HandleInfo

impl Encodable for LaunchInfo

impl Encodable for LauncherAddArgsRequest

impl Encodable for LauncherAddEnvironsRequest

impl Encodable for LauncherAddHandlesRequest

impl Encodable for LauncherAddNamesRequest

impl Encodable for LauncherLaunchRequest

impl Encodable for LauncherLaunchResponse

impl Encodable for LauncherSetOptionsRequest

impl Encodable for NameInfo

impl Encodable for ProcessStartData

impl Encodable for ResolverResolveRequest

impl Encodable for ResolverResolveResponse

impl Encodable for CloneableCloneRequest

impl Encodable for QueryableQueryResponse