mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-04 14:29:39 +00:00
Moved the nagle algorithm from netconn_write/do_write into a define (tcp_output_nagle) in tcp.h to provide it to raw api users, too.
This commit is contained in:
parent
9f05cabf87
commit
2aef8bad55
@ -19,6 +19,10 @@ HISTORY
|
||||
|
||||
++ New features:
|
||||
|
||||
2007-06-21 Simon Goldschmidt
|
||||
* tcp.h, api_msg.c: Moved the nagle algorithm from netconn_write/do_write
|
||||
into a define (tcp_output_nagle) in tcp.h to provide it to raw api users, too.
|
||||
|
||||
2007-06-21 Simon Goldschmidt
|
||||
* api.h, api_lib.c, api_msg.c: Fixed bug #20021: Moved sendbuf-processing in
|
||||
netconn_write from api_lib.c to api_msg.c to also prevent multiple context-
|
||||
|
@ -752,15 +752,7 @@ do_writemore(struct netconn *conn)
|
||||
conn->write_msg = NULL;
|
||||
conn->write_offset = 0;
|
||||
}
|
||||
/* This is the Nagle algorithm: inhibit the sending of new TCP
|
||||
segments when new outgoing data arrives from the user if any
|
||||
previously transmitted data on the connection remains
|
||||
unacknowledged. */
|
||||
if ((conn->pcb.tcp->unacked == NULL ||
|
||||
(conn->pcb.tcp->flags & TF_NODELAY) ||
|
||||
(conn->pcb.tcp->snd_queuelen) > 1)) {
|
||||
err = tcp_output(conn->pcb.tcp);
|
||||
}
|
||||
err = tcp_output_nagle(conn->pcb.tcp);
|
||||
conn->err = err;
|
||||
if ((conn->callback) && (err == ERR_OK) &&
|
||||
(tcp_sndbuf(conn->pcb.tcp) <= TCP_SNDLOWAT)) {
|
||||
|
@ -111,6 +111,17 @@ err_t tcp_output (struct tcp_pcb *pcb);
|
||||
void tcp_rexmit (struct tcp_pcb *pcb);
|
||||
void tcp_rexmit_rto (struct tcp_pcb *pcb);
|
||||
|
||||
/**
|
||||
* This is the Nagle algorithm: inhibit the sending of new TCP
|
||||
* segments when new outgoing data arrives from the user if any
|
||||
* previously transmitted data on the connection remains
|
||||
* unacknowledged.
|
||||
*/
|
||||
#define tcp_output_nagle(tpcb) ((((tpcb)->unacked == NULL) || \
|
||||
((tpcb)->flags & TF_NODELAY) || \
|
||||
((tpcb)->snd_queuelen > 1)) ? \
|
||||
tcp_output(tpcb) : ERR_OK)
|
||||
|
||||
|
||||
|
||||
#define TCP_SEQ_LT(a,b) ((s32_t)((a)-(b)) < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user