Next: Projektioiden tuottaja -prosessi
Up: Pääohjelma
Previous: Laskettavien kulmien välittäminen
Projektioiden välittäjän toimintaperiaate on yksinkertainen. Se kuuntelee
projektioita projektioiden tuottajilta ja kirjoittaa niitä järjestyksessä
puskuriinsa.
Lisäksi se tarjoaa kullekin vertailijalle ensimmäistä projektiota, jota
kyseinen vertailija ei vielä ole käsitellyt. Koska lähetys ja vastaanotto-operaatiot ovat synkronisia projektioiden välittäjä pakottaa projektioiden
tuottajat odottamaan, jos puskurissa ei ole tilaa uudelle projektiolle.
Vastaavasti jos vertailijaprosessi on kiireinen, projektioiden välittäjän
lähetysoperaatio kestää kunnes vertailija on valmis ottamaan vastaan. Katso
lisää kohdasta: Synkroninen viestinvälitys 8.2.4.
Projektioiden välittäjällä on yksi olennainen tietorakenne eli rengaspuskuri,
joka sisältää projektioita, joiden laskenta on vertailijoilla kesken tai
ei ole vielä alkanutkaan. Käyttäjä voi määritellä puskurin enimmillään
sisältämien projektioiden määrän konfiguraatiomoduulin muuttujalla projection_buffer_size (katso lisää projektioiden välittäjä -prosessista luvusta Hajautuksen toteutus 8.2.2)
Projektioiden välittäjä kuuntelee projektioita projektioiden tuottajilta
rinnakkaistamismoduulin funktiolla recv_projection ja lähettää
projektioita vertailijoille funktiolla send_pro-jec-tion.
T Valtteri Rahkonen
2000-04-02