sd_ble_gatts_hvx - Blocking or Non Blocking function

I am trying to use sd_ble_gatts_hvx function to send custom data through BLE. I found out that for the data I am sending the function takes a lot of time to send data which results in a FIFO error on the UART module.

For this reason, I wanted to know if sd_ble_gatts_hvx is a Blocking or Non Blocking function.

I am using SDK 15.3.0 SoftDevice 132 and nRF52832.