Il modulo Radar

Nel modulo Radar vengono definite le classi Radar, Neighbour e Neigh. Servono a gestire la conoscenza del proprio vicinato da parte dell'host corrente. Cioè quali sono gli altri nodi della sua LAN.

La classe Radar, quando viene istanziata, si memorizza il numero massimo di vicini memorizzati (gestiti in una nuova istanza della classe Neighbour) e il numero di pacchetti nel bouquet (li prende dalla variabile globale settings).

Il suo metodo radar() manda n pacchetti in broadcast e calcola delle statistiche (la media dei RTT degli n pacchetti inviati - vedi il metodo get_avg_rtt) che poi passa all'istanza di Neighbour, tramite il suo metodo store(ip_table) (vedi Funzionamento del Radar).
Queste statistiche sono in forma di un dictionary di ip -> Neigh, dove:

La classe Neighbour nel suo metodo store fa il merge dell'ip_table passata con quella di cui era già a conoscenza. Oltre a ricordare gli ip dei suoi vicini, assegna ad ognuno un id univoco all'interno di questo host. A questo serve la sua translation_table.
Nel gestire la sua ip_table, questa classe emette i signal NEIGH_NEW, NEIGH_DEL e NEIGH_REM_CHGED.

La classe Neigh rappresenta un nodo vicino di LAN. Viene usata per passare (ad esempio negli eventi, o nel metodo neigh_list) le informazioni che riguardano un nodo. Ne memorizza queste informazioni:

Anche per rappresentare un nodo all'interno della ip_table della classe Neighbour si usa la classe Neigh, ma valorizzando solo i membri devs e bestdev.

Netsukuku/ita/ModuloRadar (last edited 2009-05-21 13:16:04 by lukisi)