«« ( Date ) »» // «« ( Thread ) »» // drs - 2007

Broadcast

by Vanja Petreski
petak, 04. maj 2007 - 14:10.

Kolege,

u pitanju je 5. zadatak iz prosledjivanja poruka - Broadcast, gde imamo
situaciju kada svaki cvor ima informacije samo o svojim susedima.

Naime, obratite paznju na proceduru Node i drugu for petlju: "for q=1 to
num-1 do"

Ovo ce raditi za sve slucajeve osim za jedan - kada je u pitanju cvor koji
je inicijalno startovan procedurom Initiator. Dakle, jasno je da kada je
neki cvor primio poruku od nekog drugog cvora i prosledio je ostalima, da
posle treba da primi num-1 redudantnih poruka, jer onaj koji mu je poslao
nece opet da radi slanje, vec je u stanju mbx_get. Medjutim, ukoliko je u
pitanju bas prvi inicirani cvor koji ima, na primer, 3 suseda, sva tri 3
suseda ce mu poslati nazad poruku, a posto se on vrti (greskom) samo 2 puta,
zaostace mu jedna poruka u sanducetu. Dakle, trebao bi da postoji neki flag
kod Iniatora koji ce da oznaci prvom cvoru da se vrtu num puta.

Drugim recima, ako je cvor dobio poruku od drugog cvora, on treba da cisti
num-1 puta, a ako je cvor dobio poruku inicijalno, on treba da cisti num
puta.

Molio bih asistenta da prokomentarise ovo, za slucaj da sam ja pogresio.

Pozdrav,
Vanja