lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] TCP_WRITE_FLAG_MORE, tcp_write(), tcp_output() and real


From: address@hidden
Subject: Re: [lwip-users] TCP_WRITE_FLAG_MORE, tcp_write(), tcp_output() and real output TCP segment
Date: Wed, 22 Nov 2017 17:09:34 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

Giuseppe Modugno wrote:

I'm sorry for the second email.

I noticed in tcp_output():

  /* First, check if we are invoked by the TCP input processing
     code. If so, we do not output anything. Instead, we rely on the
     input processing code to call us when input processing is done
     with. */
  if (tcp_input_pcb == pcb) {
    return ERR_OK;
  }

In the application recv() function, I decide I received all data and now I'm ready to answer with a reply. I call tcp_write() (maybe multiple times) from recv() and then tcp_output(). The previous if has the effect to return immediately from tcp_output(), so its call is useless.


It is, in this case. But normally, it's better to keep it in there instead of making your 'send-more'-code know if it is called from 'recv' or 'poll' or 'sent' callback...


Simon

reply via email to

[Prev in Thread] Current Thread [Next in Thread]