Virtlab:Řídící server/Mapping.php.inc

Z VirtlabWiki

< Virtlab:Řídící server(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Verze z 11:31, 22. 10. 2007
Vav166 (Diskuse | příspěvky)

← Předchozí porovnání
Aktuální verze
Vav166 (Diskuse | příspěvky)

Řádka 1: Řádka 1:
Tato třída (virtlabMapping) implementuje vlastní namapování laboratorních prvků na prvky v logické topologii, tak aby byly splněny všechny podmínky. Tato třída (virtlabMapping) implementuje vlastní namapování laboratorních prvků na prvky v logické topologii, tak aby byly splněny všechny podmínky.
- 
-== Proměnné ==  
-; equipment : odkaz na objekt <tt>[[Virtlab:Řídící server/ParserEquipment.php.inc | virtlabParserEquipment]]</tt>, který poskytuje data o laboratorních prvcích 
-; topology : odkaz na objekt <tt>[[Virtlab:Řídící server/ParserTopology.php.inc | virtlabParserTopology]]</tt>, který poskytuje data o logické topologii 
- 
-== Metody == 
-; function __construct(virtlabParserEquipment $equip, virtlabParserTopology $topol) : konstruktor třídy v PHP5. Jako parametry očekává objekty jednotlivých parseru - [[Virtlab:Řídící server/ParserTopology.php.inc|virtuální topologie]] a [[Virtlab:Řídící server/ParserEquipment.php.inc|vybavení]] 
-; public function Evaluate($device) : vrátí vypočtenou hodnotu (tu ovlivnňuje typ laboratorního prvku, počet rozhrani, ...) zadaného lab. prvku. Nastavení konstant třídy [[Virtlab:Řídící server/Values.php.inc|virtlabValues]] ovlivní výslednou hodnotu. 
-; public function DevicesValue() : vrátí pole všech laboratorních prvků s jejich vypočtenou hodnotou 
-; public function Availability($device, $vertex) : zjistí, zda-li může být zadaný laboratorní prvek, zařízením v logické topologii. Pokud '''ano''', vrátí pole s určením, která rozhraní mohou být použita, na kterých linkách logické topologie. Pokud '''ne''', vrátí číslo chyby - definováno ve třídě [[Virtlab:Řídící server/Values.php.inc|virtlabValues]]. 
-; private function Mapping($map2, &$vysledek) : '''rekurzivní''' funkce, která se snaží mapovat. Ve dvojrozměrné poli <tt>$map2</tt> je uloženo, který ''vertex'' může být realizován jakými ''device''. Případný vysledek mapovaní je uložen do proměnné <tt>$vysledek</tt>. (viz příklady) ''Pozn.: tato funkce je psána obecně, takže je ve druhém kroku je znovu použita na mapovaní LINKA-ROZHRANÍ.'' Podrobnější informace k algoritmu rekuzivní funkce jsou [[Virtlab:Řídící server/Mapovací algoritmus|zde]]. 
-; public function Map() : funkce obstarávající [[Virtlab:Řídící server/Mapovací algoritmus|celý algoritmus mapování]]. 
- 
-== Příklady == 
-Výsledný výstup: 
- '''$mapper->Map();''' 
- r21:s0/0 r11:s0/0  
- r21:s0/1 r10:s0/0  
- r42:gi7 r21:fa3  
- r41:gi7 r21:fa2  
- r41:gi6 r11:gi1  
- r42:gi6 r10:gi1  
- r42:gi5 r11:gi0  
- r41:gi5 r10:gi0  
'''Poznámka: podrobné výpisy z průběhu algoritmu, jsou [[Virtlab:Řídící server/Mapovací algoritmus|zde]].''' '''Poznámka: podrobné výpisy z průběhu algoritmu, jsou [[Virtlab:Řídící server/Mapovací algoritmus|zde]].'''
Řádka 35: Řádka 11:
[[Kategorie:PHP]] [[Kategorie:PHP]]
[[Kategorie:Třída]] [[Kategorie:Třída]]
-[[Kategorie:UNCOMPLETE]] 

Aktuální verze

Tato třída (virtlabMapping) implementuje vlastní namapování laboratorních prvků na prvky v logické topologii, tak aby byly splněny všechny podmínky.

Poznámka: podrobné výpisy z průběhu algoritmu, jsou zde.

Zdrojový kód

Aktuální verze se nachází zde

Osobní nástroje