8 parser = argparse.ArgumentParser(description="Sensor profiler")
9 parser.add_argument('-p', '--peers', action='store', type=int, required=True,
10 help='Number of peers to run')
11 return parser.parse_args()
13 def generate_topology(peers, links):
14 G = networkx.empty_graph(peers)
15 for i in range(0, links):
19 a = random.randint(0, peers)
20 b = random.randint(0, peers)
24 def create_topology_file(graph):
26 for i in range(len(graph.edge)):
28 for e in graph.edges():
29 nodes[e[0]].append(e[1])
31 f = tempfile.NamedTemporaryFile(delete=False)
32 for i in range(len(nodes)):
33 if len(nodes[i]) == 0:
36 f.write('|'.join(map(str,nodes[i])))
42 args = vars(get_args())
43 num_peers = args['peers']
45 print 'Min number of peers is 3'
47 num_links = int(math.log(num_peers) * math.log(num_peers) * num_peers / 2)
48 # Generate random topology
49 graph = generate_topology(num_peers, num_links)
50 print 'Generated random topology with %d peers and %d links' % (num_peers, num_links)
51 # Create TESTBED topology file
52 top_file = create_topology_file(graph)
53 print 'Created TESTBED topology file %s' % top_file
56 if __name__ == "__main__":