Struct bt_a2dp::peer::Peer

source ·
pub struct Peer { /* private fields */ }
Expand description

A Peer represents an A2DP peer which may be connected to this device. Only one A2DP peer should exist for each Bluetooth peer.

Implementations§

source§

impl Peer

source

pub fn create( id: PeerId, peer: Peer, streams: Streams, permits: Option<Permits>, profile: ProfileProxy, metrics: MetricsLogger ) -> Self

Make a new Peer which is connected to the peer id using the AVDTP peer. The streams are the local endpoints available to the peer. profile will be used to initiate connections for Media Transport. The permits, if provided, will acquire a permit before starting streams on this peer. If metrics is included, metrics for codec availability will be reported. This also starts a task on the executor to handle incoming events from the peer.

source

pub fn set_descriptor( &self, descriptor: ProfileDescriptor ) -> Option<ProfileDescriptor>

source

pub fn receive_channel(&self, channel: Channel) -> Result<()>

Receive a channel from the peer that was initiated remotely. This function should be called whenever the peer associated with this opens an L2CAP channel. If this completes opening a stream, streams that are suspended will be scheduled to start.

source

pub fn avdtp(&self) -> Peer

Return a handle to the AVDTP peer, to use as initiator of commands.

source

pub fn remote_endpoints(&self) -> Option<Vec<StreamEndpoint>>

Returns the stream endpoints discovered by this peer.

source

pub fn collect_capabilities( &self ) -> impl Future<Output = Result<Vec<StreamEndpoint>>>

Perform Discovery and Collect Capabilities to enumerate the endpoints and capabilities of the connected peer. Returns a future which performs the work and resolves to a vector of peer stream endpoints.

source

pub fn stream_start( &self, remote_id: StreamEndpointId, capabilities: Vec<ServiceCapability> ) -> impl Future<Output = Result<()>>

Open and start a media transport stream, connecting a compatible local stream to the remote stream remote_id, configuring it with the capabilities provided. Returns a future which should be awaited on. The future returns Ok(()) if successfully started, and an appropriate error otherwise.

source

pub fn streaming_active(&self) -> bool

Query whether any streams are currently started or scheduled to start.

source

pub fn stream_suspend( &self, local_id: StreamEndpointId ) -> impl Future<Output = Result<()>>

Suspend a media transport stream local_id. It’s possible that the stream is not active - a suspend will be attempted, but an error from the command will be returned. Returns the result of the suspend command.

source

pub fn closed(&self) -> ClosedPeer

Returns a future that will complete when the peer disconnects.

Trait Implementations§

source§

impl Inspect for &mut Peer

source§

fn iattach( self, parent: &InspectNode, name: impl AsRef<str> ) -> Result<(), AttachError>

Attaches self to the inspect tree, under parent[name]. Note that: Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Peer

§

impl Send for Peer

§

impl Sync for Peer

§

impl Unpin for Peer

§

impl !UnwindSafe for Peer

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoAny for T
where T: 'static + Send + Sync,

§

fn into_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Cast the given object into a dyn std::any::Any.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithInspect for T
where &'a mut T: for<'a> Inspect,

§

fn with_inspect( self, parent: &Node, name: impl AsRef<str> ) -> Result<T, AttachError>

Attaches self to the inspect tree. It is recommended to invoke this as part of construction. For example: Read more
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more