Zephyr way of handling large data transfer over BLE


Hello All,
          I have a question related to the one i asked last week. (https://lists.zephyrproject.org/pipermail/zephyr-users/2017-December/000915.html). But i will rephrase it and be more generic to what i am looking for now because that question was already answered and solution works too.

I have an Android client (BLE central) and zephyr OS based BLE device as peripheral (nRF device) transfer data over a custom profile. I am aware that in BLE we can transfer only 20 bytes at a time. And also there are possibilities to extend the data packet size or increase the ATT_MTU size based on negotiation. But for compatibility purposes, I will avoid using these techniques. I am also not using BLE mesh or nordic softdevice SDK.

In that case, what is the zephyr way of handling large data transfer over BLE.? Do we need to handle segmentation and reassembly in the application layer by our selves only ? or any callback events possible in case buffer is full during multi packet transmission so that we can handle this?.

I am searching if there is any solution similar to the accepted answer in this thread for nordic SDK: https://devzone.nordicsemi.com/question/1741/dealing-large-data-packets-through-ble/)

Any example or leads to this using zephyr is much appreciated. Thanks in advance.

Dhananjay GJ

Join users@lists.zephyrproject.org to automatically receive all group messages.