Yes,
if Statement 4
{}
else if Statement 3
{}
works as well.
Regards
Islam Hegazy
From: Omprakash Gnawali
Sent: Tuesday, March 16, 2010 12:45 PM
To: Islam Hegazy
Cc: TinyOS help
Subject: Re: [Tinyos-help] Redundant statements in 4bitle
2010/3/11 Islam Hegazy <[email protected]>:
> Hi all,
>
> In 4bitle implementation in updateNeighborEntryIdx() in LinkEstimatorP.nc
> has some redundant statements.
>
> STATEMENT 1 can be removed because 'lastseq' is always set to 'seq' in
> STATEMENT 2
>
> The order of STATEMENTS 3 and 4 means that we update a neighbour entry then
> init if packetGap > MAX_PKT_GAP. I think the order should be STATEMENT 4
> then STATEMENT 3 with a 'return' at the end of SATEMENT 4.
>
>
>
> void updateNeighborEntryIdx(uint8_t idx, uint8_t seq)
>
> {
>
> uint8_t packetGap;
>
>
>
> if (NeighborTable[idx].flags & INIT_ENTRY)
>
> {
>
> dbg("LI", "Init entry update\n");
>
> NeighborTable[idx].lastseq =
> seq; //STATEMENT 1
>
> NeighborTable[idx].flags &= ~INIT_ENTRY;
>
> }
>
>
>
> packetGap = seq - NeighborTable[idx].lastseq;
>
> dbg("LI", "updateNeighborEntryIdx: prevseq %d, curseq %d, gap %d\n",
> NeighborTable[idx].lastseq, seq, packetGap);
>
> NeighborTable[idx].lastseq =
> seq; //STATEMENT 2
>
> NeighborTable[idx].rcvcnt++;
>
> if (packetGap > 0)
>
> NeighborTable[idx].failcnt += packetGap - 1;
>
>
>
> // The or with packetGap >= BLQ_PKT_WINDOW is needed in case failcnt
> gets reset above
>
> if
> ( //STATEMENT 3
>
> ((NeighborTable[idx].rcvcnt + NeighborTable[idx].failcnt) >=
> BLQ_PKT_WINDOW)
>
> ||
>
> (packetGap >= BLQ_PKT_WINDOW)
>
> )
>
> updateNeighborTableEst(NeighborTable[idx].ll_addr);
>
>
>
> if (packetGap >
> MAX_PKT_GAP) //STATEMENT 4
>
> {
>
> initNeighborIdx(idx, NeighborTable[idx].ll_addr);
>
> NeighborTable[idx].lastseq = seq;
>
> NeighborTable[idx].rcvcnt = 1;
>
> }
>
> }
Yes about removing statement 1. Isn't it better to make statement 4 /
statement 3 an if - else if statement?
- om_p_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help