Hi
I am implementing a custom bluetooth client for the Flipper, and I am a bit stumped on how to handle large write requests.
I am reading and sending chunks of 414 bytes, which kinda works. The Flipper however logs from time to time, and tanks the transmission speed:
172254425 [W][BtSerialSvc] Received 240, while was ready to receive 54 bytes. Can lead to buffer overflow!
I have tried looking at the Android and IOS clients, but Im equally stumped at what those actually do to handle (potential) overflows.
172248425 [D][BtSerialSvc] Buffer is empty. Notifying client
172248428 [D][RpcStorage] Write
172249574 [D][BtSerialSvc] Received 245 bytes
172249576 [D][BtSerialSvc] Available buff size: 779
172249579 [D][BtSerialSvc] Received 240 bytes
172249582 [D][BtSerialSvc] Available buff size: 784
172249585 [D][RpcStorage] Write
172250831 [D][BtSerialSvc] Received 245 bytes
172250833 [D][BtSerialSvc] Available buff size: 779
172250836 [D][BtSerialSvc] Received 240 bytes
172250839 [D][BtSerialSvc] Available buff size: 784
172250842 [D][RpcStorage] Write
172252043 [D][BtSerialSvc] Received 245 bytes
172252045 [W][BtSerialSvc] Received 245, while was ready to receive 54 bytes. Can lead to buffer overflow!
172252048 [D][BtSerialSvc] Available buff size: 779
172252051 [D][BtSerialSvc] Received 240 bytes
172252055 [D][BtSerialSvc] Buffer is empty. Notifying client
172252058 [D][BtSerialSvc] Available buff size: 784
172252061 [D][RpcStorage] Write
172253252 [D][BtSerialSvc] Received 245 bytes
172253254 [D][BtSerialSvc] Available buff size: 779
172253257 [D][BtSerialSvc] Received 240 bytes
172253260 [D][BtSerialSvc] Available buff size: 784
172253263 [D][RpcStorage] Write
172254419 [D][BtSerialSvc] Received 245 bytes
172254421 [D][BtSerialSvc] Available buff size: 779
172254423 [D][BtSerialSvc] Received 240 bytes
172254425 [W][BtSerialSvc] Received 240, while was ready to receive 54 bytes. Can lead to buffer overflow!
172254428 [D][BtSerialSvc] Available buff size: 784
172254431 [D][BtSerialSvc] Buffer is empty. Notifying client