Change how TCP read-ahead is selected to better integrate with TCP write buffering

This commit is contained in:
Gregory Nutt 2014-01-13 13:55:51 -06:00
parent d325809ee3
commit 7eef2f9410
88 changed files with 135 additions and 49 deletions

View File

@ -13,7 +13,7 @@
<h1><big><font color="#3c34ec"><i>NuttX Operating System<p>User's Manual</i></font></big></h1>
<p><small>by</small></p>
<p>Gregory Nutt<p>
<p>Last Updated: September 28, 2013</p>
<p>Last Updated: January 13, 2014</p>
</td>
</tr>
</table>
@ -7986,6 +7986,7 @@ interface of the same name.
<li><code>CONFIG_NET</code> Defined for general network support</li>
<li><code>CONFIG_NET_TCP</code> Defined for TCP/IP support</li>
<li><code>CONFIG_NSOCKET_DESCRIPTORS</code> Defined to be greater than 0</li>
<li><code>CONFIG_NET_TCP_READAHEAD</code> Define to enable read-ahead buffering</li>
<li><code>CONFIG_NET_NTCP_READAHEAD_BUFFERS</code> Defined to be greater than zero</li>
</ul>
<p>

View File

@ -187,6 +187,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=0
CONFIG_NET_TCP_READAHEAD=n
CONFIG_NET_NTCP_READAHEAD_BUFFERS=0
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=0

View File

@ -187,6 +187,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=32
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -187,6 +187,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=32
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -187,6 +187,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=40

View File

@ -405,6 +405,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -200,6 +200,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=32
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -202,6 +202,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=32
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -203,6 +203,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=32
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -240,6 +240,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -240,6 +240,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -242,6 +242,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -247,6 +247,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -349,6 +349,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -227,6 +227,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -227,6 +227,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -227,6 +227,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -227,6 +227,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -227,6 +227,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -450,6 +450,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_MAX_LISTENPORTS=16
CONFIG_NET_TCP_READAHEAD=y
# CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -257,6 +257,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -335,6 +335,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -335,6 +335,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -362,6 +362,7 @@ CONFIG_NET_BUFSIZE=650
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -256,6 +256,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -303,6 +303,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -299,6 +299,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -303,6 +303,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -296,6 +296,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -189,6 +189,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -194,6 +194,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -189,6 +189,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -212,6 +212,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -189,6 +189,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=0
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=0

View File

@ -189,6 +189,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -314,6 +314,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=576
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -392,6 +392,7 @@ CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -402,6 +402,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -314,6 +314,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=296
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -309,6 +309,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -417,6 +417,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -513,6 +513,7 @@ CONFIG_NET_BUFSIZE=650
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -550,6 +550,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=20
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -267,6 +267,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -391,6 +391,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -390,6 +390,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -388,6 +388,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -406,6 +406,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -388,6 +388,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -405,6 +405,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -623,6 +623,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_MAX_LISTENPORTS=16
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=4
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -392,6 +392,7 @@ CONFIG_NET_BUFSIZE=768
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -401,6 +401,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n

View File

@ -401,6 +401,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n

View File

@ -447,6 +447,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -447,6 +447,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -636,6 +636,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -401,6 +401,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n

View File

@ -407,6 +407,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n

View File

@ -412,6 +412,7 @@ CONFIG_NET_BUFSIZE=650
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
# CONFIG_NET_TCP_READAHEAD_BUFSIZE=650
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -407,6 +407,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n

View File

@ -452,6 +452,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -453,6 +453,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -451,6 +451,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -631,6 +631,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -407,6 +407,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCPBACKLOG=n

View File

@ -452,6 +452,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -405,6 +405,7 @@ CONFIG_NET_BUFSIZE=650
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
# CONFIG_NET_TCP_READAHEAD_BUFSIZE=650
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -431,6 +431,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_TCP_READAHEAD=y
#CONFIG_NET_TCP_READAHEAD_BUFSIZE
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=y

View File

@ -253,6 +253,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -254,6 +254,7 @@ CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=n
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCPBACKLOG=n
CONFIG_NET_MAX_LISTENPORTS=8

View File

@ -373,6 +373,7 @@ ViewTool DP83848 Ethernet Module
CONFIG_NET_BUFSIZE=650 : Maximum packet size
CONFIG_NET_RECEIVE_WINDOW=650
CONFIG_NET_TCP_READAHEAD=y : Enable read-ahead buffering
CONFIG_NET_TCP_READAHEAD_BUFSIZE=650
CONFIG_NET_TCP=y : TCP support

View File

