= 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.