OSDN Git Service

LE: Add notification sent and congestion callbacks (2/4)
authorAndre Eisenbach <andre@broadcom.com>
Fri, 28 Mar 2014 21:54:22 +0000 (14:54 -0700)
committerAndre Eisenbach <eisenbach@google.com>
Wed, 25 Jun 2014 21:11:25 +0000 (14:11 -0700)
commit17b04bd498405f2bb109a85562ebbdcb6bb06e95
treea09e713e5e8a3f9322f0083fd2bb097682b20ad8
parent3c36809a32db64eccd21df7415477810c98d9e3f
LE: Add notification sent and congestion callbacks (2/4)

This change introduces two new callbacks for applications to better
handle LE notification flow control and transport congestion. The
notification callback is invoked when the remote platform confirms an
indication or when a local notification has been passed to the
controller. No new notifications should be sent until a callback is
received.

Congestion callbacks are triggered when a GATT operation cannot be sent
to the local Bluetooth controller. Repeatedly calling
writeCharacteristic() for example will eventually trigger a congestion
callback. Applications cannot send additional data until a further
callback is received, indicating that the congestion has cleared up.

Also fixes a memory leak issue that can trigger GKI exception for
certain GATT operations.

Change-Id: Ib470c15ca1f577573a632e9afe4cb9e86680fd8c
21 files changed:
bta/gatt/bta_gattc_act.c
bta/gatt/bta_gattc_main.c
bta/gatt/bta_gatts_act.c
bta/include/bta_gatt_api.h
btif/src/btif_gatt_client.c
btif/src/btif_gatt_server.c
btif/src/btif_gatt_test.c
include/bt_target.h
stack/gap/gap_ble.c
stack/gatt/att_protocol.c
stack/gatt/gatt_api.c
stack/gatt/gatt_attr.c
stack/gatt/gatt_cl.c
stack/gatt/gatt_int.h
stack/gatt/gatt_main.c
stack/include/gatt_api.h
stack/include/l2c_api.h
stack/l2cap/l2c_api.c
stack/l2cap/l2c_utils.c
stack/smp/smp_l2c.c
stack/srvc/srvc_eng.c