pub struct ProfileSynchronousProxy { /* private fields */ }
Implementations§
Source§impl ProfileSynchronousProxy
impl ProfileSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<ProfileEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<ProfileEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn advertise(
&self,
payload: ProfileAdvertiseRequest,
___deadline: MonotonicInstant,
) -> Result<ProfileAdvertiseResult, Error>
pub fn advertise( &self, payload: ProfileAdvertiseRequest, ___deadline: MonotonicInstant, ) -> Result<ProfileAdvertiseResult, Error>
Register a set of services.
These services will be discoverable via Service Discovery Protocol server.
All services advertising the same channel must be added at once - if services are already
registered on any channel advertised, registration will fail, the receiver will be closed
with ZX_ERR_ALREADY_BOUND and an error will be returned.
The ConnectionReceiver will get calls for connections to the channels included in the
protocol_descriptor
or alternative_protocol_descriptors
in the services advertised.
The receiver will be closed if there are any errors advertising.
The ConnectionReceiver::OnRevoke
event can be used to synchronize revoking the
advertisement, if necessary. Closing the ConnectionReceiver
protocol will also stop
advertising these services.
If the advertisement cannot be made for any reason, an error of INVALID_ARGUMENTS
will be returned and the receiver will be closed with a suitable epitaph.
Returns the set of services that are registered via the Service Discovery Protocol
server. The returned services may differ from the input services
if any L2CAP protocol
descriptors request PSM_DYNAMIC
. In this case, the Profile
server shall assign a valid
PSM and include this value in the returned services.
Sourcepub fn search(&self, payload: ProfileSearchRequest) -> Result<(), Error>
pub fn search(&self, payload: ProfileSearchRequest) -> Result<(), Error>
Register a search for services on newly connected peers. The SearchResults protocol will be
used to report results for this search.
Only one of service_uuid
or full_uuid
must be present. Any service result with a service
matching the specified UUID will be returned with the additional attributes in attr_ids
.
If both service_uuid
and full_uuid
are present, then ZX_ERR_INVALID_ARGS
will be
returned.
If attr_ids
is empty or omitted, all attributes will be requested. The additional
attribute BLUETOOTH_PROTOCOL_DESCRIPTOR_LIST is always requested. See the Bluetooth
Spec v5.2, Vol 3, Part B, Section 5) and relevant profile specification documents.
Sourcepub fn connect(
&self,
peer_id: &PeerId,
connection: &ConnectParameters,
___deadline: MonotonicInstant,
) -> Result<ProfileConnectResult, Error>
pub fn connect( &self, peer_id: &PeerId, connection: &ConnectParameters, ___deadline: MonotonicInstant, ) -> Result<ProfileConnectResult, Error>
Connect an L2CAP or RFCOMM channel to the connected peer identified by peer_id
using the
desired connection
parameters listed. Dynamic PSMs can be specified in connection
.
Returns the channel connected once established, or an error code if the channel could not be connected.
Sourcepub fn connect_sco(
&self,
payload: ProfileConnectScoRequest,
) -> Result<(), Error>
pub fn connect_sco( &self, payload: ProfileConnectScoRequest, ) -> Result<(), Error>
Attempt to establish a synchronous connection to peer_id
configured
using params
.
If initiator
is true, a connection request will be sent. Only 1
parameter may be specified.
If initiator
is false, the host will attempt to accept the next
connection request using the parameters given in order. The parameters
will be tried in order until either a connection is successful, all
parameters have been rejected (ScoErrorCode.PARAMETERS_REJECTED
), or
the procedure is canceled.
The result of the connection attempt and the parameters used for the
connection will be returned with connection
. Dropping connection
will
cancel the request.
Trait Implementations§
Source§impl Debug for ProfileSynchronousProxy
impl Debug for ProfileSynchronousProxy
Source§impl SynchronousProxy for ProfileSynchronousProxy
impl SynchronousProxy for ProfileSynchronousProxy
Source§type Proxy = ProfileProxy
type Proxy = ProfileProxy
Source§type Protocol = ProfileMarker
type Protocol = ProfileMarker
Proxy
controls.