Differences between revisions 3 and 4
Revision 3 as of 2009-04-18 16:09:08
Size: 832
Editor: anonymous
Comment:
Revision 4 as of 2009-05-07 17:27:14
Size: 1455
Editor: lukisi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Questa funzione può essere richiamata localmente dall'evento {{{ETP_EXECUTED}}}, oppure da remoto. Se viene chiamata localmente dall'evento {{{ETP_EXECUTED}}} significa che la mappa locale è cambiata, riceve nei parametri {{{old_node_nb}}} e {{{cur_node_nb}}} i valori vecchio e corrente del numero di nodi occupati nella mappa per ogni livello. Se è chiamata da remoto non riceve i parametri {{{old_node_nb}}} e {{{cur_node_nb}}}, perché la sua mappa non è cambiata.

Se viene richiamata per via di un cambiamento nella mappa locale, viene eseguita la [[../GnodesSplit|funzione gnodes_split]]


== vecchio ==

La microfunc communicating_vessels

TODO Rivisitare la funzione e dettagliare

Questa funzione può essere richiamata localmente dall'evento ETP_EXECUTED, oppure da remoto. Se viene chiamata localmente dall'evento ETP_EXECUTED significa che la mappa locale è cambiata, riceve nei parametri old_node_nb e cur_node_nb i valori vecchio e corrente del numero di nodi occupati nella mappa per ogni livello. Se è chiamata da remoto non riceve i parametri old_node_nb e cur_node_nb, perché la sua mappa non è cambiata.

Se viene richiamata per via di un cambiamento nella mappa locale, viene eseguita la funzione gnodes_split

vecchio

Questo metodo della classe Hook, trova i candidati tra la lista dei vicini (vedi la classe Neighbour nel modulo Radar, il relativo metodo neigh_list) selezionando solo quelli di un altro gnodo.
Da questi nodi si informa (usando un TCPClient, vedi il modulo RPC) quanti nodi liberi hanno (vedi il metodo free_nodes_nb(0) della classe MapRoute tra le funzioni "remotable" che da il numero di nodi liberi di livello 0) e se stanno più stretti del nostro gnodo attiva la microfunc hook. In caso contrario (stanno più larghi) invita l'altro nodo a fare il communicating_vessels.

Netsukuku/ita/CommunicatingVessels (last edited 2009-05-08 15:27:59 by lukisi)