lwip-users
[Top][All Lists]
Advanced

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

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


From: marek
Subject: Re: [lwip-users] Intention of poll, tcp_output() in tcp_slowtmr()call.
Date: Fri, 5 Mar 2004 11:54:12 +0100 (CET)

Well
As I read source code of api_msg.c, that is as You write, tcp_output is
called from do_write function:
{
...
err = tcp_write(msg->conn->pcb.tcp, msg->msg.w.dataptr,msg->msg.w.len,
msg->msg.w.copy);


        if (err == ERR_OK && msg->conn->pcb.tcp->unacked == NULL)
        {
                tcp_output(msg->conn->pcb.tcp);
        }
        msg->conn->err = err;

...
}

I used my stack on Hitachi H8S without using poll it works well.

Mark



> 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
>
>
> _______________________________________________
> lwip-users mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/lwip-users








reply via email to

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