After a lot of thought about the issues with TCP under EDRX or PSM, I have a feature request.
I would like if the application layer could know when a TCP socket was sitting on out-of-order receive data or unacknowledged transmit data.
Obviously this shouldn't be reported immediately on either occurrence, but only after a time duration, probably configurable via nrf_setsockopt.
Ideally this could be reported by new bits in nrf_pollfd.
If the application layer knew this, it could disable EDRX/PSM or take other actions, to help the TCP socket recover before it times out or dies.
Related, I am also curious if the modem firmware team has any plans on supporting TCP keepalive or selective ACK.