enum {
FWD_QUEUE_SIZE = MHOP_QUEUE_SIZE, // Forwarding Queue
- EMPTY = 0xff
+ EMPTY = 0xff,
+ MAX_RETRIES = 5
};
/* Internal storage and scheduling state */
uint8_t FwdBufBusy[FWD_QUEUE_SIZE];
uint8_t iFwdBufHead, iFwdBufTail;
uint16_t sendFailures = 0;
- uint8_t fail_count = 0;
+ uint8_t fwd_fail_count = 0;
+ uint8_t my_fail_count = 0;
int fwdbusy = 0;
lqi_header_t* getHeader(message_t* msg) {
message_t* nextToSend;
if (!call PacketAcknowledgements.wasAcked(msg) &&
call AMPacket.destination(msg) != TOS_BCAST_ADDR &&
- fail_count < 5){
+ fwd_fail_count < MAX_RETRIES){
call RouteSelect.selectRoute(msg, 1);
call PacketAcknowledgements.requestAck(msg);
if (call SubSend.send(call AMPacket.destination(msg),
call CollectionPacket.getSequenceNumber(msg),
call CollectionPacket.getOrigin(msg),
call AMPacket.destination(msg));
- fail_count ++;
+ fwd_fail_count ++;
return;
} else {
call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_FAIL,
return;
}
}
- else if (fail_count >= 5) {
+ else if (fwd_fail_count >= MAX_RETRIES) {
call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_FAIL_ACK_FWD,
call CollectionPacket.getSequenceNumber(msg),
call CollectionPacket.getOrigin(msg),
call AMPacket.destination(msg));
}
- fail_count = 0;
+ fwd_fail_count = 0;
buf = is_ours(msg);
if (buf != -1) {
FwdBufBusy[(uint8_t)buf] = 0;
event void SubSendMine.sendDone(message_t* msg, error_t success) {
if (!call PacketAcknowledgements.wasAcked(msg) &&
call AMPacket.destination(msg) != TOS_BCAST_ADDR &&
- fail_count < 5){
+ my_fail_count < MAX_RETRIES){
call RouteSelect.selectRoute(msg, 1);
call PacketAcknowledgements.requestAck(msg);
if (call SubSendMine.send(call AMPacket.destination(msg),
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));
+ 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));
- fail_count ++;
+ my_fail_count ++;
return;
} else {
call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_FAIL,
return;
}
}
- else if (fail_count >= 5) {
+ else if (my_fail_count >= MAX_RETRIES) {
call CollectionDebug.logEventMsg(NET_C_FE_SENDDONE_FAIL_ACK_SEND,
call CollectionPacket.getSequenceNumber(msg),
call CollectionPacket.getOrigin(msg),
call AMPacket.destination(msg));
}
- fail_count = 0;
+ my_fail_count = 0;
signal Send.sendDone(msg, success);
}