pub enum PrivilegedPeripheralRequest {
    ListenL2cap {
        payload: ChannelListenerRegistryListenL2capRequest,
        responder: PrivilegedPeripheralListenL2capResponder,
    },
    Advertise {
        parameters: AdvertisingParameters,
        advertised_peripheral: ClientEnd<AdvertisedPeripheralMarker>,
        responder: PrivilegedPeripheralAdvertiseResponder,
    },
    StartAdvertising {
        parameters: AdvertisingParameters,
        handle: ServerEnd<AdvertisingHandleMarker>,
        responder: PrivilegedPeripheralStartAdvertisingResponder,
    },
}Expand description
Privileged version of the Peripheral protocol. This protocol should only be routed to trusted and system components. Using this protocol will enable the client to break normal privacy restrictions which could leak information about the location or owner of the device.
Use cases which reveal information are noted in documentation and marked as only available through PrivilegedPeripheral, and are an error if used through Peripheral.
Variants§
ListenL2cap
Register a listener for incoming channels. The registry will assign a
PSM value that is unique for the local device, as well as open a
[ChannelListener] for accepting incoming channels. In the unlikely
event that all PSMs have been assigned, this call will fail with
ZX_ERR_NO_RESOURCES.
Note that the method of service discovery or advertising is defined by the service or protocol, so it is the responsibility of the caller to communicate the assigned PSM to any clients.
Fields
responder: PrivilegedPeripheralListenL2capResponderAdvertise
Start advertising continuously as a LE peripheral. If advertising cannot
be initiated then advertised_peripheral will be closed and an error
will be returned.
This method may be called any number of times. To reconfigure an advertisement, first close the original advertisement and then initiate a new advertisement after an empty response is returned.
If the client closes its end of the
[fuchsia.bluetooth.le/AdvertisedPeripheral] channel,
advertising will be stopped. If the handle is closed before the request
is fulfilled, advertising may be briefly enabled before it is
terminated. AdvertisedPeripheral lifetime is bounded by the lifetime of
the Peripheral protocol, but this may be changed in the future
(https://fxbug.dev/42157682).
- request 
parametersParameters used while configuring the advertising instance. - request 
advertised_peripheralProtocol that remains valid for the duration of this advertising session. 
- response An empty response will be sent when the advertisement is
successfully stopped (due to release of the 
advertised_peripheralprotocol). To prevent overlapping similar advertisements and transient errors with limited advertising resources, waiting for a response is recommended before callingAdvertiseagain. 
- error If an error occurs, 
advertised_peripheralwill be closed and aPeripheralErrorwill be returned. 
Fields
parameters: AdvertisingParametersadvertised_peripheral: ClientEnd<AdvertisedPeripheralMarker>responder: PrivilegedPeripheralAdvertiseResponderStartAdvertising
Start advertising as a LE peripheral. An empty response is sent to indicate when advertising
has successfully initiated. If advertising cannot be initiated, then the response will
contain a [fuchsia.bluetooth.le/PeripheralError].
This method can get called any number of times and successive calls can be made to
reconfigure the advertising parameters. However only the most recent
[fuchsia.bluetooth.le/AdvertisingHandle] will remain valid.
An instance of [fuchsia.bluetooth.le/Peripheral] can only have one active advertisement at
a time. Clients must obtain multiple Peripheral instances for multiple simultaneous
advertisements.
If the client closes its end of the [fuchsia.bluetooth.le/AdvertisingHandle] channel,
advertising will be stopped. If the handle is closed before the request is fulfilled,
advertising will be briefly enabled before it is terminated.
- request 
parametersParameters used while configuring the advertising instance. - request 
handleHandle that remains valid for the duration of this advertising session. 
- error Returns a [
fuchsia.bluetooth.le/PeripheralError] if advertising cannot be initiated. In this case thehandlewill be closed. 
Implementations§
Source§impl PrivilegedPeripheralRequest
 
impl PrivilegedPeripheralRequest
pub fn into_listen_l2cap( self, ) -> Option<(ChannelListenerRegistryListenL2capRequest, PrivilegedPeripheralListenL2capResponder)>
pub fn into_advertise( self, ) -> Option<(AdvertisingParameters, ClientEnd<AdvertisedPeripheralMarker>, PrivilegedPeripheralAdvertiseResponder)>
pub fn into_start_advertising( self, ) -> Option<(AdvertisingParameters, ServerEnd<AdvertisingHandleMarker>, PrivilegedPeripheralStartAdvertisingResponder)>
Sourcepub fn method_name(&self) -> &'static str
 
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL