This commit is contained in:
glenux 2006-03-18 16:11:59 +00:00
parent e698a27482
commit 1257dd6a1a

View file

@ -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
}
}