From 1257dd6a1a6b5ad781c289722fd0a2ed09016c77 Mon Sep 17 00:00:00 2001 From: glenux Date: Sat, 18 Mar 2006 16:11:59 +0000 Subject: [PATCH] --- src/lowreceiver_ab.cc | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/lowreceiver_ab.cc b/src/lowreceiver_ab.cc index 3fb9c95..310931a 100644 --- a/src/lowreceiver_ab.cc +++ b/src/lowreceiver_ab.cc @@ -14,6 +14,7 @@ void LowReceiver::manage_abcast(Message * mesg) { static short minimum_deliverable_stamp = -1; std::list::iterator iter; + std::list::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 } }