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
Loading
Please register or sign in to comment