I am developing an application that sends an image with BLE to an android phone. It is remarkable similar to the Image transfer demo (https://github.com/NordicPlayground/nrf52-ble-image-transfer-demo), except with SDK 15.3.0. The code I have written calls sd_ble_gatts_hvx to write packets until a NRF_ERROR_RESOURCES is returned, and then I wait for a BLE_GATTS_EVT_HVN_TX_COMPLETE event which starts the next set of writes.
The SoftDevice online documentation for sd_ble_gatts_hvx corroborates this, but the documentation also claims that the queue size can be configured.
The number of Handle Value Notifications that can be queued is configured by ble_gatts_conn_cfg_t::hvn_tx_queue_size When the queue is full, the function call will return NRF_ERROR_RESOURCES. A BLE_GATTS_EVT_HVN_TX_COMPLETE event will be issued as soon as the transmission of the notification is complete.
As far as I can tell this is out of date. All the links send me to older versions of the documentation. And to be honest the online documentation is a nightmare to navigate. Does this structure no longer exist? What's the deal? Is there any way to change the hvn tx queue size?