La classe Hook
Questa classe ascolta i segnali ETP_EXECUTED e NET_COLLISION di Etp.
Come detto nel modulo QSPN, la classe Etp processa, nel suo metodo etp_exec, gli ETP ricevuti dai suoi vicini.
Durante questa processazione potrebbe rilevare la collisione di due distinte reti Netsukuku. In questo caso genera l'evento NET_COLLISION e si interrompe.
Altrimenti prosegue e, se non ignora l'ETP perché lo aveva già incontrato, processa le informazioni. Questo può comportare delle modifiche alla propria mappa di route (vedi la classe MapRoute). Alla fine genera un evento ETP_EXECUTED.
Entrambe queste situazioni portano a operazioni svolte dalla classe Hook.
In seguito ad un evento ETP_EXECUTED:
Si avvia l'esecuzione della microfunc communicating_vessels. Essendo una microfunc, essa viene avviata in un nuovo microthread. La prima cosa che esegue è la funzione gnodes_split, che quindi viene eseguita nel microthread appena creato. Se questa rileva uno split e avvia di conseguenza la microfunc hook (in un nuovo microthread), la communicating_vessels si ferma.
Altrimenti la communicating_vessels prosegue.
In seguito ad un evento NET_COLLISION:
Si avvia l'esecuzione della microfunc hook.