|
Size: 1523
Comment:
|
Size: 1708
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 5: | Line 5: |
| I server TCP e UDP vengono avviati in microthreads (vedi il [[../ModuloRPC|modulo RPC]]). Questi microthread vengono lanciati nel metodo {{{run}}} della [[../ClasseNtkNode|classe NtkNode]]. | I server TCP e UDP vengono avviati in microthreads (vedi il [[../ModuloRPC|modulo RPC]]). Questi microthread vengono lanciati nel metodo {{{run}}} della [[../ClasseNtkNode|classe NtkNode]] (vedi la [[../NtkNodeStartup|fase di startup]] di un nodo). |
| Line 8: | Line 8: |
| Inoltre viene memorizzato nell'attributo ''{{{ntkd}}}'' dell'oggetto {{{Neigh}}} ogni volta che se ne istanzia uno. Gli oggetti {{{Neigh}}} si istanziano per memorizzarli nella ''{{{ip_table}}}'' della classe {{{Neighbour}}}, per emettere degli eventi, per passarli a metodi, ecc. | <<BR>> Inoltre viene memorizzato nell'attributo ''{{{ntkd}}}'' dell'oggetto {{{Neigh}}} ogni volta che se ne istanzia uno. <<BR>> Gli oggetti {{{Neigh}}} si istanziano per memorizzarli nella ''{{{ip_table}}}'' della classe {{{Neighbour}}}, per emettere degli eventi, per passarli a metodi, ecc. Va notato però che gli oggetti memorizzati nella {{{ip_table}}} non hanno valorizzato il membro {{{ntkd}}}. |
Come viene usato il modulo RPC in Netsukuku
Dove vengono istanziati e usati i servers e i clients
I server TCP e UDP vengono avviati in microthreads (vedi il modulo RPC). Questi microthread vengono lanciati nel metodo run della classe NtkNode (vedi la fase di startup di un nodo).
Il TCPClient viene istanziato nei metodi store e ip_change della classe Neighbour. In questi metodi infatti l'host corrente apprende dell'esistenza di un certo IP nella sua LAN. Il TCPClient creato viene memorizzato nell'attributo ntk_client[ip] (che è un dict) della classe Neighbour.
Inoltre viene memorizzato nell'attributo ntkd dell'oggetto Neigh ogni volta che se ne istanzia uno.
Gli oggetti Neigh si istanziano per memorizzarli nella ip_table della classe Neighbour, per emettere degli eventi, per passarli a metodi, ecc. Va notato però che gli oggetti memorizzati nella ip_table non hanno valorizzato il membro ntkd.
Il BcastClient viene istanziato una volta per tutte nel costruttore della classe NtkNode (vedi il modulo di avvio ntkd) e viene associato a tutte le interfacce di rete gestite da Netsukuku. Questa istanza viene passata alla classe Radar che se ne servirà per inviare messaggi in broadcast a tutta la sua LAN, per la gestione del vicinato (vedi anche Funzionamento del Radar)
Quali chiamate RPC vengono fatte
Vedi le funzioni remotable.
