[Top][All Lists]
[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
- [lwip-users] Intention of poll,tcp_output() in tcp_slowtmr()call., David Aldrich, 2004/03/04
- Re: [lwip-users] Intention of poll, tcp_output() in tcp_slowtmr()call.,
marek <=
- Re: [lwip-users] Intention of poll, tcp_output() in tcp_slowtmr()call., Robert, 2004/03/09
- Re: [lwip-users] Intention of poll, tcp_output() in tcp_slowtmr()call., Larry Piggins, 2004/03/09
- Re: [lwip-users] Intention of poll, tcp_output() in tcp_slowtmr()call., Kieran Mansley, 2004/03/10