Diff for /mqtt/src/mqtt_ping.c between versions 1.1.2.4 and 1.1.2.5

version 1.1.2.4, 2012/05/01 22:19:29 version 1.1.2.5, 2012/05/03 13:39:35
Line 36  cleanArgs(struct tagArgs * __restrict args) Line 36  cleanArgs(struct tagArgs * __restrict args)
 }  }
   
 static int  static int
Ping(int sock, int num)Ping(int sock, int num, struct timeval * __restrict accu)
 {  {
        struct timeval before, after;        struct timeval before, after, calc;
         ait_val_t val;          ait_val_t val;
   
         gettimeofday(&before, NULL);          gettimeofday(&before, NULL);
Line 48  Ping(int sock, int num) Line 48  Ping(int sock, int num)
   
         gettimeofday(&after, NULL);          gettimeofday(&after, NULL);
   
           timersub(&after, &before, &calc);
           timeradd(accu, &calc, accu);
   
         printf(" + Ping %d MQTT broker %s ... %f sec.\n", num, io_n2addr(&args->addr, &val),           printf(" + Ping %d MQTT broker %s ... %f sec.\n", num, io_n2addr(&args->addr, &val), 
                        ((after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1.e6));                        calc.tv_sec + calc.tv_usec / 1.e6);
         AIT_FREE_VAL(&val);          AIT_FREE_VAL(&val);
   
         return 0;          return 0;
Line 64  main(int argc, char **argv) Line 67  main(int argc, char **argv)
         u_short port = atoi(MQTT_PORT);          u_short port = atoi(MQTT_PORT);
         int num = 1, ret = 0, lost = 0;          int num = 1, ret = 0, lost = 0;
         register int i;          register int i;
           struct timeval accu;
   
         if (!(args = malloc(sizeof(struct tagArgs)))) {          if (!(args = malloc(sizeof(struct tagArgs)))) {
                 printf("Error:: in alloc arguments #%d - %s\n", errno, strerror(errno));                  printf("Error:: in alloc arguments #%d - %s\n", errno, strerror(errno));
Line 88  main(int argc, char **argv) Line 92  main(int argc, char **argv)
                 switch (ch) {                  switch (ch) {
                         case 'c':                          case 'c':
                                 num = (int) strtol(optarg, NULL, 0);                                  num = (int) strtol(optarg, NULL, 0);
                                   break;
                         case 'T':                          case 'T':
                                 args->ka = (u_short) strtol(optarg, NULL, 0);                                  args->ka = (u_short) strtol(optarg, NULL, 0);
                                 break;                                  break;
Line 164  main(int argc, char **argv) Line 169  main(int argc, char **argv)
                         break;                          break;
         }          }
   
           timerclear(&accu);
         if (ret == MQTT_RETCODE_ACCEPTED) {          if (ret == MQTT_RETCODE_ACCEPTED) {
                 for (i = 0; i < num; i++)                  for (i = 0; i < num; i++)
                        if ((ret = Ping(args->cli->sock, i))) {                        if ((ret = Ping(args->cli->sock, i, &accu))) {
                                 ret = 3;                                  ret = 3;
                                 lost++;                                  lost++;
                         }                          }
                printf("\nMQTT ping sended %d requests with %d lost responses\n", num, lost);                printf("\nMQTT ping sended %d requests with %d lost responses and avarage %f sec.\n", 
                                 num, lost, (accu.tv_sec + accu.tv_usec / 1.e6) / (num - lost));
         } else          } else
                 ret = 4;                  ret = 4;
   

Removed from v.1.1.2.4  
changed lines
  Added in v.1.1.2.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>