pub struct Channel(/* private fields */);Expand description
An L2CAP channel identifier (CID).
Channels are basically like TCP ports. A Protocol can listen on a channel and is connected to
a channel on the other device to which all responses are addressed.
A number of channel identifiers are reserved for predefined functions:
0x0000: The null identifier. Must never be used as a destination endpoint.0x0001: L2CAP signaling channel (Classic Bluetooth only).0x0002: Connectionless channel (Classic Bluetooth only).0x0003: AMP manager (not relevant for Classic and LE Bluetooth).0x0004: Attribute protocol (ATT). BLE only.0x0005: LE L2CAP signaling channel.0x0006: LE Security Manager protocol.0x0007: Classic Bluetooth Security Manager protocol.0x0008-0x003E: Reserved.0x003F: AMP test manager (not relevant for Classic and LE Bluetooth).
For BLE, channels 0x0040-0x007F are dynamically allocated, while 0x0080 and beyond are
reserved and should not be used (as of Bluetooth 4.2).
For classic Bluetooth, all channels 0x0040-0xFFFF are available for dynamic allocation.
Implementations§
Source§impl Channel
impl Channel
Sourcepub const LE_SIGNALING: Self
pub const LE_SIGNALING: Self
LE L2CAP signaling channel (connectionless).
Sourcepub const LE_SECURITY_MANAGER: Self
pub const LE_SECURITY_MANAGER: Self
LE Security Manager channel.
Sourcepub fn is_connection_oriented(&self) -> bool
pub fn is_connection_oriented(&self) -> bool
Returns whether this channel is connection-oriented.
L2CAP PDUs addressed to connection-oriented channels are called B-frames if the channel is in “Basic Mode”, and can be either S-frames or I-frames if the channel is in retransmission/flow control/streaming modes.
Sourcepub fn is_connectionless(&self) -> bool
pub fn is_connectionless(&self) -> bool
Returns whether this channel is connectionless.
L2CAP PDUs addressed to connectionless channels are called G-frames.