My take on Pico_Robustness_Test
Dependencies: PicoTCP lpc1768-picotcp-eth mbed-rtos mbed
Fork of Pico_Robustness_Test by
Revision 2:6da40f9e8301, committed 2013-07-25
- Comitter:
- daniele
- Date:
- Thu Jul 25 09:37:32 2013 +0000
- Parent:
- 1:97b1710fd9c3
- Commit message:
- Daniele's take on this test;
Changed in this revision
| PicoTCP.lib | Show annotated file Show diff for this revision Revisions of this file |
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/PicoTCP.lib Thu Jul 25 05:44:19 2013 +0000 +++ b/PicoTCP.lib Thu Jul 25 09:37:32 2013 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/daniele/code/PicoTCP/#ca30069e49bb +http://mbed.org/users/daniele/code/PicoTCP/#ed8f44fa8db9
--- a/main.cpp Thu Jul 25 05:44:19 2013 +0000
+++ b/main.cpp Thu Jul 25 09:37:32 2013 +0000
@@ -8,7 +8,7 @@
#define SENDING_RETRIES 3u
-#define READING_RETRIES 3u
+#define READING_RETRIES 7u
#define DHCP_RETRIES 10u
#define BUFFER_SIZE 256
@@ -162,35 +162,41 @@
retries = 0;
// sending request
- while(1)
+
+ ret = client.send_all(webStatistics[i].request,strlen(webStatistics[i].request));
+ if (ret <= 0)
{
- if( (ret = client.send_all(webStatistics[i].request,strlen(webStatistics[i].request))) <= 0)
- {
- printf("Retry sending no %d, return :%d, error code :%d\n",retries,ret,pico_err);
- retries++;
- }
- else break;
+ printf("This test failed big time, ret=%d, err=%d!!\n", ret, pico_err);
+ while(1);;;
+ }
- if(retries == SENDING_RETRIES+1)
- {
- printf("Failed sending. Bailing out this connection\n");
- continue;
- }
- }
retries = 0;
-
// start reading
while(true)
{
- if( (ret = client.receive(tmpBuffer,sizeof(tmpBuffer))) <= 0)
+ ret = client.receive(tmpBuffer,sizeof(tmpBuffer));
+ if (ret == 0) {
+ printf("Read timeout: ret = %d, err = %d, retry = %d\n", ret, pico_err, retries);
retries++;
- else
+ } else if (ret < 0) {
+ if (pico_err != PICO_ERR_ESHUTDOWN) {
+ printf("Read error, bailing out. Ret = %d, err = %d\n", ret, pico_err);
+ while(1);;;
+ }
+ client.close();
+ break;
+ } else {
received += ret;
+ }
- if(retries == READING_RETRIES)
- break;
+ if(retries == READING_RETRIES) {
+ printf("Read operation failed too many times. Giving up.\n");
+ break;
+ }
}
+
+
//Snapshot!
time = PICO_TIME_MS() - time;
@@ -204,6 +210,10 @@
webStatistics[i].minReceived = received;
}
printf("Received : %d bytes\n",received);
+ if (received <= 0) {
+ printf("Test FAILED!\n");
+ while(1);;;
+ }
webStatistics[i].avgDuration = ((webStatistics[i].avgDuration *(webStatistics[i].snapshots++) ) + time)/webStatistics[i].snapshots;
totalTime += time;
memoryStamp();
