Modulo PeerServices - Metodi helper

my_gnode_participates

Questo metodo dice se il mio g-nodo di livello lvl partecipa attivamente al servizio con identificativo p_id.

Firma: bool my_gnode_participates(int p_id, int lvl)

get_non_participant_gnodes

Questo metodo restituisce una lista con tutte le istanze di HCoord che rappresentano i g-nodi a me visibili nella topologia della rete che, stando alle mie conoscenze, non partecipano al servizio con identificativo p_id.

Firma: List<HCoord> get_non_participant_gnodes(int p_id)

get_all_gnodes_up_to_lvl

Questo metodo restituisce una lista con tutte le istanze di HCoord che rappresentano i g-nodi a me visibili nella topologia della rete che sono dentro il mio g-nodo di livello lvl. Compresi i singoli nodi e compreso me stesso (0, pos[0]).

Firma: List<HCoord> get_all_gnodes_up_to_lvl(int lvl)

convert_tuple_gnode

Data un'istanza t di PeerTupleGNode il cui g-nodo di riferimento è uno dei g-nodi a cui il nodo corrente appartiene, questo metodo restituisce le seguenti informazioni:

Ricordiamo che un'istanza t di PeerTupleGNode rappresenta un g-nodo h di livello ε all'interno di un g-nodo (che chiamiamo g-nodo di riferimento) g di livello l. Il valore di l è memorizzato in t.top. Il valore di ε si calcola come t.top - t.tuple.size.

Firma: void convert_tuple_gnode(PeerTupleGNode t, out int case, out HCoord ret)

make_tuple_gnode

Questo metodo produce un'istanza di PeerTupleGNode che rappresenta h nel nostro g-nodo di livello top.

Firma: PeerTupleGNode make_tuple_gnode(HCoord h, int top)

make_tuple_node

Questo metodo produce un'istanza di PeerTupleNode che rappresenta h nel nostro g-nodo di livello top. In realtà h è un g-nodo ma il risultato deve essere un PeerTupleNode perché va usato nel calcolo di dist. I valori delle posizioni inferiori a h.lvl non sono significativi purché rientrino nella topologia, quindi li impostiamo a 0.

Firma: PeerTupleNode make_tuple_node(HCoord h, int top)

visible_by_someone_inside_my_gnode

Dato un g-nodo rappresentato da t, decidere se qualcuno dei nodi dentro il mio g-nodo di livello lvl può rappresentare quel g-nodo in forma di HCoord.

Firma: bool visible_by_someone_inside_my_gnode(PeerTupleGNode t, int lvl)

Netsukuku/ita/docs/ModuloPeers/AppuntiMetodiHelper (last edited 2015-11-28 11:15:09 by lukisi)