bluekitchen / btstack

Dual-mode Bluetooth stack, with small memory footprint.
http://bluekitchen-gmbh.com
Other
1.74k stars 613 forks source link

Indications in parallel and indications latency #552

Closed tamv12 closed 11 months ago

tamv12 commented 11 months ago

Hi, We have latency sensitive implementation, for that usage we implement Gatt over classic server (iPhone is client, DUT is server - using gatt_streamer_server) Using notifications I received throughput of ~140 kilobyte per second Using indications I received throughput of ~16 kilobyte per second.

The need for using indications is to have reliability (not having data loss) which can't be achieved

  1. I'd expect indications to be around 50-70~kilobyte/s. any ideas why we get such low performance and how to further optimize?

  2. I thought of trying to sending data using several characteristics indications in parallel, when i receive acknowledgment of indication_complete, i call att_server_request_can_send_now_event but according to API we can't add user data so eventually I don't know on which characteristic I can send the packet. is it possible to send indications in parallel? Thanks in advance

mringwal commented 11 months ago

Hi there. It's not possible to send Indications for multiple Characteristics over a single ATT Bearer in parallel.

Please post on the community forum https://groups.google.com/group/btstack-dev to discuss your application needs - ATT Notifications are not getting lost in general. For commercial projects, you may contact us directly at contact@bluektichen-gmbh.com