class OVSImager::DotWriter::BridgeWriter
Public Class Methods
new(dot, dot_peers)
click to toggle source
# File lib/ovsimager/dotwriter.rb, line 53 def initialize(dot, dot_peers) @dot = dot @dot_peers = dot_peers end
Public Instance Methods
add_iface(name, mark, dump, inet, tag, peer, remote=nil, ns=:root)
click to toggle source
# File lib/ovsimager/dotwriter.rb, line 58 def add_iface(name, mark, dump, inet, tag, peer, remote=nil, ns=:root) fill = mark ? "fillcolor=#{mark2color(mark)},style=filled," : '' label = "#{name}<BR/><FONT POINT-SIZE=\"10\">#{inet.join('<BR/>')}" if tag or remote label += "<BR/>#{tag}#{remote && remote.gsub('>','>')}" end if dump label += " </FONT><FONT COLOR=\"blue\">" if dump[0] && dump[2] && dump[0] == dump[3] && dump[1] == dump[2] label += "<BR/>[#{dump[0]} <-> #{dump[1]}]" else label += "<BR/>[#{dump[0]} --> #{dump[1]}]" if dump[0] label += "<BR/>[#{dump[3]} <-- #{dump[2]}]" if dump[2] end if dump[4] && dump[4][:cap] cap = dump[4][:cap] label += "<BR/><FONT POINT-SIZE=\"10\">(#{cap[2]} #{cap[3]} " + "#{cap[0]}<=>#{cap[1]})</FONT>" end end label += " </FONT>" ename = escape(name) + (ns == :root ? '' : "___" + escape(ns.to_s)) @dot.puts " #{ename} [#{fill}label=<#{label}>]" if peer if peer[0] == ' ' @dot_peers << " #{escape(peer.strip)} -- #{ename}" elsif name <= peer @dot_peers << " #{ename} -- #{escape(peer)}" end end end
Private Instance Methods
escape(name)
click to toggle source
# File lib/ovsimager/dotwriter.rb, line 95 def escape(name) Utils.escape_nodename(name) end
mark2color(mark)
click to toggle source
# File lib/ovsimager/dotwriter.rb, line 91 def mark2color(mark) {'<' => 'red', '>' => 'pink', '*' => 'yellow'}[mark] end