lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] Intention of poll,tcp_output() in tcp_slowtmr()call.


From: David Aldrich
Subject: [lwip-users] Intention of poll,tcp_output() in tcp_slowtmr()call.
Date: Wed, 3 Mar 2004 14:37:20 -0000

Hi,

I found a thread called "Intention of poll,tcp_output() in
tcp_slowtmr()call." started in January 2003 by Michael Portmann that
describes a problem I have stumbled across.  Here is the original
message:

============================================================
Hi all. 
I think this is a bug, however... Can someone (Adam?) explain the
intention of the call poll,tcp_output() in tcp_slowtmr(). Both V0.5.3
and CVS call it at the rate of the pollinterval. What this means is if
you haven't filled up to MSS worth of data, the data won't be sent until
the poll call. My understanding from documentation I've read, is the
poll is for "watchdog" type functionality. What is the "normal" delay
used for transmitting packets less than MSS ? I feel this should be
either changed such that tcp_output() is called at every tcp_slowtmr()
call (500ms) or that the documentation be changed to mention that the
poll() call has this effect. Finally on this matter - I can't see where
this pollinterval is initialised except for by the tcp_poll() function
(Not even bzero'ed.) Would it be reasonable to say pollinterval should
be initialised to zero in the tcp_input function ? Regards, Michael
Portmann 
============================================================

[David] My inspection of the code suggests that, for user data
transmission, tcp_output() only gets called at the poll interval.  This
seems very strange.  I want to achieve high transmission rates with
relatively small memory; it seems to me that this demands a high poll
frequency.  But I have no need for a poll callback.  I guess that I can
either set the pollinterval to a low value (fast polling) or call
tcp_output() directly from my application code after tcp_write().  This
seems not to be ideal.

Does anyone have any comments on this?

David




reply via email to

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