= La classe RouteNode =
'''''TODO''': approfondire commento sulla modifica riguardo routes_tobe_synced''
Rappresenta un nodo di un certo livello e ID. In sostanza è l'insieme di tutte le route conosciute (vedi la [[../ClasseRouteGW|classe RouteGW]]) verso quel nodo.
<
>
Nota: per ogni gateway in questo insieme esiste sempre al massimo una route.
<
>
Nota2: per avere un senso dovrebbero essere tutte Route dello stesso Rem-type; così sono usate nella {{{MapRoute}}}.
Questa classe è usata come elemento della [[../ClasseMap|classe Map]] nella sua tipizzazione nella [[../ClasseMapRoute|classe MapRoute]].
Con il metodo {{{route_getby_gw}}} restituisce la route dato un gateway (per vederne il Rem).
<
>
Con il metodo {{{best_route}}} restituisce la route migliore.
<
>
Con i metodi {{{route_add}}} e {{{route_del}}} si aggiungono o rimuovono route. In caso di aggiunta il metodo stesso si occupa di scartare le route non interessanti.
<
>
Con il metodo {{{gwrem_change}}} si notifica il cambio di rem di un gateway così che viene aggiornata la route che passa per lì (se c'è).
La classe {{{RouteNode}}} si incarica anche di controllare la sincronizzazione delle informazioni che essa detiene riguardo le route verso un (g)nodo con la tabella di routing del kernel. Non è lei che si occupa di modificare la tabella di routing del kernel, ma solo di memorizzare il fatto che la sincronizzazione è avvenuta o deve ancora avvenire.
<
>
Lo fa con il membro {{{routes_tobe_synced}}}, numero di routes che devono essere sincronizzate.
I metodi {{{route_add}}} e {{{route_del}}} incrementano questo numero, mentre nei relativi metodi della [[../ClasseKrnlRoute|classe KrnlRoute]] viene decrementato.