1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-22 18:44:17 +00:00
appunti-steffo/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v1.md

38 lines
758 B
Markdown

[[algoritmo]] ***[[algoritmo corretto|incorretto]]*** di [[broadcast problem]].
## Funzionamento
Il [[leader]] invia il suo messaggio iniziale a tutti i vicini, e loro lo inoltrano a loro volta ai loro vicini.
## [[Comportamento]]
### `LEADER`
All'[[impulso spontaneo|inizio dell'algoritmo]], invia il suo messaggio:
```rust
spontaneously! {
send!(*, Message {...});
}
```
Se lo riceve indietro, non fa niente:
```rust
on_receive! {
_ => {},
}
```
### `SLEEPING`
Se riceve il messaggio, lo inoltra a tutti i suoi vicini:
```rust
on_receive! {
_ => send!(*, msg)
}
```
## [[algoritmo corretto|Correttezza]]
> [!DANGER] Algoritmo incorretto
>
> Questo algoritmo non termina mai!
> È riportato qui solo come base per le due versioni successive.