This repository was archived by the owner on Jan 20, 2025. It is now read-only.
Commit 79dafc5
committed
Perform acks of any written buffers on poll
When data is enqueued and then sent to the socket with the send()
method, buffers are enqueued and then written as much as possible
into the socket, but the buffers are not yet acked. Prior to this commit,
the only place where written buffers were acked was inside the _sockIsWriteable()
method, invoked when the socket becomes writable. However, if
the socket remains non-writable, the data queue would fill with written-but-not-acked buffers. This in turn breaks the TX timeout
logic and causes the code to never signal a TX timeout to the application.
Fixed by adding ack code in the _sockPoll() method so all ack callbacks
are made from the "asyncTcpSock" task.1 parent abb4a8e commit 79dafc5
1 file changed
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
900 | 900 | | |
901 | 901 | | |
902 | 902 | | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
903 | 917 | | |
904 | 918 | | |
905 | 919 | | |
| |||
0 commit comments