Sr-3-wyk-1.0-Slajd29
Algorytm FIFO-RB
Niezawodne rozgłaszanie w algorytmie FIFO-RB polega na rozgłoszeniu zgodnym z algorytmem RB. Należy pamiętać, że każda wiadomość posiada numer sekwencyjny, nadany jej przed wysłaniem przez nadawcę.
Zanim wiadomość zostanie dostarczona zgodne z uporządkowaniem FIFO, najpierw następuje niezawodne dostarczenie jej przez działający poniżej algorytm RB. Następnie sprawdza się, czy dana wiadomość jest oczekiwaną wiadomością, tzn. czy jest kolejną wiadomością, której proces odbierający spodziewa się od danego nadawcy. Fakt, że dana wiadomość jest kolejną, stwierdza się po wartości towarzyszącego jej numeru sekwencyjnego – powinien on być o jeden większy, niż pamiętany w procesie odbiorcy.
Zmienna worek pamięta wszystkie te wiadomości, które zostały już dostarczone przez algorytm RB, ale jeszcze nie zostały dostarczone przez algorytm FIFO-RB.
W tablicy następna są zaś pamiętane numery sekwencyjne odpowiadające poszczególnym procesom-nadawcom w grupie.
/*zbiór wiadomości, które p R-dostarczył, ale jeszcze nie F-dostarczył*/
/* numer sekwencyjny następnej wiadomości, którą p F-dostarczy*/