16#include "pw_async2/dispatcher.h"
17#include "pw_bluetooth/gatt/client2.h"
18#include "pw_bluetooth/internal/raii_ptr.h"
19#include "pw_bluetooth/low_energy/channel.h"
20#include "pw_bluetooth/types.h"
22namespace pw::bluetooth::low_energy {
43 kRemoteUserTerminatedConnection,
179 pw::expected<void, ConnectionParameterUpdateError>>
198 using Ptr = internal::RaiiPtr<Connection2, &Connection2::Release>;
Definition: once_sender.h:43
Represents a GATT client that interacts with services on a GATT server.
Definition: client2.h:286
Definition: connection2.h:31
virtual gatt::Client2 * GattClient()=0
std::optional< Uuid > service_filter
Definition: connection2.h:122
virtual ConnectionParameters Parameters()=0
Returns the current connection parameters.
uint16_t supervision_timeout
Definition: connection2.h:70
SecurityRequirements security_requirements
Definition: connection2.h:146
virtual async2::OnceReceiver< pw::Result< Channel::Ptr > > ConnectL2cap(ConnectL2capParameters parameters)=0
uint16_t max_receive_packet_size
Maximum supported packet size for receiving.
Definition: connection2.h:142
uint16_t latency
Definition: connection2.h:62
virtual async2::Poll< DisconnectReason > PendDisconnect(async2::Context &cx)=0
uint16_t max_interval
Definition: connection2.h:94
Psm psm
The identifier of the service to connect to.
Definition: connection2.h:140
virtual uint16_t AttMtu()=0
internal::RaiiPtr< Connection2, &Connection2::Release > Ptr
Definition: connection2.h:198
virtual ~Connection2()=default
virtual async2::OnceReceiver< pw::expected< void, ConnectionParameterUpdateError > > RequestParameterUpdate(RequestedConnectionParameters parameters)=0
virtual async2::Poll< uint16_t > PendAttMtuChange(async2::Context &cx)=0
uint16_t min_interval
Definition: connection2.h:84
uint16_t interval
Definition: connection2.h:57
std::optional< RequestedConnectionParameters > parameters
Definition: connection2.h:126
Psm
Definition: channel.h:29
bool bondable_mode
Definition: connection2.h:117
DisconnectReason
Possible reasons a connection was disconnected.
Definition: connection2.h:41
ConnectionParameterUpdateError
Possible errors when updating the connection parameters.
Definition: connection2.h:34
uint16_t max_latency
Definition: connection2.h:99
uint16_t supervision_timeout
Definition: connection2.h:107
std::optional< uint16_t > att_mtu
Definition: connection2.h:135
@ kConnectionTimeout
This usually indicates that the link supervision timeout expired.
Definition: connection2.h:138
Represents parameters that are set on a per-connection basis.
Definition: connection2.h:111
Actual connection parameters returned by the controller.
Definition: connection2.h:49
Definition: connection2.h:75
The authentication an encryption requirements for a channel.
Definition: channel.h:32