1
µTasker general / Re: Large HTTP transfers failing due to retransmission counter
« on: May 18, 2010, 03:48:09 PM »
Hello Mark,
After digging I've found my problem. Totally my fault. I made some modifications a long time ago in the HTTP module. Instead of returning something like (fnSendTCP(...) > 0) I forgot the "> 0" part and returned fnSendTCP(). Since fnSendTCP() will almost always return 1400 (0b10101111000), the fourth bit will always be set to 1, thus causing the fnHandleTCP to think that the APP_REQUEST_CLOSE flag was set. Therefore the fnHandleTCP returned without calling fnNewTCPState:
Anyway, sorry for wasting your time and thanks for pointing me out in the right direction.
Phil
After digging I've found my problem. Totally my fault. I made some modifications a long time ago in the HTTP module. Instead of returning something like (fnSendTCP(...) > 0) I forgot the "> 0" part and returned fnSendTCP(). Since fnSendTCP() will almost always return 1400 (0b10101111000), the fourth bit will always be set to 1, thus causing the fnHandleTCP to think that the APP_REQUEST_CLOSE flag was set. Therefore the fnHandleTCP returned without calling fnNewTCPState:
Code: [Select]
if (APP_REQUEST_CLOSE & (iAppTCP |= ptr_TCP->event_listener(ptr_TCP->MySocketNumber, TCP_EVENT_ACK, ptr_TCP->ucRemoteIP, ptr_TCP->usRemport)))
{
/* ... */
return;
}
Anyway, sorry for wasting your time and thanks for pointing me out in the right direction.
Phil