[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/net/lqi LqiForwardingEngineP.nc, 1.10, 1.11

Omprakash Gnawali gnawali at users.sourceforge.net
Tue Jan 1 20:08:35 PST 2008


Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/net/lqi
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30409

Modified Files:
	LqiForwardingEngineP.nc 
Log Message:
separate fail count for send and fwd, max_retries controls the max retx when ack is not received

Index: LqiForwardingEngineP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/net/lqi/LqiForwardingEngineP.nc,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** LqiForwardingEngineP.nc	13 Sep 2007 23:10:18 -0000	1.10
--- LqiForwardingEngineP.nc	2 Jan 2008 04:08:32 -0000	1.11
***************
*** 112,116 ****
    enum {
      FWD_QUEUE_SIZE = MHOP_QUEUE_SIZE, // Forwarding Queue
!     EMPTY = 0xff
    };
  
--- 112,117 ----
    enum {
      FWD_QUEUE_SIZE = MHOP_QUEUE_SIZE, // Forwarding Queue
!     EMPTY = 0xff,
!     MAX_RETRIES = 5
    };
  
***************
*** 121,125 ****
    uint8_t iFwdBufHead, iFwdBufTail;
    uint16_t sendFailures = 0;
!   uint8_t fail_count = 0;
    int fwdbusy = 0;
    
--- 122,127 ----
    uint8_t iFwdBufHead, iFwdBufTail;
    uint16_t sendFailures = 0;
!   uint8_t fwd_fail_count = 0;
!   uint8_t my_fail_count = 0;
    int fwdbusy = 0;
    
***************
*** 301,305 ****
      if (!call PacketAcknowledgements.wasAcked(msg) &&
  	call AMPacket.destination(msg) != TOS_BCAST_ADDR &&
! 	fail_count < 5){
        call RouteSelect.selectRoute(msg, 1);
        call PacketAcknowledgements.requestAck(msg);
--- 303,307 ----
      if (!call PacketAcknowledgements.wasAcked(msg) &&
  	call AMPacket.destination(msg) != TOS_BCAST_ADDR &&
! 	fwd_fail_count < MAX_RETRIES){
        call RouteSelect.selectRoute(msg, 1);
        call PacketAcknowledgements.requestAck(msg);
***************
*** 312,316 ****
  					 call CollectionPacket.getOrigin(msg), 
                                           call AMPacket.destination(msg));
! 	fail_count ++;
  	return;
        } else {
--- 314,318 ----
  					 call CollectionPacket.getOrigin(msg), 
                                           call AMPacket.destination(msg));
! 	fwd_fail_count ++;
  	return;
        } else {
***************
*** 324,328 ****
        }
      }
!     else if (fail_count >= 5) {
        call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_FAIL_ACK_FWD, 
  				       call CollectionPacket.getSequenceNumber(msg), 
--- 326,330 ----
        }
      }
!     else if (fwd_fail_count >= MAX_RETRIES) {
        call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_FAIL_ACK_FWD, 
  				       call CollectionPacket.getSequenceNumber(msg), 
***************
*** 339,343 ****
      }
      
!     fail_count = 0;
      buf = is_ours(msg);
      if (buf != -1) {
--- 341,345 ----
      }
      
!     fwd_fail_count = 0;
      buf = is_ours(msg);
      if (buf != -1) {
***************
*** 358,362 ****
      if (!call PacketAcknowledgements.wasAcked(msg) &&
  	call AMPacket.destination(msg) != TOS_BCAST_ADDR &&
! 	fail_count < 5){
        call RouteSelect.selectRoute(msg, 1);
        call PacketAcknowledgements.requestAck(msg);
--- 360,364 ----
      if (!call PacketAcknowledgements.wasAcked(msg) &&
  	call AMPacket.destination(msg) != TOS_BCAST_ADDR &&
! 	my_fail_count < MAX_RETRIES){
        call RouteSelect.selectRoute(msg, 1);
        call PacketAcknowledgements.requestAck(msg);
***************
*** 364,373 ****
  			    msg,
  			    call SubPacket.payloadLength(msg)) == SUCCESS) {
! 	dbg("LQI", "Packet not acked, retransmit (%hhu) @%s:\n\t%s\n", fail_count, sim_time_string(), fields(msg));
  	call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_WAITACK, 
  					 call CollectionPacket.getSequenceNumber(msg), 
  					 call CollectionPacket.getOrigin(msg), 
                                           call AMPacket.destination(msg));
! 	fail_count ++;
  	return;
        } else {
--- 366,375 ----
  			    msg,
  			    call SubPacket.payloadLength(msg)) == SUCCESS) {
! 	dbg("LQI", "Packet not acked, retransmit (%hhu) @%s:\n\t%s\n", my_fail_count, sim_time_string(), fields(msg));
  	call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_WAITACK, 
  					 call CollectionPacket.getSequenceNumber(msg), 
  					 call CollectionPacket.getOrigin(msg), 
                                           call AMPacket.destination(msg));
! 	my_fail_count ++;
  	return;
        } else {
***************
*** 381,385 ****
        }
      }
!     else if (fail_count >= 5) {
        call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_FAIL_ACK_SEND, 
  				       call CollectionPacket.getSequenceNumber(msg), 
--- 383,387 ----
        }
      }
!     else if (my_fail_count >= MAX_RETRIES) {
        call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_FAIL_ACK_SEND, 
  				       call CollectionPacket.getSequenceNumber(msg), 
***************
*** 396,400 ****
      }
  
!     fail_count = 0;
      signal Send.sendDone(msg, success);
    }
--- 398,402 ----
      }
  
!     my_fail_count = 0;
      signal Send.sendDone(msg, success);
    }



More information about the Tinyos-2-commits mailing list