On Mon, Jun 29, 2009 at 2:35 AM, bharat naik<[email protected]> wrote: > Hi, > > I had already posted the below query but no one had responded (except > to the first query which I've removed), so I'm resending it. > >> I was thinking of a making a simple modification to the >> MultiHopEngineM.nc module for my project. I basically want to buffer data >> packets, both forwarded and originated, when the parent fails and keep them >> buffered till a new parent is found. >> >> However, I'm not sure what the MultiHopEngine is currently doing. >> >> Suppose I send a packet and sendDone() is signalled for it. Thus >> iFwdBufTail moves at the same pace as iFwdBufHead. However, if I send a >> packet (packet 'X') and its sendDone() is not signalled and another packet >> (packet 'Y') is send in the interim i.e. iFwdBufHead is now two paces ahead >> of iFwdBufTail (obviously % FWD_QUEUE_SIZE), even if 'packet Y's' sendDone() >> is signalled, it won't be removed from buffer i.e iFwdBufTail won't be >> incremented. Thus all packets after 'packet X' will keep getting buffered >> even though their sendDone() has been signalled. Finally, say I receive >> packet X's sendDone() signal in which case iFwdBufTail gets incremented, >> however what about packet Y onwards since their sendDone() has been missed?
You should not call send before senddone is received for the previous send. The idea behind type of pattern is explained in detail in the programming manual. You might want to go through that section. - om_p _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
