The below code is a pseudocode of a nesC program that uses two instances of
the AMSenderC component.
Sender1.send is called before Sender2.send, and in the real program
Sender1.sendDone is always signaled before Sender2.sendDone.
Is the order of signaling the two sendDone events strictly dependant on the
order of the calling of the two send commands?
In other words, is it possible that Sender2.sendDone get signaled before
Sender1.sendDone?
If yes, in what circumstances?
Thanks.
configuration MsgsAppC {}
implementation
{
components new AMSenderC(6) as Sender1;
components new AMSenderC(6) as Sender2;
components new TimerMilliC() as Timer0;
Msgs.Sender1 -> Sender1.AMSend;
Msgs.Sender2 -> Sender2.AMSend;
Msgs.Timer0 -> Timer0.Timer;
}
module Msgs
{
uses {interface AMSend as Sender1; interface AMSend as Sender2;
interface Timer<TMilli> as Timer0;}
event void Timer0.fired() {Sender1.send(...); Sender2.send(...); }
event void Sender1.sendDone() {}
event void Sender2.sendDone() {}
}
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help