pub enum RemoteServiceRequest {
    DiscoverCharacteristics {
        responder: RemoteServiceDiscoverCharacteristicsResponder,
    },
    ReadByType {
        uuid: Uuid,
        responder: RemoteServiceReadByTypeResponder,
    },
    ReadCharacteristic {
        handle: Handle,
        options: ReadOptions,
        responder: RemoteServiceReadCharacteristicResponder,
    },
    WriteCharacteristic {
        handle: Handle,
        value: Vec<u8>,
        options: WriteOptions,
        responder: RemoteServiceWriteCharacteristicResponder,
    },
    ReadDescriptor {
        handle: Handle,
        options: ReadOptions,
        responder: RemoteServiceReadDescriptorResponder,
    },
    WriteDescriptor {
        handle: Handle,
        value: Vec<u8>,
        options: WriteOptions,
        responder: RemoteServiceWriteDescriptorResponder,
    },
    RegisterCharacteristicNotifier {
        handle: Handle,
        notifier: ClientEnd<CharacteristicNotifierMarker>,
        responder: RemoteServiceRegisterCharacteristicNotifierResponder,
    },
}Variants§
DiscoverCharacteristics
Returns the characteristics and characteristic descriptors that belong to this service.
Fields
ReadByType
Reads characteristics and descriptors with the given uuid.
This method is useful for reading values before discovery has completed, thereby reducing latency.
- request 
uuidThe UUID of the characteristics/descriptors to read. 
- response 
resultsThe results of the read. May be empty if no matching values are read. If reading a value results in a permission error, the handle and error will be included. 
- error Returns 
INVALID_PARAMETERSifuuidrefers to an internally reserved descriptor type (e.g. the Client Characteristic Configuration descriptor). - error Returns 
TOO_MANY_RESULTSif more results were read than can fit in a FIDL response. Consider reading characteristics/descriptors individually after performing discovery. - error Returns 
FAILUREif the server returns an error not specific to a single result. 
ReadCharacteristic
Reads the value of a characteristic with the given handle.
- request 
handleThe characteristic handle to read. - request 
optionsOptions that apply to the read. 
- response 
valueThe value of the characteristic. 
- error Returns 
INVALID_HANDLEifhandleis invalid. - error Returns 
INVALID_PARAMETERSifoptionsis invalid. - error Returns 
READ_NOT_PERMITTEDorINSUFFICIENT_*if the server rejects the read request. - error Returns 
FAILUREif the server returns an error. 
WriteCharacteristic
Writes value to the characteristic with handle using the provided
options.
It is not recommended to send additional writes while a write is already in progress (the server may receive simultaneous writes in any order).
- request 
handleThe characteristic to be written to. - request 
valueThe value to be written. - request 
optionsOptions that apply to the write. 
- response An empty response will be sent when a success response is
received from the server (or immediately if
options.with_responseis false) 
- error Returns 
INVALID_HANDLEifhandleis invalid. - error Returns 
INVALID_PARAMETERSifoptionsis invalid. - error Returns 
WRITE_NOT_PERMITTEDorINSUFFICIENT_*if the server rejects the write request with a reason. - error Returns 
FAILUREif the server returns an error. 
ReadDescriptor
Reads the value of the characteristic descriptor with handle and
returns it in the reply.
- request 
handleThe descriptor handle to read. - request 
optionsOptions that apply to the read. 
- response 
valueThe value of the descriptor. 
- error Returns 
INVALID_HANDLEifhandleis invalid. - error Returns 
INVALID_PARAMETERSifoptionsis invalid. - error Returns 
READ_NOT_PERMITTEDorINSUFFICIENT_*if the server rejects the read request. - error Returns 
FAILUREif the server returns an error. 
WriteDescriptor
Writes value to the characteristic descriptor with handle.
It is not recommended to send additional writes while a write is already
in progress (the server may receive simultaneous writes in any order).
- request 
handleThe descriptor handle to written to. - request 
valueThe value to be written. - request 
optionsOptions that apply to the write. 
- response An empty response will be sent when a success response is
received from the server (or immediately if
options.with_responseis false) 
- error Returns 
INVALID_HANDLEifhandleis invalid or refers to an internally reserved descriptor type (e.g. the Client Characteristic Configuration descriptor). - error Returns 
INVALID_PARAMETERSifoptionsis invalid. - error Returns 
WRITE_NOT_PERMITTEDorINSUFFICIENT_*if the server rejects the write with a reason. - error Returns 
FAILUREif the server returns an error. 
RegisterCharacteristicNotifier
Subscribe to notifications & indications from the characteristic with
the given handle.
Either notifications or indications will be enabled depending on characteristic properties. Indications will be preferred if they are supported. This operation fails if the characteristic does not have the “notify” or “indicate” property.
A write request will be issued to configure the characteristic for notifications/indications if it contains a Client Characteristic Configuration descriptor. This method fails if an error occurs while writing to the descriptor.
On success, the notifier protocol can be used to be notified when
the peer sends a notification or indication. Indications are
automatically confirmed. When the protocol is dropped, the subscription
may end if no other local client is receiving notifications.
- request 
handlethe characteristic handle. - request 
notifierthe protocol used for notifications. 
- response An empty response will be sent immediately if registration succeeds.
 
- error Returns a 
FAILUREif the characteristic does not support notifications or indications. - error Returns a 
INVALID_HANDLEifhandleis invalid. - error Returns a 
WRITE_NOT_PERMITTEDorINSUFFICIENT_*for a descriptor write error. 
Fields
notifier: ClientEnd<CharacteristicNotifierMarker>Implementations§
Source§impl RemoteServiceRequest
 
impl RemoteServiceRequest
pub fn into_discover_characteristics( self, ) -> Option<RemoteServiceDiscoverCharacteristicsResponder>
pub fn into_read_by_type( self, ) -> Option<(Uuid, RemoteServiceReadByTypeResponder)>
pub fn into_read_characteristic( self, ) -> Option<(Handle, ReadOptions, RemoteServiceReadCharacteristicResponder)>
pub fn into_write_characteristic( self, ) -> Option<(Handle, Vec<u8>, WriteOptions, RemoteServiceWriteCharacteristicResponder)>
pub fn into_read_descriptor( self, ) -> Option<(Handle, ReadOptions, RemoteServiceReadDescriptorResponder)>
pub fn into_write_descriptor( self, ) -> Option<(Handle, Vec<u8>, WriteOptions, RemoteServiceWriteDescriptorResponder)>
pub fn into_register_characteristic_notifier( self, ) -> Option<(Handle, ClientEnd<CharacteristicNotifierMarker>, RemoteServiceRegisterCharacteristicNotifierResponder)>
Sourcepub fn method_name(&self) -> &'static str
 
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL