[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [lwip-users] tcp_write() errors on snd_queuelen
From: |
Tim Lambrix |
Subject: |
RE: [lwip-users] tcp_write() errors on snd_queuelen |
Date: |
Thu, 17 Mar 2011 20:32:40 +0000 |
I have been looking at the timers some more and trying to figure out how to get
my buffer moved during the interrupt. It looks like there are two timers: 1)
lwIPHostTimerHandler and 2) tcp_poll. I think I have to use the host timer
handler to read information out of my buffers creatively(hopefully while not in
the middle of changing it).
I am trying to learn how the tcp_poll timer function works. I have a function
and set:
tcp_poll(pcb, TCP_Poll, 1);
I found that increasing this value above a 1 can either A) never get called at
a half second interval and B) from wireshark, only sends data out at whatever
the value is. For example, I put a 4 in there and WireShark displays a 2
second gap between send and receives. However, with a 1 in there it sends and
receives data at a 200ms interval and if needed, due to more than one TCP
outgoing packet being full (2*TCP_MSS), it will send all packets at that time.
I don't understand this timer value behavior as the TCP_Poll function I have
written, doesn't really do much (residual from StellarisWare).
if ((hs == NULL) && (pcb->state == ESTABLISHED))
{
tcp_abort(pcb);
return ERR_ABRT;
}
Is there an explanation of how the poll interval timer works this way? I found
that the TCP_SND_QUEUELEN limit is reached very quickly if the value is NOT a 1
which should map to 500 ms based on the slow TCP timer. This makes some sense
as I can send up to sixty tcp_writes in 200 ms alone. In two seconds, this is
over 200. In other words, my code only functions without crashing (with the
disable Ethernet interrupt fix around tcp_write of course) with the poll
interval set to a 1.
Sorry for the piecemeal email. Also, I don't want to be a bother so if I am
asking too many questions, just let me know. If you know of another source I
should tap into (in the US?), I would be interested.
- RE: [lwip-users] tcp_write() errors on snd_queuelen, (continued)
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Tim Lambrix, 2011/03/16
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Kieran Mansley, 2011/03/17
- Re: [lwip-users] tcp_write() errors on snd_queuelen, Simon Goldschmidt, 2011/03/17
- Re: [lwip-users] tcp_write() errors on snd_queuelen, Kieran Mansley, 2011/03/17
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Tim Lambrix, 2011/03/17
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Kieran Mansley, 2011/03/17
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Simon Goldschmidt, 2011/03/16
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Tim Lambrix, 2011/03/16
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Mullanix, Todd, 2011/03/16
- Re: [lwip-users] tcp_write() errors on snd_queuelen, address@hidden, 2011/03/17
- RE: [lwip-users] tcp_write() errors on snd_queuelen,
Tim Lambrix <=
- Re: [lwip-users] tcp_write() errors on snd_queuelen, Simon Goldschmidt, 2011/03/16
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Mullanix, Todd, 2011/03/16
- RE: [lwip-users] tcp_write() errors on snd_queuelen, Tim Lambrix, 2011/03/16
- Re: [lwip-users] tcp_write() errors on snd_queuelen, Simon Goldschmidt, 2011/03/16
RE: [lwip-users] tcp_write() errors on snd_queuelen, Simon Goldschmidt, 2011/03/16