Hi @roneld01 Thanks!
I solved this yesterday by setting on the menuconfig of my application the maximum length of incoming and outgoing fragments to 2.5KB. Now the application is working correctly doing both things “in parallel”.
You said on previous post:
Yes, mbedtls_ssl_read() is blocking. To be precise, the f_rcv callback is blocking, which blocks mbedtls_ssl_read() , unless you set your recv calllback to non_blocking, and return MBEDTLS_ERR_SSL_WANT_READ in case your socket would block the operation, as in the BSD sockets example in the code
I did not understood your answer very well, could you explain more?
I want it work this way: if inside the read function there is no reply yet, then its returns a specific value to my task and the task will block for around 50ms then will call the receive function again.
How I would do this: unless you set your recv calllback to non_blocking, and return MBEDTLS_ERR_SSL_WANT_READ. How to set to non-blocking?
I think this is the only thing is missing on my program regarding the mbedTLS, I just want to make it non-blocking, and if the write function is also blocking, also want to make it non-blocking too.
I did not found f_rcv inside the read function.
And thanks for you help again!
Regards!
