Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 446748e1 authored by Łukasz Rymanowski's avatar Łukasz Rymanowski
Browse files

gatt: Improve queueing of GATT messages

There is couple of places where the GATT queuing is happening:
1) bta_gattc_queue. Queuing is done per conn_id, which is per GATT
   client. This API is used by most of the GATT Clients in native code
   and Java
2) stack/gatt  in the tGATT_TCB where is cl_cmd_q. Also each of the EATT
   channel has similar queue. Here it is assured that only one Command
   goes on the specific CID. Note that this lower layer API is used by
   GATT Caching and gatt_attr, plus of course bta_gattc_queue.

In addition to above, whenever, GATT API sends GATT Request,
it allocates pGATT_CLCB for each request. Before this patch,
GATT API allow for only num = 1 + #of eatt
channels  CLCBs per conn_id. This created the limitation for the users
of GATT API and actually put requirement on them to implement own
queuing mechanism.

This patch removes, the limit of possiblme CLBC allocated per conn_id,
as this can be easly queued in the tGATT_TCB.

Bug: 249431973
Test: atest BluetoothInstrumentationTests
Test: manual test with devices having EATT support.
Tag: #feature
Change-Id: If19de77a8a6842a90e3a231745274ed610f65b23
parent 32b2c52c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment