Crate fidl_next

Crate fidl_next 

Source
Expand description

Next-generation FIDL Rust bindings library.

Re-exports§

pub use ::fidl_next_protocol as protocol;

Modules§

bitflags
Generate types for C-style flags with ergonomic APIs.
decoder
The core Decoder trait.
encoder
The core Encoder trait.
fuchsia
Fuchsia-specific FIDL extensions.
fuchsia_async
FIDL bindings integration with fuchsia-async.
util
Helper types for encoding and decoding.

Macros§

chunks
Returns a slice of chunks with the same bytewise value as the given bytes.
munge
Destructures a type into

Structs§

Client
A strongly typed client.
ClientDispatcher
A strongly typed client dispatcher.
ClientEnd
The client end of a protocol.
ClientHandlerAdapter
An adapter for a client protocol handler.
CopyOptimization
An optimization hint about whether the conversion from T to U is equivalent to copying the raw bytes of T.
Decoded
A decoded value and the decoder which contains it.
EncodedRespondFuture
An encoded RespondFuture.
EncodedSendFuture
An encoded SendFuture.
EncodedTwoWayFuture
A future which performs a two-way FIDL method call.
IgnoreEvents
A handler which ignores incoming events.
IntoIter
An iterator over the items of a WireVector.
RawWireUnion
A raw FIDL union
RecvBufferTwoWayFuture
A future which receives a two-way FIDL method call as a RecvBuffer.
Request
A received FIDL message that will be handled by a client or server handler.
RespondFuture
A future which responds to a request with an encoded message.
Responder
A strongly typed Responder.
SendFuture
A future which sends an encoded message to a connection.
SendTwoWayFuture
A future which sends a two-way FIDL method call.
SentTwoWayFuture
A future which performs a two-way FIDL method call.
Server
A strongly typed server.
ServerDispatcher
A strongly typed server.
ServerEnd
The server end of a protocol.
ServerHandlerAdapter
An adapter for a server protocol handler.
ServiceConnector
A strongly-typed member connector for a FIDL service.
ServiceHandlerAdapter
An adapter for a FIDL service handler.
Slot
An initialized but potentially invalid value.
TwoWayFuture
A future which performs a two-way FIDL method call.
UnknownStrictEnumMemberError
Error returned by TryFrom on a strict enum if none of the members match the supplied value.
WireBox
A boxed (optional) FIDL value.
WireF32
A wire-encoded f32
WireF64
A wire-encoded f64
WireFlexible
A flexible FIDL response.
WireFlexibleResult
A flexible FIDL result.
WireFrameworkError
An internal framework error.
WireI16
A wire-encoded i16
WireI32
A wire-encoded i32
WireI64
A wire-encoded i64
WireOptionalString
An optional FIDL string
WireOptionalVector
An optional FIDL vector
WireResult
A FIDL result union.
WireString
A FIDL string
WireTable
A FIDL table
WireTwoWayFuture
A future which decodes a two-way FIDL method call as a wire type.
WireU16
A wire-encoded u16
WireU32
A wire-encoded u32
WireU64
A wire-encoded u64
WireVector
A FIDL vector

Enums§

DecodeError
Errors that can be produced when decoding FIDL messages.
EncodeError
Errors that can be produced while encoding FIDL messages.
Error
An encoding, decoding, or transport FIDL error.
Flexible
A flexible FIDL response.
FlexibleResult
A flexible FIDL result.
FrameworkError
An internal framework error.
ProtocolError
Errors that can be produced by FIDL clients and servers.
ValidationError
Errors that can be produced when validating FIDL messages.
WireEmptyStructPlaceholder
An empty struct’s wire representation. C/C++ memory layout rules (and hence FIDL wire rules) require every object to have a unique address so we have to make a single, tiny type for empty structs.

Constants§

CHUNK_SIZE
FIDL alignment, used for buffer alignment to ensure decoding in-place is possible.

Traits§

ClientCompatFrom
Conversions between old and new Rust protocol bindings.
ClientHandler
A type which handles incoming events for a client.
CompatFrom
Conversions between old and new Rust bindings types.
Constrained
Implemented by types that have constraints that can be validated.
Decode
Decodes a value from the given slot.
Decoder
A decoder for FIDL messages.
DecoderExt
Extension methods for Decoder.
Discoverable
A discoverable FIDL protocol.
DiscoverableService
A discoverable service.
DispatchClientMessage
A protocol which dispatches incoming client messages to a handler.
DispatchServerMessage
A protocol which dispatches incoming server messages to a handler.
DispatchServiceHandler
A service which dispatches incoming connections to a handler.
Encode
Encodes a value.
EncodeOption
Encodes an optional value.
Encoder
An encoder for FIDL messages.
EncoderExt
Extension methods for Encoder.
Executor
An executor which futures can be spawned on.
FromWire
A type which is convertible from a wire type.
FromWireOption
An optional type which is convertible from a wire type.
FromWireOptionRef
An optional type which is convertible from a reference to a wire type.
FromWireRef
A type which is convertible from a reference to a wire type.
HasConnectionHandles
A FIDL protocol which has associated connection handles.
HasExecutor
A transport which has an executor to spawn on.
HasServiceRequest
A trait indicating that a service has members of the given type.
HasTransport
A protocol which has a default transport type.
InstanceFromServiceTransport
A trait that can be implemented to transform service instance transport handles from their parent server’s transport handles.
IntoNatural
Associates a good default type for a wire type to convert into.
Method
A method of a protocol.
Respond
A method which can be responded to with a single value.
RespondErr
A method which can be responded Err to with a single value.
RunsTransport
Identifies an executor as being able to run a transport.
ServerHandler
A type which handles incoming events for a server.
Service
A FIDL service.
Transport
A transport layer which can send and receive messages.
TwoWayMethod
A protocol method which has a response.
Unconstrained
Implemented by types that can’t have constraints.
Wire
A FIDL wire type.

Type Aliases§

Chunk
A group of eight bytes, aligned to an 8-byte boundary.
HandlerTask
A client or server handler task.

Unions§

WireEnvelope
A FIDL envelope
WirePointer
A raw FIDL pointer