Can someone tell me if this is a reentrancy issue? If I send data too fast on a socket and the stack is still sending the data and I make another call to send more data, will that cause a problem?
I am using a Stellaris 9b92 CPU running 80 MHz using lwip to send TCPIP data on a server socket. The data I am sending is a block of data 2894 bytes long. I am using Code Composer Studio without an OS. I have Nagel disabled on both ends and I am sending the data to a unloaded PC that is running wireshark and is just receiving the data and throwing it away. When I look at the wireshark data I can see the data is sent in three packets 1260, 1260 and then 324 bytes. Wireshart shows the following: Time = 0 first packet is sent 1260 bytes long Time 64uS PC ACK's Time 110uS, second 1260 packet sent Time 122uS PC ACK's Time 177uS, send 374 bytes Time 187uS, PC ACK's The software then will send the data again 200mS later so there is quite a bit of dead time before the next send. The total time it takes to send the data is ~ 200uS every 200mS. This works well till I try to send the data with less delay between the sends of the data. With the delay at about 100mS between the sends, it will still work but I think it may be marginal. When I try to go much faster, I see the sends going out about every 90mS then after about 7 sends of the data at the rate of a send every 90mS, I start getting the out of memory error code on the send. I know it takes time for the send to process that data and break it into packets and calculate a checksum etc and at some point things will back up. The data rates where I am seeing problems seems low where I think something may be wrong in what I am doing. Does anyone have advice and is this a reentrancy problem? I could provide the wireshark trace is that would help. Thanks, db _______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
