Mercurial > hg > Members > tatsuki > Alice
view scripts/topology/treen.rb @ 369:0c24894db37e multicast
MulticastDataSegment's extends change from LocalDataSegment to RemoteDataSegment
author | sugi |
---|---|
date | Tue, 20 May 2014 15:00:21 +0900 |
parents | 7e99ae6e4c7d |
children |
line wrap: on
line source
def create_nodes(node_num) (0..node_num - 1).map { |i| i = "node" + i.to_s } end def print_dot(connections) puts "digraph test {" connections.each { |connection| print "\t" print connection[0] print " -> " print connection[1] print ' [label="' + connection[2] + '"]' puts } puts "}" end node_num = ARGV[0].to_i child_num = ARGV[1].to_i nodes = create_nodes(node_num) connections = Array.new nodes.each_with_index { |node, i| child1 = child_num * i + 1 if child1 >= node_num then nodes[i] = "cli" + i.to_s end } nodes.each_with_index { |node, i| parent = (i - 1) / child_num; child = Array.new for n in 1..child_num child[n] = child_num * i + n end if parent >= 0 then connections << [nodes[i], nodes[parent], "parent"] end for n in 1..child_num if child[n] < node_num then connections << [nodes[i], nodes[child[n]], "child"+(n-1).to_s] end end } print_dot(connections)