@ -550,6 +550,7 @@ CONFIG_NET_BUFSIZE=650
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=40
CONFIG_NET_MAX_LISTENPORTS=40
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=650
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -395,6 +395,7 @@ CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -434,6 +434,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -430,6 +430,7 @@ CONFIG_NET_BUFSIZE=562
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -395,6 +395,7 @@ CONFIG_NET_BUFSIZE=420
CONFIG_NET_TCP=y
CONFIG_NET_TCP_CONNS=16
CONFIG_NET_MAX_LISTENPORTS=8
CONFIG_NET_TCP_READAHEAD=y
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
CONFIG_NET_TCP_RECVDELAY=0

View File

@ -6,7 +6,7 @@
* of C macros that are used by uIP programs as well as internal uIP
* structures, TCP/IP header structures and function declarations.
*
* Copyright (C) 2007, 2009-2010, 2012-2013 Gregory Nutt. All rights
* Copyright (C) 2007, 2009-2010, 2012-2014 Gregory Nutt. All rights
* reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
@ -170,7 +170,7 @@ struct uip_conn
* where the TCP/IP read-ahead data is retained.
*/
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
sq_queue_t readahead; /* Read-ahead buffering */
#endif
@ -234,7 +234,7 @@ struct uip_conn
* buffers so that no data is lost.
*/
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
struct uip_readahead_s
{
sq_entry_t rh_node; /* Supports a singly linked list */
@ -401,10 +401,10 @@ extern int uip_unlisten(struct uip_conn *conn);
/* Access to TCP read-ahead buffers */
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
extern struct uip_readahead_s *uip_tcpreadaheadalloc(void);
extern void uip_tcpreadaheadrelease(struct uip_readahead_s *buf);
#endif /* CONFIG_NET_NTCP_READAHEAD_BUFFERS */
#endif /* CONFIG_NET_TCP_READAHEAD */
/* Backlog support */

View File

@ -287,20 +287,22 @@
# define CONFIG_NET_BUFSIZE 400
#endif
/* Number of TCP read-ahead buffers (may be zero) */
#ifdef CONFIG_NET_TCP_READAHEAD
/* Number of TCP read-ahead buffers */
#ifndef CONFIG_NET_NTCP_READAHEAD_BUFFERS
# define CONFIG_NET_NTCP_READAHEAD_BUFFERS 4
#endif
# ifndef CONFIG_NET_NTCP_READAHEAD_BUFFERS
# define CONFIG_NET_NTCP_READAHEAD_BUFFERS 4
# endif
/* The size of the TCP read buffer size */
/* The size of the TCP read buffer size */
#ifndef CONFIG_NET_TCP_READAHEAD_BUFSIZE
# if CONFIG_NET_NTCP_READAHEAD_BUFFERS < 1
# define CONFIG_NET_TCP_READAHEAD_BUFSIZE 0
# else
# ifndef CONFIG_NET_TCP_READAHEAD_BUFSIZE
# define CONFIG_NET_TCP_READAHEAD_BUFSIZE UIP_TCP_MSS
# endif
#else
# undef CONFIG_NET_TCP_READAHEAD_BUFSIZE
# undef CONFIG_NET_NTCP_READAHEAD_BUFFERS
#endif
/* Delay after receive to catch a following packet. No delay should be
@ -308,7 +310,7 @@
*/
#ifndef CONFIG_NET_TCP_RECVDELAY
# if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
# ifdef CONFIG_NET_TCP_READAHEAD
# define CONFIG_NET_TCP_RECVDELAY 0
# else
# define CONFIG_NET_TCP_RECVDELAY 5

View File

@ -115,6 +115,12 @@ config NET_MAX_LISTENPORTS
---help---
Maximum number of listening TCP/IP ports (all tasks). Default: 20
config NET_TCP_READAHEAD
bool "Enabled TCP/IP read-ahead buffering"
default y
if NET_TCP_READAHEAD
config NET_TCP_READAHEAD_BUFSIZE
int "TCP/IP read-ahead buffer size"
default 562
@ -140,6 +146,8 @@ config NET_NTCP_READAHEAD_BUFFERS
memory constained system that does not have any TCP/IP packet rate
issues.
endif # NET_TCP_READAHEAD
config NET_TCP_RECVDELAY
int "TCP Rx delay"
default 0

View File

@ -1,7 +1,7 @@
/****************************************************************************
* net/net_poll.c
*
* Copyright (C) 2008-2009, 2011-2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2008-2009, 2011-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -68,7 +68,7 @@
*/
#if !defined(CONFIG_DISABLE_POLL) && CONFIG_NSOCKET_DESCRIPTORS > 0 && \
defined(CONFIG_NET_TCP) && CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
defined(CONFIG_NET_TCP) && defined(CONFIG_NET_TCP_READAHEAD)
# define HAVE_NETPOLL 1
#else
# undef HAVE_NETPOLL

View File

@ -1,7 +1,7 @@
/****************************************************************************
* net/net_vfcntl.c
*
* Copyright (C) 2009, 2012-2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2009, 2012-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -127,9 +127,9 @@ int net_vfcntl(int sockfd, int cmd, va_list ap)
ret = O_RDWR | O_SYNC | O_RSYNC;
#ifdef CONFIG_NET_TCP_READAHEAD
/* TCP/IP sockets may also be non-blocking if read-ahead is enabled */
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
if (psock->s_type == SOCK_STREAM && _SS_ISNONBLOCK(psock->s_flags))
{
ret |= O_NONBLOCK;
@ -148,11 +148,11 @@ int net_vfcntl(int sockfd, int cmd, va_list ap)
*/
{
#ifdef CONFIG_NET_TCP_READAHEAD
/* Non-blocking is the only configurable option. And it applies only to
* read operations on TCP/IP sockets when read-ahead is enabled.
*/
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
int mode = va_arg(ap, int);
if (psock->s_type == SOCK_STREAM)
{

View File

@ -1,7 +1,7 @@
/****************************************************************************
* net/recvfrom.c
*
* Copyright (C) 2007-2009, 2011-2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009, 2011-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -173,7 +173,7 @@ static inline void recvfrom_newtcpdata(FAR struct uip_driver_s *dev,
if (recvlen < dev->d_len)
{
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
FAR struct uip_conn *conn = (FAR struct uip_conn *)pstate->rf_sock->s_conn;
FAR uint8_t *buffer = (FAR uint8_t *)dev->d_appdata + recvlen;
uint16_t buflen = dev->d_len - recvlen;
@ -263,7 +263,7 @@ static inline void recvfrom_newudpdata(FAR struct uip_driver_s *dev,
*
****************************************************************************/
#if defined(CONFIG_NET_TCP) && CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#if defined(CONFIG_NET_TCP) && defined(CONFIG_NET_TCP_READAHEAD)
static inline void recvfrom_readahead(struct recvfrom_s *pstate)
{
FAR struct uip_conn *conn = (FAR struct uip_conn *)pstate->rf_sock->s_conn;
@ -1028,7 +1028,7 @@ static ssize_t tcp_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len,
* socket has been disconnected.
*/
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
recvfrom_readahead(&state);
/* The default return value is the number of bytes that we just copied into
@ -1062,7 +1062,7 @@ static ssize_t tcp_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len,
* end-of-file indication.
*/
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
if (ret <= 0 && !_SS_ISCLOSED(psock->s_flags))
#else
if (!_SS_ISCLOSED(psock->s_flags))
@ -1084,7 +1084,7 @@ static ssize_t tcp_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len,
*/
else
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
if (_SS_ISNONBLOCK(psock->s_flags))
{
/* Return the number of bytes read from the read-ahead buffer if
@ -1114,14 +1114,14 @@ static ssize_t tcp_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len,
* (state.rf_buflen > 0). This could be zero, for example, if read-ahead
* buffering was enabled and we filled the user buffer with data from
* the read-ahead buffers. Aand
* 2) if read-ahead buffering is enabled (CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0)
* 2) if read-ahead buffering is enabled (CONFIG_NET_TCP_READAHEAD)
* and delay logic is disabled (CONFIG_NET_TCP_RECVDELAY == 0), then we
* not want to wait if we already obtained some data from the read-ahead
* buffer. In that case, return now with what we have (don't want for more
* because there may be no timeout).
*/
#if CONFIG_NET_TCP_RECVDELAY == 0 && CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#if CONFIG_NET_TCP_RECVDELAY == 0 && defined(CONFIG_NET_TCP_READAHEAD)
if (state.rf_recvlen == 0 && state.rf_buflen > 0)
#else
if (state.rf_buflen > 0)

View File

@ -1,7 +1,7 @@
/****************************************************************************
* net/uip/uip_initialize.c
*
* Copyright (C) 2007-2011 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2011, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Adapted for NuttX from logic in uIP which also has a BSD-like license:
@ -134,7 +134,7 @@ void uip_initialize(void)
/* Initialize the TCP/IP read-ahead buffering */
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
uip_tcpreadaheadinit();
#endif
#endif /* CONFIG_NET_TCP */

View File

@ -1,7 +1,7 @@
/****************************************************************************
* net/uip/uip_internal.h
*
* Copyright (C) 2007-2009, 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009, 2013-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* This logic was leveraged from uIP which also has a BSD-style license:
@ -156,18 +156,18 @@ void uip_tcpinput(struct uip_driver_s *dev);
uint16_t uip_tcpcallback(FAR struct uip_driver_s *dev,
FAR struct uip_conn *conn, uint16_t flags);
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
uint16_t uip_datahandler(FAR struct uip_conn *conn,
FAR uint8_t *buffer, uint16_t nbytes);
#endif
/* Defined in uip_tcpreadahead.c ********************************************/
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
void uip_tcpreadaheadinit(void);
struct uip_readahead_s *uip_tcpreadaheadalloc(void);
void uip_tcpreadaheadrelease(struct uip_readahead_s *buf);
#endif /* CONFIG_NET_NTCP_READAHEAD_BUFFERS */
#endif /* CONFIG_NET_TCP_READAHEAD */
#endif /* CONFIG_NET_TCP */

View File

@ -70,7 +70,7 @@
*
****************************************************************************/
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
static int uip_readahead(struct uip_readahead_s *readahead, uint8_t *buf,
int len)
{
@ -131,7 +131,7 @@ uip_dataevent(FAR struct uip_driver_s *dev, FAR struct uip_conn *conn,
if (dev->d_len > 0)
{
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
uint8_t *buffer = dev->d_appdata;
int buflen = dev->d_len;
uint16_t recvlen;
@ -139,7 +139,7 @@ uip_dataevent(FAR struct uip_driver_s *dev, FAR struct uip_conn *conn,
nllvdbg("No listener on connection\n");
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
/* Save as much data as possible in the read-ahead buffers */
recvlen = uip_datahandler(conn, buffer, buflen);
@ -276,7 +276,7 @@ uint16_t uip_tcpcallback(struct uip_driver_s *dev, struct uip_conn *conn,
*
****************************************************************************/
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
uint16_t uip_datahandler(FAR struct uip_conn *conn, FAR uint8_t *buffer,
uint16_t buflen)
{
@ -332,6 +332,6 @@ uint16_t uip_datahandler(FAR struct uip_conn *conn, FAR uint8_t *buffer,
nllvdbg("Buffered %d bytes (of %d)\n", recvlen, buflen);
return recvlen;
}
#endif /* CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0 */
#endif /* CONFIG_NET_TCP_READAHEAD */
#endif /* CONFIG_NET && CONFIG_NET_TCP */

View File

@ -1,7 +1,7 @@
/****************************************************************************
* net/uip/uip_tcpconn.c
*
* Copyright (C) 2007-2011, 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2011, 2013-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Large parts of this file were leveraged from uIP logic:
@ -305,8 +305,7 @@ void uip_tcpfree(struct uip_conn *conn)
{
FAR struct uip_callback_s *cb;
FAR struct uip_callback_s *next;
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
struct uip_readahead_s *readahead;
#endif
uip_lock_t flags;
@ -342,7 +341,7 @@ void uip_tcpfree(struct uip_conn *conn)
/* Release any read-ahead buffers attached to the connection */
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
while ((readahead = (struct uip_readahead_s *)sq_remfirst(&conn->readahead)) != NULL)
{
uip_tcpreadaheadrelease(readahead);
@ -511,7 +510,7 @@ struct uip_conn *uip_tcpaccept(struct uip_tcpip_hdr *buf)
/* Initialize the list of TCP read-ahead buffers */
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
sq_init(&conn->readahead);
#endif
@ -654,7 +653,7 @@ int uip_tcpconnect(struct uip_conn *conn, const struct sockaddr_in *addr)
/* Initialize the list of TCP read-ahead buffers */
#if CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0
#ifdef CONFIG_NET_TCP_READAHEAD
sq_init(&conn->readahead);
#endif

View File

@ -1,7 +1,7 @@
/****************************************************************************
* net/uip/uip_tcpreadahead.c
*
* Copyright (C) 2007-2009, 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009, 2013-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -38,7 +38,7 @@
****************************************************************************/
#include <nuttx/net/uip/uipopt.h>
#if defined(CONFIG_NET) && defined(CONFIG_NET_TCP) && (CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0)
#if defined(CONFIG_NET) && defined(CONFIG_NET_TCP) && defined(CONFIG_NET_TCP_READAHEAD)
#include <queue.h>
#include <debug.h>
@ -127,4 +127,4 @@ void uip_tcpreadaheadrelease(struct uip_readahead_s *buf)
sq_addfirst(&buf->rh_node, &g_freebuffers);
}
#endif /* CONFIG_NET && CONFIG_NET_TCP && CONFIG_NET_NTCP_READAHEAD_BUFFERS*/
#endif /* CONFIG_NET && CONFIG_NET_TCP && CONFIG_NET_TCP_READAHEAD */