Skip to main content
. 2020 Dec 18;20(24):7278. doi: 10.3390/s20247278
Algorithm 1. Information Acquisition Phase.
1: procedure GenerateProb ( SuperNode)
2:  if ProbTimeout is finished then
3:   Generate ProbPacket
4:    Add id to ProbPacket
5:    Broadcast ( ProbPacket )
6:    Set NewTimeout
7:   end if
8: end procedure
9:
10: procedure ReceiveProb ( nodei, ProbPacket )
11: Add ProbPacket information to nodei.NIT
12: end procedure
13:
14: procedure GenerateHello ( nodei )
15:  if HelloTimeout is finished then
16:  Generate HelloPacket
17: Add id, depth and residual energy to hello packet
18: Broadcast  ( hello packet )
19: Set NewTimeout
20:  end if
21: end procedure
22:
23: procedure ReceiveHello ( nodei,hello packet )
24:  if nodei.depth>hello packet.depth then
25:   if hello packet ID is not in nodei.NIT then
26:    Add hello packet information to nodei.NIT 
27:   else
28:     Update information in nodei.NIT 
29:   end if
30:   Call TM (nodei)
31:   else
32:   Drop ( hello packet )
33:  end if
34: end procedure