none
multiple pending WriteValueWithResultAsync() RRS feed

  • Question

  • Hi,

    I have a console application, that tries to write data as fast as possible to a bluetooth low energy peripherals bootloader. To give the windows BLE stack a chance to write as fast as possible I queue multiple GATT Write Requests (I hoped that the stack would for example schedule a queued Write Request on the same connection event on which, the stack received the Write Response of the previous Write Request).

    Now, it seems to me, that there is an upper limit of 8 pending Write Requests. When I queue more requests in parallel, the stack drops Write Request (observed with a BLE sniffer). The GattCharacteristic::WriteValueWithResultAsync() function does not return an error. Is this 8 a fixed limit of the Windows 10 version 1703 build 15063.608? If so, is this documented somewhere? Are there other such limits? Is it possible to detect that requests have been dropped?

    If I limit the number of Write Requests on the fly to (for example) 5, no Write Requests are dropped.

    Kind regards,

    Torsten

    Friday, October 6, 2017 6:23 PM