This commit is contained in:
parent
e698a27482
commit
1257dd6a1a
1 changed files with 18 additions and 8 deletions
|
@ -14,6 +14,7 @@ void LowReceiver::manage_abcast(Message * mesg) {
|
|||
static short minimum_deliverable_stamp = -1;
|
||||
|
||||
std::list<MessageCellAb *>::iterator iter;
|
||||
std::list<MessageCellAb *>::iterator iter2;
|
||||
printf("LowReceiver::manage_abcast -- init\n");
|
||||
|
||||
// identifiant = horloge + id_site_emeteur
|
||||
|
@ -111,26 +112,35 @@ void LowReceiver::manage_abcast(Message * mesg) {
|
|||
// l'estampille...
|
||||
Message * nMsg = new Message(Protocol::TYPE_ABCAST,
|
||||
st,
|
||||
nSt->getRaw(),
|
||||
nSt->getRawSize());
|
||||
nSt.getRaw(),
|
||||
nSt.getRawSize());
|
||||
|
||||
_group.sendto(*(cell->message), cell->message->getStamp().getIndex());
|
||||
|
||||
} else {
|
||||
// sinon
|
||||
// - l'estampille du message est mise a jour
|
||||
// - l'estampille du message est mise à jour
|
||||
TimeStamp st = mesg->getStamp();
|
||||
TimeStamp nSt = _clock.inc();
|
||||
|
||||
Message * nMsg = new Message(Protocol::TYPE_ABCAST,
|
||||
st,
|
||||
nSt->getRaw(),
|
||||
nSt->getRawSize());
|
||||
cell->message->getData(),
|
||||
cell->message->getDataSize());
|
||||
|
||||
// - le message est marqué comme final
|
||||
cell->type = MessageCellAb::TYPE_DEFINITIVE;
|
||||
// - le message est ajouté dans deliverable
|
||||
fifo_deliverable.push_back(nMsg);
|
||||
|
||||
// Trouver l'iterator
|
||||
for (iter = fifo_get.begin(); iter != fifo_get.end(); iter++){
|
||||
MessageCellAb * itCell = *iter;
|
||||
if (cell == itCell){
|
||||
iter2 = iter;
|
||||
}
|
||||
}
|
||||
// normalement on a trouvé l'iterateur...
|
||||
fifo_get.erase(iter2);
|
||||
|
||||
// - FIXME: on défile les estampille finale la
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue